From 7669e58017e7957d00c655ac0cb4a7bb25fbc3e0 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 2 Sep 2022 23:12:40 +0000 Subject: [PATCH 01/14] chore(main): release 6.29.2-SNAPSHOT (#1994) :robot: I have created a release *beep* *boop* --- ### Updating meta-information for bleeding-edge SNAPSHOT release. --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- google-cloud-spanner-bom/pom.xml | 18 +++++++++--------- google-cloud-spanner/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- grpc-google-cloud-spanner-v1/pom.xml | 4 ++-- pom.xml | 16 ++++++++-------- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- proto-google-cloud-spanner-v1/pom.xml | 4 ++-- samples/snapshot/pom.xml | 2 +- versions.txt | 14 +++++++------- 11 files changed, 39 insertions(+), 39 deletions(-) diff --git a/google-cloud-spanner-bom/pom.xml b/google-cloud-spanner-bom/pom.xml index 5063cfd1337..ffa1a6c1650 100644 --- a/google-cloud-spanner-bom/pom.xml +++ b/google-cloud-spanner-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-spanner-bom - 6.29.1 + 6.29.2-SNAPSHOT pom com.google.cloud @@ -53,43 +53,43 @@ com.google.cloud google-cloud-spanner - 6.29.1 + 6.29.2-SNAPSHOT com.google.cloud google-cloud-spanner test-jar - 6.29.1 + 6.29.2-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-v1 - 6.29.1 + 6.29.2-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-admin-instance-v1 - 6.29.1 + 6.29.2-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-admin-database-v1 - 6.29.1 + 6.29.2-SNAPSHOT com.google.api.grpc proto-google-cloud-spanner-admin-instance-v1 - 6.29.1 + 6.29.2-SNAPSHOT com.google.api.grpc proto-google-cloud-spanner-v1 - 6.29.1 + 6.29.2-SNAPSHOT com.google.api.grpc proto-google-cloud-spanner-admin-database-v1 - 6.29.1 + 6.29.2-SNAPSHOT diff --git a/google-cloud-spanner/pom.xml b/google-cloud-spanner/pom.xml index e0f99af99c2..708f5cae5e9 100644 --- a/google-cloud-spanner/pom.xml +++ b/google-cloud-spanner/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-spanner - 6.29.1 + 6.29.2-SNAPSHOT jar Google Cloud Spanner https://github.com/googleapis/java-spanner @@ -11,7 +11,7 @@ com.google.cloud google-cloud-spanner-parent - 6.29.1 + 6.29.2-SNAPSHOT google-cloud-spanner diff --git a/grpc-google-cloud-spanner-admin-database-v1/pom.xml b/grpc-google-cloud-spanner-admin-database-v1/pom.xml index dd6cc79d9e8..c4f21f1e5b7 100644 --- a/grpc-google-cloud-spanner-admin-database-v1/pom.xml +++ b/grpc-google-cloud-spanner-admin-database-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-spanner-admin-database-v1 - 6.29.1 + 6.29.2-SNAPSHOT grpc-google-cloud-spanner-admin-database-v1 GRPC library for grpc-google-cloud-spanner-admin-database-v1 com.google.cloud google-cloud-spanner-parent - 6.29.1 + 6.29.2-SNAPSHOT diff --git a/grpc-google-cloud-spanner-admin-instance-v1/pom.xml b/grpc-google-cloud-spanner-admin-instance-v1/pom.xml index 09814d2a1f0..f09f3d568d4 100644 --- a/grpc-google-cloud-spanner-admin-instance-v1/pom.xml +++ b/grpc-google-cloud-spanner-admin-instance-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-spanner-admin-instance-v1 - 6.29.1 + 6.29.2-SNAPSHOT grpc-google-cloud-spanner-admin-instance-v1 GRPC library for grpc-google-cloud-spanner-admin-instance-v1 com.google.cloud google-cloud-spanner-parent - 6.29.1 + 6.29.2-SNAPSHOT diff --git a/grpc-google-cloud-spanner-v1/pom.xml b/grpc-google-cloud-spanner-v1/pom.xml index 0dc84a55fa7..3294dc71354 100644 --- a/grpc-google-cloud-spanner-v1/pom.xml +++ b/grpc-google-cloud-spanner-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-spanner-v1 - 6.29.1 + 6.29.2-SNAPSHOT grpc-google-cloud-spanner-v1 GRPC library for grpc-google-cloud-spanner-v1 com.google.cloud google-cloud-spanner-parent - 6.29.1 + 6.29.2-SNAPSHOT diff --git a/pom.xml b/pom.xml index 0e230168a85..03d41931cef 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-spanner-parent pom - 6.29.1 + 6.29.2-SNAPSHOT Google Cloud Spanner Parent https://github.com/googleapis/java-spanner @@ -62,37 +62,37 @@ com.google.api.grpc proto-google-cloud-spanner-admin-instance-v1 - 6.29.1 + 6.29.2-SNAPSHOT com.google.api.grpc proto-google-cloud-spanner-v1 - 6.29.1 + 6.29.2-SNAPSHOT com.google.api.grpc proto-google-cloud-spanner-admin-database-v1 - 6.29.1 + 6.29.2-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-v1 - 6.29.1 + 6.29.2-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-admin-instance-v1 - 6.29.1 + 6.29.2-SNAPSHOT com.google.api.grpc grpc-google-cloud-spanner-admin-database-v1 - 6.29.1 + 6.29.2-SNAPSHOT com.google.cloud google-cloud-spanner - 6.29.1 + 6.29.2-SNAPSHOT diff --git a/proto-google-cloud-spanner-admin-database-v1/pom.xml b/proto-google-cloud-spanner-admin-database-v1/pom.xml index 894bfdd0810..30218776a68 100644 --- a/proto-google-cloud-spanner-admin-database-v1/pom.xml +++ b/proto-google-cloud-spanner-admin-database-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-spanner-admin-database-v1 - 6.29.1 + 6.29.2-SNAPSHOT proto-google-cloud-spanner-admin-database-v1 PROTO library for proto-google-cloud-spanner-admin-database-v1 com.google.cloud google-cloud-spanner-parent - 6.29.1 + 6.29.2-SNAPSHOT diff --git a/proto-google-cloud-spanner-admin-instance-v1/pom.xml b/proto-google-cloud-spanner-admin-instance-v1/pom.xml index 0d197ec08f7..dadab108e4a 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/pom.xml +++ b/proto-google-cloud-spanner-admin-instance-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-spanner-admin-instance-v1 - 6.29.1 + 6.29.2-SNAPSHOT proto-google-cloud-spanner-admin-instance-v1 PROTO library for proto-google-cloud-spanner-admin-instance-v1 com.google.cloud google-cloud-spanner-parent - 6.29.1 + 6.29.2-SNAPSHOT diff --git a/proto-google-cloud-spanner-v1/pom.xml b/proto-google-cloud-spanner-v1/pom.xml index 51defe02351..b6da9e57683 100644 --- a/proto-google-cloud-spanner-v1/pom.xml +++ b/proto-google-cloud-spanner-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-spanner-v1 - 6.29.1 + 6.29.2-SNAPSHOT proto-google-cloud-spanner-v1 PROTO library for proto-google-cloud-spanner-v1 com.google.cloud google-cloud-spanner-parent - 6.29.1 + 6.29.2-SNAPSHOT diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 26eb0cb6590..5aa31340714 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -31,7 +31,7 @@ com.google.cloud google-cloud-spanner - 6.29.1 + 6.29.2-SNAPSHOT diff --git a/versions.txt b/versions.txt index f6fdfc78e02..877c664d952 100644 --- a/versions.txt +++ b/versions.txt @@ -1,10 +1,10 @@ # Format: # module:released-version:current-version -proto-google-cloud-spanner-admin-instance-v1:6.29.1:6.29.1 -proto-google-cloud-spanner-v1:6.29.1:6.29.1 -proto-google-cloud-spanner-admin-database-v1:6.29.1:6.29.1 -grpc-google-cloud-spanner-v1:6.29.1:6.29.1 -grpc-google-cloud-spanner-admin-instance-v1:6.29.1:6.29.1 -grpc-google-cloud-spanner-admin-database-v1:6.29.1:6.29.1 -google-cloud-spanner:6.29.1:6.29.1 +proto-google-cloud-spanner-admin-instance-v1:6.29.1:6.29.2-SNAPSHOT +proto-google-cloud-spanner-v1:6.29.1:6.29.2-SNAPSHOT +proto-google-cloud-spanner-admin-database-v1:6.29.1:6.29.2-SNAPSHOT +grpc-google-cloud-spanner-v1:6.29.1:6.29.2-SNAPSHOT +grpc-google-cloud-spanner-admin-instance-v1:6.29.1:6.29.2-SNAPSHOT +grpc-google-cloud-spanner-admin-database-v1:6.29.1:6.29.2-SNAPSHOT +google-cloud-spanner:6.29.1:6.29.2-SNAPSHOT From de96e61d3bb20fd31ca2093a9d2f4b3175769935 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 5 Sep 2022 08:36:57 +0200 Subject: [PATCH 02/14] chore(deps): update dependency com.google.cloud:google-cloud-spanner to v6.29.1 (#1995) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(deps): update dependency com.google.cloud:google-cloud-spanner to v6.29.1 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- README.md | 6 +++--- samples/install-without-bom/pom.xml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 5da6ca99d5e..096d3824342 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ If you are using Maven without BOM, add this to your dependencies: com.google.cloud google-cloud-spanner - 6.29.0 + 6.29.1 ``` @@ -56,13 +56,13 @@ implementation 'com.google.cloud:google-cloud-spanner' If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-spanner:6.29.0' +implementation 'com.google.cloud:google-cloud-spanner:6.29.1' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-spanner" % "6.29.0" +libraryDependencies += "com.google.cloud" % "google-cloud-spanner" % "6.29.1" ``` ## Authentication diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index 4192df7561d..8659a9e91ce 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -32,7 +32,7 @@ com.google.cloud google-cloud-spanner - 6.29.0 + 6.29.1 From 05524d0e768e796e00d2a9c214bb2b476c7b8d16 Mon Sep 17 00:00:00 2001 From: Medha <106664879+MedhaCS1010@users.noreply.github.com> Date: Tue, 6 Sep 2022 15:42:29 +0530 Subject: [PATCH 03/14] refactor: Expire Time is already set in line 283 (#1996) --- .../test/java/com/google/cloud/spanner/it/slow/ITBackupTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/slow/ITBackupTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/slow/ITBackupTest.java index bf65f7147ab..9deb3289e07 100644 --- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/slow/ITBackupTest.java +++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/slow/ITBackupTest.java @@ -282,7 +282,6 @@ public void test01_Backups() throws InterruptedException, ExecutionException, Ti .setDatabase(database.getId()) .setExpireTime(expireTime) .setVersionTime(versionTime) - .setExpireTime(expireTime) .setEncryptionConfig(EncryptionConfigs.customerManagedEncryption(keyName)) .build(); OperationFuture operation = From 31cf06e1f145dfaba8c2ed70732b4eb06086e0cc Mon Sep 17 00:00:00 2001 From: Mohan Li <67390330+mohanli-ml@users.noreply.github.com> Date: Wed, 7 Sep 2022 23:26:16 -0700 Subject: [PATCH 04/14] feat: add gRPC RLS dependency (#1875) Register gRPC RLS for DirectPath. --- google-cloud-spanner/pom.xml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/google-cloud-spanner/pom.xml b/google-cloud-spanner/pom.xml index 708f5cae5e9..b7ef5c49691 100644 --- a/google-cloud-spanner/pom.xml +++ b/google-cloud-spanner/pom.xml @@ -139,7 +139,7 @@ org.apache.maven.plugins maven-dependency-plugin - io.grpc:grpc-protobuf-lite,org.hamcrest:hamcrest,org.hamcrest:hamcrest-core,com.google.errorprone:error_prone_annotations,org.openjdk.jmh:jmh-generator-annprocess,com.google.api.grpc:grpc-google-cloud-spanner-v1,com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1,com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1,javax.annotation:javax.annotation-api,io.opencensus:opencensus-impl,org.graalvm.sdk:graal-sdk + io.grpc:grpc-protobuf-lite,org.hamcrest:hamcrest,org.hamcrest:hamcrest-core,com.google.errorprone:error_prone_annotations,org.openjdk.jmh:jmh-generator-annprocess,com.google.api.grpc:grpc-google-cloud-spanner-v1,com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1,com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1,javax.annotation:javax.annotation-api,io.opencensus:opencensus-impl,org.graalvm.sdk:graal-sdk,io.grpc:grpc-grpclb,io.grpc:grpc-googleapis,io.grpc:grpc-rls @@ -296,6 +296,21 @@ io.grpc grpc-alts + + io.grpc + grpc-grpclb + runtime + + + io.grpc + grpc-googleapis + runtime + + + io.grpc + grpc-rls + runtime + org.graalvm.sdk From 342190ab06917d0527316802a6c33da4f20213db Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 8 Sep 2022 22:24:30 +0200 Subject: [PATCH 05/14] deps: update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.2 (#2002) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [com.google.cloud:google-cloud-shared-dependencies](https://togithub.com/googleapis/java-shared-dependencies) | `3.0.1` -> `3.0.2` | [![age](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-shared-dependencies/3.0.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-shared-dependencies/3.0.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-shared-dependencies/3.0.2/compatibility-slim/3.0.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-shared-dependencies/3.0.2/confidence-slim/3.0.1)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
googleapis/java-shared-dependencies ### [`v3.0.2`](https://togithub.com/googleapis/java-shared-dependencies/blob/HEAD/CHANGELOG.md#​302-httpsgithubcomgoogleapisjava-shared-dependenciescomparev301v302-2022-09-08) [Compare Source](https://togithub.com/googleapis/java-shared-dependencies/compare/v3.0.1...v3.0.2) ##### Dependencies - Update dependency com.fasterxml.jackson:jackson-bom to v2.13.4 ([#​789](https://togithub.com/googleapis/java-shared-dependencies/issues/789)) ([6cf91a9](https://togithub.com/googleapis/java-shared-dependencies/commit/6cf91a96b9ea6af0fb845b50582dac7aa2892cab)) - Update dependency com.google.auth:google-auth-library-bom to v1.10.0 ([#​781](https://togithub.com/googleapis/java-shared-dependencies/issues/781)) ([8859e61](https://togithub.com/googleapis/java-shared-dependencies/commit/8859e61808bfc5cd9546e27e945fc855b36d2554)) - Update dependency com.google.auth:google-auth-library-bom to v1.11.0 ([#​790](https://togithub.com/googleapis/java-shared-dependencies/issues/790)) ([3431a47](https://togithub.com/googleapis/java-shared-dependencies/commit/3431a471cbf874a67a4f1a42e31f0ed891dedc92)) - Update dependency com.google.auth:google-auth-library-bom to v1.9.0 ([#​773](https://togithub.com/googleapis/java-shared-dependencies/issues/773)) ([27fc79f](https://togithub.com/googleapis/java-shared-dependencies/commit/27fc79f00ee70011df6a368bb8fcfad7f0ce41f0)) - Update dependency com.google.errorprone:error_prone_annotations to v2.15.0 ([#​776](https://togithub.com/googleapis/java-shared-dependencies/issues/776)) ([bf333b8](https://togithub.com/googleapis/java-shared-dependencies/commit/bf333b8c88072d21cb959db4d3328bbb55d9ef5c)) - Update dependency com.google.protobuf:protobuf-bom to v3.21.5 ([#​780](https://togithub.com/googleapis/java-shared-dependencies/issues/780)) ([da7f44d](https://togithub.com/googleapis/java-shared-dependencies/commit/da7f44d71d6d7f372b5313dab68ce220308614d4)) - Update dependency io.grpc:grpc-bom to v1.48.1 ([#​768](https://togithub.com/googleapis/java-shared-dependencies/issues/768)) ([5c7768d](https://togithub.com/googleapis/java-shared-dependencies/commit/5c7768d3c9665dd356de6c39c0a6a5fa6e992f2e)) - Update dependency io.grpc:grpc-bom to v1.49.0 ([#​786](https://togithub.com/googleapis/java-shared-dependencies/issues/786)) ([8734812](https://togithub.com/googleapis/java-shared-dependencies/commit/8734812f1b4e2faaa48caf41eff59a85892ae344)) - Update dependency org.checkerframework:checker-qual to v3.24.0 ([#​775](https://togithub.com/googleapis/java-shared-dependencies/issues/775)) ([df74b7b](https://togithub.com/googleapis/java-shared-dependencies/commit/df74b7b0dd5dd592523f302d9fb36adb5991cb0b)) - Update dependency org.checkerframework:checker-qual to v3.25.0 ([#​788](https://togithub.com/googleapis/java-shared-dependencies/issues/788)) ([207035b](https://togithub.com/googleapis/java-shared-dependencies/commit/207035bd04c9305899eea540acbefaf06a7b1ec9)) - Update dependency org.threeten:threetenbp to v1.6.1 ([#​782](https://togithub.com/googleapis/java-shared-dependencies/issues/782)) ([0f218ae](https://togithub.com/googleapis/java-shared-dependencies/commit/0f218aeb6aa33cf1da4a8b1d6c82bbf87946dab9)) - Update gax.version to v2.19.0 ([#​785](https://togithub.com/googleapis/java-shared-dependencies/issues/785)) ([4448331](https://togithub.com/googleapis/java-shared-dependencies/commit/4448331c4c6d88ea8076260776d1d47d24aa19fa)) - Update google.core.version to v2.8.10 ([#​787](https://togithub.com/googleapis/java-shared-dependencies/issues/787)) ([3c344d5](https://togithub.com/googleapis/java-shared-dependencies/commit/3c344d515e3b9215db5a1f8ef550d800d974e558)) - Update google.core.version to v2.8.7 ([#​774](https://togithub.com/googleapis/java-shared-dependencies/issues/774)) ([d0cd5e8](https://togithub.com/googleapis/java-shared-dependencies/commit/d0cd5e8f6ca88787fe0dbf7f30c849cb4c4fae5e)) - Update google.core.version to v2.8.8 ([#​777](https://togithub.com/googleapis/java-shared-dependencies/issues/777)) ([f00571c](https://togithub.com/googleapis/java-shared-dependencies/commit/f00571cd1e9f1c4e011fba4a1e1674c1d8d60200)) - Update google.core.version to v2.8.9 ([#​784](https://togithub.com/googleapis/java-shared-dependencies/issues/784)) ([aa8e505](https://togithub.com/googleapis/java-shared-dependencies/commit/aa8e505dbb1214b2239e55d5ac83b00c167d77e4))
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-spanner). --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 03d41931cef..699e03cafba 100644 --- a/pom.xml +++ b/pom.xml @@ -54,7 +54,7 @@ UTF-8 github google-cloud-spanner-parent - 3.0.1 + 3.0.2
From 2f04f18f131cf656a94d8b1a78d311d2cc46797e Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 9 Sep 2022 17:12:21 +0200 Subject: [PATCH 06/14] deps: update dependency com.google.cloud:google-cloud-monitoring to v3.4.3 (#2003) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [com.google.cloud:google-cloud-monitoring](https://togithub.com/googleapis/java-monitoring) | `3.4.2` -> `3.4.3` | [![age](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-monitoring/3.4.3/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-monitoring/3.4.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-monitoring/3.4.3/compatibility-slim/3.4.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-monitoring/3.4.3/confidence-slim/3.4.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
googleapis/java-monitoring ### [`v3.4.3`](https://togithub.com/googleapis/java-monitoring/blob/HEAD/CHANGELOG.md#​343-httpsgithubcomgoogleapisjava-monitoringcomparev342v343-2022-09-09) [Compare Source](https://togithub.com/googleapis/java-monitoring/compare/v3.4.2...v3.4.3) ##### Dependencies - Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.2 ([#​922](https://togithub.com/googleapis/java-monitoring/issues/922)) ([447e9c1](https://togithub.com/googleapis/java-monitoring/commit/447e9c10d11934a732112af0ac20b3146396c5e1))
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-spanner). --- samples/install-without-bom/pom.xml | 2 +- samples/snapshot/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index 8659a9e91ce..cc2a1b2a3d7 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -23,7 +23,7 @@ UTF-8 0.31.1 2.3.1 - 3.4.2 + 3.4.3 diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 5aa31340714..8449f21ae4a 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -23,7 +23,7 @@ UTF-8 0.31.1 2.3.1 - 3.4.2 + 3.4.3 From 5e8dc0f17f0d69ea216b8192f54d192082b728d3 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 9 Sep 2022 18:42:15 +0200 Subject: [PATCH 07/14] test(deps): update dependency org.mockito:mockito-core to v4.8.0 (#2000) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [org.mockito:mockito-core](https://togithub.com/mockito/mockito) | `4.7.0` -> `4.8.0` | [![age](https://badges.renovateapi.com/packages/maven/org.mockito:mockito-core/4.8.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/org.mockito:mockito-core/4.8.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/org.mockito:mockito-core/4.8.0/compatibility-slim/4.7.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/org.mockito:mockito-core/4.8.0/confidence-slim/4.7.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
mockito/mockito ### [`v4.8.0`](https://togithub.com/mockito/mockito/releases/tag/v4.8.0) [Compare Source](https://togithub.com/mockito/mockito/compare/v4.7.0...v4.8.0) *Changelog generated by [Shipkit Changelog Gradle Plugin](https://togithub.com/shipkit/shipkit-changelog)* ##### 4.8.0 - 2022-09-07 - [10 commit(s)](https://togithub.com/mockito/mockito/compare/v4.7.0...v4.8.0) by Alex, James Baker, Johannes Spangenberg, Kurt Alfred Kluever, Rafael Winterhalter, Thibault Helsmoortel, dependabot\[bot] - GitHub Workflows security hardening [(#​2744)](https://togithub.com/mockito/mockito/pull/2744) - Assign GlobalConfiguration initializer to unused variable [(#​2742)](https://togithub.com/mockito/mockito/pull/2742) - Bump com.diffplug.spotless from 6.9.1 to 6.10.0 [(#​2738)](https://togithub.com/mockito/mockito/pull/2738) - Drop varargs collector before invoking a user method. [(#​2736)](https://togithub.com/mockito/mockito/pull/2736) - Bump versions.bytebuddy from 1.12.13 to 1.12.14 [(#​2734)](https://togithub.com/mockito/mockito/pull/2734) - Remove useless thrown exception from constructor [(#​2732)](https://togithub.com/mockito/mockito/pull/2732) - TypeSafeMatching no longer iterates over class methods inefficiently [(#​2729)](https://togithub.com/mockito/mockito/pull/2729) - Fixes [#​2720](https://togithub.com/mockito/mockito/issues/2720): Use StackWalker on Java 9+ to create Locations [(#​2723)](https://togithub.com/mockito/mockito/pull/2723) - LocationImpl adds performance overheads due to instantiating a stack trace [(#​2720)](https://togithub.com/mockito/mockito/issues/2720) - Fixes [#​2626](https://togithub.com/mockito/mockito/issues/2626) : Introduce MockSettings.mockMaker [(#​2701)](https://togithub.com/mockito/mockito/pull/2701) - Introduce option to disable inline-mock-maker for a specific instance [(#​2626)](https://togithub.com/mockito/mockito/issues/2626)
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-spanner). --- google-cloud-spanner/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google-cloud-spanner/pom.xml b/google-cloud-spanner/pom.xml index b7ef5c49691..464460a72bc 100644 --- a/google-cloud-spanner/pom.xml +++ b/google-cloud-spanner/pom.xml @@ -353,7 +353,7 @@ org.mockito mockito-core - 4.7.0 + 4.8.0 test From 33aa21c09f01cc40d156035d2b63fca03257ef6c Mon Sep 17 00:00:00 2001 From: gauravsnj <98738378+gauravsnj@users.noreply.github.com> Date: Mon, 12 Sep 2022 13:08:49 +0530 Subject: [PATCH 08/14] feat: Default transaction isolation (#1998) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added code for supporting not deferrable and setting transaction isolation to default * added tests * Update ClientSideStatementValueConverters.java * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- .../ClientSideStatementValueConverters.java | 3 +- .../connection/PG_ClientSideStatements.json | 30 +++++++++++++---- .../connection/BeginPgTransactionTest.java | 33 +++++++++++++++++++ .../SetPgSessionCharacteristicsTest.java | 4 +++ 4 files changed, 63 insertions(+), 7 deletions(-) diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementValueConverters.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementValueConverters.java index 818039bc788..1c834ada10c 100644 --- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementValueConverters.java +++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementValueConverters.java @@ -382,8 +382,9 @@ public Class getParameterClass() { public PgTransactionMode convert(String value) { PgTransactionMode mode = new PgTransactionMode(); // Transaction mode may contain multiple spaces. + String valueWithoutDeferrable = value.replaceAll("(?i)(not\\s+deferrable)", " "); String valueWithSingleSpaces = - value.replaceAll("\\s+", " ").toLowerCase(Locale.ENGLISH).trim(); + valueWithoutDeferrable.replaceAll("\\s+", " ").toLowerCase(Locale.ENGLISH).trim(); int currentIndex = 0; while (currentIndex < valueWithSingleSpaces.length()) { // This will use the last access mode and isolation level that is encountered in the string. diff --git a/google-cloud-spanner/src/main/resources/com/google/cloud/spanner/connection/PG_ClientSideStatements.json b/google-cloud-spanner/src/main/resources/com/google/cloud/spanner/connection/PG_ClientSideStatements.json index cd1e7362ea5..7aee33b43b5 100644 --- a/google-cloud-spanner/src/main/resources/com/google/cloud/spanner/connection/PG_ClientSideStatements.json +++ b/google-cloud-spanner/src/main/resources/com/google/cloud/spanner/connection/PG_ClientSideStatements.json @@ -159,11 +159,11 @@ "exampleStatements": [] }, { - "name": "{START | BEGIN} [TRANSACTION | WORK] [{ (READ ONLY|READ WRITE) [[,] (ISOLATION LEVEL (DEFAULT|SERIALIZABLE))] }]", + "name": "{START | BEGIN} [TRANSACTION | WORK] [{ (READ ONLY|READ WRITE) [[,] (ISOLATION LEVEL (DEFAULT|SERIALIZABLE))] [[,] NOT DEFERRABLE]}]", "executorName": "ClientSideStatementPgBeginExecutor", "resultType": "NO_RESULT", "statementType": "BEGIN", - "regex": "(?is)\\A\\s*(?:begin|start)(?:\\s+transaction|\\s+work)?((?:(?:\\s+|\\s*,\\s*)read\\s+only|(?:\\s+|\\s*,\\s*)read\\s+write|(?:\\s+|\\s*,\\s*)isolation\\s+level\\s+default|(?:\\s+|\\s*,\\s*)isolation\\s+level\\s+serializable)*)?\\s*\\z", + "regex": "(?is)\\A\\s*(?:begin|start)(?:\\s+transaction|\\s+work)?((?:(?:\\s+|\\s*,\\s*)read\\s+only|(?:\\s+|\\s*,\\s*)read\\s+write|(?:\\s+|\\s*,\\s*)isolation\\s+level\\s+default|(?:\\s+|\\s*,\\s*)isolation\\s+level\\s+serializable|(?:\\s+|\\s*,\\s*)not\\s+deferrable)*)?\\s*\\z", "method": "statementBeginPgTransaction", "exampleStatements": [ "begin", "start", "begin transaction", "start transaction", "begin work", "start work", @@ -173,7 +173,23 @@ "begin isolation level serializable", "start isolation level serializable", "begin transaction isolation level serializable", "start transaction isolation level serializable", "begin work isolation level serializable", "start work isolation level serializable", "begin isolation level default read write", "start isolation level default read only", "begin transaction isolation level default read only", "start transaction isolation level default read write", "begin work isolation level default read write", "start work isolation level default read only", "begin isolation level serializable read write", "start isolation level serializable read write", "begin transaction isolation level serializable read only", "start transaction isolation level serializable read write", "begin work isolation level serializable read write", "start work isolation level serializable read only", - "begin isolation level serializable, read write", "start isolation level serializable, read write", "begin transaction isolation level serializable, read only", "start transaction isolation level serializable, read write", "begin work isolation level serializable, read write", "start work isolation level serializable, read only" + "begin isolation level serializable, read write", "start isolation level serializable, read write", "begin transaction isolation level serializable, read only", "start transaction isolation level serializable, read write", "begin work isolation level serializable, read write", "start work isolation level serializable, read only", + "begin not deferrable", "start not deferrable", "begin transaction not deferrable", "start transaction not deferrable", "begin work not deferrable", "start work not deferrable", + "begin read only not deferrable", "start read only not deferrable", "begin transaction read only not deferrable", "start transaction read only not deferrable", "begin work read only not deferrable", "start work read only not deferrable", + "begin read write not deferrable", "start read write not deferrable", "begin transaction read write not deferrable", "start transaction read write not deferrable", "begin work read write not deferrable", "start work read write not deferrable", + "begin isolation level default not deferrable", "start isolation level default not deferrable", "begin transaction isolation level default not deferrable", "start transaction isolation level default not deferrable", "begin work isolation level default not deferrable", "start work isolation level default not deferrable", + "begin isolation level serializable not deferrable", "start isolation level serializable not deferrable", "begin transaction isolation level serializable not deferrable", "start transaction isolation level serializable not deferrable", "begin work isolation level serializable not deferrable", "start work isolation level serializable not deferrable", + "begin isolation level default read write not deferrable", "start isolation level default read only not deferrable", "begin transaction isolation level default read only not deferrable", "start transaction isolation level default read write not deferrable", "begin work isolation level default read write not deferrable", "start work isolation level default read only not deferrable", + "begin isolation level serializable read write not deferrable", "start isolation level serializable read write not deferrable", "begin transaction isolation level serializable read only not deferrable", "start transaction isolation level serializable read write not deferrable", "begin work isolation level serializable read write not deferrable", "start work isolation level serializable read only not deferrable", + "begin isolation level serializable, read write, not deferrable", "start isolation level serializable, read write, not deferrable", "begin transaction isolation level serializable, read only, not deferrable", "start transaction isolation level serializable, read write, not deferrable", "begin work isolation level serializable, read write, not deferrable", "start work isolation level serializable, read only", + "begin transaction not deferrable", "start transaction not deferrable", "begin work not deferrable", "start work not deferrable", + "begin not deferrable read only", "start read only", "begin transaction not deferrable read only", "start transaction read only", "begin work not deferrable read only", "start work read only", + "begin not deferrable read write", "start read write", "begin transaction not deferrable read write", "start transaction read write", "begin work not deferrable read write", "start work read write", + "begin not deferrable isolation level default", "start isolation level default", "begin transaction not deferrable isolation level default", "start transaction isolation level default", "begin work not deferrable isolation level default", "start work isolation level default", + "begin not deferrable isolation level serializable", "start isolation level serializable", "begin transaction not deferrable isolation level serializable", "start transaction isolation level serializable", "begin work not deferrable isolation level serializable", "start work isolation level serializable", + "begin not deferrable isolation level default read write", "start isolation level default read only", "begin transaction not deferrable isolation level default read only", "start transaction isolation level default read write", "begin work not deferrable isolation level default read write", "start work isolation level default read only", + "begin not deferrable isolation level serializable read write", "start isolation level serializable read write", "begin transaction not deferrable isolation level serializable read only", "start transaction isolation level serializable read write", "begin work not deferrable isolation level serializable read write", "start work isolation level serializable read only", + "begin not deferrable isolation level serializable, read write", "start isolation level serializable, read write", "begin transaction not deferrable isolation level serializable, read only", "start transaction isolation level serializable, read write", "begin work not deferrable isolation level serializable, read write", "start work isolation level serializable, read only" ] }, { @@ -360,7 +376,7 @@ } }, { - "name": "SET DEFAULT_TRANSACTION_ISOLATION =|TO 'SERIALIZABLE'|SERIALIZABLE", + "name": "SET DEFAULT_TRANSACTION_ISOLATION =|TO 'SERIALIZABLE'|SERIALIZABLE|DEFAULT", "executorName": "ClientSideStatementSetExecutor", "resultType": "NO_RESULT", "statementType": "SET_READONLY", @@ -371,12 +387,14 @@ "set default_transaction_isolation to serializable", "set default_transaction_isolation to 'serializable'", "set default_transaction_isolation = 'serializable'", - "set default_transaction_isolation = \"SERIALIZABLE\"" + "set default_transaction_isolation = \"SERIALIZABLE\"", + "set default_transaction_isolation = DEFAULT", + "set default_transaction_isolation to DEFAULT" ], "setStatement": { "propertyName": "default_transaction_isolation", "separator": "(?:=|\\s+TO\\s+)", - "allowedValues": "(SERIALIZABLE|'SERIALIZABLE'|\"SERIALIZABLE\")", + "allowedValues": "(SERIALIZABLE|'SERIALIZABLE'|\"SERIALIZABLE\"|DEFAULT)", "converterName": "ClientSideStatementValueConverters$PgTransactionIsolationConverter" } }, diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/BeginPgTransactionTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/BeginPgTransactionTest.java index af65ffde847..9b2aa0930cf 100644 --- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/BeginPgTransactionTest.java +++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/BeginPgTransactionTest.java @@ -148,4 +148,37 @@ public void testBeginReadOnlyWithIsolationLevel() { index++; } } + + @Test + public void testBeginWithNotDeferrable() { + ConnectionImpl connection = mock(ConnectionImpl.class); + ConnectionStatementExecutorImpl executor = new ConnectionStatementExecutorImpl(connection); + + int index = 1; + for (String sql : + ImmutableList.of( + "begin read only isolation level serializable not deferrable", + "begin read only isolation level default not deferrable", + "begin isolation level serializable read only not deferrable", + "begin isolation level default read only not deferrable", + "begin read write isolation level default read only not deferrable", + "begin read write, isolation level default, read only not deferrable", + "begin read write , \nisolation level default\n\t,read only \n\n not \t deferrable", + "begin not deferrable read only isolation level serializable", + "begin not deferrable read only isolation level default", + "begin not deferrable isolation level serializable read only", + "begin not deferrable isolation level default read only", + "begin not deferrable read write isolation level default read only", + "begin not deferrable read write, isolation level default, read only", + "begin not deferrable read write , \nisolation level default\n\t,read only")) { + ParsedStatement statement = parser.parse(Statement.of(sql)); + assertEquals(sql, StatementType.CLIENT_SIDE, statement.getType()); + statement.getClientSideStatement().execute(executor, sql); + + verify(connection, times(index)).beginTransaction(); + verify(connection, times(index)).setTransactionMode(TransactionMode.READ_ONLY_TRANSACTION); + verify(connection, never()).setTransactionMode(TransactionMode.READ_WRITE_TRANSACTION); + index++; + } + } } diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SetPgSessionCharacteristicsTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SetPgSessionCharacteristicsTest.java index 5c10afaefc7..77240b74595 100644 --- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SetPgSessionCharacteristicsTest.java +++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SetPgSessionCharacteristicsTest.java @@ -147,6 +147,10 @@ public void testDefaultTransactionIsolation() { "set default_transaction_isolation to 'serializable'", "set default_transaction_isolation to 'SERIALIZABLE'", "set default_transaction_isolation to \"SERIALIZABLE\"", + "set default_transaction_isolation to default", + "set default_transaction_isolation to DEFAULT", + "set default_transaction_isolation = default", + "set default_transaction_isolation = DEFAULT" }) { ParsedStatement statement = parser.parse(Statement.of(sql)); assertEquals(sql, StatementType.CLIENT_SIDE, statement.getType()); From d54f2521f1629658bc54f67ba549ea199a77c5a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Knut=20Olav=20L=C3=B8ite?= Date: Wed, 14 Sep 2022 15:34:35 +0200 Subject: [PATCH 09/14] fix: retries of updates in the Connection API ignored analyze mode (#2010) * fix: retries of updates in the Connection API ignored analyze mode Retries of read/write transactions in the Connection API did not respect the analyze mode of update statements. This would cause updates to be executed using AnalyzeMode.NORMAL during retries, regardless of what was used during the initial attempt. Fixes #2009 * fix: remove null check and force not-null --- .../connection/ReadWriteTransaction.java | 6 +-- .../spanner/connection/RetriableUpdate.java | 19 +++++++--- .../cloud/spanner/connection/AbortedTest.java | 38 +++++++++++++++++++ 3 files changed, 55 insertions(+), 8 deletions(-) diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadWriteTransaction.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadWriteTransaction.java index 93d38f17935..968ef357c24 100644 --- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadWriteTransaction.java +++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadWriteTransaction.java @@ -444,7 +444,7 @@ private ApiFuture internalExecuteUpdateAsync( options); } createAndAddRetriableUpdate( - update, updateCount.getRowCountExact(), options); + update, analyzeMode, updateCount.getRowCountExact(), options); return updateCount; } catch (AbortedException e) { throw e; @@ -712,9 +712,9 @@ private void createAndAddFailedQuery( } private void createAndAddRetriableUpdate( - ParsedStatement update, long updateCount, UpdateOption... options) { + ParsedStatement update, AnalyzeMode analyzeMode, long updateCount, UpdateOption... options) { if (retryAbortsInternally) { - addRetryStatement(new RetriableUpdate(this, update, updateCount, options)); + addRetryStatement(new RetriableUpdate(this, update, analyzeMode, updateCount, options)); } } diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/RetriableUpdate.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/RetriableUpdate.java index 3818bdd739c..68568a4428e 100644 --- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/RetriableUpdate.java +++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/RetriableUpdate.java @@ -31,18 +31,19 @@ final class RetriableUpdate implements RetriableStatement { private final ReadWriteTransaction transaction; private final ParsedStatement statement; + private final AnalyzeMode analyzeMode; private final long updateCount; private final UpdateOption[] options; RetriableUpdate( ReadWriteTransaction transaction, ParsedStatement statement, + AnalyzeMode analyzeMode, long updateCount, UpdateOption... options) { - Preconditions.checkNotNull(transaction); - Preconditions.checkNotNull(statement); - this.transaction = transaction; - this.statement = statement; + this.transaction = Preconditions.checkNotNull(transaction); + this.statement = Preconditions.checkNotNull(statement); + this.analyzeMode = Preconditions.checkNotNull(analyzeMode); this.updateCount = updateCount; this.options = options; } @@ -54,7 +55,15 @@ public void retry(AbortedException aborted) throws AbortedException { transaction .getStatementExecutor() .invokeInterceptors(statement, StatementExecutionStep.RETRY_STATEMENT, transaction); - newCount = transaction.getReadContext().executeUpdate(statement.getStatement(), options); + if (analyzeMode == AnalyzeMode.NONE) { + newCount = transaction.getReadContext().executeUpdate(statement.getStatement(), options); + } else { + newCount = + transaction + .getReadContext() + .analyzeUpdate(statement.getStatement(), analyzeMode.getQueryAnalyzeMode()) + .getRowCountExact(); + } } catch (AbortedException e) { // Just re-throw the AbortedException and let the retry logic determine whether another try // should be executed or not. diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AbortedTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AbortedTest.java index 274f6d27304..96416c3e8d5 100644 --- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AbortedTest.java +++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AbortedTest.java @@ -26,6 +26,7 @@ import com.google.cloud.Timestamp; import com.google.cloud.spanner.ErrorCode; import com.google.cloud.spanner.MockSpannerServiceImpl.StatementResult; +import com.google.cloud.spanner.ReadContext.QueryAnalyzeMode; import com.google.cloud.spanner.ResultSet; import com.google.cloud.spanner.SpannerException; import com.google.cloud.spanner.Statement; @@ -37,9 +38,11 @@ import com.google.spanner.v1.CommitRequest; import com.google.spanner.v1.ExecuteBatchDmlRequest; import com.google.spanner.v1.ExecuteSqlRequest; +import com.google.spanner.v1.ExecuteSqlRequest.QueryMode; import io.grpc.Status; import io.grpc.StatusRuntimeException; import java.util.Collections; +import java.util.List; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -299,6 +302,41 @@ public void testRetryUsesTags() { assertEquals(2L, commitRequestCount); } + @Test + public void testRetryUsesAnalyzeModeForUpdate() { + mockSpanner.putStatementResult( + StatementResult.query(SELECT_COUNT_STATEMENT, SELECT_COUNT_RESULTSET_BEFORE_INSERT)); + mockSpanner.putStatementResult(StatementResult.update(INSERT_STATEMENT, 0)); + try (ITConnection connection = createConnection()) { + assertEquals( + 0L, connection.analyzeUpdate(INSERT_STATEMENT, QueryAnalyzeMode.PLAN).getRowCountExact()); + + mockSpanner.abortNextStatement(); + connection.executeQuery(SELECT_COUNT_STATEMENT); + + mockSpanner.putStatementResult(StatementResult.update(INSERT_STATEMENT, 1)); + assertEquals(1L, connection.executeUpdate(INSERT_STATEMENT)); + + connection.commit(); + } + // 5 requests because: + // 1. Analyze INSERT + // 2. Execute SELECT COUNT(*) (Aborted) + // 3. Analyze INSERT (retry) + // 4. Execute SELECT COUNT(*) (retry) + // 5. Execute INSERT + assertEquals(5, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class)); + List requests = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class); + assertEquals(QueryMode.PLAN, requests.get(0).getQueryMode()); + assertEquals(QueryMode.NORMAL, requests.get(1).getQueryMode()); + + // This used NORMAL because of https://github.com/googleapis/java-spanner/issues/2009. + assertEquals(QueryMode.PLAN, requests.get(2).getQueryMode()); + + assertEquals(QueryMode.NORMAL, requests.get(3).getQueryMode()); + assertEquals(QueryMode.NORMAL, requests.get(4).getQueryMode()); + } + ITConnection createConnection(TransactionRetryListener listener) { ITConnection connection = super.createConnection(ImmutableList.of(), ImmutableList.of(listener)); From 9a3b5d454869595d144f542fea95f39d275d3eb4 Mon Sep 17 00:00:00 2001 From: Gaurav Purohit Date: Wed, 14 Sep 2022 21:03:26 +0530 Subject: [PATCH 10/14] test: Adding additional assert checks for exception being thrown for invalid json (#2011) --- .../cloud/spanner/it/ITJsonWriteReadTest.java | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITJsonWriteReadTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITJsonWriteReadTest.java index 9f55ea60fd1..c6f72349f0b 100644 --- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITJsonWriteReadTest.java +++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITJsonWriteReadTest.java @@ -22,6 +22,7 @@ import com.google.cloud.spanner.Database; import com.google.cloud.spanner.DatabaseClient; +import com.google.cloud.spanner.ErrorCode; import com.google.cloud.spanner.IntegrationTestEnv; import com.google.cloud.spanner.Mutation; import com.google.cloud.spanner.ParallelIntegrationTest; @@ -125,17 +126,21 @@ public void testWriteAndReadInvalidJsonValues() throws IOException { Resources.toString( Resources.getResource(this.getClass(), INVALID_JSON_DIR + File.separator + resource), StandardCharsets.UTF_8); - assertThrows( - SpannerException.class, - () -> - databaseClient.write( - Collections.singletonList( - Mutation.newInsertBuilder(TABLE_NAME) - .set("Id") - .to(id.getAndIncrement()) - .set("json") - .to(Value.json(jsonStr)) - .build()))); + + SpannerException exception = + assertThrows( + SpannerException.class, + () -> + databaseClient.write( + Collections.singletonList( + Mutation.newInsertBuilder(TABLE_NAME) + .set("Id") + .to(id.getAndIncrement()) + .set("json") + .to(Value.json(jsonStr)) + .build()))); + + assertEquals(ErrorCode.FAILED_PRECONDITION, exception.getErrorCode()); } } From f5a748118b80c6310c2190ff6b854877649be62c Mon Sep 17 00:00:00 2001 From: Gaurav Purohit Date: Thu, 15 Sep 2022 12:29:33 +0530 Subject: [PATCH 11/14] test: Passing correct InstanceID for encrypted instance --- .../src/test/java/com/example/spanner/SpannerSampleIT.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/src/test/java/com/example/spanner/SpannerSampleIT.java b/samples/snippets/src/test/java/com/example/spanner/SpannerSampleIT.java index 39b5d67347c..72e8c36d76c 100644 --- a/samples/snippets/src/test/java/com/example/spanner/SpannerSampleIT.java +++ b/samples/snippets/src/test/java/com/example/spanner/SpannerSampleIT.java @@ -126,7 +126,7 @@ private static void deleteStaleEncryptedTestInstances() throws InterruptedExcept .iterateAll()) { if ((now.getSeconds() - instance.getCreateTime().getSeconds()) > STALE_INSTANCE_THRESHOLD_SECS) { - deleteAllBackups(instanceId); + deleteAllBackups(instance.getId().getInstance()); instance.delete(); } } From 16db975fbcbd7ce8aee74b6988bf0d125619675f Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 15 Sep 2022 16:34:48 +0200 Subject: [PATCH 12/14] deps: update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.3 (#2013) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 699e03cafba..10eb2c5010c 100644 --- a/pom.xml +++ b/pom.xml @@ -54,7 +54,7 @@ UTF-8 github google-cloud-spanner-parent - 3.0.2 + 3.0.3 From 74f9c3bc161748e52fed9af8f9fa26a236dc0140 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 16 Sep 2022 19:35:31 +0530 Subject: [PATCH 13/14] feat: Add custom instance config operations (#1999) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: Add custom instance config operations PiperOrigin-RevId: 473928081 Source-Link: https://github.com/googleapis/googleapis/commit/5440048987f623ea4c77ee2aea872c709eb7619b Source-Link: https://github.com/googleapis/googleapis-gen/commit/840feecd758adacc102d6b86e66544a0c1c37054 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiODQwZmVlY2Q3NThhZGFjYzEwMmQ2Yjg2ZTY2NTQ0YTBjMWMzNzA1NCJ9 chore(bazel): Update WORKSPACE files for rules_gapic, gax_java, generator_java versions PiperOrigin-RevId: 472750037 Source-Link: https://github.com/googleapis/googleapis/commit/88f2ea3f53b9712f2e04f28f06210f6f77fa7e24 Source-Link: https://github.com/googleapis/googleapis-gen/commit/230a5588306aae18fe8f2a57f14d4039ad72c901 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMjMwYTU1ODgzMDZhYWUxOGZlOGYyYTU3ZjE0ZDQwMzlhZDcyYzkwMSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * fix!: Revert add custom instance config operations (change broke client libraries; reverting before any are released) PiperOrigin-RevId: 473985182 Source-Link: https://github.com/googleapis/googleapis/commit/e544df58176f6f122c11da901037de24eea32c21 Source-Link: https://github.com/googleapis/googleapis-gen/commit/a17c20e34f08de8fb5f9a3e5bb429f42b8d75cdd Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYTE3YzIwZTM0ZjA4ZGU4ZmI1ZjlhM2U1YmI0MjlmNDJiOGQ3NWNkZCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: Add custom instance config operations PiperOrigin-RevId: 474535825 Source-Link: https://github.com/googleapis/googleapis/commit/69c840ef92253dd2813c8d3d794b779ae08178cf Source-Link: https://github.com/googleapis/googleapis-gen/commit/33e360e7d4bf2479fa79eace85166453cd760b0d Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMzNlMzYwZTdkNGJmMjQ3OWZhNzllYWNlODUxNjY0NTNjZDc2MGIwZCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- .../database/v1/DatabaseAdminClient.java | 651 +++-- .../database/v1/DatabaseAdminSettings.java | 12 +- .../admin/database/v1/package-info.java | 7 +- .../v1/stub/DatabaseAdminStubSettings.java | 12 +- .../v1/stub/HttpJsonDatabaseAdminStub.java | 20 +- .../instance/v1/InstanceAdminClient.java | 1416 ++++++++- .../instance/v1/InstanceAdminSettings.java | 99 +- .../admin/instance/v1/gapic_metadata.json | 12 + .../admin/instance/v1/package-info.java | 7 +- .../v1/stub/GrpcInstanceAdminStub.java | 195 ++ .../v1/stub/HttpJsonInstanceAdminStub.java | 305 +- .../instance/v1/stub/InstanceAdminStub.java | 47 + .../v1/stub/InstanceAdminStubSettings.java | 321 +- .../cloud/spanner/v1/SpannerClient.java | 357 ++- .../cloud/spanner/v1/SpannerSettings.java | 12 +- .../google/cloud/spanner/v1/package-info.java | 7 +- .../spanner/v1/stub/HttpJsonSpannerStub.java | 24 +- .../spanner/v1/stub/SpannerStubSettings.java | 12 +- .../v1/InstanceAdminClientHttpJsonTest.java | 400 +++ .../instance/v1/InstanceAdminClientTest.java | 361 +++ .../instance/v1/MockInstanceAdminImpl.java | 90 + .../admin/instance/v1/InstanceAdminGrpc.java | 850 +++++- .../admin/instance/v1/CommonProto.java | 76 + .../v1/CreateInstanceConfigMetadata.java | 1325 +++++++++ ...CreateInstanceConfigMetadataOrBuilder.java | 136 + .../v1/CreateInstanceConfigRequest.java | 1315 +++++++++ .../CreateInstanceConfigRequestOrBuilder.java | 154 + .../instance/v1/CreateInstanceMetadata.java | 48 +- .../v1/CreateInstanceMetadataOrBuilder.java | 12 +- .../instance/v1/CreateInstanceRequest.java | 6 +- .../v1/DeleteInstanceConfigRequest.java | 991 +++++++ .../DeleteInstanceConfigRequestOrBuilder.java | 109 + .../instance/v1/DeleteInstanceRequest.java | 6 +- .../admin/instance/v1/GetInstanceRequest.java | 90 +- .../v1/GetInstanceRequestOrBuilder.java | 21 +- .../spanner/admin/instance/v1/Instance.java | 56 +- .../admin/instance/v1/InstanceConfig.java | 2571 ++++++++++++++++- .../instance/v1/InstanceConfigOrBuilder.java | 359 +++ .../admin/instance/v1/InstanceOrBuilder.java | 16 +- .../ListInstanceConfigOperationsRequest.java | 1412 +++++++++ ...tanceConfigOperationsRequestOrBuilder.java | 200 ++ .../ListInstanceConfigOperationsResponse.java | 1258 ++++++++ ...anceConfigOperationsResponseOrBuilder.java | 125 + .../v1/ListInstanceConfigsRequest.java | 27 +- .../ListInstanceConfigsRequestOrBuilder.java | 6 +- .../v1/ListInstanceConfigsResponse.java | 34 +- .../ListInstanceConfigsResponseOrBuilder.java | 8 +- .../instance/v1/ListInstancesRequest.java | 41 +- .../v1/ListInstancesRequestOrBuilder.java | 10 +- .../instance/v1/ListInstancesResponse.java | 34 +- .../v1/ListInstancesResponseOrBuilder.java | 8 +- .../admin/instance/v1/OperationProgress.java | 1103 +++++++ .../v1/OperationProgressOrBuilder.java | 112 + .../v1/SpannerInstanceAdminProto.java | 455 ++- .../v1/UpdateInstanceConfigMetadata.java | 1325 +++++++++ ...UpdateInstanceConfigMetadataOrBuilder.java | 136 + .../v1/UpdateInstanceConfigRequest.java | 1270 ++++++++ .../UpdateInstanceConfigRequestOrBuilder.java | 148 + .../instance/v1/UpdateInstanceMetadata.java | 36 +- .../v1/UpdateInstanceMetadataOrBuilder.java | 9 +- .../instance/v1/UpdateInstanceRequest.java | 138 +- .../v1/UpdateInstanceRequestOrBuilder.java | 33 +- .../spanner/admin/instance/v1/common.proto | 42 + .../instance/v1/spanner_instance_admin.proto | 535 +++- 64 files changed, 19959 insertions(+), 1054 deletions(-) create mode 100644 proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CommonProto.java create mode 100644 proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigMetadata.java create mode 100644 proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigMetadataOrBuilder.java create mode 100644 proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigRequest.java create mode 100644 proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigRequestOrBuilder.java create mode 100644 proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceConfigRequest.java create mode 100644 proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceConfigRequestOrBuilder.java create mode 100644 proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsRequest.java create mode 100644 proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsRequestOrBuilder.java create mode 100644 proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsResponse.java create mode 100644 proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsResponseOrBuilder.java create mode 100644 proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/OperationProgress.java create mode 100644 proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/OperationProgressOrBuilder.java create mode 100644 proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigMetadata.java create mode 100644 proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigMetadataOrBuilder.java create mode 100644 proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigRequest.java create mode 100644 proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigRequestOrBuilder.java create mode 100644 proto-google-cloud-spanner-admin-instance-v1/src/main/proto/google/spanner/admin/instance/v1/common.proto diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClient.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClient.java index 6468afc4fe0..89aab16488a 100644 --- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClient.java +++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClient.java @@ -91,8 +91,11 @@ * calls that map to API methods. Sample code to get started: * *
{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
  *   DatabaseName name = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
  *   Database response = databaseAdminClient.getDatabase(name);
@@ -128,8 +131,11 @@
  * 

To customize credentials: * *

{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * DatabaseAdminSettings databaseAdminSettings =
  *     DatabaseAdminSettings.newBuilder()
  *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
@@ -140,8 +146,11 @@
  * 

To customize the endpoint: * *

{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * DatabaseAdminSettings databaseAdminSettings =
  *     DatabaseAdminSettings.newBuilder().setEndpoint(myEndpoint).build();
  * DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create(databaseAdminSettings);
@@ -151,8 +160,11 @@
  * the wire:
  *
  * 
{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * DatabaseAdminSettings databaseAdminSettings =
  *     DatabaseAdminSettings.newBuilder()
  *         .setTransportChannelProvider(
@@ -245,8 +257,11 @@ public final OperationsClient getHttpJsonOperationsClient() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
    *   for (Database element : databaseAdminClient.listDatabases(parent).iterateAll()) {
@@ -274,8 +289,11 @@ public final ListDatabasesPagedResponse listDatabases(InstanceName parent) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String parent = InstanceName.of("[PROJECT]", "[INSTANCE]").toString();
    *   for (Database element : databaseAdminClient.listDatabases(parent).iterateAll()) {
@@ -300,8 +318,11 @@ public final ListDatabasesPagedResponse listDatabases(String parent) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   ListDatabasesRequest request =
    *       ListDatabasesRequest.newBuilder()
@@ -329,8 +350,11 @@ public final ListDatabasesPagedResponse listDatabases(ListDatabasesRequest reque
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   ListDatabasesRequest request =
    *       ListDatabasesRequest.newBuilder()
@@ -359,8 +383,11 @@ public final ListDatabasesPagedResponse listDatabases(ListDatabasesRequest reque
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   ListDatabasesRequest request =
    *       ListDatabasesRequest.newBuilder()
@@ -400,8 +427,11 @@ public final UnaryCallable listData
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
    *   String createStatement = "createStatement744686547";
@@ -441,8 +471,11 @@ public final OperationFuture createDatabaseAsy
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String parent = InstanceName.of("[PROJECT]", "[INSTANCE]").toString();
    *   String createStatement = "createStatement744686547";
@@ -482,8 +515,11 @@ public final OperationFuture createDatabaseAsy
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   CreateDatabaseRequest request =
    *       CreateDatabaseRequest.newBuilder()
@@ -518,8 +554,11 @@ public final OperationFuture createDatabaseAsy
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   CreateDatabaseRequest request =
    *       CreateDatabaseRequest.newBuilder()
@@ -554,8 +593,11 @@ public final OperationFuture createDatabaseAsy
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   CreateDatabaseRequest request =
    *       CreateDatabaseRequest.newBuilder()
@@ -583,8 +625,11 @@ public final UnaryCallable createDatabaseCalla
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   DatabaseName name = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
    *   Database response = databaseAdminClient.getDatabase(name);
@@ -608,8 +653,11 @@ public final Database getDatabase(DatabaseName name) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String name = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]").toString();
    *   Database response = databaseAdminClient.getDatabase(name);
@@ -632,8 +680,11 @@ public final Database getDatabase(String name) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   GetDatabaseRequest request =
    *       GetDatabaseRequest.newBuilder()
@@ -657,8 +708,11 @@ public final Database getDatabase(GetDatabaseRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   GetDatabaseRequest request =
    *       GetDatabaseRequest.newBuilder()
@@ -687,8 +741,11 @@ public final UnaryCallable getDatabaseCallable() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   DatabaseName database = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
    *   List statements = new ArrayList<>();
@@ -723,8 +780,11 @@ public final OperationFuture updateDatabaseDdl
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String database = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]").toString();
    *   List statements = new ArrayList<>();
@@ -759,8 +819,11 @@ public final OperationFuture updateDatabaseDdl
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   UpdateDatabaseDdlRequest request =
    *       UpdateDatabaseDdlRequest.newBuilder()
@@ -793,8 +856,11 @@ public final OperationFuture updateDatabaseDdl
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   UpdateDatabaseDdlRequest request =
    *       UpdateDatabaseDdlRequest.newBuilder()
@@ -827,8 +893,11 @@ public final OperationFuture updateDatabaseDdl
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   UpdateDatabaseDdlRequest request =
    *       UpdateDatabaseDdlRequest.newBuilder()
@@ -856,8 +925,11 @@ public final UnaryCallable updateDatabaseDd
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   DatabaseName database = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
    *   databaseAdminClient.dropDatabase(database);
@@ -884,8 +956,11 @@ public final void dropDatabase(DatabaseName database) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String database = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]").toString();
    *   databaseAdminClient.dropDatabase(database);
@@ -909,8 +984,11 @@ public final void dropDatabase(String database) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   DropDatabaseRequest request =
    *       DropDatabaseRequest.newBuilder()
@@ -936,8 +1014,11 @@ public final void dropDatabase(DropDatabaseRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   DropDatabaseRequest request =
    *       DropDatabaseRequest.newBuilder()
@@ -962,8 +1043,11 @@ public final UnaryCallable dropDatabaseCallable() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   DatabaseName database = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
    *   GetDatabaseDdlResponse response = databaseAdminClient.getDatabaseDdl(database);
@@ -991,8 +1075,11 @@ public final GetDatabaseDdlResponse getDatabaseDdl(DatabaseName database) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String database = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]").toString();
    *   GetDatabaseDdlResponse response = databaseAdminClient.getDatabaseDdl(database);
@@ -1018,8 +1105,11 @@ public final GetDatabaseDdlResponse getDatabaseDdl(String database) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   GetDatabaseDdlRequest request =
    *       GetDatabaseDdlRequest.newBuilder()
@@ -1045,8 +1135,11 @@ public final GetDatabaseDdlResponse getDatabaseDdl(GetDatabaseDdlRequest request
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   GetDatabaseDdlRequest request =
    *       GetDatabaseDdlRequest.newBuilder()
@@ -1076,8 +1169,11 @@ public final GetDatabaseDdlResponse getDatabaseDdl(GetDatabaseDdlRequest request
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   ResourceName resource = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
    *   Policy policy = Policy.newBuilder().build();
@@ -1113,8 +1209,11 @@ public final Policy setIamPolicy(ResourceName resource, Policy policy) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String resource = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]").toString();
    *   Policy policy = Policy.newBuilder().build();
@@ -1147,8 +1246,11 @@ public final Policy setIamPolicy(String resource, Policy policy) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   SetIamPolicyRequest request =
    *       SetIamPolicyRequest.newBuilder()
@@ -1179,8 +1281,11 @@ public final Policy setIamPolicy(SetIamPolicyRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   SetIamPolicyRequest request =
    *       SetIamPolicyRequest.newBuilder()
@@ -1211,8 +1316,11 @@ public final UnaryCallable setIamPolicyCallable() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   ResourceName resource = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
    *   Policy response = databaseAdminClient.getIamPolicy(resource);
@@ -1244,8 +1352,11 @@ public final Policy getIamPolicy(ResourceName resource) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String resource = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]").toString();
    *   Policy response = databaseAdminClient.getIamPolicy(resource);
@@ -1274,8 +1385,11 @@ public final Policy getIamPolicy(String resource) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   GetIamPolicyRequest request =
    *       GetIamPolicyRequest.newBuilder()
@@ -1306,8 +1420,11 @@ public final Policy getIamPolicy(GetIamPolicyRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   GetIamPolicyRequest request =
    *       GetIamPolicyRequest.newBuilder()
@@ -1337,8 +1454,11 @@ public final UnaryCallable getIamPolicyCallable() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   ResourceName resource = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
    *   List permissions = new ArrayList<>();
@@ -1377,8 +1497,11 @@ public final TestIamPermissionsResponse testIamPermissions(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String resource = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]").toString();
    *   List permissions = new ArrayList<>();
@@ -1417,8 +1540,11 @@ public final TestIamPermissionsResponse testIamPermissions(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   TestIamPermissionsRequest request =
    *       TestIamPermissionsRequest.newBuilder()
@@ -1449,8 +1575,11 @@ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsReq
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   TestIamPermissionsRequest request =
    *       TestIamPermissionsRequest.newBuilder()
@@ -1485,8 +1614,11 @@ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsReq
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
    *   Backup backup = Backup.newBuilder().build();
@@ -1532,8 +1664,11 @@ public final OperationFuture createBackupAsync(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String parent = InstanceName.of("[PROJECT]", "[INSTANCE]").toString();
    *   Backup backup = Backup.newBuilder().build();
@@ -1579,8 +1714,11 @@ public final OperationFuture createBackupAsync(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   CreateBackupRequest request =
    *       CreateBackupRequest.newBuilder()
@@ -1617,8 +1755,11 @@ public final OperationFuture createBackupAsync(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   CreateBackupRequest request =
    *       CreateBackupRequest.newBuilder()
@@ -1655,8 +1796,11 @@ public final OperationFuture createBackupAsync(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   CreateBackupRequest request =
    *       CreateBackupRequest.newBuilder()
@@ -1691,8 +1835,11 @@ public final UnaryCallable createBackupCallable(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
    *   String backupId = "backupId2121930365";
@@ -1746,8 +1893,11 @@ public final OperationFuture copyBackupAsync(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
    *   String backupId = "backupId2121930365";
@@ -1801,8 +1951,11 @@ public final OperationFuture copyBackupAsync(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String parent = InstanceName.of("[PROJECT]", "[INSTANCE]").toString();
    *   String backupId = "backupId2121930365";
@@ -1856,8 +2009,11 @@ public final OperationFuture copyBackupAsync(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String parent = InstanceName.of("[PROJECT]", "[INSTANCE]").toString();
    *   String backupId = "backupId2121930365";
@@ -1911,8 +2067,11 @@ public final OperationFuture copyBackupAsync(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   CopyBackupRequest request =
    *       CopyBackupRequest.newBuilder()
@@ -1950,8 +2109,11 @@ public final OperationFuture copyBackupAsync(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   CopyBackupRequest request =
    *       CopyBackupRequest.newBuilder()
@@ -1989,8 +2151,11 @@ public final OperationFuture copyBackupAsync(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   CopyBackupRequest request =
    *       CopyBackupRequest.newBuilder()
@@ -2017,8 +2182,11 @@ public final UnaryCallable copyBackupCallable() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   BackupName name = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
    *   Backup response = databaseAdminClient.getBackup(name);
@@ -2042,8 +2210,11 @@ public final Backup getBackup(BackupName name) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String name = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]").toString();
    *   Backup response = databaseAdminClient.getBackup(name);
@@ -2066,8 +2237,11 @@ public final Backup getBackup(String name) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   GetBackupRequest request =
    *       GetBackupRequest.newBuilder()
@@ -2091,8 +2265,11 @@ public final Backup getBackup(GetBackupRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   GetBackupRequest request =
    *       GetBackupRequest.newBuilder()
@@ -2115,8 +2292,11 @@ public final UnaryCallable getBackupCallable() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   Backup backup = Backup.newBuilder().build();
    *   FieldMask updateMask = FieldMask.newBuilder().build();
@@ -2146,8 +2326,11 @@ public final Backup updateBackup(Backup backup, FieldMask updateMask) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   UpdateBackupRequest request =
    *       UpdateBackupRequest.newBuilder()
@@ -2172,8 +2355,11 @@ public final Backup updateBackup(UpdateBackupRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   UpdateBackupRequest request =
    *       UpdateBackupRequest.newBuilder()
@@ -2197,8 +2383,11 @@ public final UnaryCallable updateBackupCallable() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   BackupName name = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]");
    *   databaseAdminClient.deleteBackup(name);
@@ -2222,8 +2411,11 @@ public final void deleteBackup(BackupName name) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String name = BackupName.of("[PROJECT]", "[INSTANCE]", "[BACKUP]").toString();
    *   databaseAdminClient.deleteBackup(name);
@@ -2246,8 +2438,11 @@ public final void deleteBackup(String name) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   DeleteBackupRequest request =
    *       DeleteBackupRequest.newBuilder()
@@ -2271,8 +2466,11 @@ public final void deleteBackup(DeleteBackupRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   DeleteBackupRequest request =
    *       DeleteBackupRequest.newBuilder()
@@ -2296,8 +2494,11 @@ public final UnaryCallable deleteBackupCallable() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
    *   for (Backup element : databaseAdminClient.listBackups(parent).iterateAll()) {
@@ -2326,8 +2527,11 @@ public final ListBackupsPagedResponse listBackups(InstanceName parent) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String parent = InstanceName.of("[PROJECT]", "[INSTANCE]").toString();
    *   for (Backup element : databaseAdminClient.listBackups(parent).iterateAll()) {
@@ -2353,8 +2557,11 @@ public final ListBackupsPagedResponse listBackups(String parent) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   ListBackupsRequest request =
    *       ListBackupsRequest.newBuilder()
@@ -2384,8 +2591,11 @@ public final ListBackupsPagedResponse listBackups(ListBackupsRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   ListBackupsRequest request =
    *       ListBackupsRequest.newBuilder()
@@ -2415,8 +2625,11 @@ public final ListBackupsPagedResponse listBackups(ListBackupsRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   ListBackupsRequest request =
    *       ListBackupsRequest.newBuilder()
@@ -2464,8 +2677,11 @@ public final UnaryCallable listBackupsC
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
    *   String databaseId = "databaseId1688905718";
@@ -2518,8 +2734,11 @@ public final OperationFuture restoreDatabaseA
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
    *   String databaseId = "databaseId1688905718";
@@ -2572,8 +2791,11 @@ public final OperationFuture restoreDatabaseA
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String parent = InstanceName.of("[PROJECT]", "[INSTANCE]").toString();
    *   String databaseId = "databaseId1688905718";
@@ -2626,8 +2848,11 @@ public final OperationFuture restoreDatabaseA
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String parent = InstanceName.of("[PROJECT]", "[INSTANCE]").toString();
    *   String databaseId = "databaseId1688905718";
@@ -2680,8 +2905,11 @@ public final OperationFuture restoreDatabaseA
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   RestoreDatabaseRequest request =
    *       RestoreDatabaseRequest.newBuilder()
@@ -2721,8 +2949,11 @@ public final OperationFuture restoreDatabaseA
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   RestoreDatabaseRequest request =
    *       RestoreDatabaseRequest.newBuilder()
@@ -2762,8 +2993,11 @@ public final OperationFuture restoreDatabaseA
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   RestoreDatabaseRequest request =
    *       RestoreDatabaseRequest.newBuilder()
@@ -2794,8 +3028,11 @@ public final UnaryCallable restoreDatabaseCal
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
    *   for (Operation element : databaseAdminClient.listDatabaseOperations(parent).iterateAll()) {
@@ -2828,8 +3065,11 @@ public final ListDatabaseOperationsPagedResponse listDatabaseOperations(Instance
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String parent = InstanceName.of("[PROJECT]", "[INSTANCE]").toString();
    *   for (Operation element : databaseAdminClient.listDatabaseOperations(parent).iterateAll()) {
@@ -2860,8 +3100,11 @@ public final ListDatabaseOperationsPagedResponse listDatabaseOperations(String p
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   ListDatabaseOperationsRequest request =
    *       ListDatabaseOperationsRequest.newBuilder()
@@ -2896,8 +3139,11 @@ public final ListDatabaseOperationsPagedResponse listDatabaseOperations(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   ListDatabaseOperationsRequest request =
    *       ListDatabaseOperationsRequest.newBuilder()
@@ -2932,8 +3178,11 @@ public final ListDatabaseOperationsPagedResponse listDatabaseOperations(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   ListDatabaseOperationsRequest request =
    *       ListDatabaseOperationsRequest.newBuilder()
@@ -2977,8 +3226,11 @@ public final ListDatabaseOperationsPagedResponse listDatabaseOperations(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
    *   for (Operation element : databaseAdminClient.listBackupOperations(parent).iterateAll()) {
@@ -3013,8 +3265,11 @@ public final ListBackupOperationsPagedResponse listBackupOperations(InstanceName
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String parent = InstanceName.of("[PROJECT]", "[INSTANCE]").toString();
    *   for (Operation element : databaseAdminClient.listBackupOperations(parent).iterateAll()) {
@@ -3047,8 +3302,11 @@ public final ListBackupOperationsPagedResponse listBackupOperations(String paren
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   ListBackupOperationsRequest request =
    *       ListBackupOperationsRequest.newBuilder()
@@ -3085,8 +3343,11 @@ public final ListBackupOperationsPagedResponse listBackupOperations(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   ListBackupOperationsRequest request =
    *       ListBackupOperationsRequest.newBuilder()
@@ -3123,8 +3384,11 @@ public final ListBackupOperationsPagedResponse listBackupOperations(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   ListBackupOperationsRequest request =
    *       ListBackupOperationsRequest.newBuilder()
@@ -3161,8 +3425,11 @@ public final ListBackupOperationsPagedResponse listBackupOperations(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   DatabaseName parent = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
    *   for (DatabaseRole element : databaseAdminClient.listDatabaseRoles(parent).iterateAll()) {
@@ -3190,8 +3457,11 @@ public final ListDatabaseRolesPagedResponse listDatabaseRoles(DatabaseName paren
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   String parent = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]").toString();
    *   for (DatabaseRole element : databaseAdminClient.listDatabaseRoles(parent).iterateAll()) {
@@ -3217,8 +3487,11 @@ public final ListDatabaseRolesPagedResponse listDatabaseRoles(String parent) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   ListDatabaseRolesRequest request =
    *       ListDatabaseRolesRequest.newBuilder()
@@ -3246,8 +3519,11 @@ public final ListDatabaseRolesPagedResponse listDatabaseRoles(ListDatabaseRolesR
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   ListDatabaseRolesRequest request =
    *       ListDatabaseRolesRequest.newBuilder()
@@ -3276,8 +3552,11 @@ public final ListDatabaseRolesPagedResponse listDatabaseRoles(ListDatabaseRolesR
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
    *   ListDatabaseRolesRequest request =
    *       ListDatabaseRolesRequest.newBuilder()
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminSettings.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminSettings.java
index 14cf1fc3d66..9a353025074 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminSettings.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminSettings.java
@@ -94,16 +94,16 @@
  * 

For example, to set the total timeout of getDatabase to 30 seconds: * *

{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * DatabaseAdminSettings.Builder databaseAdminSettingsBuilder = DatabaseAdminSettings.newBuilder();
  * databaseAdminSettingsBuilder
  *     .getDatabaseSettings()
  *     .setRetrySettings(
- *         databaseAdminSettingsBuilder
- *             .getDatabaseSettings()
- *             .getRetrySettings()
- *             .toBuilder()
+ *         databaseAdminSettingsBuilder.getDatabaseSettings().getRetrySettings().toBuilder()
  *             .setTotalTimeout(Duration.ofSeconds(30))
  *             .build());
  * DatabaseAdminSettings databaseAdminSettings = databaseAdminSettingsBuilder.build();
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/package-info.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/package-info.java
index 45d50389b51..f89d6b56ed0 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/package-info.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/package-info.java
@@ -30,8 +30,11 @@
  * 

Sample for DatabaseAdminClient: * *

{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
  *   DatabaseName name = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
  *   Database response = databaseAdminClient.getDatabase(name);
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStubSettings.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStubSettings.java
index b574d242e80..9c209ed0fef 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStubSettings.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStubSettings.java
@@ -115,17 +115,17 @@
  * 

For example, to set the total timeout of getDatabase to 30 seconds: * *

{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * DatabaseAdminStubSettings.Builder databaseAdminSettingsBuilder =
  *     DatabaseAdminStubSettings.newBuilder();
  * databaseAdminSettingsBuilder
  *     .getDatabaseSettings()
  *     .setRetrySettings(
- *         databaseAdminSettingsBuilder
- *             .getDatabaseSettings()
- *             .getRetrySettings()
- *             .toBuilder()
+ *         databaseAdminSettingsBuilder.getDatabaseSettings().getRetrySettings().toBuilder()
  *             .setTotalTimeout(Duration.ofSeconds(30))
  *             .build());
  * DatabaseAdminStubSettings databaseAdminSettings = databaseAdminSettingsBuilder.build();
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/HttpJsonDatabaseAdminStub.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/HttpJsonDatabaseAdminStub.java
index 14861fc2cae..8f649502f18 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/HttpJsonDatabaseAdminStub.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/HttpJsonDatabaseAdminStub.java
@@ -165,7 +165,7 @@ public class HttpJsonDatabaseAdminStub extends DatabaseAdminStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearParent().build()))
+                                  .toBody("*", request.toBuilder().clearParent().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -237,7 +237,7 @@ public class HttpJsonDatabaseAdminStub extends DatabaseAdminStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearDatabase().build()))
+                                  .toBody("*", request.toBuilder().clearDatabase().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -344,7 +344,7 @@ public class HttpJsonDatabaseAdminStub extends DatabaseAdminStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearResource().build()))
+                                  .toBody("*", request.toBuilder().clearResource().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -382,7 +382,7 @@ public class HttpJsonDatabaseAdminStub extends DatabaseAdminStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearResource().build()))
+                                  .toBody("*", request.toBuilder().clearResource().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -422,7 +422,7 @@ public class HttpJsonDatabaseAdminStub extends DatabaseAdminStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearResource().build()))
+                                  .toBody("*", request.toBuilder().clearResource().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -460,7 +460,8 @@ public class HttpJsonDatabaseAdminStub extends DatabaseAdminStub {
                           })
                       .setRequestBodyExtractor(
                           request ->
-                              ProtoRestSerializer.create().toBody("backup", request.getBackup()))
+                              ProtoRestSerializer.create()
+                                  .toBody("backup", request.getBackup(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -499,7 +500,7 @@ public class HttpJsonDatabaseAdminStub extends DatabaseAdminStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearParent().build()))
+                                  .toBody("*", request.toBuilder().clearParent().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -571,7 +572,8 @@ public class HttpJsonDatabaseAdminStub extends DatabaseAdminStub {
                           })
                       .setRequestBodyExtractor(
                           request ->
-                              ProtoRestSerializer.create().toBody("backup", request.getBackup()))
+                              ProtoRestSerializer.create()
+                                  .toBody("backup", request.getBackup(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -676,7 +678,7 @@ public class HttpJsonDatabaseAdminStub extends DatabaseAdminStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearParent().build()))
+                                  .toBody("*", request.toBuilder().clearParent().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminClient.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminClient.java
index e6f016b3db5..13a271f7dc4 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminClient.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminClient.java
@@ -40,8 +40,11 @@
 import com.google.longrunning.Operation;
 import com.google.protobuf.Empty;
 import com.google.protobuf.FieldMask;
+import com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata;
+import com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.CreateInstanceMetadata;
 import com.google.spanner.admin.instance.v1.CreateInstanceRequest;
+import com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.DeleteInstanceRequest;
 import com.google.spanner.admin.instance.v1.GetInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.GetInstanceRequest;
@@ -49,11 +52,15 @@
 import com.google.spanner.admin.instance.v1.InstanceConfig;
 import com.google.spanner.admin.instance.v1.InstanceConfigName;
 import com.google.spanner.admin.instance.v1.InstanceName;
+import com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest;
+import com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse;
 import com.google.spanner.admin.instance.v1.ListInstanceConfigsRequest;
 import com.google.spanner.admin.instance.v1.ListInstanceConfigsResponse;
 import com.google.spanner.admin.instance.v1.ListInstancesRequest;
 import com.google.spanner.admin.instance.v1.ListInstancesResponse;
 import com.google.spanner.admin.instance.v1.ProjectName;
+import com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata;
+import com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.UpdateInstanceMetadata;
 import com.google.spanner.admin.instance.v1.UpdateInstanceRequest;
 import java.io.IOException;
@@ -85,8 +92,11 @@
  * calls that map to API methods. Sample code to get started:
  *
  * 
{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
  *   InstanceConfigName name = InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]");
  *   InstanceConfig response = instanceAdminClient.getInstanceConfig(name);
@@ -122,8 +132,11 @@
  * 

To customize credentials: * *

{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * InstanceAdminSettings instanceAdminSettings =
  *     InstanceAdminSettings.newBuilder()
  *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
@@ -134,8 +147,11 @@
  * 

To customize the endpoint: * *

{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * InstanceAdminSettings instanceAdminSettings =
  *     InstanceAdminSettings.newBuilder().setEndpoint(myEndpoint).build();
  * InstanceAdminClient instanceAdminClient = InstanceAdminClient.create(instanceAdminSettings);
@@ -145,8 +161,11 @@
  * the wire:
  *
  * 
{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * InstanceAdminSettings instanceAdminSettings =
  *     InstanceAdminSettings.newBuilder()
  *         .setTransportChannelProvider(
@@ -239,8 +258,11 @@ public final OperationsClient getHttpJsonOperationsClient() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   ProjectName parent = ProjectName.of("[PROJECT]");
    *   for (InstanceConfig element : instanceAdminClient.listInstanceConfigs(parent).iterateAll()) {
@@ -268,8 +290,11 @@ public final ListInstanceConfigsPagedResponse listInstanceConfigs(ProjectName pa
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   String parent = ProjectName.of("[PROJECT]").toString();
    *   for (InstanceConfig element : instanceAdminClient.listInstanceConfigs(parent).iterateAll()) {
@@ -295,8 +320,11 @@ public final ListInstanceConfigsPagedResponse listInstanceConfigs(String parent)
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   ListInstanceConfigsRequest request =
    *       ListInstanceConfigsRequest.newBuilder()
@@ -325,8 +353,11 @@ public final ListInstanceConfigsPagedResponse listInstanceConfigs(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   ListInstanceConfigsRequest request =
    *       ListInstanceConfigsRequest.newBuilder()
@@ -355,8 +386,11 @@ public final ListInstanceConfigsPagedResponse listInstanceConfigs(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   ListInstanceConfigsRequest request =
    *       ListInstanceConfigsRequest.newBuilder()
@@ -392,8 +426,11 @@ public final ListInstanceConfigsPagedResponse listInstanceConfigs(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   InstanceConfigName name = InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]");
    *   InstanceConfig response = instanceAdminClient.getInstanceConfig(name);
@@ -419,8 +456,11 @@ public final InstanceConfig getInstanceConfig(InstanceConfigName name) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   String name = InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString();
    *   InstanceConfig response = instanceAdminClient.getInstanceConfig(name);
@@ -443,8 +483,11 @@ public final InstanceConfig getInstanceConfig(String name) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   GetInstanceConfigRequest request =
    *       GetInstanceConfigRequest.newBuilder()
@@ -468,8 +511,11 @@ public final InstanceConfig getInstanceConfig(GetInstanceConfigRequest request)
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   GetInstanceConfigRequest request =
    *       GetInstanceConfigRequest.newBuilder()
@@ -486,6 +532,989 @@ public final UnaryCallable getInstance
     return stub.getInstanceConfigCallable();
   }
 
+  // AUTO-GENERATED DOCUMENTATION AND METHOD.
+  /**
+   * Creates an instance config and begins preparing it to be used. The returned [long-running
+   * operation][google.longrunning.Operation] can be used to track the progress of preparing the new
+   * instance config. The instance config name is assigned by the caller. If the named instance
+   * config already exists, `CreateInstanceConfig` returns `ALREADY_EXISTS`.
+   *
+   * 

Immediately after the request returns: + * + *

* The instance config is readable via the API, with all requested attributes. The + * instance config's [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] + * field is set to true. Its state is `CREATING`. + * + *

While the operation is pending: + * + *

* Cancelling the operation renders the instance config immediately unreadable via the + * API. * Except for deleting the creating resource, all other attempts to modify the instance + * config are rejected. + * + *

Upon completion of the returned operation: + * + *

* Instances can be created using the instance configuration. * The instance config's + * [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] field becomes false. + * Its state becomes `READY`. + * + *

The returned [long-running operation][google.longrunning.Operation] will have a name of the + * format `<instance_config_name>/operations/<operation_id>` and can be used to track + * creation of the instance config. The [metadata][google.longrunning.Operation.metadata] field + * type is + * [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata]. + * The [response][google.longrunning.Operation.response] field type is + * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if successful. + * + *

Authorization requires `spanner.instanceConfigs.create` permission on the resource + * [parent][google.spanner.admin.instance.v1.CreateInstanceConfigRequest.parent]. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   InstanceConfig instanceConfig = InstanceConfig.newBuilder().build();
+   *   String instanceConfigId = "instanceConfigId1750947762";
+   *   InstanceConfig response =
+   *       instanceAdminClient
+   *           .createInstanceConfigAsync(parent, instanceConfig, instanceConfigId)
+   *           .get();
+   * }
+   * }
+ * + * @param parent Required. The name of the project in which to create the instance config. Values + * are of the form `projects/<project>`. + * @param instanceConfig Required. The InstanceConfig proto of the configuration to create. + * instance_config.name must be `<parent>/instanceConfigs/<instance_config_id>`. + * instance_config.base_config must be a Google managed configuration name, e.g. + * <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3. + * @param instanceConfigId Required. The ID of the instance config to create. Valid identifiers + * are of the form `custom-[-a-z0-9]*[a-z0-9]` and must be between 2 and 64 characters in + * length. The `custom-` prefix is required to avoid name conflicts with Google managed + * configurations. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture + createInstanceConfigAsync( + ProjectName parent, InstanceConfig instanceConfig, String instanceConfigId) { + CreateInstanceConfigRequest request = + CreateInstanceConfigRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .setInstanceConfig(instanceConfig) + .setInstanceConfigId(instanceConfigId) + .build(); + return createInstanceConfigAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates an instance config and begins preparing it to be used. The returned [long-running + * operation][google.longrunning.Operation] can be used to track the progress of preparing the new + * instance config. The instance config name is assigned by the caller. If the named instance + * config already exists, `CreateInstanceConfig` returns `ALREADY_EXISTS`. + * + *

Immediately after the request returns: + * + *

* The instance config is readable via the API, with all requested attributes. The + * instance config's [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] + * field is set to true. Its state is `CREATING`. + * + *

While the operation is pending: + * + *

* Cancelling the operation renders the instance config immediately unreadable via the + * API. * Except for deleting the creating resource, all other attempts to modify the instance + * config are rejected. + * + *

Upon completion of the returned operation: + * + *

* Instances can be created using the instance configuration. * The instance config's + * [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] field becomes false. + * Its state becomes `READY`. + * + *

The returned [long-running operation][google.longrunning.Operation] will have a name of the + * format `<instance_config_name>/operations/<operation_id>` and can be used to track + * creation of the instance config. The [metadata][google.longrunning.Operation.metadata] field + * type is + * [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata]. + * The [response][google.longrunning.Operation.response] field type is + * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if successful. + * + *

Authorization requires `spanner.instanceConfigs.create` permission on the resource + * [parent][google.spanner.admin.instance.v1.CreateInstanceConfigRequest.parent]. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
+   *   String parent = ProjectName.of("[PROJECT]").toString();
+   *   InstanceConfig instanceConfig = InstanceConfig.newBuilder().build();
+   *   String instanceConfigId = "instanceConfigId1750947762";
+   *   InstanceConfig response =
+   *       instanceAdminClient
+   *           .createInstanceConfigAsync(parent, instanceConfig, instanceConfigId)
+   *           .get();
+   * }
+   * }
+ * + * @param parent Required. The name of the project in which to create the instance config. Values + * are of the form `projects/<project>`. + * @param instanceConfig Required. The InstanceConfig proto of the configuration to create. + * instance_config.name must be `<parent>/instanceConfigs/<instance_config_id>`. + * instance_config.base_config must be a Google managed configuration name, e.g. + * <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3. + * @param instanceConfigId Required. The ID of the instance config to create. Valid identifiers + * are of the form `custom-[-a-z0-9]*[a-z0-9]` and must be between 2 and 64 characters in + * length. The `custom-` prefix is required to avoid name conflicts with Google managed + * configurations. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture + createInstanceConfigAsync( + String parent, InstanceConfig instanceConfig, String instanceConfigId) { + CreateInstanceConfigRequest request = + CreateInstanceConfigRequest.newBuilder() + .setParent(parent) + .setInstanceConfig(instanceConfig) + .setInstanceConfigId(instanceConfigId) + .build(); + return createInstanceConfigAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates an instance config and begins preparing it to be used. The returned [long-running + * operation][google.longrunning.Operation] can be used to track the progress of preparing the new + * instance config. The instance config name is assigned by the caller. If the named instance + * config already exists, `CreateInstanceConfig` returns `ALREADY_EXISTS`. + * + *

Immediately after the request returns: + * + *

* The instance config is readable via the API, with all requested attributes. The + * instance config's [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] + * field is set to true. Its state is `CREATING`. + * + *

While the operation is pending: + * + *

* Cancelling the operation renders the instance config immediately unreadable via the + * API. * Except for deleting the creating resource, all other attempts to modify the instance + * config are rejected. + * + *

Upon completion of the returned operation: + * + *

* Instances can be created using the instance configuration. * The instance config's + * [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] field becomes false. + * Its state becomes `READY`. + * + *

The returned [long-running operation][google.longrunning.Operation] will have a name of the + * format `<instance_config_name>/operations/<operation_id>` and can be used to track + * creation of the instance config. The [metadata][google.longrunning.Operation.metadata] field + * type is + * [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata]. + * The [response][google.longrunning.Operation.response] field type is + * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if successful. + * + *

Authorization requires `spanner.instanceConfigs.create` permission on the resource + * [parent][google.spanner.admin.instance.v1.CreateInstanceConfigRequest.parent]. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
+   *   CreateInstanceConfigRequest request =
+   *       CreateInstanceConfigRequest.newBuilder()
+   *           .setParent(ProjectName.of("[PROJECT]").toString())
+   *           .setInstanceConfigId("instanceConfigId1750947762")
+   *           .setInstanceConfig(InstanceConfig.newBuilder().build())
+   *           .setValidateOnly(true)
+   *           .build();
+   *   InstanceConfig response = instanceAdminClient.createInstanceConfigAsync(request).get();
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture + createInstanceConfigAsync(CreateInstanceConfigRequest request) { + return createInstanceConfigOperationCallable().futureCall(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates an instance config and begins preparing it to be used. The returned [long-running + * operation][google.longrunning.Operation] can be used to track the progress of preparing the new + * instance config. The instance config name is assigned by the caller. If the named instance + * config already exists, `CreateInstanceConfig` returns `ALREADY_EXISTS`. + * + *

Immediately after the request returns: + * + *

* The instance config is readable via the API, with all requested attributes. The + * instance config's [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] + * field is set to true. Its state is `CREATING`. + * + *

While the operation is pending: + * + *

* Cancelling the operation renders the instance config immediately unreadable via the + * API. * Except for deleting the creating resource, all other attempts to modify the instance + * config are rejected. + * + *

Upon completion of the returned operation: + * + *

* Instances can be created using the instance configuration. * The instance config's + * [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] field becomes false. + * Its state becomes `READY`. + * + *

The returned [long-running operation][google.longrunning.Operation] will have a name of the + * format `<instance_config_name>/operations/<operation_id>` and can be used to track + * creation of the instance config. The [metadata][google.longrunning.Operation.metadata] field + * type is + * [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata]. + * The [response][google.longrunning.Operation.response] field type is + * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if successful. + * + *

Authorization requires `spanner.instanceConfigs.create` permission on the resource + * [parent][google.spanner.admin.instance.v1.CreateInstanceConfigRequest.parent]. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
+   *   CreateInstanceConfigRequest request =
+   *       CreateInstanceConfigRequest.newBuilder()
+   *           .setParent(ProjectName.of("[PROJECT]").toString())
+   *           .setInstanceConfigId("instanceConfigId1750947762")
+   *           .setInstanceConfig(InstanceConfig.newBuilder().build())
+   *           .setValidateOnly(true)
+   *           .build();
+   *   OperationFuture future =
+   *       instanceAdminClient.createInstanceConfigOperationCallable().futureCall(request);
+   *   // Do something.
+   *   InstanceConfig response = future.get();
+   * }
+   * }
+ */ + public final OperationCallable< + CreateInstanceConfigRequest, InstanceConfig, CreateInstanceConfigMetadata> + createInstanceConfigOperationCallable() { + return stub.createInstanceConfigOperationCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates an instance config and begins preparing it to be used. The returned [long-running + * operation][google.longrunning.Operation] can be used to track the progress of preparing the new + * instance config. The instance config name is assigned by the caller. If the named instance + * config already exists, `CreateInstanceConfig` returns `ALREADY_EXISTS`. + * + *

Immediately after the request returns: + * + *

* The instance config is readable via the API, with all requested attributes. The + * instance config's [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] + * field is set to true. Its state is `CREATING`. + * + *

While the operation is pending: + * + *

* Cancelling the operation renders the instance config immediately unreadable via the + * API. * Except for deleting the creating resource, all other attempts to modify the instance + * config are rejected. + * + *

Upon completion of the returned operation: + * + *

* Instances can be created using the instance configuration. * The instance config's + * [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] field becomes false. + * Its state becomes `READY`. + * + *

The returned [long-running operation][google.longrunning.Operation] will have a name of the + * format `<instance_config_name>/operations/<operation_id>` and can be used to track + * creation of the instance config. The [metadata][google.longrunning.Operation.metadata] field + * type is + * [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata]. + * The [response][google.longrunning.Operation.response] field type is + * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if successful. + * + *

Authorization requires `spanner.instanceConfigs.create` permission on the resource + * [parent][google.spanner.admin.instance.v1.CreateInstanceConfigRequest.parent]. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
+   *   CreateInstanceConfigRequest request =
+   *       CreateInstanceConfigRequest.newBuilder()
+   *           .setParent(ProjectName.of("[PROJECT]").toString())
+   *           .setInstanceConfigId("instanceConfigId1750947762")
+   *           .setInstanceConfig(InstanceConfig.newBuilder().build())
+   *           .setValidateOnly(true)
+   *           .build();
+   *   ApiFuture future =
+   *       instanceAdminClient.createInstanceConfigCallable().futureCall(request);
+   *   // Do something.
+   *   Operation response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable + createInstanceConfigCallable() { + return stub.createInstanceConfigCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates an instance config. The returned [long-running operation][google.longrunning.Operation] + * can be used to track the progress of updating the instance. If the named instance config does + * not exist, returns `NOT_FOUND`. + * + *

Only user managed configurations can be updated. + * + *

Immediately after the request returns: + * + *

* The instance config's + * [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] field is set to + * true. + * + *

While the operation is pending: + * + *

* Cancelling the operation sets its metadata's + * [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.cancel_time]. The + * operation is guaranteed to succeed at undoing all changes, after which point it terminates with + * a `CANCELLED` status. * All other attempts to modify the instance config are rejected. + * * Reading the instance config via the API continues to give the pre-request values. + * + *

Upon completion of the returned operation: + * + *

* Creating instances using the instance configuration uses the new values. * The + * instance config's new values are readable via the API. * The instance config's + * [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] field becomes false. + * + *

The returned [long-running operation][google.longrunning.Operation] will have a name of the + * format `<instance_config_name>/operations/<operation_id>` and can be used to track + * the instance config modification. The [metadata][google.longrunning.Operation.metadata] field + * type is + * [UpdateInstanceConfigMetadata][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata]. + * The [response][google.longrunning.Operation.response] field type is + * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if successful. + * + *

Authorization requires `spanner.instanceConfigs.update` permission on the resource + * [name][google.spanner.admin.instance.v1.InstanceConfig.name]. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
+   *   InstanceConfig instanceConfig = InstanceConfig.newBuilder().build();
+   *   FieldMask updateMask = FieldMask.newBuilder().build();
+   *   InstanceConfig response =
+   *       instanceAdminClient.updateInstanceConfigAsync(instanceConfig, updateMask).get();
+   * }
+   * }
+ * + * @param instanceConfig Required. The user instance config to update, which must always include + * the instance config name. Otherwise, only fields mentioned in + * [update_mask][google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask] + * need be included. To prevent conflicts of concurrent updates, + * [etag][google.spanner.admin.instance.v1.InstanceConfig.reconciling] can be used. + * @param updateMask Required. A mask specifying which fields in + * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] should be updated. The + * field mask must always be specified; this prevents any future fields in + * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] from being erased + * accidentally by clients that do not know about them. Only display_name and labels can be + * updated. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture + updateInstanceConfigAsync(InstanceConfig instanceConfig, FieldMask updateMask) { + UpdateInstanceConfigRequest request = + UpdateInstanceConfigRequest.newBuilder() + .setInstanceConfig(instanceConfig) + .setUpdateMask(updateMask) + .build(); + return updateInstanceConfigAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates an instance config. The returned [long-running operation][google.longrunning.Operation] + * can be used to track the progress of updating the instance. If the named instance config does + * not exist, returns `NOT_FOUND`. + * + *

Only user managed configurations can be updated. + * + *

Immediately after the request returns: + * + *

* The instance config's + * [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] field is set to + * true. + * + *

While the operation is pending: + * + *

* Cancelling the operation sets its metadata's + * [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.cancel_time]. The + * operation is guaranteed to succeed at undoing all changes, after which point it terminates with + * a `CANCELLED` status. * All other attempts to modify the instance config are rejected. + * * Reading the instance config via the API continues to give the pre-request values. + * + *

Upon completion of the returned operation: + * + *

* Creating instances using the instance configuration uses the new values. * The + * instance config's new values are readable via the API. * The instance config's + * [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] field becomes false. + * + *

The returned [long-running operation][google.longrunning.Operation] will have a name of the + * format `<instance_config_name>/operations/<operation_id>` and can be used to track + * the instance config modification. The [metadata][google.longrunning.Operation.metadata] field + * type is + * [UpdateInstanceConfigMetadata][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata]. + * The [response][google.longrunning.Operation.response] field type is + * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if successful. + * + *

Authorization requires `spanner.instanceConfigs.update` permission on the resource + * [name][google.spanner.admin.instance.v1.InstanceConfig.name]. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
+   *   UpdateInstanceConfigRequest request =
+   *       UpdateInstanceConfigRequest.newBuilder()
+   *           .setInstanceConfig(InstanceConfig.newBuilder().build())
+   *           .setUpdateMask(FieldMask.newBuilder().build())
+   *           .setValidateOnly(true)
+   *           .build();
+   *   InstanceConfig response = instanceAdminClient.updateInstanceConfigAsync(request).get();
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture + updateInstanceConfigAsync(UpdateInstanceConfigRequest request) { + return updateInstanceConfigOperationCallable().futureCall(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates an instance config. The returned [long-running operation][google.longrunning.Operation] + * can be used to track the progress of updating the instance. If the named instance config does + * not exist, returns `NOT_FOUND`. + * + *

Only user managed configurations can be updated. + * + *

Immediately after the request returns: + * + *

* The instance config's + * [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] field is set to + * true. + * + *

While the operation is pending: + * + *

* Cancelling the operation sets its metadata's + * [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.cancel_time]. The + * operation is guaranteed to succeed at undoing all changes, after which point it terminates with + * a `CANCELLED` status. * All other attempts to modify the instance config are rejected. + * * Reading the instance config via the API continues to give the pre-request values. + * + *

Upon completion of the returned operation: + * + *

* Creating instances using the instance configuration uses the new values. * The + * instance config's new values are readable via the API. * The instance config's + * [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] field becomes false. + * + *

The returned [long-running operation][google.longrunning.Operation] will have a name of the + * format `<instance_config_name>/operations/<operation_id>` and can be used to track + * the instance config modification. The [metadata][google.longrunning.Operation.metadata] field + * type is + * [UpdateInstanceConfigMetadata][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata]. + * The [response][google.longrunning.Operation.response] field type is + * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if successful. + * + *

Authorization requires `spanner.instanceConfigs.update` permission on the resource + * [name][google.spanner.admin.instance.v1.InstanceConfig.name]. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
+   *   UpdateInstanceConfigRequest request =
+   *       UpdateInstanceConfigRequest.newBuilder()
+   *           .setInstanceConfig(InstanceConfig.newBuilder().build())
+   *           .setUpdateMask(FieldMask.newBuilder().build())
+   *           .setValidateOnly(true)
+   *           .build();
+   *   OperationFuture future =
+   *       instanceAdminClient.updateInstanceConfigOperationCallable().futureCall(request);
+   *   // Do something.
+   *   InstanceConfig response = future.get();
+   * }
+   * }
+ */ + public final OperationCallable< + UpdateInstanceConfigRequest, InstanceConfig, UpdateInstanceConfigMetadata> + updateInstanceConfigOperationCallable() { + return stub.updateInstanceConfigOperationCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates an instance config. The returned [long-running operation][google.longrunning.Operation] + * can be used to track the progress of updating the instance. If the named instance config does + * not exist, returns `NOT_FOUND`. + * + *

Only user managed configurations can be updated. + * + *

Immediately after the request returns: + * + *

* The instance config's + * [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] field is set to + * true. + * + *

While the operation is pending: + * + *

* Cancelling the operation sets its metadata's + * [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.cancel_time]. The + * operation is guaranteed to succeed at undoing all changes, after which point it terminates with + * a `CANCELLED` status. * All other attempts to modify the instance config are rejected. + * * Reading the instance config via the API continues to give the pre-request values. + * + *

Upon completion of the returned operation: + * + *

* Creating instances using the instance configuration uses the new values. * The + * instance config's new values are readable via the API. * The instance config's + * [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] field becomes false. + * + *

The returned [long-running operation][google.longrunning.Operation] will have a name of the + * format `<instance_config_name>/operations/<operation_id>` and can be used to track + * the instance config modification. The [metadata][google.longrunning.Operation.metadata] field + * type is + * [UpdateInstanceConfigMetadata][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata]. + * The [response][google.longrunning.Operation.response] field type is + * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if successful. + * + *

Authorization requires `spanner.instanceConfigs.update` permission on the resource + * [name][google.spanner.admin.instance.v1.InstanceConfig.name]. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
+   *   UpdateInstanceConfigRequest request =
+   *       UpdateInstanceConfigRequest.newBuilder()
+   *           .setInstanceConfig(InstanceConfig.newBuilder().build())
+   *           .setUpdateMask(FieldMask.newBuilder().build())
+   *           .setValidateOnly(true)
+   *           .build();
+   *   ApiFuture future =
+   *       instanceAdminClient.updateInstanceConfigCallable().futureCall(request);
+   *   // Do something.
+   *   Operation response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable + updateInstanceConfigCallable() { + return stub.updateInstanceConfigCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes the instance config. Deletion is only allowed when no instances are using the + * configuration. If any instances are using the config, returns `FAILED_PRECONDITION`. + * + *

Only user managed configurations can be deleted. + * + *

Authorization requires `spanner.instanceConfigs.delete` permission on the resource + * [name][google.spanner.admin.instance.v1.InstanceConfig.name]. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
+   *   InstanceConfigName name = InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]");
+   *   instanceAdminClient.deleteInstanceConfig(name);
+   * }
+   * }
+ * + * @param name Required. The name of the instance configuration to be deleted. Values are of the + * form `projects/<project>/instanceConfigs/<instance_config>` + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final void deleteInstanceConfig(InstanceConfigName name) { + DeleteInstanceConfigRequest request = + DeleteInstanceConfigRequest.newBuilder() + .setName(name == null ? null : name.toString()) + .build(); + deleteInstanceConfig(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes the instance config. Deletion is only allowed when no instances are using the + * configuration. If any instances are using the config, returns `FAILED_PRECONDITION`. + * + *

Only user managed configurations can be deleted. + * + *

Authorization requires `spanner.instanceConfigs.delete` permission on the resource + * [name][google.spanner.admin.instance.v1.InstanceConfig.name]. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
+   *   String name = InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString();
+   *   instanceAdminClient.deleteInstanceConfig(name);
+   * }
+   * }
+ * + * @param name Required. The name of the instance configuration to be deleted. Values are of the + * form `projects/<project>/instanceConfigs/<instance_config>` + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final void deleteInstanceConfig(String name) { + DeleteInstanceConfigRequest request = + DeleteInstanceConfigRequest.newBuilder().setName(name).build(); + deleteInstanceConfig(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes the instance config. Deletion is only allowed when no instances are using the + * configuration. If any instances are using the config, returns `FAILED_PRECONDITION`. + * + *

Only user managed configurations can be deleted. + * + *

Authorization requires `spanner.instanceConfigs.delete` permission on the resource + * [name][google.spanner.admin.instance.v1.InstanceConfig.name]. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
+   *   DeleteInstanceConfigRequest request =
+   *       DeleteInstanceConfigRequest.newBuilder()
+   *           .setName(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+   *           .setEtag("etag3123477")
+   *           .setValidateOnly(true)
+   *           .build();
+   *   instanceAdminClient.deleteInstanceConfig(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final void deleteInstanceConfig(DeleteInstanceConfigRequest request) { + deleteInstanceConfigCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes the instance config. Deletion is only allowed when no instances are using the + * configuration. If any instances are using the config, returns `FAILED_PRECONDITION`. + * + *

Only user managed configurations can be deleted. + * + *

Authorization requires `spanner.instanceConfigs.delete` permission on the resource + * [name][google.spanner.admin.instance.v1.InstanceConfig.name]. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
+   *   DeleteInstanceConfigRequest request =
+   *       DeleteInstanceConfigRequest.newBuilder()
+   *           .setName(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+   *           .setEtag("etag3123477")
+   *           .setValidateOnly(true)
+   *           .build();
+   *   ApiFuture future =
+   *       instanceAdminClient.deleteInstanceConfigCallable().futureCall(request);
+   *   // Do something.
+   *   future.get();
+   * }
+   * }
+ */ + public final UnaryCallable deleteInstanceConfigCallable() { + return stub.deleteInstanceConfigCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists the user-managed instance config [long-running operations][google.longrunning.Operation] + * in the given project. An instance config operation has a name of the form + * `projects/<project>/instanceConfigs/<instance_config>/operations/<operation>`. + * The long-running operation [metadata][google.longrunning.Operation.metadata] field type + * `metadata.type_url` describes the type of the metadata. Operations returned include those that + * have completed/failed/canceled within the last 7 days, and pending operations. Operations + * returned are ordered by `operation.metadata.value.start_time` in descending order starting from + * the most recently started operation. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   for (Operation element :
+   *       instanceAdminClient.listInstanceConfigOperations(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. The project of the instance config operations. Values are of the form + * `projects/<project>`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListInstanceConfigOperationsPagedResponse listInstanceConfigOperations( + ProjectName parent) { + ListInstanceConfigOperationsRequest request = + ListInstanceConfigOperationsRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .build(); + return listInstanceConfigOperations(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists the user-managed instance config [long-running operations][google.longrunning.Operation] + * in the given project. An instance config operation has a name of the form + * `projects/<project>/instanceConfigs/<instance_config>/operations/<operation>`. + * The long-running operation [metadata][google.longrunning.Operation.metadata] field type + * `metadata.type_url` describes the type of the metadata. Operations returned include those that + * have completed/failed/canceled within the last 7 days, and pending operations. Operations + * returned are ordered by `operation.metadata.value.start_time` in descending order starting from + * the most recently started operation. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
+   *   String parent = ProjectName.of("[PROJECT]").toString();
+   *   for (Operation element :
+   *       instanceAdminClient.listInstanceConfigOperations(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. The project of the instance config operations. Values are of the form + * `projects/<project>`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListInstanceConfigOperationsPagedResponse listInstanceConfigOperations( + String parent) { + ListInstanceConfigOperationsRequest request = + ListInstanceConfigOperationsRequest.newBuilder().setParent(parent).build(); + return listInstanceConfigOperations(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists the user-managed instance config [long-running operations][google.longrunning.Operation] + * in the given project. An instance config operation has a name of the form + * `projects/<project>/instanceConfigs/<instance_config>/operations/<operation>`. + * The long-running operation [metadata][google.longrunning.Operation.metadata] field type + * `metadata.type_url` describes the type of the metadata. Operations returned include those that + * have completed/failed/canceled within the last 7 days, and pending operations. Operations + * returned are ordered by `operation.metadata.value.start_time` in descending order starting from + * the most recently started operation. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
+   *   ListInstanceConfigOperationsRequest request =
+   *       ListInstanceConfigOperationsRequest.newBuilder()
+   *           .setParent(ProjectName.of("[PROJECT]").toString())
+   *           .setFilter("filter-1274492040")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   for (Operation element :
+   *       instanceAdminClient.listInstanceConfigOperations(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListInstanceConfigOperationsPagedResponse listInstanceConfigOperations( + ListInstanceConfigOperationsRequest request) { + return listInstanceConfigOperationsPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists the user-managed instance config [long-running operations][google.longrunning.Operation] + * in the given project. An instance config operation has a name of the form + * `projects/<project>/instanceConfigs/<instance_config>/operations/<operation>`. + * The long-running operation [metadata][google.longrunning.Operation.metadata] field type + * `metadata.type_url` describes the type of the metadata. Operations returned include those that + * have completed/failed/canceled within the last 7 days, and pending operations. Operations + * returned are ordered by `operation.metadata.value.start_time` in descending order starting from + * the most recently started operation. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
+   *   ListInstanceConfigOperationsRequest request =
+   *       ListInstanceConfigOperationsRequest.newBuilder()
+   *           .setParent(ProjectName.of("[PROJECT]").toString())
+   *           .setFilter("filter-1274492040")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future =
+   *       instanceAdminClient.listInstanceConfigOperationsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Operation element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable< + ListInstanceConfigOperationsRequest, ListInstanceConfigOperationsPagedResponse> + listInstanceConfigOperationsPagedCallable() { + return stub.listInstanceConfigOperationsPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists the user-managed instance config [long-running operations][google.longrunning.Operation] + * in the given project. An instance config operation has a name of the form + * `projects/<project>/instanceConfigs/<instance_config>/operations/<operation>`. + * The long-running operation [metadata][google.longrunning.Operation.metadata] field type + * `metadata.type_url` describes the type of the metadata. Operations returned include those that + * have completed/failed/canceled within the last 7 days, and pending operations. Operations + * returned are ordered by `operation.metadata.value.start_time` in descending order starting from + * the most recently started operation. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
+   *   ListInstanceConfigOperationsRequest request =
+   *       ListInstanceConfigOperationsRequest.newBuilder()
+   *           .setParent(ProjectName.of("[PROJECT]").toString())
+   *           .setFilter("filter-1274492040")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   while (true) {
+   *     ListInstanceConfigOperationsResponse response =
+   *         instanceAdminClient.listInstanceConfigOperationsCallable().call(request);
+   *     for (Operation element : response.getOperationsList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable< + ListInstanceConfigOperationsRequest, ListInstanceConfigOperationsResponse> + listInstanceConfigOperationsCallable() { + return stub.listInstanceConfigOperationsCallable(); + } + // AUTO-GENERATED DOCUMENTATION AND METHOD. /** * Lists all instances in the given project. @@ -493,8 +1522,11 @@ public final UnaryCallable getInstance *

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   ProjectName parent = ProjectName.of("[PROJECT]");
    *   for (Instance element : instanceAdminClient.listInstances(parent).iterateAll()) {
@@ -522,8 +1554,11 @@ public final ListInstancesPagedResponse listInstances(ProjectName parent) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   String parent = ProjectName.of("[PROJECT]").toString();
    *   for (Instance element : instanceAdminClient.listInstances(parent).iterateAll()) {
@@ -548,8 +1583,11 @@ public final ListInstancesPagedResponse listInstances(String parent) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   ListInstancesRequest request =
    *       ListInstancesRequest.newBuilder()
@@ -578,8 +1616,11 @@ public final ListInstancesPagedResponse listInstances(ListInstancesRequest reque
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   ListInstancesRequest request =
    *       ListInstancesRequest.newBuilder()
@@ -609,8 +1650,11 @@ public final ListInstancesPagedResponse listInstances(ListInstancesRequest reque
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   ListInstancesRequest request =
    *       ListInstancesRequest.newBuilder()
@@ -645,8 +1689,11 @@ public final UnaryCallable listInst
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   InstanceName name = InstanceName.of("[PROJECT]", "[INSTANCE]");
    *   Instance response = instanceAdminClient.getInstance(name);
@@ -670,8 +1717,11 @@ public final Instance getInstance(InstanceName name) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   String name = InstanceName.of("[PROJECT]", "[INSTANCE]").toString();
    *   Instance response = instanceAdminClient.getInstance(name);
@@ -694,8 +1744,11 @@ public final Instance getInstance(String name) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   GetInstanceRequest request =
    *       GetInstanceRequest.newBuilder()
@@ -720,8 +1773,11 @@ public final Instance getInstance(GetInstanceRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   GetInstanceRequest request =
    *       GetInstanceRequest.newBuilder()
@@ -773,8 +1829,11 @@ public final UnaryCallable getInstanceCallable() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   ProjectName parent = ProjectName.of("[PROJECT]");
    *   String instanceId = "instanceId902024336";
@@ -838,8 +1897,11 @@ public final OperationFuture createInstanceAsy
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   String parent = ProjectName.of("[PROJECT]").toString();
    *   String instanceId = "instanceId902024336";
@@ -903,8 +1965,11 @@ public final OperationFuture createInstanceAsy
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   CreateInstanceRequest request =
    *       CreateInstanceRequest.newBuilder()
@@ -959,8 +2024,11 @@ public final OperationFuture createInstanceAsy
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   CreateInstanceRequest request =
    *       CreateInstanceRequest.newBuilder()
@@ -1015,8 +2083,11 @@ public final OperationFuture createInstanceAsy
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   CreateInstanceRequest request =
    *       CreateInstanceRequest.newBuilder()
@@ -1074,8 +2145,11 @@ public final UnaryCallable createInstanceCalla
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   Instance instance = Instance.newBuilder().build();
    *   FieldMask fieldMask = FieldMask.newBuilder().build();
@@ -1140,8 +2214,11 @@ public final OperationFuture updateInstanceAsy
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   UpdateInstanceRequest request =
    *       UpdateInstanceRequest.newBuilder()
@@ -1199,8 +2276,11 @@ public final OperationFuture updateInstanceAsy
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   UpdateInstanceRequest request =
    *       UpdateInstanceRequest.newBuilder()
@@ -1258,8 +2338,11 @@ public final OperationFuture updateInstanceAsy
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   UpdateInstanceRequest request =
    *       UpdateInstanceRequest.newBuilder()
@@ -1293,8 +2376,11 @@ public final UnaryCallable updateInstanceCalla
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   InstanceName name = InstanceName.of("[PROJECT]", "[INSTANCE]");
    *   instanceAdminClient.deleteInstance(name);
@@ -1327,8 +2413,11 @@ public final void deleteInstance(InstanceName name) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   String name = InstanceName.of("[PROJECT]", "[INSTANCE]").toString();
    *   instanceAdminClient.deleteInstance(name);
@@ -1360,8 +2449,11 @@ public final void deleteInstance(String name) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   DeleteInstanceRequest request =
    *       DeleteInstanceRequest.newBuilder()
@@ -1394,8 +2486,11 @@ public final void deleteInstance(DeleteInstanceRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   DeleteInstanceRequest request =
    *       DeleteInstanceRequest.newBuilder()
@@ -1421,8 +2516,11 @@ public final UnaryCallable deleteInstanceCallable(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   ResourceName resource = InstanceName.of("[PROJECT]", "[INSTANCE]");
    *   Policy policy = Policy.newBuilder().build();
@@ -1456,8 +2554,11 @@ public final Policy setIamPolicy(ResourceName resource, Policy policy) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   String resource = ProjectName.of("[PROJECT]").toString();
    *   Policy policy = Policy.newBuilder().build();
@@ -1488,8 +2589,11 @@ public final Policy setIamPolicy(String resource, Policy policy) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   SetIamPolicyRequest request =
    *       SetIamPolicyRequest.newBuilder()
@@ -1518,8 +2622,11 @@ public final Policy setIamPolicy(SetIamPolicyRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   SetIamPolicyRequest request =
    *       SetIamPolicyRequest.newBuilder()
@@ -1548,8 +2655,11 @@ public final UnaryCallable setIamPolicyCallable() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   ResourceName resource = InstanceName.of("[PROJECT]", "[INSTANCE]");
    *   Policy response = instanceAdminClient.getIamPolicy(resource);
@@ -1579,8 +2689,11 @@ public final Policy getIamPolicy(ResourceName resource) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   String resource = ProjectName.of("[PROJECT]").toString();
    *   Policy response = instanceAdminClient.getIamPolicy(resource);
@@ -1607,8 +2720,11 @@ public final Policy getIamPolicy(String resource) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   GetIamPolicyRequest request =
    *       GetIamPolicyRequest.newBuilder()
@@ -1637,8 +2753,11 @@ public final Policy getIamPolicy(GetIamPolicyRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   GetIamPolicyRequest request =
    *       GetIamPolicyRequest.newBuilder()
@@ -1666,8 +2785,11 @@ public final UnaryCallable getIamPolicyCallable() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   ResourceName resource = InstanceName.of("[PROJECT]", "[INSTANCE]");
    *   List permissions = new ArrayList<>();
@@ -1704,8 +2826,11 @@ public final TestIamPermissionsResponse testIamPermissions(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   String resource = ProjectName.of("[PROJECT]").toString();
    *   List permissions = new ArrayList<>();
@@ -1742,8 +2867,11 @@ public final TestIamPermissionsResponse testIamPermissions(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   TestIamPermissionsRequest request =
    *       TestIamPermissionsRequest.newBuilder()
@@ -1772,8 +2900,11 @@ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsReq
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
    *   TestIamPermissionsRequest request =
    *       TestIamPermissionsRequest.newBuilder()
@@ -1906,6 +3037,103 @@ protected ListInstanceConfigsFixedSizeCollection createCollection(
     }
   }
 
+  public static class ListInstanceConfigOperationsPagedResponse
+      extends AbstractPagedListResponse<
+          ListInstanceConfigOperationsRequest,
+          ListInstanceConfigOperationsResponse,
+          Operation,
+          ListInstanceConfigOperationsPage,
+          ListInstanceConfigOperationsFixedSizeCollection> {
+
+    public static ApiFuture createAsync(
+        PageContext<
+                ListInstanceConfigOperationsRequest,
+                ListInstanceConfigOperationsResponse,
+                Operation>
+            context,
+        ApiFuture futureResponse) {
+      ApiFuture futurePage =
+          ListInstanceConfigOperationsPage.createEmptyPage()
+              .createPageAsync(context, futureResponse);
+      return ApiFutures.transform(
+          futurePage,
+          input -> new ListInstanceConfigOperationsPagedResponse(input),
+          MoreExecutors.directExecutor());
+    }
+
+    private ListInstanceConfigOperationsPagedResponse(ListInstanceConfigOperationsPage page) {
+      super(page, ListInstanceConfigOperationsFixedSizeCollection.createEmptyCollection());
+    }
+  }
+
+  public static class ListInstanceConfigOperationsPage
+      extends AbstractPage<
+          ListInstanceConfigOperationsRequest,
+          ListInstanceConfigOperationsResponse,
+          Operation,
+          ListInstanceConfigOperationsPage> {
+
+    private ListInstanceConfigOperationsPage(
+        PageContext<
+                ListInstanceConfigOperationsRequest,
+                ListInstanceConfigOperationsResponse,
+                Operation>
+            context,
+        ListInstanceConfigOperationsResponse response) {
+      super(context, response);
+    }
+
+    private static ListInstanceConfigOperationsPage createEmptyPage() {
+      return new ListInstanceConfigOperationsPage(null, null);
+    }
+
+    @Override
+    protected ListInstanceConfigOperationsPage createPage(
+        PageContext<
+                ListInstanceConfigOperationsRequest,
+                ListInstanceConfigOperationsResponse,
+                Operation>
+            context,
+        ListInstanceConfigOperationsResponse response) {
+      return new ListInstanceConfigOperationsPage(context, response);
+    }
+
+    @Override
+    public ApiFuture createPageAsync(
+        PageContext<
+                ListInstanceConfigOperationsRequest,
+                ListInstanceConfigOperationsResponse,
+                Operation>
+            context,
+        ApiFuture futureResponse) {
+      return super.createPageAsync(context, futureResponse);
+    }
+  }
+
+  public static class ListInstanceConfigOperationsFixedSizeCollection
+      extends AbstractFixedSizeCollection<
+          ListInstanceConfigOperationsRequest,
+          ListInstanceConfigOperationsResponse,
+          Operation,
+          ListInstanceConfigOperationsPage,
+          ListInstanceConfigOperationsFixedSizeCollection> {
+
+    private ListInstanceConfigOperationsFixedSizeCollection(
+        List pages, int collectionSize) {
+      super(pages, collectionSize);
+    }
+
+    private static ListInstanceConfigOperationsFixedSizeCollection createEmptyCollection() {
+      return new ListInstanceConfigOperationsFixedSizeCollection(null, 0);
+    }
+
+    @Override
+    protected ListInstanceConfigOperationsFixedSizeCollection createCollection(
+        List pages, int collectionSize) {
+      return new ListInstanceConfigOperationsFixedSizeCollection(pages, collectionSize);
+    }
+  }
+
   public static class ListInstancesPagedResponse
       extends AbstractPagedListResponse<
           ListInstancesRequest,
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminSettings.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminSettings.java
index 36339665f01..bed7960d4f0 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminSettings.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminSettings.java
@@ -16,6 +16,7 @@
 
 package com.google.cloud.spanner.admin.instance.v1;
 
+import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstanceConfigOperationsPagedResponse;
 import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstanceConfigsPagedResponse;
 import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstancesPagedResponse;
 
@@ -40,17 +41,24 @@
 import com.google.iam.v1.TestIamPermissionsResponse;
 import com.google.longrunning.Operation;
 import com.google.protobuf.Empty;
+import com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata;
+import com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.CreateInstanceMetadata;
 import com.google.spanner.admin.instance.v1.CreateInstanceRequest;
+import com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.DeleteInstanceRequest;
 import com.google.spanner.admin.instance.v1.GetInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.GetInstanceRequest;
 import com.google.spanner.admin.instance.v1.Instance;
 import com.google.spanner.admin.instance.v1.InstanceConfig;
+import com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest;
+import com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse;
 import com.google.spanner.admin.instance.v1.ListInstanceConfigsRequest;
 import com.google.spanner.admin.instance.v1.ListInstanceConfigsResponse;
 import com.google.spanner.admin.instance.v1.ListInstancesRequest;
 import com.google.spanner.admin.instance.v1.ListInstancesResponse;
+import com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata;
+import com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.UpdateInstanceMetadata;
 import com.google.spanner.admin.instance.v1.UpdateInstanceRequest;
 import java.io.IOException;
@@ -75,16 +83,16 @@
  * 

For example, to set the total timeout of getInstanceConfig to 30 seconds: * *

{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * InstanceAdminSettings.Builder instanceAdminSettingsBuilder = InstanceAdminSettings.newBuilder();
  * instanceAdminSettingsBuilder
  *     .getInstanceConfigSettings()
  *     .setRetrySettings(
- *         instanceAdminSettingsBuilder
- *             .getInstanceConfigSettings()
- *             .getRetrySettings()
- *             .toBuilder()
+ *         instanceAdminSettingsBuilder.getInstanceConfigSettings().getRetrySettings().toBuilder()
  *             .setTotalTimeout(Duration.ofSeconds(30))
  *             .build());
  * InstanceAdminSettings instanceAdminSettings = instanceAdminSettingsBuilder.build();
@@ -105,6 +113,44 @@ public UnaryCallSettings getInstanceCo
     return ((InstanceAdminStubSettings) getStubSettings()).getInstanceConfigSettings();
   }
 
+  /** Returns the object with the settings used for calls to createInstanceConfig. */
+  public UnaryCallSettings createInstanceConfigSettings() {
+    return ((InstanceAdminStubSettings) getStubSettings()).createInstanceConfigSettings();
+  }
+
+  /** Returns the object with the settings used for calls to createInstanceConfig. */
+  public OperationCallSettings<
+          CreateInstanceConfigRequest, InstanceConfig, CreateInstanceConfigMetadata>
+      createInstanceConfigOperationSettings() {
+    return ((InstanceAdminStubSettings) getStubSettings()).createInstanceConfigOperationSettings();
+  }
+
+  /** Returns the object with the settings used for calls to updateInstanceConfig. */
+  public UnaryCallSettings updateInstanceConfigSettings() {
+    return ((InstanceAdminStubSettings) getStubSettings()).updateInstanceConfigSettings();
+  }
+
+  /** Returns the object with the settings used for calls to updateInstanceConfig. */
+  public OperationCallSettings<
+          UpdateInstanceConfigRequest, InstanceConfig, UpdateInstanceConfigMetadata>
+      updateInstanceConfigOperationSettings() {
+    return ((InstanceAdminStubSettings) getStubSettings()).updateInstanceConfigOperationSettings();
+  }
+
+  /** Returns the object with the settings used for calls to deleteInstanceConfig. */
+  public UnaryCallSettings deleteInstanceConfigSettings() {
+    return ((InstanceAdminStubSettings) getStubSettings()).deleteInstanceConfigSettings();
+  }
+
+  /** Returns the object with the settings used for calls to listInstanceConfigOperations. */
+  public PagedCallSettings<
+          ListInstanceConfigOperationsRequest,
+          ListInstanceConfigOperationsResponse,
+          ListInstanceConfigOperationsPagedResponse>
+      listInstanceConfigOperationsSettings() {
+    return ((InstanceAdminStubSettings) getStubSettings()).listInstanceConfigOperationsSettings();
+  }
+
   /** Returns the object with the settings used for calls to listInstances. */
   public PagedCallSettings
       listInstancesSettings() {
@@ -289,6 +335,47 @@ public Builder applyToAllUnaryMethods(
       return getStubSettingsBuilder().getInstanceConfigSettings();
     }
 
+    /** Returns the builder for the settings used for calls to createInstanceConfig. */
+    public UnaryCallSettings.Builder
+        createInstanceConfigSettings() {
+      return getStubSettingsBuilder().createInstanceConfigSettings();
+    }
+
+    /** Returns the builder for the settings used for calls to createInstanceConfig. */
+    public OperationCallSettings.Builder<
+            CreateInstanceConfigRequest, InstanceConfig, CreateInstanceConfigMetadata>
+        createInstanceConfigOperationSettings() {
+      return getStubSettingsBuilder().createInstanceConfigOperationSettings();
+    }
+
+    /** Returns the builder for the settings used for calls to updateInstanceConfig. */
+    public UnaryCallSettings.Builder
+        updateInstanceConfigSettings() {
+      return getStubSettingsBuilder().updateInstanceConfigSettings();
+    }
+
+    /** Returns the builder for the settings used for calls to updateInstanceConfig. */
+    public OperationCallSettings.Builder<
+            UpdateInstanceConfigRequest, InstanceConfig, UpdateInstanceConfigMetadata>
+        updateInstanceConfigOperationSettings() {
+      return getStubSettingsBuilder().updateInstanceConfigOperationSettings();
+    }
+
+    /** Returns the builder for the settings used for calls to deleteInstanceConfig. */
+    public UnaryCallSettings.Builder
+        deleteInstanceConfigSettings() {
+      return getStubSettingsBuilder().deleteInstanceConfigSettings();
+    }
+
+    /** Returns the builder for the settings used for calls to listInstanceConfigOperations. */
+    public PagedCallSettings.Builder<
+            ListInstanceConfigOperationsRequest,
+            ListInstanceConfigOperationsResponse,
+            ListInstanceConfigOperationsPagedResponse>
+        listInstanceConfigOperationsSettings() {
+      return getStubSettingsBuilder().listInstanceConfigOperationsSettings();
+    }
+
     /** Returns the builder for the settings used for calls to listInstances. */
     public PagedCallSettings.Builder<
             ListInstancesRequest, ListInstancesResponse, ListInstancesPagedResponse>
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/gapic_metadata.json b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/gapic_metadata.json
index fd237fc2182..2296749c13a 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/gapic_metadata.json
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/gapic_metadata.json
@@ -13,9 +13,15 @@
             "CreateInstance": {
               "methods": ["createInstanceAsync", "createInstanceAsync", "createInstanceAsync", "createInstanceOperationCallable", "createInstanceCallable"]
             },
+            "CreateInstanceConfig": {
+              "methods": ["createInstanceConfigAsync", "createInstanceConfigAsync", "createInstanceConfigAsync", "createInstanceConfigOperationCallable", "createInstanceConfigCallable"]
+            },
             "DeleteInstance": {
               "methods": ["deleteInstance", "deleteInstance", "deleteInstance", "deleteInstanceCallable"]
             },
+            "DeleteInstanceConfig": {
+              "methods": ["deleteInstanceConfig", "deleteInstanceConfig", "deleteInstanceConfig", "deleteInstanceConfigCallable"]
+            },
             "GetIamPolicy": {
               "methods": ["getIamPolicy", "getIamPolicy", "getIamPolicy", "getIamPolicyCallable"]
             },
@@ -25,6 +31,9 @@
             "GetInstanceConfig": {
               "methods": ["getInstanceConfig", "getInstanceConfig", "getInstanceConfig", "getInstanceConfigCallable"]
             },
+            "ListInstanceConfigOperations": {
+              "methods": ["listInstanceConfigOperations", "listInstanceConfigOperations", "listInstanceConfigOperations", "listInstanceConfigOperationsPagedCallable", "listInstanceConfigOperationsCallable"]
+            },
             "ListInstanceConfigs": {
               "methods": ["listInstanceConfigs", "listInstanceConfigs", "listInstanceConfigs", "listInstanceConfigsPagedCallable", "listInstanceConfigsCallable"]
             },
@@ -39,6 +48,9 @@
             },
             "UpdateInstance": {
               "methods": ["updateInstanceAsync", "updateInstanceAsync", "updateInstanceOperationCallable", "updateInstanceCallable"]
+            },
+            "UpdateInstanceConfig": {
+              "methods": ["updateInstanceConfigAsync", "updateInstanceConfigAsync", "updateInstanceConfigOperationCallable", "updateInstanceConfigCallable"]
             }
           }
         }
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/package-info.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/package-info.java
index 385739e5c80..98f6e781e94 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/package-info.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/package-info.java
@@ -40,8 +40,11 @@
  * 

Sample for InstanceAdminClient: * *

{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * try (InstanceAdminClient instanceAdminClient = InstanceAdminClient.create()) {
  *   InstanceConfigName name = InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]");
  *   InstanceConfig response = instanceAdminClient.getInstanceConfig(name);
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/GrpcInstanceAdminStub.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/GrpcInstanceAdminStub.java
index 20cd1496cfb..aef9f8725c7 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/GrpcInstanceAdminStub.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/GrpcInstanceAdminStub.java
@@ -16,6 +16,7 @@
 
 package com.google.cloud.spanner.admin.instance.v1.stub;
 
+import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstanceConfigOperationsPagedResponse;
 import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstanceConfigsPagedResponse;
 import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstancesPagedResponse;
 
@@ -35,17 +36,24 @@
 import com.google.longrunning.Operation;
 import com.google.longrunning.stub.GrpcOperationsStub;
 import com.google.protobuf.Empty;
+import com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata;
+import com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.CreateInstanceMetadata;
 import com.google.spanner.admin.instance.v1.CreateInstanceRequest;
+import com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.DeleteInstanceRequest;
 import com.google.spanner.admin.instance.v1.GetInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.GetInstanceRequest;
 import com.google.spanner.admin.instance.v1.Instance;
 import com.google.spanner.admin.instance.v1.InstanceConfig;
+import com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest;
+import com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse;
 import com.google.spanner.admin.instance.v1.ListInstanceConfigsRequest;
 import com.google.spanner.admin.instance.v1.ListInstanceConfigsResponse;
 import com.google.spanner.admin.instance.v1.ListInstancesRequest;
 import com.google.spanner.admin.instance.v1.ListInstancesResponse;
+import com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata;
+import com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.UpdateInstanceMetadata;
 import com.google.spanner.admin.instance.v1.UpdateInstanceRequest;
 import io.grpc.MethodDescriptor;
@@ -84,6 +92,54 @@ public class GrpcInstanceAdminStub extends InstanceAdminStub {
               .setResponseMarshaller(ProtoUtils.marshaller(InstanceConfig.getDefaultInstance()))
               .build();
 
+  private static final MethodDescriptor
+      createInstanceConfigMethodDescriptor =
+          MethodDescriptor.newBuilder()
+              .setType(MethodDescriptor.MethodType.UNARY)
+              .setFullMethodName(
+                  "google.spanner.admin.instance.v1.InstanceAdmin/CreateInstanceConfig")
+              .setRequestMarshaller(
+                  ProtoUtils.marshaller(CreateInstanceConfigRequest.getDefaultInstance()))
+              .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance()))
+              .build();
+
+  private static final MethodDescriptor
+      updateInstanceConfigMethodDescriptor =
+          MethodDescriptor.newBuilder()
+              .setType(MethodDescriptor.MethodType.UNARY)
+              .setFullMethodName(
+                  "google.spanner.admin.instance.v1.InstanceAdmin/UpdateInstanceConfig")
+              .setRequestMarshaller(
+                  ProtoUtils.marshaller(UpdateInstanceConfigRequest.getDefaultInstance()))
+              .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance()))
+              .build();
+
+  private static final MethodDescriptor
+      deleteInstanceConfigMethodDescriptor =
+          MethodDescriptor.newBuilder()
+              .setType(MethodDescriptor.MethodType.UNARY)
+              .setFullMethodName(
+                  "google.spanner.admin.instance.v1.InstanceAdmin/DeleteInstanceConfig")
+              .setRequestMarshaller(
+                  ProtoUtils.marshaller(DeleteInstanceConfigRequest.getDefaultInstance()))
+              .setResponseMarshaller(ProtoUtils.marshaller(Empty.getDefaultInstance()))
+              .build();
+
+  private static final MethodDescriptor<
+          ListInstanceConfigOperationsRequest, ListInstanceConfigOperationsResponse>
+      listInstanceConfigOperationsMethodDescriptor =
+          MethodDescriptor
+              .
+                  newBuilder()
+              .setType(MethodDescriptor.MethodType.UNARY)
+              .setFullMethodName(
+                  "google.spanner.admin.instance.v1.InstanceAdmin/ListInstanceConfigOperations")
+              .setRequestMarshaller(
+                  ProtoUtils.marshaller(ListInstanceConfigOperationsRequest.getDefaultInstance()))
+              .setResponseMarshaller(
+                  ProtoUtils.marshaller(ListInstanceConfigOperationsResponse.getDefaultInstance()))
+              .build();
+
   private static final MethodDescriptor
       listInstancesMethodDescriptor =
           MethodDescriptor.newBuilder()
@@ -166,6 +222,21 @@ public class GrpcInstanceAdminStub extends InstanceAdminStub {
   private final UnaryCallable
       listInstanceConfigsPagedCallable;
   private final UnaryCallable getInstanceConfigCallable;
+  private final UnaryCallable createInstanceConfigCallable;
+  private final OperationCallable<
+          CreateInstanceConfigRequest, InstanceConfig, CreateInstanceConfigMetadata>
+      createInstanceConfigOperationCallable;
+  private final UnaryCallable updateInstanceConfigCallable;
+  private final OperationCallable<
+          UpdateInstanceConfigRequest, InstanceConfig, UpdateInstanceConfigMetadata>
+      updateInstanceConfigOperationCallable;
+  private final UnaryCallable deleteInstanceConfigCallable;
+  private final UnaryCallable<
+          ListInstanceConfigOperationsRequest, ListInstanceConfigOperationsResponse>
+      listInstanceConfigOperationsCallable;
+  private final UnaryCallable<
+          ListInstanceConfigOperationsRequest, ListInstanceConfigOperationsPagedResponse>
+      listInstanceConfigOperationsPagedCallable;
   private final UnaryCallable listInstancesCallable;
   private final UnaryCallable
       listInstancesPagedCallable;
@@ -245,6 +316,51 @@ protected GrpcInstanceAdminStub(
                   return params.build();
                 })
             .build();
+    GrpcCallSettings createInstanceConfigTransportSettings =
+        GrpcCallSettings.newBuilder()
+            .setMethodDescriptor(createInstanceConfigMethodDescriptor)
+            .setParamsExtractor(
+                request -> {
+                  ImmutableMap.Builder params = ImmutableMap.builder();
+                  params.put("parent", String.valueOf(request.getParent()));
+                  return params.build();
+                })
+            .build();
+    GrpcCallSettings updateInstanceConfigTransportSettings =
+        GrpcCallSettings.newBuilder()
+            .setMethodDescriptor(updateInstanceConfigMethodDescriptor)
+            .setParamsExtractor(
+                request -> {
+                  ImmutableMap.Builder params = ImmutableMap.builder();
+                  params.put(
+                      "instance_config.name",
+                      String.valueOf(request.getInstanceConfig().getName()));
+                  return params.build();
+                })
+            .build();
+    GrpcCallSettings deleteInstanceConfigTransportSettings =
+        GrpcCallSettings.newBuilder()
+            .setMethodDescriptor(deleteInstanceConfigMethodDescriptor)
+            .setParamsExtractor(
+                request -> {
+                  ImmutableMap.Builder params = ImmutableMap.builder();
+                  params.put("name", String.valueOf(request.getName()));
+                  return params.build();
+                })
+            .build();
+    GrpcCallSettings
+        listInstanceConfigOperationsTransportSettings =
+            GrpcCallSettings
+                .
+                    newBuilder()
+                .setMethodDescriptor(listInstanceConfigOperationsMethodDescriptor)
+                .setParamsExtractor(
+                    request -> {
+                      ImmutableMap.Builder params = ImmutableMap.builder();
+                      params.put("parent", String.valueOf(request.getParent()));
+                      return params.build();
+                    })
+                .build();
     GrpcCallSettings listInstancesTransportSettings =
         GrpcCallSettings.newBuilder()
             .setMethodDescriptor(listInstancesMethodDescriptor)
@@ -342,6 +458,43 @@ protected GrpcInstanceAdminStub(
             getInstanceConfigTransportSettings,
             settings.getInstanceConfigSettings(),
             clientContext);
+    this.createInstanceConfigCallable =
+        callableFactory.createUnaryCallable(
+            createInstanceConfigTransportSettings,
+            settings.createInstanceConfigSettings(),
+            clientContext);
+    this.createInstanceConfigOperationCallable =
+        callableFactory.createOperationCallable(
+            createInstanceConfigTransportSettings,
+            settings.createInstanceConfigOperationSettings(),
+            clientContext,
+            operationsStub);
+    this.updateInstanceConfigCallable =
+        callableFactory.createUnaryCallable(
+            updateInstanceConfigTransportSettings,
+            settings.updateInstanceConfigSettings(),
+            clientContext);
+    this.updateInstanceConfigOperationCallable =
+        callableFactory.createOperationCallable(
+            updateInstanceConfigTransportSettings,
+            settings.updateInstanceConfigOperationSettings(),
+            clientContext,
+            operationsStub);
+    this.deleteInstanceConfigCallable =
+        callableFactory.createUnaryCallable(
+            deleteInstanceConfigTransportSettings,
+            settings.deleteInstanceConfigSettings(),
+            clientContext);
+    this.listInstanceConfigOperationsCallable =
+        callableFactory.createUnaryCallable(
+            listInstanceConfigOperationsTransportSettings,
+            settings.listInstanceConfigOperationsSettings(),
+            clientContext);
+    this.listInstanceConfigOperationsPagedCallable =
+        callableFactory.createPagedCallable(
+            listInstanceConfigOperationsTransportSettings,
+            settings.listInstanceConfigOperationsSettings(),
+            clientContext);
     this.listInstancesCallable =
         callableFactory.createUnaryCallable(
             listInstancesTransportSettings, settings.listInstancesSettings(), clientContext);
@@ -409,6 +562,48 @@ public UnaryCallable getInstanceConfig
     return getInstanceConfigCallable;
   }
 
+  @Override
+  public UnaryCallable createInstanceConfigCallable() {
+    return createInstanceConfigCallable;
+  }
+
+  @Override
+  public OperationCallable<
+          CreateInstanceConfigRequest, InstanceConfig, CreateInstanceConfigMetadata>
+      createInstanceConfigOperationCallable() {
+    return createInstanceConfigOperationCallable;
+  }
+
+  @Override
+  public UnaryCallable updateInstanceConfigCallable() {
+    return updateInstanceConfigCallable;
+  }
+
+  @Override
+  public OperationCallable<
+          UpdateInstanceConfigRequest, InstanceConfig, UpdateInstanceConfigMetadata>
+      updateInstanceConfigOperationCallable() {
+    return updateInstanceConfigOperationCallable;
+  }
+
+  @Override
+  public UnaryCallable deleteInstanceConfigCallable() {
+    return deleteInstanceConfigCallable;
+  }
+
+  @Override
+  public UnaryCallable
+      listInstanceConfigOperationsCallable() {
+    return listInstanceConfigOperationsCallable;
+  }
+
+  @Override
+  public UnaryCallable<
+          ListInstanceConfigOperationsRequest, ListInstanceConfigOperationsPagedResponse>
+      listInstanceConfigOperationsPagedCallable() {
+    return listInstanceConfigOperationsPagedCallable;
+  }
+
   @Override
   public UnaryCallable listInstancesCallable() {
     return listInstancesCallable;
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/HttpJsonInstanceAdminStub.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/HttpJsonInstanceAdminStub.java
index 27fc3b60e59..ac4c5855247 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/HttpJsonInstanceAdminStub.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/HttpJsonInstanceAdminStub.java
@@ -16,6 +16,7 @@
 
 package com.google.cloud.spanner.admin.instance.v1.stub;
 
+import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstanceConfigOperationsPagedResponse;
 import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstanceConfigsPagedResponse;
 import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstancesPagedResponse;
 
@@ -42,17 +43,24 @@
 import com.google.longrunning.Operation;
 import com.google.protobuf.Empty;
 import com.google.protobuf.TypeRegistry;
+import com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata;
+import com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.CreateInstanceMetadata;
 import com.google.spanner.admin.instance.v1.CreateInstanceRequest;
+import com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.DeleteInstanceRequest;
 import com.google.spanner.admin.instance.v1.GetInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.GetInstanceRequest;
 import com.google.spanner.admin.instance.v1.Instance;
 import com.google.spanner.admin.instance.v1.InstanceConfig;
+import com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest;
+import com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse;
 import com.google.spanner.admin.instance.v1.ListInstanceConfigsRequest;
 import com.google.spanner.admin.instance.v1.ListInstanceConfigsResponse;
 import com.google.spanner.admin.instance.v1.ListInstancesRequest;
 import com.google.spanner.admin.instance.v1.ListInstancesResponse;
+import com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata;
+import com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.UpdateInstanceMetadata;
 import com.google.spanner.admin.instance.v1.UpdateInstanceRequest;
 import java.io.IOException;
@@ -74,9 +82,12 @@
 public class HttpJsonInstanceAdminStub extends InstanceAdminStub {
   private static final TypeRegistry typeRegistry =
       TypeRegistry.newBuilder()
+          .add(InstanceConfig.getDescriptor())
           .add(Instance.getDescriptor())
+          .add(CreateInstanceConfigMetadata.getDescriptor())
           .add(UpdateInstanceMetadata.getDescriptor())
           .add(CreateInstanceMetadata.getDescriptor())
+          .add(UpdateInstanceConfigMetadata.getDescriptor())
           .build();
 
   private static final ApiMethodDescriptor
@@ -148,6 +159,166 @@ public class HttpJsonInstanceAdminStub extends InstanceAdminStub {
                       .build())
               .build();
 
+  private static final ApiMethodDescriptor
+      createInstanceConfigMethodDescriptor =
+          ApiMethodDescriptor.newBuilder()
+              .setFullMethodName(
+                  "google.spanner.admin.instance.v1.InstanceAdmin/CreateInstanceConfig")
+              .setHttpMethod("POST")
+              .setType(ApiMethodDescriptor.MethodType.UNARY)
+              .setRequestFormatter(
+                  ProtoMessageRequestFormatter.newBuilder()
+                      .setPath(
+                          "/v1/{parent=projects/*}/instanceConfigs",
+                          request -> {
+                            Map fields = new HashMap<>();
+                            ProtoRestSerializer serializer =
+                                ProtoRestSerializer.create();
+                            serializer.putPathParam(fields, "parent", request.getParent());
+                            return fields;
+                          })
+                      .setQueryParamsExtractor(
+                          request -> {
+                            Map> fields = new HashMap<>();
+                            ProtoRestSerializer serializer =
+                                ProtoRestSerializer.create();
+                            return fields;
+                          })
+                      .setRequestBodyExtractor(
+                          request ->
+                              ProtoRestSerializer.create()
+                                  .toBody("*", request.toBuilder().clearParent().build(), false))
+                      .build())
+              .setResponseParser(
+                  ProtoMessageResponseParser.newBuilder()
+                      .setDefaultInstance(Operation.getDefaultInstance())
+                      .setDefaultTypeRegistry(typeRegistry)
+                      .build())
+              .setOperationSnapshotFactory(
+                  (CreateInstanceConfigRequest request, Operation response) ->
+                      HttpJsonOperationSnapshot.create(response))
+              .build();
+
+  private static final ApiMethodDescriptor
+      updateInstanceConfigMethodDescriptor =
+          ApiMethodDescriptor.newBuilder()
+              .setFullMethodName(
+                  "google.spanner.admin.instance.v1.InstanceAdmin/UpdateInstanceConfig")
+              .setHttpMethod("PATCH")
+              .setType(ApiMethodDescriptor.MethodType.UNARY)
+              .setRequestFormatter(
+                  ProtoMessageRequestFormatter.newBuilder()
+                      .setPath(
+                          "/v1/{instanceConfig.name=projects/*/instanceConfigs/*}",
+                          request -> {
+                            Map fields = new HashMap<>();
+                            ProtoRestSerializer serializer =
+                                ProtoRestSerializer.create();
+                            serializer.putPathParam(
+                                fields,
+                                "instanceConfig.name",
+                                request.getInstanceConfig().getName());
+                            return fields;
+                          })
+                      .setQueryParamsExtractor(
+                          request -> {
+                            Map> fields = new HashMap<>();
+                            ProtoRestSerializer serializer =
+                                ProtoRestSerializer.create();
+                            return fields;
+                          })
+                      .setRequestBodyExtractor(
+                          request ->
+                              ProtoRestSerializer.create()
+                                  .toBody("*", request.toBuilder().build(), false))
+                      .build())
+              .setResponseParser(
+                  ProtoMessageResponseParser.newBuilder()
+                      .setDefaultInstance(Operation.getDefaultInstance())
+                      .setDefaultTypeRegistry(typeRegistry)
+                      .build())
+              .setOperationSnapshotFactory(
+                  (UpdateInstanceConfigRequest request, Operation response) ->
+                      HttpJsonOperationSnapshot.create(response))
+              .build();
+
+  private static final ApiMethodDescriptor
+      deleteInstanceConfigMethodDescriptor =
+          ApiMethodDescriptor.newBuilder()
+              .setFullMethodName(
+                  "google.spanner.admin.instance.v1.InstanceAdmin/DeleteInstanceConfig")
+              .setHttpMethod("DELETE")
+              .setType(ApiMethodDescriptor.MethodType.UNARY)
+              .setRequestFormatter(
+                  ProtoMessageRequestFormatter.newBuilder()
+                      .setPath(
+                          "/v1/{name=projects/*/instanceConfigs/*}",
+                          request -> {
+                            Map fields = new HashMap<>();
+                            ProtoRestSerializer serializer =
+                                ProtoRestSerializer.create();
+                            serializer.putPathParam(fields, "name", request.getName());
+                            return fields;
+                          })
+                      .setQueryParamsExtractor(
+                          request -> {
+                            Map> fields = new HashMap<>();
+                            ProtoRestSerializer serializer =
+                                ProtoRestSerializer.create();
+                            serializer.putQueryParam(fields, "etag", request.getEtag());
+                            serializer.putQueryParam(
+                                fields, "validateOnly", request.getValidateOnly());
+                            return fields;
+                          })
+                      .setRequestBodyExtractor(request -> null)
+                      .build())
+              .setResponseParser(
+                  ProtoMessageResponseParser.newBuilder()
+                      .setDefaultInstance(Empty.getDefaultInstance())
+                      .setDefaultTypeRegistry(typeRegistry)
+                      .build())
+              .build();
+
+  private static final ApiMethodDescriptor<
+          ListInstanceConfigOperationsRequest, ListInstanceConfigOperationsResponse>
+      listInstanceConfigOperationsMethodDescriptor =
+          ApiMethodDescriptor
+              .
+                  newBuilder()
+              .setFullMethodName(
+                  "google.spanner.admin.instance.v1.InstanceAdmin/ListInstanceConfigOperations")
+              .setHttpMethod("GET")
+              .setType(ApiMethodDescriptor.MethodType.UNARY)
+              .setRequestFormatter(
+                  ProtoMessageRequestFormatter.newBuilder()
+                      .setPath(
+                          "/v1/{parent=projects/*}/instanceConfigOperations",
+                          request -> {
+                            Map fields = new HashMap<>();
+                            ProtoRestSerializer serializer =
+                                ProtoRestSerializer.create();
+                            serializer.putPathParam(fields, "parent", request.getParent());
+                            return fields;
+                          })
+                      .setQueryParamsExtractor(
+                          request -> {
+                            Map> fields = new HashMap<>();
+                            ProtoRestSerializer serializer =
+                                ProtoRestSerializer.create();
+                            serializer.putQueryParam(fields, "filter", request.getFilter());
+                            serializer.putQueryParam(fields, "pageSize", request.getPageSize());
+                            serializer.putQueryParam(fields, "pageToken", request.getPageToken());
+                            return fields;
+                          })
+                      .setRequestBodyExtractor(request -> null)
+                      .build())
+              .setResponseParser(
+                  ProtoMessageResponseParser.newBuilder()
+                      .setDefaultInstance(ListInstanceConfigOperationsResponse.getDefaultInstance())
+                      .setDefaultTypeRegistry(typeRegistry)
+                      .build())
+              .build();
+
   private static final ApiMethodDescriptor
       listInstancesMethodDescriptor =
           ApiMethodDescriptor.newBuilder()
@@ -245,7 +416,7 @@ public class HttpJsonInstanceAdminStub extends InstanceAdminStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearParent().build()))
+                                  .toBody("*", request.toBuilder().clearParent().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -284,7 +455,8 @@ public class HttpJsonInstanceAdminStub extends InstanceAdminStub {
                           })
                       .setRequestBodyExtractor(
                           request ->
-                              ProtoRestSerializer.create().toBody("*", request.toBuilder().build()))
+                              ProtoRestSerializer.create()
+                                  .toBody("*", request.toBuilder().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -356,7 +528,7 @@ public class HttpJsonInstanceAdminStub extends InstanceAdminStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearResource().build()))
+                                  .toBody("*", request.toBuilder().clearResource().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -392,7 +564,7 @@ public class HttpJsonInstanceAdminStub extends InstanceAdminStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearResource().build()))
+                                  .toBody("*", request.toBuilder().clearResource().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -429,7 +601,7 @@ public class HttpJsonInstanceAdminStub extends InstanceAdminStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearResource().build()))
+                                  .toBody("*", request.toBuilder().clearResource().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -443,6 +615,21 @@ public class HttpJsonInstanceAdminStub extends InstanceAdminStub {
   private final UnaryCallable
       listInstanceConfigsPagedCallable;
   private final UnaryCallable getInstanceConfigCallable;
+  private final UnaryCallable createInstanceConfigCallable;
+  private final OperationCallable<
+          CreateInstanceConfigRequest, InstanceConfig, CreateInstanceConfigMetadata>
+      createInstanceConfigOperationCallable;
+  private final UnaryCallable updateInstanceConfigCallable;
+  private final OperationCallable<
+          UpdateInstanceConfigRequest, InstanceConfig, UpdateInstanceConfigMetadata>
+      updateInstanceConfigOperationCallable;
+  private final UnaryCallable deleteInstanceConfigCallable;
+  private final UnaryCallable<
+          ListInstanceConfigOperationsRequest, ListInstanceConfigOperationsResponse>
+      listInstanceConfigOperationsCallable;
+  private final UnaryCallable<
+          ListInstanceConfigOperationsRequest, ListInstanceConfigOperationsPagedResponse>
+      listInstanceConfigOperationsPagedCallable;
   private final UnaryCallable listInstancesCallable;
   private final UnaryCallable
       listInstancesPagedCallable;
@@ -517,6 +704,31 @@ protected HttpJsonInstanceAdminStub(
                 .setMethodDescriptor(getInstanceConfigMethodDescriptor)
                 .setTypeRegistry(typeRegistry)
                 .build();
+    HttpJsonCallSettings
+        createInstanceConfigTransportSettings =
+            HttpJsonCallSettings.newBuilder()
+                .setMethodDescriptor(createInstanceConfigMethodDescriptor)
+                .setTypeRegistry(typeRegistry)
+                .build();
+    HttpJsonCallSettings
+        updateInstanceConfigTransportSettings =
+            HttpJsonCallSettings.newBuilder()
+                .setMethodDescriptor(updateInstanceConfigMethodDescriptor)
+                .setTypeRegistry(typeRegistry)
+                .build();
+    HttpJsonCallSettings deleteInstanceConfigTransportSettings =
+        HttpJsonCallSettings.newBuilder()
+            .setMethodDescriptor(deleteInstanceConfigMethodDescriptor)
+            .setTypeRegistry(typeRegistry)
+            .build();
+    HttpJsonCallSettings
+        listInstanceConfigOperationsTransportSettings =
+            HttpJsonCallSettings
+                .
+                    newBuilder()
+                .setMethodDescriptor(listInstanceConfigOperationsMethodDescriptor)
+                .setTypeRegistry(typeRegistry)
+                .build();
     HttpJsonCallSettings
         listInstancesTransportSettings =
             HttpJsonCallSettings.newBuilder()
@@ -575,6 +787,43 @@ protected HttpJsonInstanceAdminStub(
             getInstanceConfigTransportSettings,
             settings.getInstanceConfigSettings(),
             clientContext);
+    this.createInstanceConfigCallable =
+        callableFactory.createUnaryCallable(
+            createInstanceConfigTransportSettings,
+            settings.createInstanceConfigSettings(),
+            clientContext);
+    this.createInstanceConfigOperationCallable =
+        callableFactory.createOperationCallable(
+            createInstanceConfigTransportSettings,
+            settings.createInstanceConfigOperationSettings(),
+            clientContext,
+            httpJsonOperationsStub);
+    this.updateInstanceConfigCallable =
+        callableFactory.createUnaryCallable(
+            updateInstanceConfigTransportSettings,
+            settings.updateInstanceConfigSettings(),
+            clientContext);
+    this.updateInstanceConfigOperationCallable =
+        callableFactory.createOperationCallable(
+            updateInstanceConfigTransportSettings,
+            settings.updateInstanceConfigOperationSettings(),
+            clientContext,
+            httpJsonOperationsStub);
+    this.deleteInstanceConfigCallable =
+        callableFactory.createUnaryCallable(
+            deleteInstanceConfigTransportSettings,
+            settings.deleteInstanceConfigSettings(),
+            clientContext);
+    this.listInstanceConfigOperationsCallable =
+        callableFactory.createUnaryCallable(
+            listInstanceConfigOperationsTransportSettings,
+            settings.listInstanceConfigOperationsSettings(),
+            clientContext);
+    this.listInstanceConfigOperationsPagedCallable =
+        callableFactory.createPagedCallable(
+            listInstanceConfigOperationsTransportSettings,
+            settings.listInstanceConfigOperationsSettings(),
+            clientContext);
     this.listInstancesCallable =
         callableFactory.createUnaryCallable(
             listInstancesTransportSettings, settings.listInstancesSettings(), clientContext);
@@ -626,6 +875,10 @@ public static List getMethodDescriptors() {
     List methodDescriptors = new ArrayList<>();
     methodDescriptors.add(listInstanceConfigsMethodDescriptor);
     methodDescriptors.add(getInstanceConfigMethodDescriptor);
+    methodDescriptors.add(createInstanceConfigMethodDescriptor);
+    methodDescriptors.add(updateInstanceConfigMethodDescriptor);
+    methodDescriptors.add(deleteInstanceConfigMethodDescriptor);
+    methodDescriptors.add(listInstanceConfigOperationsMethodDescriptor);
     methodDescriptors.add(listInstancesMethodDescriptor);
     methodDescriptors.add(getInstanceMethodDescriptor);
     methodDescriptors.add(createInstanceMethodDescriptor);
@@ -658,6 +911,48 @@ public UnaryCallable getInstanceConfig
     return getInstanceConfigCallable;
   }
 
+  @Override
+  public UnaryCallable createInstanceConfigCallable() {
+    return createInstanceConfigCallable;
+  }
+
+  @Override
+  public OperationCallable<
+          CreateInstanceConfigRequest, InstanceConfig, CreateInstanceConfigMetadata>
+      createInstanceConfigOperationCallable() {
+    return createInstanceConfigOperationCallable;
+  }
+
+  @Override
+  public UnaryCallable updateInstanceConfigCallable() {
+    return updateInstanceConfigCallable;
+  }
+
+  @Override
+  public OperationCallable<
+          UpdateInstanceConfigRequest, InstanceConfig, UpdateInstanceConfigMetadata>
+      updateInstanceConfigOperationCallable() {
+    return updateInstanceConfigOperationCallable;
+  }
+
+  @Override
+  public UnaryCallable deleteInstanceConfigCallable() {
+    return deleteInstanceConfigCallable;
+  }
+
+  @Override
+  public UnaryCallable
+      listInstanceConfigOperationsCallable() {
+    return listInstanceConfigOperationsCallable;
+  }
+
+  @Override
+  public UnaryCallable<
+          ListInstanceConfigOperationsRequest, ListInstanceConfigOperationsPagedResponse>
+      listInstanceConfigOperationsPagedCallable() {
+    return listInstanceConfigOperationsPagedCallable;
+  }
+
   @Override
   public UnaryCallable listInstancesCallable() {
     return listInstancesCallable;
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/InstanceAdminStub.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/InstanceAdminStub.java
index 296f006d587..e4e6f339a63 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/InstanceAdminStub.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/InstanceAdminStub.java
@@ -16,6 +16,7 @@
 
 package com.google.cloud.spanner.admin.instance.v1.stub;
 
+import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstanceConfigOperationsPagedResponse;
 import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstanceConfigsPagedResponse;
 import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstancesPagedResponse;
 
@@ -30,17 +31,24 @@
 import com.google.longrunning.Operation;
 import com.google.longrunning.stub.OperationsStub;
 import com.google.protobuf.Empty;
+import com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata;
+import com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.CreateInstanceMetadata;
 import com.google.spanner.admin.instance.v1.CreateInstanceRequest;
+import com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.DeleteInstanceRequest;
 import com.google.spanner.admin.instance.v1.GetInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.GetInstanceRequest;
 import com.google.spanner.admin.instance.v1.Instance;
 import com.google.spanner.admin.instance.v1.InstanceConfig;
+import com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest;
+import com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse;
 import com.google.spanner.admin.instance.v1.ListInstanceConfigsRequest;
 import com.google.spanner.admin.instance.v1.ListInstanceConfigsResponse;
 import com.google.spanner.admin.instance.v1.ListInstancesRequest;
 import com.google.spanner.admin.instance.v1.ListInstancesResponse;
+import com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata;
+import com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.UpdateInstanceMetadata;
 import com.google.spanner.admin.instance.v1.UpdateInstanceRequest;
 import javax.annotation.Generated;
@@ -76,6 +84,45 @@ public UnaryCallable getInstanceConfig
     throw new UnsupportedOperationException("Not implemented: getInstanceConfigCallable()");
   }
 
+  public OperationCallable<
+          CreateInstanceConfigRequest, InstanceConfig, CreateInstanceConfigMetadata>
+      createInstanceConfigOperationCallable() {
+    throw new UnsupportedOperationException(
+        "Not implemented: createInstanceConfigOperationCallable()");
+  }
+
+  public UnaryCallable createInstanceConfigCallable() {
+    throw new UnsupportedOperationException("Not implemented: createInstanceConfigCallable()");
+  }
+
+  public OperationCallable<
+          UpdateInstanceConfigRequest, InstanceConfig, UpdateInstanceConfigMetadata>
+      updateInstanceConfigOperationCallable() {
+    throw new UnsupportedOperationException(
+        "Not implemented: updateInstanceConfigOperationCallable()");
+  }
+
+  public UnaryCallable updateInstanceConfigCallable() {
+    throw new UnsupportedOperationException("Not implemented: updateInstanceConfigCallable()");
+  }
+
+  public UnaryCallable deleteInstanceConfigCallable() {
+    throw new UnsupportedOperationException("Not implemented: deleteInstanceConfigCallable()");
+  }
+
+  public UnaryCallable<
+          ListInstanceConfigOperationsRequest, ListInstanceConfigOperationsPagedResponse>
+      listInstanceConfigOperationsPagedCallable() {
+    throw new UnsupportedOperationException(
+        "Not implemented: listInstanceConfigOperationsPagedCallable()");
+  }
+
+  public UnaryCallable
+      listInstanceConfigOperationsCallable() {
+    throw new UnsupportedOperationException(
+        "Not implemented: listInstanceConfigOperationsCallable()");
+  }
+
   public UnaryCallable
       listInstancesPagedCallable() {
     throw new UnsupportedOperationException("Not implemented: listInstancesPagedCallable()");
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/InstanceAdminStubSettings.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/InstanceAdminStubSettings.java
index fb1926bccab..9a22ef3eddd 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/InstanceAdminStubSettings.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/InstanceAdminStubSettings.java
@@ -16,6 +16,7 @@
 
 package com.google.cloud.spanner.admin.instance.v1.stub;
 
+import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstanceConfigOperationsPagedResponse;
 import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstanceConfigsPagedResponse;
 import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstancesPagedResponse;
 
@@ -59,17 +60,24 @@
 import com.google.iam.v1.TestIamPermissionsResponse;
 import com.google.longrunning.Operation;
 import com.google.protobuf.Empty;
+import com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata;
+import com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.CreateInstanceMetadata;
 import com.google.spanner.admin.instance.v1.CreateInstanceRequest;
+import com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.DeleteInstanceRequest;
 import com.google.spanner.admin.instance.v1.GetInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.GetInstanceRequest;
 import com.google.spanner.admin.instance.v1.Instance;
 import com.google.spanner.admin.instance.v1.InstanceConfig;
+import com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest;
+import com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse;
 import com.google.spanner.admin.instance.v1.ListInstanceConfigsRequest;
 import com.google.spanner.admin.instance.v1.ListInstanceConfigsResponse;
 import com.google.spanner.admin.instance.v1.ListInstancesRequest;
 import com.google.spanner.admin.instance.v1.ListInstancesResponse;
+import com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata;
+import com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.UpdateInstanceMetadata;
 import com.google.spanner.admin.instance.v1.UpdateInstanceRequest;
 import java.io.IOException;
@@ -95,17 +103,17 @@
  * 

For example, to set the total timeout of getInstanceConfig to 30 seconds: * *

{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * InstanceAdminStubSettings.Builder instanceAdminSettingsBuilder =
  *     InstanceAdminStubSettings.newBuilder();
  * instanceAdminSettingsBuilder
  *     .getInstanceConfigSettings()
  *     .setRetrySettings(
- *         instanceAdminSettingsBuilder
- *             .getInstanceConfigSettings()
- *             .getRetrySettings()
- *             .toBuilder()
+ *         instanceAdminSettingsBuilder.getInstanceConfigSettings().getRetrySettings().toBuilder()
  *             .setTotalTimeout(Duration.ofSeconds(30))
  *             .build());
  * InstanceAdminStubSettings instanceAdminSettings = instanceAdminSettingsBuilder.build();
@@ -125,6 +133,22 @@ public class InstanceAdminStubSettings extends StubSettings
       getInstanceConfigSettings;
+  private final UnaryCallSettings
+      createInstanceConfigSettings;
+  private final OperationCallSettings<
+          CreateInstanceConfigRequest, InstanceConfig, CreateInstanceConfigMetadata>
+      createInstanceConfigOperationSettings;
+  private final UnaryCallSettings
+      updateInstanceConfigSettings;
+  private final OperationCallSettings<
+          UpdateInstanceConfigRequest, InstanceConfig, UpdateInstanceConfigMetadata>
+      updateInstanceConfigOperationSettings;
+  private final UnaryCallSettings deleteInstanceConfigSettings;
+  private final PagedCallSettings<
+          ListInstanceConfigOperationsRequest,
+          ListInstanceConfigOperationsResponse,
+          ListInstanceConfigOperationsPagedResponse>
+      listInstanceConfigOperationsSettings;
   private final PagedCallSettings<
           ListInstancesRequest, ListInstancesResponse, ListInstancesPagedResponse>
       listInstancesSettings;
@@ -181,6 +205,53 @@ public Iterable extractResources(ListInstanceConfigsResponse pay
             }
           };
 
+  private static final PagedListDescriptor<
+          ListInstanceConfigOperationsRequest, ListInstanceConfigOperationsResponse, Operation>
+      LIST_INSTANCE_CONFIG_OPERATIONS_PAGE_STR_DESC =
+          new PagedListDescriptor<
+              ListInstanceConfigOperationsRequest,
+              ListInstanceConfigOperationsResponse,
+              Operation>() {
+            @Override
+            public String emptyToken() {
+              return "";
+            }
+
+            @Override
+            public ListInstanceConfigOperationsRequest injectToken(
+                ListInstanceConfigOperationsRequest payload, String token) {
+              return ListInstanceConfigOperationsRequest.newBuilder(payload)
+                  .setPageToken(token)
+                  .build();
+            }
+
+            @Override
+            public ListInstanceConfigOperationsRequest injectPageSize(
+                ListInstanceConfigOperationsRequest payload, int pageSize) {
+              return ListInstanceConfigOperationsRequest.newBuilder(payload)
+                  .setPageSize(pageSize)
+                  .build();
+            }
+
+            @Override
+            public Integer extractPageSize(ListInstanceConfigOperationsRequest payload) {
+              return payload.getPageSize();
+            }
+
+            @Override
+            public String extractNextToken(ListInstanceConfigOperationsResponse payload) {
+              return payload.getNextPageToken();
+            }
+
+            @Override
+            public Iterable extractResources(
+                ListInstanceConfigOperationsResponse payload) {
+              return payload.getOperationsList() == null
+                  ? ImmutableList.of()
+                  : payload.getOperationsList();
+            }
+          };
+
   private static final PagedListDescriptor
       LIST_INSTANCES_PAGE_STR_DESC =
           new PagedListDescriptor() {
@@ -238,6 +309,38 @@ public ApiFuture getFuturePagedResponse(
             }
           };
 
+  private static final PagedListResponseFactory<
+          ListInstanceConfigOperationsRequest,
+          ListInstanceConfigOperationsResponse,
+          ListInstanceConfigOperationsPagedResponse>
+      LIST_INSTANCE_CONFIG_OPERATIONS_PAGE_STR_FACT =
+          new PagedListResponseFactory<
+              ListInstanceConfigOperationsRequest,
+              ListInstanceConfigOperationsResponse,
+              ListInstanceConfigOperationsPagedResponse>() {
+            @Override
+            public ApiFuture getFuturePagedResponse(
+                UnaryCallable<
+                        ListInstanceConfigOperationsRequest, ListInstanceConfigOperationsResponse>
+                    callable,
+                ListInstanceConfigOperationsRequest request,
+                ApiCallContext context,
+                ApiFuture futureResponse) {
+              PageContext<
+                      ListInstanceConfigOperationsRequest,
+                      ListInstanceConfigOperationsResponse,
+                      Operation>
+                  pageContext =
+                      PageContext.create(
+                          callable,
+                          LIST_INSTANCE_CONFIG_OPERATIONS_PAGE_STR_DESC,
+                          request,
+                          context);
+              return ListInstanceConfigOperationsPagedResponse.createAsync(
+                  pageContext, futureResponse);
+            }
+          };
+
   private static final PagedListResponseFactory<
           ListInstancesRequest, ListInstancesResponse, ListInstancesPagedResponse>
       LIST_INSTANCES_PAGE_STR_FACT =
@@ -267,6 +370,44 @@ public UnaryCallSettings getInstanceCo
     return getInstanceConfigSettings;
   }
 
+  /** Returns the object with the settings used for calls to createInstanceConfig. */
+  public UnaryCallSettings createInstanceConfigSettings() {
+    return createInstanceConfigSettings;
+  }
+
+  /** Returns the object with the settings used for calls to createInstanceConfig. */
+  public OperationCallSettings<
+          CreateInstanceConfigRequest, InstanceConfig, CreateInstanceConfigMetadata>
+      createInstanceConfigOperationSettings() {
+    return createInstanceConfigOperationSettings;
+  }
+
+  /** Returns the object with the settings used for calls to updateInstanceConfig. */
+  public UnaryCallSettings updateInstanceConfigSettings() {
+    return updateInstanceConfigSettings;
+  }
+
+  /** Returns the object with the settings used for calls to updateInstanceConfig. */
+  public OperationCallSettings<
+          UpdateInstanceConfigRequest, InstanceConfig, UpdateInstanceConfigMetadata>
+      updateInstanceConfigOperationSettings() {
+    return updateInstanceConfigOperationSettings;
+  }
+
+  /** Returns the object with the settings used for calls to deleteInstanceConfig. */
+  public UnaryCallSettings deleteInstanceConfigSettings() {
+    return deleteInstanceConfigSettings;
+  }
+
+  /** Returns the object with the settings used for calls to listInstanceConfigOperations. */
+  public PagedCallSettings<
+          ListInstanceConfigOperationsRequest,
+          ListInstanceConfigOperationsResponse,
+          ListInstanceConfigOperationsPagedResponse>
+      listInstanceConfigOperationsSettings() {
+    return listInstanceConfigOperationsSettings;
+  }
+
   /** Returns the object with the settings used for calls to listInstances. */
   public PagedCallSettings
       listInstancesSettings() {
@@ -429,6 +570,15 @@ protected InstanceAdminStubSettings(Builder settingsBuilder) throws IOException
 
     listInstanceConfigsSettings = settingsBuilder.listInstanceConfigsSettings().build();
     getInstanceConfigSettings = settingsBuilder.getInstanceConfigSettings().build();
+    createInstanceConfigSettings = settingsBuilder.createInstanceConfigSettings().build();
+    createInstanceConfigOperationSettings =
+        settingsBuilder.createInstanceConfigOperationSettings().build();
+    updateInstanceConfigSettings = settingsBuilder.updateInstanceConfigSettings().build();
+    updateInstanceConfigOperationSettings =
+        settingsBuilder.updateInstanceConfigOperationSettings().build();
+    deleteInstanceConfigSettings = settingsBuilder.deleteInstanceConfigSettings().build();
+    listInstanceConfigOperationsSettings =
+        settingsBuilder.listInstanceConfigOperationsSettings().build();
     listInstancesSettings = settingsBuilder.listInstancesSettings().build();
     getInstanceSettings = settingsBuilder.getInstanceSettings().build();
     createInstanceSettings = settingsBuilder.createInstanceSettings().build();
@@ -451,6 +601,23 @@ public static class Builder extends StubSettings.Builder
         getInstanceConfigSettings;
+    private final UnaryCallSettings.Builder
+        createInstanceConfigSettings;
+    private final OperationCallSettings.Builder<
+            CreateInstanceConfigRequest, InstanceConfig, CreateInstanceConfigMetadata>
+        createInstanceConfigOperationSettings;
+    private final UnaryCallSettings.Builder
+        updateInstanceConfigSettings;
+    private final OperationCallSettings.Builder<
+            UpdateInstanceConfigRequest, InstanceConfig, UpdateInstanceConfigMetadata>
+        updateInstanceConfigOperationSettings;
+    private final UnaryCallSettings.Builder
+        deleteInstanceConfigSettings;
+    private final PagedCallSettings.Builder<
+            ListInstanceConfigOperationsRequest,
+            ListInstanceConfigOperationsResponse,
+            ListInstanceConfigOperationsPagedResponse>
+        listInstanceConfigOperationsSettings;
     private final PagedCallSettings.Builder<
             ListInstancesRequest, ListInstancesResponse, ListInstancesPagedResponse>
         listInstancesSettings;
@@ -481,6 +648,7 @@ public static class Builder extends StubSettings.BuildernewArrayList(
                   StatusCode.Code.UNAVAILABLE, StatusCode.Code.DEADLINE_EXCEEDED)));
+      definitions.put("no_retry_codes", ImmutableSet.copyOf(Lists.newArrayList()));
       definitions.put(
           "no_retry_2_codes", ImmutableSet.copyOf(Lists.newArrayList()));
       definitions.put(
@@ -509,6 +677,8 @@ public static class Builder extends StubSettings.Builder>of(
               listInstanceConfigsSettings,
               getInstanceConfigSettings,
+              createInstanceConfigSettings,
+              updateInstanceConfigSettings,
+              deleteInstanceConfigSettings,
+              listInstanceConfigOperationsSettings,
               listInstancesSettings,
               getInstanceSettings,
               createInstanceSettings,
@@ -580,6 +761,15 @@ protected Builder(InstanceAdminStubSettings settings) {
 
       listInstanceConfigsSettings = settings.listInstanceConfigsSettings.toBuilder();
       getInstanceConfigSettings = settings.getInstanceConfigSettings.toBuilder();
+      createInstanceConfigSettings = settings.createInstanceConfigSettings.toBuilder();
+      createInstanceConfigOperationSettings =
+          settings.createInstanceConfigOperationSettings.toBuilder();
+      updateInstanceConfigSettings = settings.updateInstanceConfigSettings.toBuilder();
+      updateInstanceConfigOperationSettings =
+          settings.updateInstanceConfigOperationSettings.toBuilder();
+      deleteInstanceConfigSettings = settings.deleteInstanceConfigSettings.toBuilder();
+      listInstanceConfigOperationsSettings =
+          settings.listInstanceConfigOperationsSettings.toBuilder();
       listInstancesSettings = settings.listInstancesSettings.toBuilder();
       getInstanceSettings = settings.getInstanceSettings.toBuilder();
       createInstanceSettings = settings.createInstanceSettings.toBuilder();
@@ -595,6 +785,10 @@ protected Builder(InstanceAdminStubSettings settings) {
           ImmutableList.>of(
               listInstanceConfigsSettings,
               getInstanceConfigSettings,
+              createInstanceConfigSettings,
+              updateInstanceConfigSettings,
+              deleteInstanceConfigSettings,
+              listInstanceConfigOperationsSettings,
               listInstancesSettings,
               getInstanceSettings,
               createInstanceSettings,
@@ -642,6 +836,26 @@ private static Builder initDefaults(Builder builder) {
           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
 
+      builder
+          .createInstanceConfigSettings()
+          .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes"))
+          .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params"));
+
+      builder
+          .updateInstanceConfigSettings()
+          .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes"))
+          .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params"));
+
+      builder
+          .deleteInstanceConfigSettings()
+          .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes"))
+          .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params"));
+
+      builder
+          .listInstanceConfigOperationsSettings()
+          .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes"))
+          .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params"));
+
       builder
           .listInstancesSettings()
           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
@@ -682,6 +896,56 @@ private static Builder initDefaults(Builder builder) {
           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_3_codes"))
           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_3_params"));
 
+      builder
+          .createInstanceConfigOperationSettings()
+          .setInitialCallSettings(
+              UnaryCallSettings
+                  .newUnaryCallSettingsBuilder()
+                  .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes"))
+                  .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params"))
+                  .build())
+          .setResponseTransformer(
+              ProtoOperationTransformers.ResponseTransformer.create(InstanceConfig.class))
+          .setMetadataTransformer(
+              ProtoOperationTransformers.MetadataTransformer.create(
+                  CreateInstanceConfigMetadata.class))
+          .setPollingAlgorithm(
+              OperationTimedPollAlgorithm.create(
+                  RetrySettings.newBuilder()
+                      .setInitialRetryDelay(Duration.ofMillis(5000L))
+                      .setRetryDelayMultiplier(1.5)
+                      .setMaxRetryDelay(Duration.ofMillis(45000L))
+                      .setInitialRpcTimeout(Duration.ZERO)
+                      .setRpcTimeoutMultiplier(1.0)
+                      .setMaxRpcTimeout(Duration.ZERO)
+                      .setTotalTimeout(Duration.ofMillis(300000L))
+                      .build()));
+
+      builder
+          .updateInstanceConfigOperationSettings()
+          .setInitialCallSettings(
+              UnaryCallSettings
+                  .newUnaryCallSettingsBuilder()
+                  .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes"))
+                  .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params"))
+                  .build())
+          .setResponseTransformer(
+              ProtoOperationTransformers.ResponseTransformer.create(InstanceConfig.class))
+          .setMetadataTransformer(
+              ProtoOperationTransformers.MetadataTransformer.create(
+                  UpdateInstanceConfigMetadata.class))
+          .setPollingAlgorithm(
+              OperationTimedPollAlgorithm.create(
+                  RetrySettings.newBuilder()
+                      .setInitialRetryDelay(Duration.ofMillis(5000L))
+                      .setRetryDelayMultiplier(1.5)
+                      .setMaxRetryDelay(Duration.ofMillis(45000L))
+                      .setInitialRpcTimeout(Duration.ZERO)
+                      .setRpcTimeoutMultiplier(1.0)
+                      .setMaxRpcTimeout(Duration.ZERO)
+                      .setTotalTimeout(Duration.ofMillis(300000L))
+                      .build()));
+
       builder
           .createInstanceOperationSettings()
           .setInitialCallSettings(
@@ -763,6 +1027,51 @@ public Builder applyToAllUnaryMethods(
       return getInstanceConfigSettings;
     }
 
+    /** Returns the builder for the settings used for calls to createInstanceConfig. */
+    public UnaryCallSettings.Builder
+        createInstanceConfigSettings() {
+      return createInstanceConfigSettings;
+    }
+
+    /** Returns the builder for the settings used for calls to createInstanceConfig. */
+    @BetaApi(
+        "The surface for use by generated code is not stable yet and may change in the future.")
+    public OperationCallSettings.Builder<
+            CreateInstanceConfigRequest, InstanceConfig, CreateInstanceConfigMetadata>
+        createInstanceConfigOperationSettings() {
+      return createInstanceConfigOperationSettings;
+    }
+
+    /** Returns the builder for the settings used for calls to updateInstanceConfig. */
+    public UnaryCallSettings.Builder
+        updateInstanceConfigSettings() {
+      return updateInstanceConfigSettings;
+    }
+
+    /** Returns the builder for the settings used for calls to updateInstanceConfig. */
+    @BetaApi(
+        "The surface for use by generated code is not stable yet and may change in the future.")
+    public OperationCallSettings.Builder<
+            UpdateInstanceConfigRequest, InstanceConfig, UpdateInstanceConfigMetadata>
+        updateInstanceConfigOperationSettings() {
+      return updateInstanceConfigOperationSettings;
+    }
+
+    /** Returns the builder for the settings used for calls to deleteInstanceConfig. */
+    public UnaryCallSettings.Builder
+        deleteInstanceConfigSettings() {
+      return deleteInstanceConfigSettings;
+    }
+
+    /** Returns the builder for the settings used for calls to listInstanceConfigOperations. */
+    public PagedCallSettings.Builder<
+            ListInstanceConfigOperationsRequest,
+            ListInstanceConfigOperationsResponse,
+            ListInstanceConfigOperationsPagedResponse>
+        listInstanceConfigOperationsSettings() {
+      return listInstanceConfigOperationsSettings;
+    }
+
     /** Returns the builder for the settings used for calls to listInstances. */
     public PagedCallSettings.Builder<
             ListInstancesRequest, ListInstancesResponse, ListInstancesPagedResponse>
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/SpannerClient.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/SpannerClient.java
index 76bc2690983..9d7c74b057b 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/SpannerClient.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/SpannerClient.java
@@ -72,8 +72,11 @@
  * calls that map to API methods. Sample code to get started:
  *
  * 
{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * try (SpannerClient spannerClient = SpannerClient.create()) {
  *   DatabaseName database = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
  *   Session response = spannerClient.createSession(database);
@@ -109,8 +112,11 @@
  * 

To customize credentials: * *

{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * SpannerSettings spannerSettings =
  *     SpannerSettings.newBuilder()
  *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
@@ -121,8 +127,11 @@
  * 

To customize the endpoint: * *

{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * SpannerSettings spannerSettings = SpannerSettings.newBuilder().setEndpoint(myEndpoint).build();
  * SpannerClient spannerClient = SpannerClient.create(spannerSettings);
  * }
@@ -131,8 +140,11 @@ * the wire: * *
{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * SpannerSettings spannerSettings =
  *     SpannerSettings.newBuilder()
  *         .setTransportChannelProvider(
@@ -212,8 +224,11 @@ public SpannerStub getStub() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   DatabaseName database = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
    *   Session response = spannerClient.createSession(database);
@@ -252,8 +267,11 @@ public final Session createSession(DatabaseName database) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   String database = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]").toString();
    *   Session response = spannerClient.createSession(database);
@@ -289,8 +307,11 @@ public final Session createSession(String database) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   CreateSessionRequest request =
    *       CreateSessionRequest.newBuilder()
@@ -329,8 +350,11 @@ public final Session createSession(CreateSessionRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   CreateSessionRequest request =
    *       CreateSessionRequest.newBuilder()
@@ -357,8 +381,11 @@ public final UnaryCallable createSessionCallable(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   DatabaseName database = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
    *   int sessionCount = 185691686;
@@ -394,8 +421,11 @@ public final BatchCreateSessionsResponse batchCreateSessions(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   String database = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]").toString();
    *   int sessionCount = 185691686;
@@ -430,8 +460,11 @@ public final BatchCreateSessionsResponse batchCreateSessions(String database, in
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   BatchCreateSessionsRequest request =
    *       BatchCreateSessionsRequest.newBuilder()
@@ -460,8 +493,11 @@ public final BatchCreateSessionsResponse batchCreateSessions(BatchCreateSessions
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   BatchCreateSessionsRequest request =
    *       BatchCreateSessionsRequest.newBuilder()
@@ -489,8 +525,11 @@ public final BatchCreateSessionsResponse batchCreateSessions(BatchCreateSessions
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   SessionName name = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]");
    *   Session response = spannerClient.getSession(name);
@@ -514,8 +553,11 @@ public final Session getSession(SessionName name) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   String name = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]").toString();
    *   Session response = spannerClient.getSession(name);
@@ -538,8 +580,11 @@ public final Session getSession(String name) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   GetSessionRequest request =
    *       GetSessionRequest.newBuilder()
@@ -565,8 +610,11 @@ public final Session getSession(GetSessionRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   GetSessionRequest request =
    *       GetSessionRequest.newBuilder()
@@ -590,8 +638,11 @@ public final UnaryCallable getSessionCallable() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   DatabaseName database = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
    *   for (Session element : spannerClient.listSessions(database).iterateAll()) {
@@ -618,8 +669,11 @@ public final ListSessionsPagedResponse listSessions(DatabaseName database) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   String database = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]").toString();
    *   for (Session element : spannerClient.listSessions(database).iterateAll()) {
@@ -643,8 +697,11 @@ public final ListSessionsPagedResponse listSessions(String database) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   ListSessionsRequest request =
    *       ListSessionsRequest.newBuilder()
@@ -673,8 +730,11 @@ public final ListSessionsPagedResponse listSessions(ListSessionsRequest request)
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   ListSessionsRequest request =
    *       ListSessionsRequest.newBuilder()
@@ -703,8 +763,11 @@ public final ListSessionsPagedResponse listSessions(ListSessionsRequest request)
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   ListSessionsRequest request =
    *       ListSessionsRequest.newBuilder()
@@ -740,8 +803,11 @@ public final UnaryCallable listSessio
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   SessionName name = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]");
    *   spannerClient.deleteSession(name);
@@ -765,8 +831,11 @@ public final void deleteSession(SessionName name) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   String name = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]").toString();
    *   spannerClient.deleteSession(name);
@@ -789,8 +858,11 @@ public final void deleteSession(String name) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   DeleteSessionRequest request =
    *       DeleteSessionRequest.newBuilder()
@@ -816,8 +888,11 @@ public final void deleteSession(DeleteSessionRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   DeleteSessionRequest request =
    *       DeleteSessionRequest.newBuilder()
@@ -850,8 +925,11 @@ public final UnaryCallable deleteSessionCallable()
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   ExecuteSqlRequest request =
    *       ExecuteSqlRequest.newBuilder()
@@ -894,8 +972,11 @@ public final ResultSet executeSql(ExecuteSqlRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   ExecuteSqlRequest request =
    *       ExecuteSqlRequest.newBuilder()
@@ -931,8 +1012,11 @@ public final UnaryCallable executeSqlCallable() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   ExecuteSqlRequest request =
    *       ExecuteSqlRequest.newBuilder()
@@ -977,8 +1061,11 @@ public final UnaryCallable executeSqlCallable() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   ExecuteBatchDmlRequest request =
    *       ExecuteBatchDmlRequest.newBuilder()
@@ -1016,8 +1103,11 @@ public final ExecuteBatchDmlResponse executeBatchDml(ExecuteBatchDmlRequest requ
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   ExecuteBatchDmlRequest request =
    *       ExecuteBatchDmlRequest.newBuilder()
@@ -1057,8 +1147,11 @@ public final ExecuteBatchDmlResponse executeBatchDml(ExecuteBatchDmlRequest requ
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   ReadRequest request =
    *       ReadRequest.newBuilder()
@@ -1102,8 +1195,11 @@ public final ResultSet read(ReadRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   ReadRequest request =
    *       ReadRequest.newBuilder()
@@ -1139,8 +1235,11 @@ public final UnaryCallable readCallable() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   ReadRequest request =
    *       ReadRequest.newBuilder()
@@ -1176,8 +1275,11 @@ public final ServerStreamingCallable streamingRea
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]");
    *   TransactionOptions options = TransactionOptions.newBuilder().build();
@@ -1207,8 +1309,11 @@ public final Transaction beginTransaction(SessionName session, TransactionOption
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   String session =
    *       SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]").toString();
@@ -1236,8 +1341,11 @@ public final Transaction beginTransaction(String session, TransactionOptions opt
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   BeginTransactionRequest request =
    *       BeginTransactionRequest.newBuilder()
@@ -1266,8 +1374,11 @@ public final Transaction beginTransaction(BeginTransactionRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   BeginTransactionRequest request =
    *       BeginTransactionRequest.newBuilder()
@@ -1304,8 +1415,11 @@ public final UnaryCallable beginTransactio
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]");
    *   ByteString transactionId = ByteString.EMPTY;
@@ -1349,8 +1463,11 @@ public final CommitResponse commit(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]");
    *   TransactionOptions singleUseTransaction = TransactionOptions.newBuilder().build();
@@ -1400,8 +1517,11 @@ public final CommitResponse commit(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   String session =
    *       SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]").toString();
@@ -1446,8 +1566,11 @@ public final CommitResponse commit(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   String session =
    *       SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]").toString();
@@ -1498,8 +1621,11 @@ public final CommitResponse commit(
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   CommitRequest request =
    *       CommitRequest.newBuilder()
@@ -1538,8 +1664,11 @@ public final CommitResponse commit(CommitRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   CommitRequest request =
    *       CommitRequest.newBuilder()
@@ -1572,8 +1701,11 @@ public final UnaryCallable commitCallable() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]");
    *   ByteString transactionId = ByteString.EMPTY;
@@ -1607,8 +1739,11 @@ public final void rollback(SessionName session, ByteString transactionId) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   String session =
    *       SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]").toString();
@@ -1640,8 +1775,11 @@ public final void rollback(String session, ByteString transactionId) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   RollbackRequest request =
    *       RollbackRequest.newBuilder()
@@ -1673,8 +1811,11 @@ public final void rollback(RollbackRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   RollbackRequest request =
    *       RollbackRequest.newBuilder()
@@ -1708,8 +1849,11 @@ public final UnaryCallable rollbackCallable() {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   PartitionQueryRequest request =
    *       PartitionQueryRequest.newBuilder()
@@ -1748,8 +1892,11 @@ public final PartitionResponse partitionQuery(PartitionQueryRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   PartitionQueryRequest request =
    *       PartitionQueryRequest.newBuilder()
@@ -1789,8 +1936,11 @@ public final UnaryCallable partitionQu
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   PartitionReadRequest request =
    *       PartitionReadRequest.newBuilder()
@@ -1831,8 +1981,11 @@ public final PartitionResponse partitionRead(PartitionReadRequest request) {
    * 

Sample code: * *

{@code
-   * // This snippet has been automatically generated for illustrative purposes only.
-   * // It may require modifications to work in your environment.
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    * try (SpannerClient spannerClient = SpannerClient.create()) {
    *   PartitionReadRequest request =
    *       PartitionReadRequest.newBuilder()
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/SpannerSettings.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/SpannerSettings.java
index 5abf4e1c53f..dd3d71d6396 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/SpannerSettings.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/SpannerSettings.java
@@ -77,16 +77,16 @@
  * 

For example, to set the total timeout of createSession to 30 seconds: * *

{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * SpannerSettings.Builder spannerSettingsBuilder = SpannerSettings.newBuilder();
  * spannerSettingsBuilder
  *     .createSessionSettings()
  *     .setRetrySettings(
- *         spannerSettingsBuilder
- *             .createSessionSettings()
- *             .getRetrySettings()
- *             .toBuilder()
+ *         spannerSettingsBuilder.createSessionSettings().getRetrySettings().toBuilder()
  *             .setTotalTimeout(Duration.ofSeconds(30))
  *             .build());
  * SpannerSettings spannerSettings = spannerSettingsBuilder.build();
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/package-info.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/package-info.java
index bc57d4c62ee..2f88725f216 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/package-info.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/package-info.java
@@ -27,8 +27,11 @@
  * 

Sample for SpannerClient: * *

{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * try (SpannerClient spannerClient = SpannerClient.create()) {
  *   DatabaseName database = DatabaseName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]");
  *   Session response = spannerClient.createSession(database);
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/HttpJsonSpannerStub.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/HttpJsonSpannerStub.java
index 8a07ec7a041..1cd85347332 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/HttpJsonSpannerStub.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/HttpJsonSpannerStub.java
@@ -101,7 +101,7 @@ public class HttpJsonSpannerStub extends SpannerStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearDatabase().build()))
+                                  .toBody("*", request.toBuilder().clearDatabase().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -137,7 +137,7 @@ public class HttpJsonSpannerStub extends SpannerStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearDatabase().build()))
+                                  .toBody("*", request.toBuilder().clearDatabase().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -274,7 +274,7 @@ public class HttpJsonSpannerStub extends SpannerStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearSession().build()))
+                                  .toBody("*", request.toBuilder().clearSession().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -310,7 +310,7 @@ public class HttpJsonSpannerStub extends SpannerStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearSession().build()))
+                                  .toBody("*", request.toBuilder().clearSession().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -346,7 +346,7 @@ public class HttpJsonSpannerStub extends SpannerStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearSession().build()))
+                                  .toBody("*", request.toBuilder().clearSession().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -379,7 +379,7 @@ public class HttpJsonSpannerStub extends SpannerStub {
                   .setRequestBodyExtractor(
                       request ->
                           ProtoRestSerializer.create()
-                              .toBody("*", request.toBuilder().clearSession().build()))
+                              .toBody("*", request.toBuilder().clearSession().build(), false))
                   .build())
           .setResponseParser(
               ProtoMessageResponseParser.newBuilder()
@@ -415,7 +415,7 @@ public class HttpJsonSpannerStub extends SpannerStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearSession().build()))
+                                  .toBody("*", request.toBuilder().clearSession().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -451,7 +451,7 @@ public class HttpJsonSpannerStub extends SpannerStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearSession().build()))
+                                  .toBody("*", request.toBuilder().clearSession().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -486,7 +486,7 @@ public class HttpJsonSpannerStub extends SpannerStub {
                   .setRequestBodyExtractor(
                       request ->
                           ProtoRestSerializer.create()
-                              .toBody("*", request.toBuilder().clearSession().build()))
+                              .toBody("*", request.toBuilder().clearSession().build(), false))
                   .build())
           .setResponseParser(
               ProtoMessageResponseParser.newBuilder()
@@ -521,7 +521,7 @@ public class HttpJsonSpannerStub extends SpannerStub {
                   .setRequestBodyExtractor(
                       request ->
                           ProtoRestSerializer.create()
-                              .toBody("*", request.toBuilder().clearSession().build()))
+                              .toBody("*", request.toBuilder().clearSession().build(), false))
                   .build())
           .setResponseParser(
               ProtoMessageResponseParser.newBuilder()
@@ -557,7 +557,7 @@ public class HttpJsonSpannerStub extends SpannerStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearSession().build()))
+                                  .toBody("*", request.toBuilder().clearSession().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
@@ -593,7 +593,7 @@ public class HttpJsonSpannerStub extends SpannerStub {
                       .setRequestBodyExtractor(
                           request ->
                               ProtoRestSerializer.create()
-                                  .toBody("*", request.toBuilder().clearSession().build()))
+                                  .toBody("*", request.toBuilder().clearSession().build(), false))
                       .build())
               .setResponseParser(
                   ProtoMessageResponseParser.newBuilder()
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/SpannerStubSettings.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/SpannerStubSettings.java
index 477fdd2fa75..f244ce87f87 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/SpannerStubSettings.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/SpannerStubSettings.java
@@ -94,16 +94,16 @@
  * 

For example, to set the total timeout of createSession to 30 seconds: * *

{@code
- * // This snippet has been automatically generated for illustrative purposes only.
- * // It may require modifications to work in your environment.
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
  * SpannerStubSettings.Builder spannerSettingsBuilder = SpannerStubSettings.newBuilder();
  * spannerSettingsBuilder
  *     .createSessionSettings()
  *     .setRetrySettings(
- *         spannerSettingsBuilder
- *             .createSessionSettings()
- *             .getRetrySettings()
- *             .toBuilder()
+ *         spannerSettingsBuilder.createSessionSettings().getRetrySettings().toBuilder()
  *             .setTotalTimeout(Duration.ofSeconds(30))
  *             .build());
  * SpannerStubSettings spannerSettings = spannerSettingsBuilder.build();
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminClientHttpJsonTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminClientHttpJsonTest.java
index af9298a4b81..4088a052668 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminClientHttpJsonTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminClientHttpJsonTest.java
@@ -16,6 +16,7 @@
 
 package com.google.cloud.spanner.admin.instance.v1;
 
+import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstanceConfigOperationsPagedResponse;
 import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstanceConfigsPagedResponse;
 import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstancesPagedResponse;
 
@@ -45,6 +46,7 @@
 import com.google.spanner.admin.instance.v1.InstanceConfig;
 import com.google.spanner.admin.instance.v1.InstanceConfigName;
 import com.google.spanner.admin.instance.v1.InstanceName;
+import com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse;
 import com.google.spanner.admin.instance.v1.ListInstanceConfigsResponse;
 import com.google.spanner.admin.instance.v1.ListInstancesResponse;
 import com.google.spanner.admin.instance.v1.ProjectName;
@@ -205,7 +207,12 @@ public void getInstanceConfigTest() throws Exception {
             .setName(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
             .setDisplayName("displayName1714148973")
             .addAllReplicas(new ArrayList())
+            .addAllOptionalReplicas(new ArrayList())
+            .setBaseConfig(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+            .putAllLabels(new HashMap())
+            .setEtag("etag3123477")
             .addAllLeaderOptions(new ArrayList())
+            .setReconciling(true)
             .build();
     mockService.addResponse(expectedResponse);
 
@@ -252,7 +259,12 @@ public void getInstanceConfigTest2() throws Exception {
             .setName(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
             .setDisplayName("displayName1714148973")
             .addAllReplicas(new ArrayList())
+            .addAllOptionalReplicas(new ArrayList())
+            .setBaseConfig(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+            .putAllLabels(new HashMap())
+            .setEtag("etag3123477")
             .addAllLeaderOptions(new ArrayList())
+            .setReconciling(true)
             .build();
     mockService.addResponse(expectedResponse);
 
@@ -292,6 +304,394 @@ public void getInstanceConfigExceptionTest2() throws Exception {
     }
   }
 
+  @Test
+  public void createInstanceConfigTest() throws Exception {
+    InstanceConfig expectedResponse =
+        InstanceConfig.newBuilder()
+            .setName(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+            .setDisplayName("displayName1714148973")
+            .addAllReplicas(new ArrayList())
+            .addAllOptionalReplicas(new ArrayList())
+            .setBaseConfig(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+            .putAllLabels(new HashMap())
+            .setEtag("etag3123477")
+            .addAllLeaderOptions(new ArrayList())
+            .setReconciling(true)
+            .build();
+    Operation resultOperation =
+        Operation.newBuilder()
+            .setName("createInstanceConfigTest")
+            .setDone(true)
+            .setResponse(Any.pack(expectedResponse))
+            .build();
+    mockService.addResponse(resultOperation);
+
+    ProjectName parent = ProjectName.of("[PROJECT]");
+    InstanceConfig instanceConfig = InstanceConfig.newBuilder().build();
+    String instanceConfigId = "instanceConfigId1750947762";
+
+    InstanceConfig actualResponse =
+        client.createInstanceConfigAsync(parent, instanceConfig, instanceConfigId).get();
+    Assert.assertEquals(expectedResponse, actualResponse);
+
+    List actualRequests = mockService.getRequestPaths();
+    Assert.assertEquals(1, actualRequests.size());
+
+    String apiClientHeaderKey =
+        mockService
+            .getRequestHeaders()
+            .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+            .iterator()
+            .next();
+    Assert.assertTrue(
+        GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+            .matcher(apiClientHeaderKey)
+            .matches());
+  }
+
+  @Test
+  public void createInstanceConfigExceptionTest() throws Exception {
+    ApiException exception =
+        ApiExceptionFactory.createException(
+            new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+    mockService.addException(exception);
+
+    try {
+      ProjectName parent = ProjectName.of("[PROJECT]");
+      InstanceConfig instanceConfig = InstanceConfig.newBuilder().build();
+      String instanceConfigId = "instanceConfigId1750947762";
+      client.createInstanceConfigAsync(parent, instanceConfig, instanceConfigId).get();
+      Assert.fail("No exception raised");
+    } catch (ExecutionException e) {
+    }
+  }
+
+  @Test
+  public void createInstanceConfigTest2() throws Exception {
+    InstanceConfig expectedResponse =
+        InstanceConfig.newBuilder()
+            .setName(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+            .setDisplayName("displayName1714148973")
+            .addAllReplicas(new ArrayList())
+            .addAllOptionalReplicas(new ArrayList())
+            .setBaseConfig(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+            .putAllLabels(new HashMap())
+            .setEtag("etag3123477")
+            .addAllLeaderOptions(new ArrayList())
+            .setReconciling(true)
+            .build();
+    Operation resultOperation =
+        Operation.newBuilder()
+            .setName("createInstanceConfigTest")
+            .setDone(true)
+            .setResponse(Any.pack(expectedResponse))
+            .build();
+    mockService.addResponse(resultOperation);
+
+    String parent = "projects/project-2353";
+    InstanceConfig instanceConfig = InstanceConfig.newBuilder().build();
+    String instanceConfigId = "instanceConfigId1750947762";
+
+    InstanceConfig actualResponse =
+        client.createInstanceConfigAsync(parent, instanceConfig, instanceConfigId).get();
+    Assert.assertEquals(expectedResponse, actualResponse);
+
+    List actualRequests = mockService.getRequestPaths();
+    Assert.assertEquals(1, actualRequests.size());
+
+    String apiClientHeaderKey =
+        mockService
+            .getRequestHeaders()
+            .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+            .iterator()
+            .next();
+    Assert.assertTrue(
+        GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+            .matcher(apiClientHeaderKey)
+            .matches());
+  }
+
+  @Test
+  public void createInstanceConfigExceptionTest2() throws Exception {
+    ApiException exception =
+        ApiExceptionFactory.createException(
+            new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+    mockService.addException(exception);
+
+    try {
+      String parent = "projects/project-2353";
+      InstanceConfig instanceConfig = InstanceConfig.newBuilder().build();
+      String instanceConfigId = "instanceConfigId1750947762";
+      client.createInstanceConfigAsync(parent, instanceConfig, instanceConfigId).get();
+      Assert.fail("No exception raised");
+    } catch (ExecutionException e) {
+    }
+  }
+
+  @Test
+  public void updateInstanceConfigTest() throws Exception {
+    InstanceConfig expectedResponse =
+        InstanceConfig.newBuilder()
+            .setName(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+            .setDisplayName("displayName1714148973")
+            .addAllReplicas(new ArrayList())
+            .addAllOptionalReplicas(new ArrayList())
+            .setBaseConfig(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+            .putAllLabels(new HashMap())
+            .setEtag("etag3123477")
+            .addAllLeaderOptions(new ArrayList())
+            .setReconciling(true)
+            .build();
+    Operation resultOperation =
+        Operation.newBuilder()
+            .setName("updateInstanceConfigTest")
+            .setDone(true)
+            .setResponse(Any.pack(expectedResponse))
+            .build();
+    mockService.addResponse(resultOperation);
+
+    InstanceConfig instanceConfig =
+        InstanceConfig.newBuilder()
+            .setName(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+            .setDisplayName("displayName1714148973")
+            .addAllReplicas(new ArrayList())
+            .addAllOptionalReplicas(new ArrayList())
+            .setBaseConfig(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+            .putAllLabels(new HashMap())
+            .setEtag("etag3123477")
+            .addAllLeaderOptions(new ArrayList())
+            .setReconciling(true)
+            .build();
+    FieldMask updateMask = FieldMask.newBuilder().build();
+
+    InstanceConfig actualResponse =
+        client.updateInstanceConfigAsync(instanceConfig, updateMask).get();
+    Assert.assertEquals(expectedResponse, actualResponse);
+
+    List actualRequests = mockService.getRequestPaths();
+    Assert.assertEquals(1, actualRequests.size());
+
+    String apiClientHeaderKey =
+        mockService
+            .getRequestHeaders()
+            .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+            .iterator()
+            .next();
+    Assert.assertTrue(
+        GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+            .matcher(apiClientHeaderKey)
+            .matches());
+  }
+
+  @Test
+  public void updateInstanceConfigExceptionTest() throws Exception {
+    ApiException exception =
+        ApiExceptionFactory.createException(
+            new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+    mockService.addException(exception);
+
+    try {
+      InstanceConfig instanceConfig =
+          InstanceConfig.newBuilder()
+              .setName(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+              .setDisplayName("displayName1714148973")
+              .addAllReplicas(new ArrayList())
+              .addAllOptionalReplicas(new ArrayList())
+              .setBaseConfig(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+              .putAllLabels(new HashMap())
+              .setEtag("etag3123477")
+              .addAllLeaderOptions(new ArrayList())
+              .setReconciling(true)
+              .build();
+      FieldMask updateMask = FieldMask.newBuilder().build();
+      client.updateInstanceConfigAsync(instanceConfig, updateMask).get();
+      Assert.fail("No exception raised");
+    } catch (ExecutionException e) {
+    }
+  }
+
+  @Test
+  public void deleteInstanceConfigTest() throws Exception {
+    Empty expectedResponse = Empty.newBuilder().build();
+    mockService.addResponse(expectedResponse);
+
+    InstanceConfigName name = InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]");
+
+    client.deleteInstanceConfig(name);
+
+    List actualRequests = mockService.getRequestPaths();
+    Assert.assertEquals(1, actualRequests.size());
+
+    String apiClientHeaderKey =
+        mockService
+            .getRequestHeaders()
+            .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+            .iterator()
+            .next();
+    Assert.assertTrue(
+        GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+            .matcher(apiClientHeaderKey)
+            .matches());
+  }
+
+  @Test
+  public void deleteInstanceConfigExceptionTest() throws Exception {
+    ApiException exception =
+        ApiExceptionFactory.createException(
+            new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+    mockService.addException(exception);
+
+    try {
+      InstanceConfigName name = InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]");
+      client.deleteInstanceConfig(name);
+      Assert.fail("No exception raised");
+    } catch (InvalidArgumentException e) {
+      // Expected exception.
+    }
+  }
+
+  @Test
+  public void deleteInstanceConfigTest2() throws Exception {
+    Empty expectedResponse = Empty.newBuilder().build();
+    mockService.addResponse(expectedResponse);
+
+    String name = "projects/project-3640/instanceConfigs/instanceConfig-3640";
+
+    client.deleteInstanceConfig(name);
+
+    List actualRequests = mockService.getRequestPaths();
+    Assert.assertEquals(1, actualRequests.size());
+
+    String apiClientHeaderKey =
+        mockService
+            .getRequestHeaders()
+            .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+            .iterator()
+            .next();
+    Assert.assertTrue(
+        GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+            .matcher(apiClientHeaderKey)
+            .matches());
+  }
+
+  @Test
+  public void deleteInstanceConfigExceptionTest2() throws Exception {
+    ApiException exception =
+        ApiExceptionFactory.createException(
+            new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+    mockService.addException(exception);
+
+    try {
+      String name = "projects/project-3640/instanceConfigs/instanceConfig-3640";
+      client.deleteInstanceConfig(name);
+      Assert.fail("No exception raised");
+    } catch (InvalidArgumentException e) {
+      // Expected exception.
+    }
+  }
+
+  @Test
+  public void listInstanceConfigOperationsTest() throws Exception {
+    Operation responsesElement = Operation.newBuilder().build();
+    ListInstanceConfigOperationsResponse expectedResponse =
+        ListInstanceConfigOperationsResponse.newBuilder()
+            .setNextPageToken("")
+            .addAllOperations(Arrays.asList(responsesElement))
+            .build();
+    mockService.addResponse(expectedResponse);
+
+    ProjectName parent = ProjectName.of("[PROJECT]");
+
+    ListInstanceConfigOperationsPagedResponse pagedListResponse =
+        client.listInstanceConfigOperations(parent);
+
+    List resources = Lists.newArrayList(pagedListResponse.iterateAll());
+
+    Assert.assertEquals(1, resources.size());
+    Assert.assertEquals(expectedResponse.getOperationsList().get(0), resources.get(0));
+
+    List actualRequests = mockService.getRequestPaths();
+    Assert.assertEquals(1, actualRequests.size());
+
+    String apiClientHeaderKey =
+        mockService
+            .getRequestHeaders()
+            .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+            .iterator()
+            .next();
+    Assert.assertTrue(
+        GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+            .matcher(apiClientHeaderKey)
+            .matches());
+  }
+
+  @Test
+  public void listInstanceConfigOperationsExceptionTest() throws Exception {
+    ApiException exception =
+        ApiExceptionFactory.createException(
+            new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+    mockService.addException(exception);
+
+    try {
+      ProjectName parent = ProjectName.of("[PROJECT]");
+      client.listInstanceConfigOperations(parent);
+      Assert.fail("No exception raised");
+    } catch (InvalidArgumentException e) {
+      // Expected exception.
+    }
+  }
+
+  @Test
+  public void listInstanceConfigOperationsTest2() throws Exception {
+    Operation responsesElement = Operation.newBuilder().build();
+    ListInstanceConfigOperationsResponse expectedResponse =
+        ListInstanceConfigOperationsResponse.newBuilder()
+            .setNextPageToken("")
+            .addAllOperations(Arrays.asList(responsesElement))
+            .build();
+    mockService.addResponse(expectedResponse);
+
+    String parent = "projects/project-2353";
+
+    ListInstanceConfigOperationsPagedResponse pagedListResponse =
+        client.listInstanceConfigOperations(parent);
+
+    List resources = Lists.newArrayList(pagedListResponse.iterateAll());
+
+    Assert.assertEquals(1, resources.size());
+    Assert.assertEquals(expectedResponse.getOperationsList().get(0), resources.get(0));
+
+    List actualRequests = mockService.getRequestPaths();
+    Assert.assertEquals(1, actualRequests.size());
+
+    String apiClientHeaderKey =
+        mockService
+            .getRequestHeaders()
+            .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+            .iterator()
+            .next();
+    Assert.assertTrue(
+        GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+            .matcher(apiClientHeaderKey)
+            .matches());
+  }
+
+  @Test
+  public void listInstanceConfigOperationsExceptionTest2() throws Exception {
+    ApiException exception =
+        ApiExceptionFactory.createException(
+            new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+    mockService.addException(exception);
+
+    try {
+      String parent = "projects/project-2353";
+      client.listInstanceConfigOperations(parent);
+      Assert.fail("No exception raised");
+    } catch (InvalidArgumentException e) {
+      // Expected exception.
+    }
+  }
+
   @Test
   public void listInstancesTest() throws Exception {
     Instance responsesElement = Instance.newBuilder().build();
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminClientTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminClientTest.java
index 75649dd676c..a120a858542 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminClientTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminClientTest.java
@@ -16,6 +16,7 @@
 
 package com.google.cloud.spanner.admin.instance.v1;
 
+import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstanceConfigOperationsPagedResponse;
 import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstanceConfigsPagedResponse;
 import static com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient.ListInstancesPagedResponse;
 
@@ -43,7 +44,9 @@
 import com.google.protobuf.Empty;
 import com.google.protobuf.FieldMask;
 import com.google.protobuf.Timestamp;
+import com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.CreateInstanceRequest;
+import com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.DeleteInstanceRequest;
 import com.google.spanner.admin.instance.v1.GetInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.GetInstanceRequest;
@@ -51,12 +54,15 @@
 import com.google.spanner.admin.instance.v1.InstanceConfig;
 import com.google.spanner.admin.instance.v1.InstanceConfigName;
 import com.google.spanner.admin.instance.v1.InstanceName;
+import com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest;
+import com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse;
 import com.google.spanner.admin.instance.v1.ListInstanceConfigsRequest;
 import com.google.spanner.admin.instance.v1.ListInstanceConfigsResponse;
 import com.google.spanner.admin.instance.v1.ListInstancesRequest;
 import com.google.spanner.admin.instance.v1.ListInstancesResponse;
 import com.google.spanner.admin.instance.v1.ProjectName;
 import com.google.spanner.admin.instance.v1.ReplicaInfo;
+import com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.UpdateInstanceRequest;
 import io.grpc.StatusRuntimeException;
 import java.io.IOException;
@@ -207,7 +213,12 @@ public void getInstanceConfigTest() throws Exception {
             .setName(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
             .setDisplayName("displayName1714148973")
             .addAllReplicas(new ArrayList())
+            .addAllOptionalReplicas(new ArrayList())
+            .setBaseConfig(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+            .putAllLabels(new HashMap())
+            .setEtag("etag3123477")
             .addAllLeaderOptions(new ArrayList())
+            .setReconciling(true)
             .build();
     mockInstanceAdmin.addResponse(expectedResponse);
 
@@ -248,7 +259,12 @@ public void getInstanceConfigTest2() throws Exception {
             .setName(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
             .setDisplayName("displayName1714148973")
             .addAllReplicas(new ArrayList())
+            .addAllOptionalReplicas(new ArrayList())
+            .setBaseConfig(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+            .putAllLabels(new HashMap())
+            .setEtag("etag3123477")
             .addAllLeaderOptions(new ArrayList())
+            .setReconciling(true)
             .build();
     mockInstanceAdmin.addResponse(expectedResponse);
 
@@ -282,6 +298,351 @@ public void getInstanceConfigExceptionTest2() throws Exception {
     }
   }
 
+  @Test
+  public void createInstanceConfigTest() throws Exception {
+    InstanceConfig expectedResponse =
+        InstanceConfig.newBuilder()
+            .setName(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+            .setDisplayName("displayName1714148973")
+            .addAllReplicas(new ArrayList())
+            .addAllOptionalReplicas(new ArrayList())
+            .setBaseConfig(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+            .putAllLabels(new HashMap())
+            .setEtag("etag3123477")
+            .addAllLeaderOptions(new ArrayList())
+            .setReconciling(true)
+            .build();
+    Operation resultOperation =
+        Operation.newBuilder()
+            .setName("createInstanceConfigTest")
+            .setDone(true)
+            .setResponse(Any.pack(expectedResponse))
+            .build();
+    mockInstanceAdmin.addResponse(resultOperation);
+
+    ProjectName parent = ProjectName.of("[PROJECT]");
+    InstanceConfig instanceConfig = InstanceConfig.newBuilder().build();
+    String instanceConfigId = "instanceConfigId1750947762";
+
+    InstanceConfig actualResponse =
+        client.createInstanceConfigAsync(parent, instanceConfig, instanceConfigId).get();
+    Assert.assertEquals(expectedResponse, actualResponse);
+
+    List actualRequests = mockInstanceAdmin.getRequests();
+    Assert.assertEquals(1, actualRequests.size());
+    CreateInstanceConfigRequest actualRequest =
+        ((CreateInstanceConfigRequest) actualRequests.get(0));
+
+    Assert.assertEquals(parent.toString(), actualRequest.getParent());
+    Assert.assertEquals(instanceConfig, actualRequest.getInstanceConfig());
+    Assert.assertEquals(instanceConfigId, actualRequest.getInstanceConfigId());
+    Assert.assertTrue(
+        channelProvider.isHeaderSent(
+            ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
+            GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
+  }
+
+  @Test
+  public void createInstanceConfigExceptionTest() throws Exception {
+    StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
+    mockInstanceAdmin.addException(exception);
+
+    try {
+      ProjectName parent = ProjectName.of("[PROJECT]");
+      InstanceConfig instanceConfig = InstanceConfig.newBuilder().build();
+      String instanceConfigId = "instanceConfigId1750947762";
+      client.createInstanceConfigAsync(parent, instanceConfig, instanceConfigId).get();
+      Assert.fail("No exception raised");
+    } catch (ExecutionException e) {
+      Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
+      InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
+      Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
+    }
+  }
+
+  @Test
+  public void createInstanceConfigTest2() throws Exception {
+    InstanceConfig expectedResponse =
+        InstanceConfig.newBuilder()
+            .setName(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+            .setDisplayName("displayName1714148973")
+            .addAllReplicas(new ArrayList())
+            .addAllOptionalReplicas(new ArrayList())
+            .setBaseConfig(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+            .putAllLabels(new HashMap())
+            .setEtag("etag3123477")
+            .addAllLeaderOptions(new ArrayList())
+            .setReconciling(true)
+            .build();
+    Operation resultOperation =
+        Operation.newBuilder()
+            .setName("createInstanceConfigTest")
+            .setDone(true)
+            .setResponse(Any.pack(expectedResponse))
+            .build();
+    mockInstanceAdmin.addResponse(resultOperation);
+
+    String parent = "parent-995424086";
+    InstanceConfig instanceConfig = InstanceConfig.newBuilder().build();
+    String instanceConfigId = "instanceConfigId1750947762";
+
+    InstanceConfig actualResponse =
+        client.createInstanceConfigAsync(parent, instanceConfig, instanceConfigId).get();
+    Assert.assertEquals(expectedResponse, actualResponse);
+
+    List actualRequests = mockInstanceAdmin.getRequests();
+    Assert.assertEquals(1, actualRequests.size());
+    CreateInstanceConfigRequest actualRequest =
+        ((CreateInstanceConfigRequest) actualRequests.get(0));
+
+    Assert.assertEquals(parent, actualRequest.getParent());
+    Assert.assertEquals(instanceConfig, actualRequest.getInstanceConfig());
+    Assert.assertEquals(instanceConfigId, actualRequest.getInstanceConfigId());
+    Assert.assertTrue(
+        channelProvider.isHeaderSent(
+            ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
+            GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
+  }
+
+  @Test
+  public void createInstanceConfigExceptionTest2() throws Exception {
+    StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
+    mockInstanceAdmin.addException(exception);
+
+    try {
+      String parent = "parent-995424086";
+      InstanceConfig instanceConfig = InstanceConfig.newBuilder().build();
+      String instanceConfigId = "instanceConfigId1750947762";
+      client.createInstanceConfigAsync(parent, instanceConfig, instanceConfigId).get();
+      Assert.fail("No exception raised");
+    } catch (ExecutionException e) {
+      Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
+      InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
+      Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
+    }
+  }
+
+  @Test
+  public void updateInstanceConfigTest() throws Exception {
+    InstanceConfig expectedResponse =
+        InstanceConfig.newBuilder()
+            .setName(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+            .setDisplayName("displayName1714148973")
+            .addAllReplicas(new ArrayList())
+            .addAllOptionalReplicas(new ArrayList())
+            .setBaseConfig(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString())
+            .putAllLabels(new HashMap())
+            .setEtag("etag3123477")
+            .addAllLeaderOptions(new ArrayList())
+            .setReconciling(true)
+            .build();
+    Operation resultOperation =
+        Operation.newBuilder()
+            .setName("updateInstanceConfigTest")
+            .setDone(true)
+            .setResponse(Any.pack(expectedResponse))
+            .build();
+    mockInstanceAdmin.addResponse(resultOperation);
+
+    InstanceConfig instanceConfig = InstanceConfig.newBuilder().build();
+    FieldMask updateMask = FieldMask.newBuilder().build();
+
+    InstanceConfig actualResponse =
+        client.updateInstanceConfigAsync(instanceConfig, updateMask).get();
+    Assert.assertEquals(expectedResponse, actualResponse);
+
+    List actualRequests = mockInstanceAdmin.getRequests();
+    Assert.assertEquals(1, actualRequests.size());
+    UpdateInstanceConfigRequest actualRequest =
+        ((UpdateInstanceConfigRequest) actualRequests.get(0));
+
+    Assert.assertEquals(instanceConfig, actualRequest.getInstanceConfig());
+    Assert.assertEquals(updateMask, actualRequest.getUpdateMask());
+    Assert.assertTrue(
+        channelProvider.isHeaderSent(
+            ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
+            GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
+  }
+
+  @Test
+  public void updateInstanceConfigExceptionTest() throws Exception {
+    StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
+    mockInstanceAdmin.addException(exception);
+
+    try {
+      InstanceConfig instanceConfig = InstanceConfig.newBuilder().build();
+      FieldMask updateMask = FieldMask.newBuilder().build();
+      client.updateInstanceConfigAsync(instanceConfig, updateMask).get();
+      Assert.fail("No exception raised");
+    } catch (ExecutionException e) {
+      Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
+      InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
+      Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
+    }
+  }
+
+  @Test
+  public void deleteInstanceConfigTest() throws Exception {
+    Empty expectedResponse = Empty.newBuilder().build();
+    mockInstanceAdmin.addResponse(expectedResponse);
+
+    InstanceConfigName name = InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]");
+
+    client.deleteInstanceConfig(name);
+
+    List actualRequests = mockInstanceAdmin.getRequests();
+    Assert.assertEquals(1, actualRequests.size());
+    DeleteInstanceConfigRequest actualRequest =
+        ((DeleteInstanceConfigRequest) actualRequests.get(0));
+
+    Assert.assertEquals(name.toString(), actualRequest.getName());
+    Assert.assertTrue(
+        channelProvider.isHeaderSent(
+            ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
+            GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
+  }
+
+  @Test
+  public void deleteInstanceConfigExceptionTest() throws Exception {
+    StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
+    mockInstanceAdmin.addException(exception);
+
+    try {
+      InstanceConfigName name = InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]");
+      client.deleteInstanceConfig(name);
+      Assert.fail("No exception raised");
+    } catch (InvalidArgumentException e) {
+      // Expected exception.
+    }
+  }
+
+  @Test
+  public void deleteInstanceConfigTest2() throws Exception {
+    Empty expectedResponse = Empty.newBuilder().build();
+    mockInstanceAdmin.addResponse(expectedResponse);
+
+    String name = "name3373707";
+
+    client.deleteInstanceConfig(name);
+
+    List actualRequests = mockInstanceAdmin.getRequests();
+    Assert.assertEquals(1, actualRequests.size());
+    DeleteInstanceConfigRequest actualRequest =
+        ((DeleteInstanceConfigRequest) actualRequests.get(0));
+
+    Assert.assertEquals(name, actualRequest.getName());
+    Assert.assertTrue(
+        channelProvider.isHeaderSent(
+            ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
+            GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
+  }
+
+  @Test
+  public void deleteInstanceConfigExceptionTest2() throws Exception {
+    StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
+    mockInstanceAdmin.addException(exception);
+
+    try {
+      String name = "name3373707";
+      client.deleteInstanceConfig(name);
+      Assert.fail("No exception raised");
+    } catch (InvalidArgumentException e) {
+      // Expected exception.
+    }
+  }
+
+  @Test
+  public void listInstanceConfigOperationsTest() throws Exception {
+    Operation responsesElement = Operation.newBuilder().build();
+    ListInstanceConfigOperationsResponse expectedResponse =
+        ListInstanceConfigOperationsResponse.newBuilder()
+            .setNextPageToken("")
+            .addAllOperations(Arrays.asList(responsesElement))
+            .build();
+    mockInstanceAdmin.addResponse(expectedResponse);
+
+    ProjectName parent = ProjectName.of("[PROJECT]");
+
+    ListInstanceConfigOperationsPagedResponse pagedListResponse =
+        client.listInstanceConfigOperations(parent);
+
+    List resources = Lists.newArrayList(pagedListResponse.iterateAll());
+
+    Assert.assertEquals(1, resources.size());
+    Assert.assertEquals(expectedResponse.getOperationsList().get(0), resources.get(0));
+
+    List actualRequests = mockInstanceAdmin.getRequests();
+    Assert.assertEquals(1, actualRequests.size());
+    ListInstanceConfigOperationsRequest actualRequest =
+        ((ListInstanceConfigOperationsRequest) actualRequests.get(0));
+
+    Assert.assertEquals(parent.toString(), actualRequest.getParent());
+    Assert.assertTrue(
+        channelProvider.isHeaderSent(
+            ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
+            GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
+  }
+
+  @Test
+  public void listInstanceConfigOperationsExceptionTest() throws Exception {
+    StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
+    mockInstanceAdmin.addException(exception);
+
+    try {
+      ProjectName parent = ProjectName.of("[PROJECT]");
+      client.listInstanceConfigOperations(parent);
+      Assert.fail("No exception raised");
+    } catch (InvalidArgumentException e) {
+      // Expected exception.
+    }
+  }
+
+  @Test
+  public void listInstanceConfigOperationsTest2() throws Exception {
+    Operation responsesElement = Operation.newBuilder().build();
+    ListInstanceConfigOperationsResponse expectedResponse =
+        ListInstanceConfigOperationsResponse.newBuilder()
+            .setNextPageToken("")
+            .addAllOperations(Arrays.asList(responsesElement))
+            .build();
+    mockInstanceAdmin.addResponse(expectedResponse);
+
+    String parent = "parent-995424086";
+
+    ListInstanceConfigOperationsPagedResponse pagedListResponse =
+        client.listInstanceConfigOperations(parent);
+
+    List resources = Lists.newArrayList(pagedListResponse.iterateAll());
+
+    Assert.assertEquals(1, resources.size());
+    Assert.assertEquals(expectedResponse.getOperationsList().get(0), resources.get(0));
+
+    List actualRequests = mockInstanceAdmin.getRequests();
+    Assert.assertEquals(1, actualRequests.size());
+    ListInstanceConfigOperationsRequest actualRequest =
+        ((ListInstanceConfigOperationsRequest) actualRequests.get(0));
+
+    Assert.assertEquals(parent, actualRequest.getParent());
+    Assert.assertTrue(
+        channelProvider.isHeaderSent(
+            ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
+            GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
+  }
+
+  @Test
+  public void listInstanceConfigOperationsExceptionTest2() throws Exception {
+    StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
+    mockInstanceAdmin.addException(exception);
+
+    try {
+      String parent = "parent-995424086";
+      client.listInstanceConfigOperations(parent);
+      Assert.fail("No exception raised");
+    } catch (InvalidArgumentException e) {
+      // Expected exception.
+    }
+  }
+
   @Test
   public void listInstancesTest() throws Exception {
     Instance responsesElement = Instance.newBuilder().build();
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/instance/v1/MockInstanceAdminImpl.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/instance/v1/MockInstanceAdminImpl.java
index 85d1d5d2d6a..a8372c749d2 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/instance/v1/MockInstanceAdminImpl.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/instance/v1/MockInstanceAdminImpl.java
@@ -25,17 +25,22 @@
 import com.google.longrunning.Operation;
 import com.google.protobuf.AbstractMessage;
 import com.google.protobuf.Empty;
+import com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.CreateInstanceRequest;
+import com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.DeleteInstanceRequest;
 import com.google.spanner.admin.instance.v1.GetInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.GetInstanceRequest;
 import com.google.spanner.admin.instance.v1.Instance;
 import com.google.spanner.admin.instance.v1.InstanceAdminGrpc.InstanceAdminImplBase;
 import com.google.spanner.admin.instance.v1.InstanceConfig;
+import com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest;
+import com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse;
 import com.google.spanner.admin.instance.v1.ListInstanceConfigsRequest;
 import com.google.spanner.admin.instance.v1.ListInstanceConfigsResponse;
 import com.google.spanner.admin.instance.v1.ListInstancesRequest;
 import com.google.spanner.admin.instance.v1.ListInstancesResponse;
+import com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest;
 import com.google.spanner.admin.instance.v1.UpdateInstanceRequest;
 import io.grpc.stub.StreamObserver;
 import java.util.ArrayList;
@@ -119,6 +124,91 @@ public void getInstanceConfig(
     }
   }
 
+  @Override
+  public void createInstanceConfig(
+      CreateInstanceConfigRequest request, StreamObserver responseObserver) {
+    Object response = responses.poll();
+    if (response instanceof Operation) {
+      requests.add(request);
+      responseObserver.onNext(((Operation) response));
+      responseObserver.onCompleted();
+    } else if (response instanceof Exception) {
+      responseObserver.onError(((Exception) response));
+    } else {
+      responseObserver.onError(
+          new IllegalArgumentException(
+              String.format(
+                  "Unrecognized response type %s for method CreateInstanceConfig, expected %s or %s",
+                  response == null ? "null" : response.getClass().getName(),
+                  Operation.class.getName(),
+                  Exception.class.getName())));
+    }
+  }
+
+  @Override
+  public void updateInstanceConfig(
+      UpdateInstanceConfigRequest request, StreamObserver responseObserver) {
+    Object response = responses.poll();
+    if (response instanceof Operation) {
+      requests.add(request);
+      responseObserver.onNext(((Operation) response));
+      responseObserver.onCompleted();
+    } else if (response instanceof Exception) {
+      responseObserver.onError(((Exception) response));
+    } else {
+      responseObserver.onError(
+          new IllegalArgumentException(
+              String.format(
+                  "Unrecognized response type %s for method UpdateInstanceConfig, expected %s or %s",
+                  response == null ? "null" : response.getClass().getName(),
+                  Operation.class.getName(),
+                  Exception.class.getName())));
+    }
+  }
+
+  @Override
+  public void deleteInstanceConfig(
+      DeleteInstanceConfigRequest request, StreamObserver responseObserver) {
+    Object response = responses.poll();
+    if (response instanceof Empty) {
+      requests.add(request);
+      responseObserver.onNext(((Empty) response));
+      responseObserver.onCompleted();
+    } else if (response instanceof Exception) {
+      responseObserver.onError(((Exception) response));
+    } else {
+      responseObserver.onError(
+          new IllegalArgumentException(
+              String.format(
+                  "Unrecognized response type %s for method DeleteInstanceConfig, expected %s or %s",
+                  response == null ? "null" : response.getClass().getName(),
+                  Empty.class.getName(),
+                  Exception.class.getName())));
+    }
+  }
+
+  @Override
+  public void listInstanceConfigOperations(
+      ListInstanceConfigOperationsRequest request,
+      StreamObserver responseObserver) {
+    Object response = responses.poll();
+    if (response instanceof ListInstanceConfigOperationsResponse) {
+      requests.add(request);
+      responseObserver.onNext(((ListInstanceConfigOperationsResponse) response));
+      responseObserver.onCompleted();
+    } else if (response instanceof Exception) {
+      responseObserver.onError(((Exception) response));
+    } else {
+      responseObserver.onError(
+          new IllegalArgumentException(
+              String.format(
+                  "Unrecognized response type %s for method ListInstanceConfigOperations, expected %s or %s",
+                  response == null ? "null" : response.getClass().getName(),
+                  ListInstanceConfigOperationsResponse.class.getName(),
+                  Exception.class.getName())));
+    }
+  }
+
   @Override
   public void listInstances(
       ListInstancesRequest request, StreamObserver responseObserver) {
diff --git a/grpc-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceAdminGrpc.java b/grpc-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceAdminGrpc.java
index 6b59f6a4f04..8e01cc281ad 100644
--- a/grpc-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceAdminGrpc.java
+++ b/grpc-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceAdminGrpc.java
@@ -148,6 +148,203 @@ private InstanceAdminGrpc() {}
     return getGetInstanceConfigMethod;
   }
 
+  private static volatile io.grpc.MethodDescriptor<
+          com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest,
+          com.google.longrunning.Operation>
+      getCreateInstanceConfigMethod;
+
+  @io.grpc.stub.annotations.RpcMethod(
+      fullMethodName = SERVICE_NAME + '/' + "CreateInstanceConfig",
+      requestType = com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest.class,
+      responseType = com.google.longrunning.Operation.class,
+      methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
+  public static io.grpc.MethodDescriptor<
+          com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest,
+          com.google.longrunning.Operation>
+      getCreateInstanceConfigMethod() {
+    io.grpc.MethodDescriptor<
+            com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest,
+            com.google.longrunning.Operation>
+        getCreateInstanceConfigMethod;
+    if ((getCreateInstanceConfigMethod = InstanceAdminGrpc.getCreateInstanceConfigMethod) == null) {
+      synchronized (InstanceAdminGrpc.class) {
+        if ((getCreateInstanceConfigMethod = InstanceAdminGrpc.getCreateInstanceConfigMethod)
+            == null) {
+          InstanceAdminGrpc.getCreateInstanceConfigMethod =
+              getCreateInstanceConfigMethod =
+                  io.grpc.MethodDescriptor
+                      .
+                          newBuilder()
+                      .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
+                      .setFullMethodName(
+                          generateFullMethodName(SERVICE_NAME, "CreateInstanceConfig"))
+                      .setSampledToLocalTracing(true)
+                      .setRequestMarshaller(
+                          io.grpc.protobuf.ProtoUtils.marshaller(
+                              com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest
+                                  .getDefaultInstance()))
+                      .setResponseMarshaller(
+                          io.grpc.protobuf.ProtoUtils.marshaller(
+                              com.google.longrunning.Operation.getDefaultInstance()))
+                      .setSchemaDescriptor(
+                          new InstanceAdminMethodDescriptorSupplier("CreateInstanceConfig"))
+                      .build();
+        }
+      }
+    }
+    return getCreateInstanceConfigMethod;
+  }
+
+  private static volatile io.grpc.MethodDescriptor<
+          com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest,
+          com.google.longrunning.Operation>
+      getUpdateInstanceConfigMethod;
+
+  @io.grpc.stub.annotations.RpcMethod(
+      fullMethodName = SERVICE_NAME + '/' + "UpdateInstanceConfig",
+      requestType = com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.class,
+      responseType = com.google.longrunning.Operation.class,
+      methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
+  public static io.grpc.MethodDescriptor<
+          com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest,
+          com.google.longrunning.Operation>
+      getUpdateInstanceConfigMethod() {
+    io.grpc.MethodDescriptor<
+            com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest,
+            com.google.longrunning.Operation>
+        getUpdateInstanceConfigMethod;
+    if ((getUpdateInstanceConfigMethod = InstanceAdminGrpc.getUpdateInstanceConfigMethod) == null) {
+      synchronized (InstanceAdminGrpc.class) {
+        if ((getUpdateInstanceConfigMethod = InstanceAdminGrpc.getUpdateInstanceConfigMethod)
+            == null) {
+          InstanceAdminGrpc.getUpdateInstanceConfigMethod =
+              getUpdateInstanceConfigMethod =
+                  io.grpc.MethodDescriptor
+                      .
+                          newBuilder()
+                      .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
+                      .setFullMethodName(
+                          generateFullMethodName(SERVICE_NAME, "UpdateInstanceConfig"))
+                      .setSampledToLocalTracing(true)
+                      .setRequestMarshaller(
+                          io.grpc.protobuf.ProtoUtils.marshaller(
+                              com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest
+                                  .getDefaultInstance()))
+                      .setResponseMarshaller(
+                          io.grpc.protobuf.ProtoUtils.marshaller(
+                              com.google.longrunning.Operation.getDefaultInstance()))
+                      .setSchemaDescriptor(
+                          new InstanceAdminMethodDescriptorSupplier("UpdateInstanceConfig"))
+                      .build();
+        }
+      }
+    }
+    return getUpdateInstanceConfigMethod;
+  }
+
+  private static volatile io.grpc.MethodDescriptor<
+          com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest,
+          com.google.protobuf.Empty>
+      getDeleteInstanceConfigMethod;
+
+  @io.grpc.stub.annotations.RpcMethod(
+      fullMethodName = SERVICE_NAME + '/' + "DeleteInstanceConfig",
+      requestType = com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest.class,
+      responseType = com.google.protobuf.Empty.class,
+      methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
+  public static io.grpc.MethodDescriptor<
+          com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest,
+          com.google.protobuf.Empty>
+      getDeleteInstanceConfigMethod() {
+    io.grpc.MethodDescriptor<
+            com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest,
+            com.google.protobuf.Empty>
+        getDeleteInstanceConfigMethod;
+    if ((getDeleteInstanceConfigMethod = InstanceAdminGrpc.getDeleteInstanceConfigMethod) == null) {
+      synchronized (InstanceAdminGrpc.class) {
+        if ((getDeleteInstanceConfigMethod = InstanceAdminGrpc.getDeleteInstanceConfigMethod)
+            == null) {
+          InstanceAdminGrpc.getDeleteInstanceConfigMethod =
+              getDeleteInstanceConfigMethod =
+                  io.grpc.MethodDescriptor
+                      .
+                          newBuilder()
+                      .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
+                      .setFullMethodName(
+                          generateFullMethodName(SERVICE_NAME, "DeleteInstanceConfig"))
+                      .setSampledToLocalTracing(true)
+                      .setRequestMarshaller(
+                          io.grpc.protobuf.ProtoUtils.marshaller(
+                              com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest
+                                  .getDefaultInstance()))
+                      .setResponseMarshaller(
+                          io.grpc.protobuf.ProtoUtils.marshaller(
+                              com.google.protobuf.Empty.getDefaultInstance()))
+                      .setSchemaDescriptor(
+                          new InstanceAdminMethodDescriptorSupplier("DeleteInstanceConfig"))
+                      .build();
+        }
+      }
+    }
+    return getDeleteInstanceConfigMethod;
+  }
+
+  private static volatile io.grpc.MethodDescriptor<
+          com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest,
+          com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse>
+      getListInstanceConfigOperationsMethod;
+
+  @io.grpc.stub.annotations.RpcMethod(
+      fullMethodName = SERVICE_NAME + '/' + "ListInstanceConfigOperations",
+      requestType = com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest.class,
+      responseType =
+          com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.class,
+      methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
+  public static io.grpc.MethodDescriptor<
+          com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest,
+          com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse>
+      getListInstanceConfigOperationsMethod() {
+    io.grpc.MethodDescriptor<
+            com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest,
+            com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse>
+        getListInstanceConfigOperationsMethod;
+    if ((getListInstanceConfigOperationsMethod =
+            InstanceAdminGrpc.getListInstanceConfigOperationsMethod)
+        == null) {
+      synchronized (InstanceAdminGrpc.class) {
+        if ((getListInstanceConfigOperationsMethod =
+                InstanceAdminGrpc.getListInstanceConfigOperationsMethod)
+            == null) {
+          InstanceAdminGrpc.getListInstanceConfigOperationsMethod =
+              getListInstanceConfigOperationsMethod =
+                  io.grpc.MethodDescriptor
+                      .
+                          newBuilder()
+                      .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
+                      .setFullMethodName(
+                          generateFullMethodName(SERVICE_NAME, "ListInstanceConfigOperations"))
+                      .setSampledToLocalTracing(true)
+                      .setRequestMarshaller(
+                          io.grpc.protobuf.ProtoUtils.marshaller(
+                              com.google.spanner.admin.instance.v1
+                                  .ListInstanceConfigOperationsRequest.getDefaultInstance()))
+                      .setResponseMarshaller(
+                          io.grpc.protobuf.ProtoUtils.marshaller(
+                              com.google.spanner.admin.instance.v1
+                                  .ListInstanceConfigOperationsResponse.getDefaultInstance()))
+                      .setSchemaDescriptor(
+                          new InstanceAdminMethodDescriptorSupplier("ListInstanceConfigOperations"))
+                      .build();
+        }
+      }
+    }
+    return getListInstanceConfigOperationsMethod;
+  }
+
   private static volatile io.grpc.MethodDescriptor<
           com.google.spanner.admin.instance.v1.ListInstancesRequest,
           com.google.spanner.admin.instance.v1.ListInstancesResponse>
@@ -594,6 +791,145 @@ public void getInstanceConfig(
           getGetInstanceConfigMethod(), responseObserver);
     }
 
+    /**
+     *
+     *
+     * 
+     * Creates an instance config and begins preparing it to be used. The
+     * returned [long-running operation][google.longrunning.Operation]
+     * can be used to track the progress of preparing the new
+     * instance config. The instance config name is assigned by the caller. If the
+     * named instance config already exists, `CreateInstanceConfig` returns
+     * `ALREADY_EXISTS`.
+     * Immediately after the request returns:
+     *   * The instance config is readable via the API, with all requested
+     *     attributes. The instance config's
+     *     [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
+     *     field is set to true. Its state is `CREATING`.
+     * While the operation is pending:
+     *   * Cancelling the operation renders the instance config immediately
+     *     unreadable via the API.
+     *   * Except for deleting the creating resource, all other attempts to modify
+     *     the instance config are rejected.
+     * Upon completion of the returned operation:
+     *   * Instances can be created using the instance configuration.
+     *   * The instance config's
+     *   [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
+     *   field becomes false. Its state becomes `READY`.
+     * The returned [long-running operation][google.longrunning.Operation] will
+     * have a name of the format
+     * `<instance_config_name>/operations/<operation_id>` and can be used to track
+     * creation of the instance config. The
+     * [metadata][google.longrunning.Operation.metadata] field type is
+     * [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata].
+     * The [response][google.longrunning.Operation.response] field type is
+     * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if
+     * successful.
+     * Authorization requires `spanner.instanceConfigs.create` permission on
+     * the resource
+     * [parent][google.spanner.admin.instance.v1.CreateInstanceConfigRequest.parent].
+     * 
+ */ + public void createInstanceConfig( + com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getCreateInstanceConfigMethod(), responseObserver); + } + + /** + * + * + *
+     * Updates an instance config. The returned
+     * [long-running operation][google.longrunning.Operation] can be used to track
+     * the progress of updating the instance. If the named instance config does
+     * not exist, returns `NOT_FOUND`.
+     * Only user managed configurations can be updated.
+     * Immediately after the request returns:
+     *   * The instance config's
+     *     [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
+     *     field is set to true.
+     * While the operation is pending:
+     *   * Cancelling the operation sets its metadata's
+     *     [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.cancel_time].
+     *     The operation is guaranteed to succeed at undoing all changes, after
+     *     which point it terminates with a `CANCELLED` status.
+     *   * All other attempts to modify the instance config are rejected.
+     *   * Reading the instance config via the API continues to give the
+     *     pre-request values.
+     * Upon completion of the returned operation:
+     *   * Creating instances using the instance configuration uses the new
+     *     values.
+     *   * The instance config's new values are readable via the API.
+     *   * The instance config's
+     *   [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
+     *   field becomes false.
+     * The returned [long-running operation][google.longrunning.Operation] will
+     * have a name of the format
+     * `<instance_config_name>/operations/<operation_id>` and can be used to track
+     * the instance config modification.  The
+     * [metadata][google.longrunning.Operation.metadata] field type is
+     * [UpdateInstanceConfigMetadata][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata].
+     * The [response][google.longrunning.Operation.response] field type is
+     * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if
+     * successful.
+     * Authorization requires `spanner.instanceConfigs.update` permission on
+     * the resource [name][google.spanner.admin.instance.v1.InstanceConfig.name].
+     * 
+ */ + public void updateInstanceConfig( + com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getUpdateInstanceConfigMethod(), responseObserver); + } + + /** + * + * + *
+     * Deletes the instance config. Deletion is only allowed when no
+     * instances are using the configuration. If any instances are using
+     * the config, returns `FAILED_PRECONDITION`.
+     * Only user managed configurations can be deleted.
+     * Authorization requires `spanner.instanceConfigs.delete` permission on
+     * the resource [name][google.spanner.admin.instance.v1.InstanceConfig.name].
+     * 
+ */ + public void deleteInstanceConfig( + com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getDeleteInstanceConfigMethod(), responseObserver); + } + + /** + * + * + *
+     * Lists the user-managed instance config [long-running
+     * operations][google.longrunning.Operation] in the given project. An instance
+     * config operation has a name of the form
+     * `projects/<project>/instanceConfigs/<instance_config>/operations/<operation>`.
+     * The long-running operation
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata. Operations returned
+     * include those that have completed/failed/canceled within the last 7 days,
+     * and pending operations. Operations returned are ordered by
+     * `operation.metadata.value.start_time` in descending order starting
+     * from the most recently started operation.
+     * 
+ */ + public void listInstanceConfigOperations( + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest request, + io.grpc.stub.StreamObserver< + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse> + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getListInstanceConfigOperationsMethod(), responseObserver); + } + /** * * @@ -678,9 +1014,9 @@ public void createInstance( * has been requested, billing is based on the newly-requested level. * Until completion of the returned operation: * * Cancelling the operation sets its metadata's - * [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceMetadata.cancel_time], and begins - * restoring resources to their pre-request values. The operation - * is guaranteed to succeed at undoing all resource changes, + * [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceMetadata.cancel_time], + * and begins restoring resources to their pre-request values. The + * operation is guaranteed to succeed at undoing all resource changes, * after which point it terminates with a `CANCELLED` status. * * All other attempts to modify the instance are rejected. * * Reading the instance via the API continues to give the pre-request @@ -799,6 +1135,31 @@ public final io.grpc.ServerServiceDefinition bindService() { com.google.spanner.admin.instance.v1.GetInstanceConfigRequest, com.google.spanner.admin.instance.v1.InstanceConfig>( this, METHODID_GET_INSTANCE_CONFIG))) + .addMethod( + getCreateInstanceConfigMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest, + com.google.longrunning.Operation>(this, METHODID_CREATE_INSTANCE_CONFIG))) + .addMethod( + getUpdateInstanceConfigMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest, + com.google.longrunning.Operation>(this, METHODID_UPDATE_INSTANCE_CONFIG))) + .addMethod( + getDeleteInstanceConfigMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest, + com.google.protobuf.Empty>(this, METHODID_DELETE_INSTANCE_CONFIG))) + .addMethod( + getListInstanceConfigOperationsMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest, + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse>( + this, METHODID_LIST_INSTANCE_CONFIG_OPERATIONS))) .addMethod( getListInstancesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall( @@ -923,6 +1284,153 @@ public void getInstanceConfig( responseObserver); } + /** + * + * + *
+     * Creates an instance config and begins preparing it to be used. The
+     * returned [long-running operation][google.longrunning.Operation]
+     * can be used to track the progress of preparing the new
+     * instance config. The instance config name is assigned by the caller. If the
+     * named instance config already exists, `CreateInstanceConfig` returns
+     * `ALREADY_EXISTS`.
+     * Immediately after the request returns:
+     *   * The instance config is readable via the API, with all requested
+     *     attributes. The instance config's
+     *     [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
+     *     field is set to true. Its state is `CREATING`.
+     * While the operation is pending:
+     *   * Cancelling the operation renders the instance config immediately
+     *     unreadable via the API.
+     *   * Except for deleting the creating resource, all other attempts to modify
+     *     the instance config are rejected.
+     * Upon completion of the returned operation:
+     *   * Instances can be created using the instance configuration.
+     *   * The instance config's
+     *   [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
+     *   field becomes false. Its state becomes `READY`.
+     * The returned [long-running operation][google.longrunning.Operation] will
+     * have a name of the format
+     * `<instance_config_name>/operations/<operation_id>` and can be used to track
+     * creation of the instance config. The
+     * [metadata][google.longrunning.Operation.metadata] field type is
+     * [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata].
+     * The [response][google.longrunning.Operation.response] field type is
+     * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if
+     * successful.
+     * Authorization requires `spanner.instanceConfigs.create` permission on
+     * the resource
+     * [parent][google.spanner.admin.instance.v1.CreateInstanceConfigRequest.parent].
+     * 
+ */ + public void createInstanceConfig( + com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getCreateInstanceConfigMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Updates an instance config. The returned
+     * [long-running operation][google.longrunning.Operation] can be used to track
+     * the progress of updating the instance. If the named instance config does
+     * not exist, returns `NOT_FOUND`.
+     * Only user managed configurations can be updated.
+     * Immediately after the request returns:
+     *   * The instance config's
+     *     [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
+     *     field is set to true.
+     * While the operation is pending:
+     *   * Cancelling the operation sets its metadata's
+     *     [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.cancel_time].
+     *     The operation is guaranteed to succeed at undoing all changes, after
+     *     which point it terminates with a `CANCELLED` status.
+     *   * All other attempts to modify the instance config are rejected.
+     *   * Reading the instance config via the API continues to give the
+     *     pre-request values.
+     * Upon completion of the returned operation:
+     *   * Creating instances using the instance configuration uses the new
+     *     values.
+     *   * The instance config's new values are readable via the API.
+     *   * The instance config's
+     *   [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
+     *   field becomes false.
+     * The returned [long-running operation][google.longrunning.Operation] will
+     * have a name of the format
+     * `<instance_config_name>/operations/<operation_id>` and can be used to track
+     * the instance config modification.  The
+     * [metadata][google.longrunning.Operation.metadata] field type is
+     * [UpdateInstanceConfigMetadata][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata].
+     * The [response][google.longrunning.Operation.response] field type is
+     * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if
+     * successful.
+     * Authorization requires `spanner.instanceConfigs.update` permission on
+     * the resource [name][google.spanner.admin.instance.v1.InstanceConfig.name].
+     * 
+ */ + public void updateInstanceConfig( + com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getUpdateInstanceConfigMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Deletes the instance config. Deletion is only allowed when no
+     * instances are using the configuration. If any instances are using
+     * the config, returns `FAILED_PRECONDITION`.
+     * Only user managed configurations can be deleted.
+     * Authorization requires `spanner.instanceConfigs.delete` permission on
+     * the resource [name][google.spanner.admin.instance.v1.InstanceConfig.name].
+     * 
+ */ + public void deleteInstanceConfig( + com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getDeleteInstanceConfigMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Lists the user-managed instance config [long-running
+     * operations][google.longrunning.Operation] in the given project. An instance
+     * config operation has a name of the form
+     * `projects/<project>/instanceConfigs/<instance_config>/operations/<operation>`.
+     * The long-running operation
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata. Operations returned
+     * include those that have completed/failed/canceled within the last 7 days,
+     * and pending operations. Operations returned are ordered by
+     * `operation.metadata.value.start_time` in descending order starting
+     * from the most recently started operation.
+     * 
+ */ + public void listInstanceConfigOperations( + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest request, + io.grpc.stub.StreamObserver< + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse> + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getListInstanceConfigOperationsMethod(), getCallOptions()), + request, + responseObserver); + } + /** * * @@ -1013,9 +1521,9 @@ public void createInstance( * has been requested, billing is based on the newly-requested level. * Until completion of the returned operation: * * Cancelling the operation sets its metadata's - * [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceMetadata.cancel_time], and begins - * restoring resources to their pre-request values. The operation - * is guaranteed to succeed at undoing all resource changes, + * [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceMetadata.cancel_time], + * and begins restoring resources to their pre-request values. The + * operation is guaranteed to succeed at undoing all resource changes, * after which point it terminates with a `CANCELLED` status. * * All other attempts to modify the instance are rejected. * * Reading the instance via the API continues to give the pre-request @@ -1190,6 +1698,140 @@ public com.google.spanner.admin.instance.v1.InstanceConfig getInstanceConfig( getChannel(), getGetInstanceConfigMethod(), getCallOptions(), request); } + /** + * + * + *
+     * Creates an instance config and begins preparing it to be used. The
+     * returned [long-running operation][google.longrunning.Operation]
+     * can be used to track the progress of preparing the new
+     * instance config. The instance config name is assigned by the caller. If the
+     * named instance config already exists, `CreateInstanceConfig` returns
+     * `ALREADY_EXISTS`.
+     * Immediately after the request returns:
+     *   * The instance config is readable via the API, with all requested
+     *     attributes. The instance config's
+     *     [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
+     *     field is set to true. Its state is `CREATING`.
+     * While the operation is pending:
+     *   * Cancelling the operation renders the instance config immediately
+     *     unreadable via the API.
+     *   * Except for deleting the creating resource, all other attempts to modify
+     *     the instance config are rejected.
+     * Upon completion of the returned operation:
+     *   * Instances can be created using the instance configuration.
+     *   * The instance config's
+     *   [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
+     *   field becomes false. Its state becomes `READY`.
+     * The returned [long-running operation][google.longrunning.Operation] will
+     * have a name of the format
+     * `<instance_config_name>/operations/<operation_id>` and can be used to track
+     * creation of the instance config. The
+     * [metadata][google.longrunning.Operation.metadata] field type is
+     * [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata].
+     * The [response][google.longrunning.Operation.response] field type is
+     * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if
+     * successful.
+     * Authorization requires `spanner.instanceConfigs.create` permission on
+     * the resource
+     * [parent][google.spanner.admin.instance.v1.CreateInstanceConfigRequest.parent].
+     * 
+ */ + public com.google.longrunning.Operation createInstanceConfig( + com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getCreateInstanceConfigMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Updates an instance config. The returned
+     * [long-running operation][google.longrunning.Operation] can be used to track
+     * the progress of updating the instance. If the named instance config does
+     * not exist, returns `NOT_FOUND`.
+     * Only user managed configurations can be updated.
+     * Immediately after the request returns:
+     *   * The instance config's
+     *     [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
+     *     field is set to true.
+     * While the operation is pending:
+     *   * Cancelling the operation sets its metadata's
+     *     [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.cancel_time].
+     *     The operation is guaranteed to succeed at undoing all changes, after
+     *     which point it terminates with a `CANCELLED` status.
+     *   * All other attempts to modify the instance config are rejected.
+     *   * Reading the instance config via the API continues to give the
+     *     pre-request values.
+     * Upon completion of the returned operation:
+     *   * Creating instances using the instance configuration uses the new
+     *     values.
+     *   * The instance config's new values are readable via the API.
+     *   * The instance config's
+     *   [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
+     *   field becomes false.
+     * The returned [long-running operation][google.longrunning.Operation] will
+     * have a name of the format
+     * `<instance_config_name>/operations/<operation_id>` and can be used to track
+     * the instance config modification.  The
+     * [metadata][google.longrunning.Operation.metadata] field type is
+     * [UpdateInstanceConfigMetadata][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata].
+     * The [response][google.longrunning.Operation.response] field type is
+     * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if
+     * successful.
+     * Authorization requires `spanner.instanceConfigs.update` permission on
+     * the resource [name][google.spanner.admin.instance.v1.InstanceConfig.name].
+     * 
+ */ + public com.google.longrunning.Operation updateInstanceConfig( + com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getUpdateInstanceConfigMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Deletes the instance config. Deletion is only allowed when no
+     * instances are using the configuration. If any instances are using
+     * the config, returns `FAILED_PRECONDITION`.
+     * Only user managed configurations can be deleted.
+     * Authorization requires `spanner.instanceConfigs.delete` permission on
+     * the resource [name][google.spanner.admin.instance.v1.InstanceConfig.name].
+     * 
+ */ + public com.google.protobuf.Empty deleteInstanceConfig( + com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getDeleteInstanceConfigMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists the user-managed instance config [long-running
+     * operations][google.longrunning.Operation] in the given project. An instance
+     * config operation has a name of the form
+     * `projects/<project>/instanceConfigs/<instance_config>/operations/<operation>`.
+     * The long-running operation
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata. Operations returned
+     * include those that have completed/failed/canceled within the last 7 days,
+     * and pending operations. Operations returned are ordered by
+     * `operation.metadata.value.start_time` in descending order starting
+     * from the most recently started operation.
+     * 
+ */ + public com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse + listInstanceConfigOperations( + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getListInstanceConfigOperationsMethod(), getCallOptions(), request); + } + /** * * @@ -1269,9 +1911,9 @@ public com.google.longrunning.Operation createInstance( * has been requested, billing is based on the newly-requested level. * Until completion of the returned operation: * * Cancelling the operation sets its metadata's - * [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceMetadata.cancel_time], and begins - * restoring resources to their pre-request values. The operation - * is guaranteed to succeed at undoing all resource changes, + * [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceMetadata.cancel_time], + * and begins restoring resources to their pre-request values. The + * operation is guaranteed to succeed at undoing all resource changes, * after which point it terminates with a `CANCELLED` status. * * All other attempts to modify the instance are rejected. * * Reading the instance via the API continues to give the pre-request @@ -1431,6 +2073,144 @@ protected InstanceAdminFutureStub build( getChannel().newCall(getGetInstanceConfigMethod(), getCallOptions()), request); } + /** + * + * + *
+     * Creates an instance config and begins preparing it to be used. The
+     * returned [long-running operation][google.longrunning.Operation]
+     * can be used to track the progress of preparing the new
+     * instance config. The instance config name is assigned by the caller. If the
+     * named instance config already exists, `CreateInstanceConfig` returns
+     * `ALREADY_EXISTS`.
+     * Immediately after the request returns:
+     *   * The instance config is readable via the API, with all requested
+     *     attributes. The instance config's
+     *     [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
+     *     field is set to true. Its state is `CREATING`.
+     * While the operation is pending:
+     *   * Cancelling the operation renders the instance config immediately
+     *     unreadable via the API.
+     *   * Except for deleting the creating resource, all other attempts to modify
+     *     the instance config are rejected.
+     * Upon completion of the returned operation:
+     *   * Instances can be created using the instance configuration.
+     *   * The instance config's
+     *   [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
+     *   field becomes false. Its state becomes `READY`.
+     * The returned [long-running operation][google.longrunning.Operation] will
+     * have a name of the format
+     * `<instance_config_name>/operations/<operation_id>` and can be used to track
+     * creation of the instance config. The
+     * [metadata][google.longrunning.Operation.metadata] field type is
+     * [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata].
+     * The [response][google.longrunning.Operation.response] field type is
+     * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if
+     * successful.
+     * Authorization requires `spanner.instanceConfigs.create` permission on
+     * the resource
+     * [parent][google.spanner.admin.instance.v1.CreateInstanceConfigRequest.parent].
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + createInstanceConfig( + com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getCreateInstanceConfigMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Updates an instance config. The returned
+     * [long-running operation][google.longrunning.Operation] can be used to track
+     * the progress of updating the instance. If the named instance config does
+     * not exist, returns `NOT_FOUND`.
+     * Only user managed configurations can be updated.
+     * Immediately after the request returns:
+     *   * The instance config's
+     *     [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
+     *     field is set to true.
+     * While the operation is pending:
+     *   * Cancelling the operation sets its metadata's
+     *     [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.cancel_time].
+     *     The operation is guaranteed to succeed at undoing all changes, after
+     *     which point it terminates with a `CANCELLED` status.
+     *   * All other attempts to modify the instance config are rejected.
+     *   * Reading the instance config via the API continues to give the
+     *     pre-request values.
+     * Upon completion of the returned operation:
+     *   * Creating instances using the instance configuration uses the new
+     *     values.
+     *   * The instance config's new values are readable via the API.
+     *   * The instance config's
+     *   [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling]
+     *   field becomes false.
+     * The returned [long-running operation][google.longrunning.Operation] will
+     * have a name of the format
+     * `<instance_config_name>/operations/<operation_id>` and can be used to track
+     * the instance config modification.  The
+     * [metadata][google.longrunning.Operation.metadata] field type is
+     * [UpdateInstanceConfigMetadata][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata].
+     * The [response][google.longrunning.Operation.response] field type is
+     * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if
+     * successful.
+     * Authorization requires `spanner.instanceConfigs.update` permission on
+     * the resource [name][google.spanner.admin.instance.v1.InstanceConfig.name].
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + updateInstanceConfig( + com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getUpdateInstanceConfigMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Deletes the instance config. Deletion is only allowed when no
+     * instances are using the configuration. If any instances are using
+     * the config, returns `FAILED_PRECONDITION`.
+     * Only user managed configurations can be deleted.
+     * Authorization requires `spanner.instanceConfigs.delete` permission on
+     * the resource [name][google.spanner.admin.instance.v1.InstanceConfig.name].
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + deleteInstanceConfig( + com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getDeleteInstanceConfigMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Lists the user-managed instance config [long-running
+     * operations][google.longrunning.Operation] in the given project. An instance
+     * config operation has a name of the form
+     * `projects/<project>/instanceConfigs/<instance_config>/operations/<operation>`.
+     * The long-running operation
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata. Operations returned
+     * include those that have completed/failed/canceled within the last 7 days,
+     * and pending operations. Operations returned are ordered by
+     * `operation.metadata.value.start_time` in descending order starting
+     * from the most recently started operation.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse> + listInstanceConfigOperations( + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getListInstanceConfigOperationsMethod(), getCallOptions()), request); + } + /** * * @@ -1512,9 +2292,9 @@ protected InstanceAdminFutureStub build( * has been requested, billing is based on the newly-requested level. * Until completion of the returned operation: * * Cancelling the operation sets its metadata's - * [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceMetadata.cancel_time], and begins - * restoring resources to their pre-request values. The operation - * is guaranteed to succeed at undoing all resource changes, + * [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceMetadata.cancel_time], + * and begins restoring resources to their pre-request values. The + * operation is guaranteed to succeed at undoing all resource changes, * after which point it terminates with a `CANCELLED` status. * * All other attempts to modify the instance are rejected. * * Reading the instance via the API continues to give the pre-request @@ -1614,14 +2394,18 @@ protected InstanceAdminFutureStub build( private static final int METHODID_LIST_INSTANCE_CONFIGS = 0; private static final int METHODID_GET_INSTANCE_CONFIG = 1; - private static final int METHODID_LIST_INSTANCES = 2; - private static final int METHODID_GET_INSTANCE = 3; - private static final int METHODID_CREATE_INSTANCE = 4; - private static final int METHODID_UPDATE_INSTANCE = 5; - private static final int METHODID_DELETE_INSTANCE = 6; - private static final int METHODID_SET_IAM_POLICY = 7; - private static final int METHODID_GET_IAM_POLICY = 8; - private static final int METHODID_TEST_IAM_PERMISSIONS = 9; + private static final int METHODID_CREATE_INSTANCE_CONFIG = 2; + private static final int METHODID_UPDATE_INSTANCE_CONFIG = 3; + private static final int METHODID_DELETE_INSTANCE_CONFIG = 4; + private static final int METHODID_LIST_INSTANCE_CONFIG_OPERATIONS = 5; + private static final int METHODID_LIST_INSTANCES = 6; + private static final int METHODID_GET_INSTANCE = 7; + private static final int METHODID_CREATE_INSTANCE = 8; + private static final int METHODID_UPDATE_INSTANCE = 9; + private static final int METHODID_DELETE_INSTANCE = 10; + private static final int METHODID_SET_IAM_POLICY = 11; + private static final int METHODID_GET_IAM_POLICY = 12; + private static final int METHODID_TEST_IAM_PERMISSIONS = 13; private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, @@ -1653,6 +2437,28 @@ public void invoke(Req request, io.grpc.stub.StreamObserver responseObserv (io.grpc.stub.StreamObserver) responseObserver); break; + case METHODID_CREATE_INSTANCE_CONFIG: + serviceImpl.createInstanceConfig( + (com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_UPDATE_INSTANCE_CONFIG: + serviceImpl.updateInstanceConfig( + (com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_DELETE_INSTANCE_CONFIG: + serviceImpl.deleteInstanceConfig( + (com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_LIST_INSTANCE_CONFIG_OPERATIONS: + serviceImpl.listInstanceConfigOperations( + (com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest) request, + (io.grpc.stub.StreamObserver< + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse>) + responseObserver); + break; case METHODID_LIST_INSTANCES: serviceImpl.listInstances( (com.google.spanner.admin.instance.v1.ListInstancesRequest) request, @@ -1763,6 +2569,10 @@ public static io.grpc.ServiceDescriptor getServiceDescriptor() { .setSchemaDescriptor(new InstanceAdminFileDescriptorSupplier()) .addMethod(getListInstanceConfigsMethod()) .addMethod(getGetInstanceConfigMethod()) + .addMethod(getCreateInstanceConfigMethod()) + .addMethod(getUpdateInstanceConfigMethod()) + .addMethod(getDeleteInstanceConfigMethod()) + .addMethod(getListInstanceConfigOperationsMethod()) .addMethod(getListInstancesMethod()) .addMethod(getGetInstanceMethod()) .addMethod(getCreateInstanceMethod()) diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CommonProto.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CommonProto.java new file mode 100644 index 00000000000..913672c72b9 --- /dev/null +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CommonProto.java @@ -0,0 +1,76 @@ +/* + * Copyright 2020 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 + * + * https://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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/spanner/admin/instance/v1/common.proto + +package com.google.spanner.admin.instance.v1; + +public final class CommonProto { + private CommonProto() {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_spanner_admin_instance_v1_OperationProgress_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_spanner_admin_instance_v1_OperationProgress_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\n-google/spanner/admin/instance/v1/commo" + + "n.proto\022 google.spanner.admin.instance.v" + + "1\032\037google/protobuf/timestamp.proto\"\213\001\n\021O" + + "perationProgress\022\030\n\020progress_percent\030\001 \001" + + "(\005\022.\n\nstart_time\030\002 \001(\0132\032.google.protobuf" + + ".Timestamp\022,\n\010end_time\030\003 \001(\0132\032.google.pr" + + "otobuf.TimestampB\377\001\n$com.google.spanner." + + "admin.instance.v1B\013CommonProtoP\001ZHgoogle" + + ".golang.org/genproto/googleapis/spanner/" + + "admin/instance/v1;instance\252\002&Google.Clou" + + "d.Spanner.Admin.Instance.V1\312\002&Google\\Clo" + + "ud\\Spanner\\Admin\\Instance\\V1\352\002+Google::C" + + "loud::Spanner::Admin::Instance::V1b\006prot" + + "o3" + }; + descriptor = + com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( + descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.protobuf.TimestampProto.getDescriptor(), + }); + internal_static_google_spanner_admin_instance_v1_OperationProgress_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_google_spanner_admin_instance_v1_OperationProgress_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_spanner_admin_instance_v1_OperationProgress_descriptor, + new java.lang.String[] { + "ProgressPercent", "StartTime", "EndTime", + }); + com.google.protobuf.TimestampProto.getDescriptor(); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigMetadata.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigMetadata.java new file mode 100644 index 00000000000..0349c80deb7 --- /dev/null +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigMetadata.java @@ -0,0 +1,1325 @@ +/* + * Copyright 2020 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 + * + * https://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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/spanner/admin/instance/v1/spanner_instance_admin.proto + +package com.google.spanner.admin.instance.v1; + +/** + * + * + *
+ * Metadata type for the operation returned by
+ * [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig].
+ * 
+ * + * Protobuf type {@code google.spanner.admin.instance.v1.CreateInstanceConfigMetadata} + */ +public final class CreateInstanceConfigMetadata extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.spanner.admin.instance.v1.CreateInstanceConfigMetadata) + CreateInstanceConfigMetadataOrBuilder { + private static final long serialVersionUID = 0L; + // Use CreateInstanceConfigMetadata.newBuilder() to construct. + private CreateInstanceConfigMetadata(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private CreateInstanceConfigMetadata() {} + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new CreateInstanceConfigMetadata(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private CreateInstanceConfigMetadata( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.spanner.admin.instance.v1.InstanceConfig.Builder subBuilder = null; + if (instanceConfig_ != null) { + subBuilder = instanceConfig_.toBuilder(); + } + instanceConfig_ = + input.readMessage( + com.google.spanner.admin.instance.v1.InstanceConfig.parser(), + extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(instanceConfig_); + instanceConfig_ = subBuilder.buildPartial(); + } + + break; + } + case 18: + { + com.google.spanner.admin.instance.v1.OperationProgress.Builder subBuilder = null; + if (progress_ != null) { + subBuilder = progress_.toBuilder(); + } + progress_ = + input.readMessage( + com.google.spanner.admin.instance.v1.OperationProgress.parser(), + extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(progress_); + progress_ = subBuilder.buildPartial(); + } + + break; + } + case 26: + { + com.google.protobuf.Timestamp.Builder subBuilder = null; + if (cancelTime_ != null) { + subBuilder = cancelTime_.toBuilder(); + } + cancelTime_ = + input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(cancelTime_); + cancelTime_ = subBuilder.buildPartial(); + } + + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigMetadata_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigMetadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata.class, + com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata.Builder.class); + } + + public static final int INSTANCE_CONFIG_FIELD_NUMBER = 1; + private com.google.spanner.admin.instance.v1.InstanceConfig instanceConfig_; + /** + * + * + *
+   * The target instance config end state.
+   * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + * + * @return Whether the instanceConfig field is set. + */ + @java.lang.Override + public boolean hasInstanceConfig() { + return instanceConfig_ != null; + } + /** + * + * + *
+   * The target instance config end state.
+   * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + * + * @return The instanceConfig. + */ + @java.lang.Override + public com.google.spanner.admin.instance.v1.InstanceConfig getInstanceConfig() { + return instanceConfig_ == null + ? com.google.spanner.admin.instance.v1.InstanceConfig.getDefaultInstance() + : instanceConfig_; + } + /** + * + * + *
+   * The target instance config end state.
+   * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + */ + @java.lang.Override + public com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder getInstanceConfigOrBuilder() { + return getInstanceConfig(); + } + + public static final int PROGRESS_FIELD_NUMBER = 2; + private com.google.spanner.admin.instance.v1.OperationProgress progress_; + /** + * + * + *
+   * The progress of the
+   * [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig]
+   * operation.
+   * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + * + * @return Whether the progress field is set. + */ + @java.lang.Override + public boolean hasProgress() { + return progress_ != null; + } + /** + * + * + *
+   * The progress of the
+   * [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig]
+   * operation.
+   * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + * + * @return The progress. + */ + @java.lang.Override + public com.google.spanner.admin.instance.v1.OperationProgress getProgress() { + return progress_ == null + ? com.google.spanner.admin.instance.v1.OperationProgress.getDefaultInstance() + : progress_; + } + /** + * + * + *
+   * The progress of the
+   * [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig]
+   * operation.
+   * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + */ + @java.lang.Override + public com.google.spanner.admin.instance.v1.OperationProgressOrBuilder getProgressOrBuilder() { + return getProgress(); + } + + public static final int CANCEL_TIME_FIELD_NUMBER = 3; + private com.google.protobuf.Timestamp cancelTime_; + /** + * + * + *
+   * The time at which this operation was cancelled.
+   * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + * + * @return Whether the cancelTime field is set. + */ + @java.lang.Override + public boolean hasCancelTime() { + return cancelTime_ != null; + } + /** + * + * + *
+   * The time at which this operation was cancelled.
+   * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + * + * @return The cancelTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCancelTime() { + return cancelTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : cancelTime_; + } + /** + * + * + *
+   * The time at which this operation was cancelled.
+   * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCancelTimeOrBuilder() { + return getCancelTime(); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (instanceConfig_ != null) { + output.writeMessage(1, getInstanceConfig()); + } + if (progress_ != null) { + output.writeMessage(2, getProgress()); + } + if (cancelTime_ != null) { + output.writeMessage(3, getCancelTime()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (instanceConfig_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getInstanceConfig()); + } + if (progress_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getProgress()); + } + if (cancelTime_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getCancelTime()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)) { + return super.equals(obj); + } + com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata other = + (com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata) obj; + + if (hasInstanceConfig() != other.hasInstanceConfig()) return false; + if (hasInstanceConfig()) { + if (!getInstanceConfig().equals(other.getInstanceConfig())) return false; + } + if (hasProgress() != other.hasProgress()) return false; + if (hasProgress()) { + if (!getProgress().equals(other.getProgress())) return false; + } + if (hasCancelTime() != other.hasCancelTime()) return false; + if (hasCancelTime()) { + if (!getCancelTime().equals(other.getCancelTime())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasInstanceConfig()) { + hash = (37 * hash) + INSTANCE_CONFIG_FIELD_NUMBER; + hash = (53 * hash) + getInstanceConfig().hashCode(); + } + if (hasProgress()) { + hash = (37 * hash) + PROGRESS_FIELD_NUMBER; + hash = (53 * hash) + getProgress().hashCode(); + } + if (hasCancelTime()) { + hash = (37 * hash) + CANCEL_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCancelTime().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
+   * Metadata type for the operation returned by
+   * [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig].
+   * 
+ * + * Protobuf type {@code google.spanner.admin.instance.v1.CreateInstanceConfigMetadata} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.spanner.admin.instance.v1.CreateInstanceConfigMetadata) + com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadataOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigMetadata_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigMetadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata.class, + com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata.Builder.class); + } + + // Construct using + // com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + if (instanceConfigBuilder_ == null) { + instanceConfig_ = null; + } else { + instanceConfig_ = null; + instanceConfigBuilder_ = null; + } + if (progressBuilder_ == null) { + progress_ = null; + } else { + progress_ = null; + progressBuilder_ = null; + } + if (cancelTimeBuilder_ == null) { + cancelTime_ = null; + } else { + cancelTime_ = null; + cancelTimeBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigMetadata_descriptor; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata + getDefaultInstanceForType() { + return com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata.getDefaultInstance(); + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata build() { + com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata buildPartial() { + com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata result = + new com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata(this); + if (instanceConfigBuilder_ == null) { + result.instanceConfig_ = instanceConfig_; + } else { + result.instanceConfig_ = instanceConfigBuilder_.build(); + } + if (progressBuilder_ == null) { + result.progress_ = progress_; + } else { + result.progress_ = progressBuilder_.build(); + } + if (cancelTimeBuilder_ == null) { + result.cancelTime_ = cancelTime_; + } else { + result.cancelTime_ = cancelTimeBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata) { + return mergeFrom((com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata other) { + if (other + == com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata.getDefaultInstance()) + return this; + if (other.hasInstanceConfig()) { + mergeInstanceConfig(other.getInstanceConfig()); + } + if (other.hasProgress()) { + mergeProgress(other.getProgress()); + } + if (other.hasCancelTime()) { + mergeCancelTime(other.getCancelTime()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata) + e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private com.google.spanner.admin.instance.v1.InstanceConfig instanceConfig_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.spanner.admin.instance.v1.InstanceConfig, + com.google.spanner.admin.instance.v1.InstanceConfig.Builder, + com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder> + instanceConfigBuilder_; + /** + * + * + *
+     * The target instance config end state.
+     * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + * + * @return Whether the instanceConfig field is set. + */ + public boolean hasInstanceConfig() { + return instanceConfigBuilder_ != null || instanceConfig_ != null; + } + /** + * + * + *
+     * The target instance config end state.
+     * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + * + * @return The instanceConfig. + */ + public com.google.spanner.admin.instance.v1.InstanceConfig getInstanceConfig() { + if (instanceConfigBuilder_ == null) { + return instanceConfig_ == null + ? com.google.spanner.admin.instance.v1.InstanceConfig.getDefaultInstance() + : instanceConfig_; + } else { + return instanceConfigBuilder_.getMessage(); + } + } + /** + * + * + *
+     * The target instance config end state.
+     * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + */ + public Builder setInstanceConfig(com.google.spanner.admin.instance.v1.InstanceConfig value) { + if (instanceConfigBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + instanceConfig_ = value; + onChanged(); + } else { + instanceConfigBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * The target instance config end state.
+     * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + */ + public Builder setInstanceConfig( + com.google.spanner.admin.instance.v1.InstanceConfig.Builder builderForValue) { + if (instanceConfigBuilder_ == null) { + instanceConfig_ = builderForValue.build(); + onChanged(); + } else { + instanceConfigBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * The target instance config end state.
+     * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + */ + public Builder mergeInstanceConfig(com.google.spanner.admin.instance.v1.InstanceConfig value) { + if (instanceConfigBuilder_ == null) { + if (instanceConfig_ != null) { + instanceConfig_ = + com.google.spanner.admin.instance.v1.InstanceConfig.newBuilder(instanceConfig_) + .mergeFrom(value) + .buildPartial(); + } else { + instanceConfig_ = value; + } + onChanged(); + } else { + instanceConfigBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * The target instance config end state.
+     * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + */ + public Builder clearInstanceConfig() { + if (instanceConfigBuilder_ == null) { + instanceConfig_ = null; + onChanged(); + } else { + instanceConfig_ = null; + instanceConfigBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * The target instance config end state.
+     * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + */ + public com.google.spanner.admin.instance.v1.InstanceConfig.Builder getInstanceConfigBuilder() { + + onChanged(); + return getInstanceConfigFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * The target instance config end state.
+     * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + */ + public com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder + getInstanceConfigOrBuilder() { + if (instanceConfigBuilder_ != null) { + return instanceConfigBuilder_.getMessageOrBuilder(); + } else { + return instanceConfig_ == null + ? com.google.spanner.admin.instance.v1.InstanceConfig.getDefaultInstance() + : instanceConfig_; + } + } + /** + * + * + *
+     * The target instance config end state.
+     * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.spanner.admin.instance.v1.InstanceConfig, + com.google.spanner.admin.instance.v1.InstanceConfig.Builder, + com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder> + getInstanceConfigFieldBuilder() { + if (instanceConfigBuilder_ == null) { + instanceConfigBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.spanner.admin.instance.v1.InstanceConfig, + com.google.spanner.admin.instance.v1.InstanceConfig.Builder, + com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder>( + getInstanceConfig(), getParentForChildren(), isClean()); + instanceConfig_ = null; + } + return instanceConfigBuilder_; + } + + private com.google.spanner.admin.instance.v1.OperationProgress progress_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.spanner.admin.instance.v1.OperationProgress, + com.google.spanner.admin.instance.v1.OperationProgress.Builder, + com.google.spanner.admin.instance.v1.OperationProgressOrBuilder> + progressBuilder_; + /** + * + * + *
+     * The progress of the
+     * [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig]
+     * operation.
+     * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + * + * @return Whether the progress field is set. + */ + public boolean hasProgress() { + return progressBuilder_ != null || progress_ != null; + } + /** + * + * + *
+     * The progress of the
+     * [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig]
+     * operation.
+     * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + * + * @return The progress. + */ + public com.google.spanner.admin.instance.v1.OperationProgress getProgress() { + if (progressBuilder_ == null) { + return progress_ == null + ? com.google.spanner.admin.instance.v1.OperationProgress.getDefaultInstance() + : progress_; + } else { + return progressBuilder_.getMessage(); + } + } + /** + * + * + *
+     * The progress of the
+     * [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig]
+     * operation.
+     * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + */ + public Builder setProgress(com.google.spanner.admin.instance.v1.OperationProgress value) { + if (progressBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + progress_ = value; + onChanged(); + } else { + progressBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * The progress of the
+     * [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig]
+     * operation.
+     * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + */ + public Builder setProgress( + com.google.spanner.admin.instance.v1.OperationProgress.Builder builderForValue) { + if (progressBuilder_ == null) { + progress_ = builderForValue.build(); + onChanged(); + } else { + progressBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * The progress of the
+     * [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig]
+     * operation.
+     * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + */ + public Builder mergeProgress(com.google.spanner.admin.instance.v1.OperationProgress value) { + if (progressBuilder_ == null) { + if (progress_ != null) { + progress_ = + com.google.spanner.admin.instance.v1.OperationProgress.newBuilder(progress_) + .mergeFrom(value) + .buildPartial(); + } else { + progress_ = value; + } + onChanged(); + } else { + progressBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * The progress of the
+     * [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig]
+     * operation.
+     * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + */ + public Builder clearProgress() { + if (progressBuilder_ == null) { + progress_ = null; + onChanged(); + } else { + progress_ = null; + progressBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * The progress of the
+     * [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig]
+     * operation.
+     * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + */ + public com.google.spanner.admin.instance.v1.OperationProgress.Builder getProgressBuilder() { + + onChanged(); + return getProgressFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * The progress of the
+     * [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig]
+     * operation.
+     * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + */ + public com.google.spanner.admin.instance.v1.OperationProgressOrBuilder getProgressOrBuilder() { + if (progressBuilder_ != null) { + return progressBuilder_.getMessageOrBuilder(); + } else { + return progress_ == null + ? com.google.spanner.admin.instance.v1.OperationProgress.getDefaultInstance() + : progress_; + } + } + /** + * + * + *
+     * The progress of the
+     * [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig]
+     * operation.
+     * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.spanner.admin.instance.v1.OperationProgress, + com.google.spanner.admin.instance.v1.OperationProgress.Builder, + com.google.spanner.admin.instance.v1.OperationProgressOrBuilder> + getProgressFieldBuilder() { + if (progressBuilder_ == null) { + progressBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.spanner.admin.instance.v1.OperationProgress, + com.google.spanner.admin.instance.v1.OperationProgress.Builder, + com.google.spanner.admin.instance.v1.OperationProgressOrBuilder>( + getProgress(), getParentForChildren(), isClean()); + progress_ = null; + } + return progressBuilder_; + } + + private com.google.protobuf.Timestamp cancelTime_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + cancelTimeBuilder_; + /** + * + * + *
+     * The time at which this operation was cancelled.
+     * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + * + * @return Whether the cancelTime field is set. + */ + public boolean hasCancelTime() { + return cancelTimeBuilder_ != null || cancelTime_ != null; + } + /** + * + * + *
+     * The time at which this operation was cancelled.
+     * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + * + * @return The cancelTime. + */ + public com.google.protobuf.Timestamp getCancelTime() { + if (cancelTimeBuilder_ == null) { + return cancelTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : cancelTime_; + } else { + return cancelTimeBuilder_.getMessage(); + } + } + /** + * + * + *
+     * The time at which this operation was cancelled.
+     * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + */ + public Builder setCancelTime(com.google.protobuf.Timestamp value) { + if (cancelTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + cancelTime_ = value; + onChanged(); + } else { + cancelTimeBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * The time at which this operation was cancelled.
+     * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + */ + public Builder setCancelTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (cancelTimeBuilder_ == null) { + cancelTime_ = builderForValue.build(); + onChanged(); + } else { + cancelTimeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * The time at which this operation was cancelled.
+     * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + */ + public Builder mergeCancelTime(com.google.protobuf.Timestamp value) { + if (cancelTimeBuilder_ == null) { + if (cancelTime_ != null) { + cancelTime_ = + com.google.protobuf.Timestamp.newBuilder(cancelTime_).mergeFrom(value).buildPartial(); + } else { + cancelTime_ = value; + } + onChanged(); + } else { + cancelTimeBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * The time at which this operation was cancelled.
+     * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + */ + public Builder clearCancelTime() { + if (cancelTimeBuilder_ == null) { + cancelTime_ = null; + onChanged(); + } else { + cancelTime_ = null; + cancelTimeBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * The time at which this operation was cancelled.
+     * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + */ + public com.google.protobuf.Timestamp.Builder getCancelTimeBuilder() { + + onChanged(); + return getCancelTimeFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * The time at which this operation was cancelled.
+     * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + */ + public com.google.protobuf.TimestampOrBuilder getCancelTimeOrBuilder() { + if (cancelTimeBuilder_ != null) { + return cancelTimeBuilder_.getMessageOrBuilder(); + } else { + return cancelTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : cancelTime_; + } + } + /** + * + * + *
+     * The time at which this operation was cancelled.
+     * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + getCancelTimeFieldBuilder() { + if (cancelTimeBuilder_ == null) { + cancelTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCancelTime(), getParentForChildren(), isClean()); + cancelTime_ = null; + } + return cancelTimeBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.spanner.admin.instance.v1.CreateInstanceConfigMetadata) + } + + // @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.CreateInstanceConfigMetadata) + private static final com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata(); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CreateInstanceConfigMetadata parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new CreateInstanceConfigMetadata(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigMetadataOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigMetadataOrBuilder.java new file mode 100644 index 00000000000..6f80b73da11 --- /dev/null +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigMetadataOrBuilder.java @@ -0,0 +1,136 @@ +/* + * Copyright 2020 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 + * + * https://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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/spanner/admin/instance/v1/spanner_instance_admin.proto + +package com.google.spanner.admin.instance.v1; + +public interface CreateInstanceConfigMetadataOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.spanner.admin.instance.v1.CreateInstanceConfigMetadata) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The target instance config end state.
+   * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + * + * @return Whether the instanceConfig field is set. + */ + boolean hasInstanceConfig(); + /** + * + * + *
+   * The target instance config end state.
+   * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + * + * @return The instanceConfig. + */ + com.google.spanner.admin.instance.v1.InstanceConfig getInstanceConfig(); + /** + * + * + *
+   * The target instance config end state.
+   * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + */ + com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder getInstanceConfigOrBuilder(); + + /** + * + * + *
+   * The progress of the
+   * [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig]
+   * operation.
+   * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + * + * @return Whether the progress field is set. + */ + boolean hasProgress(); + /** + * + * + *
+   * The progress of the
+   * [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig]
+   * operation.
+   * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + * + * @return The progress. + */ + com.google.spanner.admin.instance.v1.OperationProgress getProgress(); + /** + * + * + *
+   * The progress of the
+   * [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig]
+   * operation.
+   * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + */ + com.google.spanner.admin.instance.v1.OperationProgressOrBuilder getProgressOrBuilder(); + + /** + * + * + *
+   * The time at which this operation was cancelled.
+   * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + * + * @return Whether the cancelTime field is set. + */ + boolean hasCancelTime(); + /** + * + * + *
+   * The time at which this operation was cancelled.
+   * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + * + * @return The cancelTime. + */ + com.google.protobuf.Timestamp getCancelTime(); + /** + * + * + *
+   * The time at which this operation was cancelled.
+   * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + */ + com.google.protobuf.TimestampOrBuilder getCancelTimeOrBuilder(); +} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigRequest.java new file mode 100644 index 00000000000..2d187997e1c --- /dev/null +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigRequest.java @@ -0,0 +1,1315 @@ +/* + * Copyright 2020 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 + * + * https://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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/spanner/admin/instance/v1/spanner_instance_admin.proto + +package com.google.spanner.admin.instance.v1; + +/** + * + * + *
+ * The request for
+ * [CreateInstanceConfigRequest][InstanceAdmin.CreateInstanceConfigRequest].
+ * 
+ * + * Protobuf type {@code google.spanner.admin.instance.v1.CreateInstanceConfigRequest} + */ +public final class CreateInstanceConfigRequest extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.spanner.admin.instance.v1.CreateInstanceConfigRequest) + CreateInstanceConfigRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use CreateInstanceConfigRequest.newBuilder() to construct. + private CreateInstanceConfigRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private CreateInstanceConfigRequest() { + parent_ = ""; + instanceConfigId_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new CreateInstanceConfigRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private CreateInstanceConfigRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + + parent_ = s; + break; + } + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + + instanceConfigId_ = s; + break; + } + case 26: + { + com.google.spanner.admin.instance.v1.InstanceConfig.Builder subBuilder = null; + if (instanceConfig_ != null) { + subBuilder = instanceConfig_.toBuilder(); + } + instanceConfig_ = + input.readMessage( + com.google.spanner.admin.instance.v1.InstanceConfig.parser(), + extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(instanceConfig_); + instanceConfig_ = subBuilder.buildPartial(); + } + + break; + } + case 32: + { + validateOnly_ = input.readBool(); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest.class, + com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + private volatile java.lang.Object parent_; + /** + * + * + *
+   * Required. The name of the project in which to create the instance config.
+   * Values are of the form `projects/<project>`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + 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(); + parent_ = s; + return s; + } + } + /** + * + * + *
+   * Required. The name of the project in which to create the instance config.
+   * Values are of the form `projects/<project>`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int INSTANCE_CONFIG_ID_FIELD_NUMBER = 2; + private volatile java.lang.Object instanceConfigId_; + /** + * + * + *
+   * Required. The ID of the instance config to create.  Valid identifiers are
+   * of the form `custom-[-a-z0-9]*[a-z0-9]` and must be between 2 and 64
+   * characters in length. The `custom-` prefix is required to avoid name
+   * conflicts with Google managed configurations.
+   * 
+ * + * string instance_config_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The instanceConfigId. + */ + @java.lang.Override + public java.lang.String getInstanceConfigId() { + java.lang.Object ref = instanceConfigId_; + 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(); + instanceConfigId_ = s; + return s; + } + } + /** + * + * + *
+   * Required. The ID of the instance config to create.  Valid identifiers are
+   * of the form `custom-[-a-z0-9]*[a-z0-9]` and must be between 2 and 64
+   * characters in length. The `custom-` prefix is required to avoid name
+   * conflicts with Google managed configurations.
+   * 
+ * + * string instance_config_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for instanceConfigId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getInstanceConfigIdBytes() { + java.lang.Object ref = instanceConfigId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + instanceConfigId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int INSTANCE_CONFIG_FIELD_NUMBER = 3; + private com.google.spanner.admin.instance.v1.InstanceConfig instanceConfig_; + /** + * + * + *
+   * Required. The InstanceConfig proto of the configuration to create.
+   * instance_config.name must be
+   * `<parent>/instanceConfigs/<instance_config_id>`.
+   * instance_config.base_config must be a Google managed configuration name,
+   * e.g. <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the instanceConfig field is set. + */ + @java.lang.Override + public boolean hasInstanceConfig() { + return instanceConfig_ != null; + } + /** + * + * + *
+   * Required. The InstanceConfig proto of the configuration to create.
+   * instance_config.name must be
+   * `<parent>/instanceConfigs/<instance_config_id>`.
+   * instance_config.base_config must be a Google managed configuration name,
+   * e.g. <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The instanceConfig. + */ + @java.lang.Override + public com.google.spanner.admin.instance.v1.InstanceConfig getInstanceConfig() { + return instanceConfig_ == null + ? com.google.spanner.admin.instance.v1.InstanceConfig.getDefaultInstance() + : instanceConfig_; + } + /** + * + * + *
+   * Required. The InstanceConfig proto of the configuration to create.
+   * instance_config.name must be
+   * `<parent>/instanceConfigs/<instance_config_id>`.
+   * instance_config.base_config must be a Google managed configuration name,
+   * e.g. <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder getInstanceConfigOrBuilder() { + return getInstanceConfig(); + } + + public static final int VALIDATE_ONLY_FIELD_NUMBER = 4; + private boolean validateOnly_; + /** + * + * + *
+   * An option to validate, but not actually execute, a request,
+   * and provide the same response.
+   * 
+ * + * bool validate_only = 4; + * + * @return The validateOnly. + */ + @java.lang.Override + public boolean getValidateOnly() { + return validateOnly_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, parent_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(instanceConfigId_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, instanceConfigId_); + } + if (instanceConfig_ != null) { + output.writeMessage(3, getInstanceConfig()); + } + if (validateOnly_ != false) { + output.writeBool(4, validateOnly_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, parent_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(instanceConfigId_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, instanceConfigId_); + } + if (instanceConfig_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getInstanceConfig()); + } + if (validateOnly_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(4, validateOnly_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest)) { + return super.equals(obj); + } + com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest other = + (com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (!getInstanceConfigId().equals(other.getInstanceConfigId())) return false; + if (hasInstanceConfig() != other.hasInstanceConfig()) return false; + if (hasInstanceConfig()) { + if (!getInstanceConfig().equals(other.getInstanceConfig())) return false; + } + if (getValidateOnly() != other.getValidateOnly()) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + INSTANCE_CONFIG_ID_FIELD_NUMBER; + hash = (53 * hash) + getInstanceConfigId().hashCode(); + if (hasInstanceConfig()) { + hash = (37 * hash) + INSTANCE_CONFIG_FIELD_NUMBER; + hash = (53 * hash) + getInstanceConfig().hashCode(); + } + hash = (37 * hash) + VALIDATE_ONLY_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getValidateOnly()); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
+   * The request for
+   * [CreateInstanceConfigRequest][InstanceAdmin.CreateInstanceConfigRequest].
+   * 
+ * + * Protobuf type {@code google.spanner.admin.instance.v1.CreateInstanceConfigRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.spanner.admin.instance.v1.CreateInstanceConfigRequest) + com.google.spanner.admin.instance.v1.CreateInstanceConfigRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest.class, + com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest.Builder.class); + } + + // Construct using com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + parent_ = ""; + + instanceConfigId_ = ""; + + if (instanceConfigBuilder_ == null) { + instanceConfig_ = null; + } else { + instanceConfig_ = null; + instanceConfigBuilder_ = null; + } + validateOnly_ = false; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigRequest_descriptor; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest + getDefaultInstanceForType() { + return com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest build() { + com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest buildPartial() { + com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest result = + new com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest(this); + result.parent_ = parent_; + result.instanceConfigId_ = instanceConfigId_; + if (instanceConfigBuilder_ == null) { + result.instanceConfig_ = instanceConfig_; + } else { + result.instanceConfig_ = instanceConfigBuilder_.build(); + } + result.validateOnly_ = validateOnly_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest) { + return mergeFrom((com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest other) { + if (other + == com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + onChanged(); + } + if (!other.getInstanceConfigId().isEmpty()) { + instanceConfigId_ = other.instanceConfigId_; + onChanged(); + } + if (other.hasInstanceConfig()) { + mergeInstanceConfig(other.getInstanceConfig()); + } + if (other.getValidateOnly() != false) { + setValidateOnly(other.getValidateOnly()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest) + e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object parent_ = ""; + /** + * + * + *
+     * Required. The name of the project in which to create the instance config.
+     * Values are of the form `projects/<project>`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Required. The name of the project in which to create the instance config.
+     * Values are of the form `projects/<project>`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Required. The name of the project in which to create the instance config.
+     * Values are of the form `projects/<project>`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + parent_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Required. The name of the project in which to create the instance config.
+     * Values are of the form `projects/<project>`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + + parent_ = getDefaultInstance().getParent(); + onChanged(); + return this; + } + /** + * + * + *
+     * Required. The name of the project in which to create the instance config.
+     * Values are of the form `projects/<project>`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + parent_ = value; + onChanged(); + return this; + } + + private java.lang.Object instanceConfigId_ = ""; + /** + * + * + *
+     * Required. The ID of the instance config to create.  Valid identifiers are
+     * of the form `custom-[-a-z0-9]*[a-z0-9]` and must be between 2 and 64
+     * characters in length. The `custom-` prefix is required to avoid name
+     * conflicts with Google managed configurations.
+     * 
+ * + * string instance_config_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The instanceConfigId. + */ + public java.lang.String getInstanceConfigId() { + java.lang.Object ref = instanceConfigId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + instanceConfigId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Required. The ID of the instance config to create.  Valid identifiers are
+     * of the form `custom-[-a-z0-9]*[a-z0-9]` and must be between 2 and 64
+     * characters in length. The `custom-` prefix is required to avoid name
+     * conflicts with Google managed configurations.
+     * 
+ * + * string instance_config_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for instanceConfigId. + */ + public com.google.protobuf.ByteString getInstanceConfigIdBytes() { + java.lang.Object ref = instanceConfigId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + instanceConfigId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Required. The ID of the instance config to create.  Valid identifiers are
+     * of the form `custom-[-a-z0-9]*[a-z0-9]` and must be between 2 and 64
+     * characters in length. The `custom-` prefix is required to avoid name
+     * conflicts with Google managed configurations.
+     * 
+ * + * string instance_config_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The instanceConfigId to set. + * @return This builder for chaining. + */ + public Builder setInstanceConfigId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + instanceConfigId_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Required. The ID of the instance config to create.  Valid identifiers are
+     * of the form `custom-[-a-z0-9]*[a-z0-9]` and must be between 2 and 64
+     * characters in length. The `custom-` prefix is required to avoid name
+     * conflicts with Google managed configurations.
+     * 
+ * + * string instance_config_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return This builder for chaining. + */ + public Builder clearInstanceConfigId() { + + instanceConfigId_ = getDefaultInstance().getInstanceConfigId(); + onChanged(); + return this; + } + /** + * + * + *
+     * Required. The ID of the instance config to create.  Valid identifiers are
+     * of the form `custom-[-a-z0-9]*[a-z0-9]` and must be between 2 and 64
+     * characters in length. The `custom-` prefix is required to avoid name
+     * conflicts with Google managed configurations.
+     * 
+ * + * string instance_config_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The bytes for instanceConfigId to set. + * @return This builder for chaining. + */ + public Builder setInstanceConfigIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + instanceConfigId_ = value; + onChanged(); + return this; + } + + private com.google.spanner.admin.instance.v1.InstanceConfig instanceConfig_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.spanner.admin.instance.v1.InstanceConfig, + com.google.spanner.admin.instance.v1.InstanceConfig.Builder, + com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder> + instanceConfigBuilder_; + /** + * + * + *
+     * Required. The InstanceConfig proto of the configuration to create.
+     * instance_config.name must be
+     * `<parent>/instanceConfigs/<instance_config_id>`.
+     * instance_config.base_config must be a Google managed configuration name,
+     * e.g. <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the instanceConfig field is set. + */ + public boolean hasInstanceConfig() { + return instanceConfigBuilder_ != null || instanceConfig_ != null; + } + /** + * + * + *
+     * Required. The InstanceConfig proto of the configuration to create.
+     * instance_config.name must be
+     * `<parent>/instanceConfigs/<instance_config_id>`.
+     * instance_config.base_config must be a Google managed configuration name,
+     * e.g. <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The instanceConfig. + */ + public com.google.spanner.admin.instance.v1.InstanceConfig getInstanceConfig() { + if (instanceConfigBuilder_ == null) { + return instanceConfig_ == null + ? com.google.spanner.admin.instance.v1.InstanceConfig.getDefaultInstance() + : instanceConfig_; + } else { + return instanceConfigBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Required. The InstanceConfig proto of the configuration to create.
+     * instance_config.name must be
+     * `<parent>/instanceConfigs/<instance_config_id>`.
+     * instance_config.base_config must be a Google managed configuration name,
+     * e.g. <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setInstanceConfig(com.google.spanner.admin.instance.v1.InstanceConfig value) { + if (instanceConfigBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + instanceConfig_ = value; + onChanged(); + } else { + instanceConfigBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * Required. The InstanceConfig proto of the configuration to create.
+     * instance_config.name must be
+     * `<parent>/instanceConfigs/<instance_config_id>`.
+     * instance_config.base_config must be a Google managed configuration name,
+     * e.g. <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setInstanceConfig( + com.google.spanner.admin.instance.v1.InstanceConfig.Builder builderForValue) { + if (instanceConfigBuilder_ == null) { + instanceConfig_ = builderForValue.build(); + onChanged(); + } else { + instanceConfigBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * Required. The InstanceConfig proto of the configuration to create.
+     * instance_config.name must be
+     * `<parent>/instanceConfigs/<instance_config_id>`.
+     * instance_config.base_config must be a Google managed configuration name,
+     * e.g. <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeInstanceConfig(com.google.spanner.admin.instance.v1.InstanceConfig value) { + if (instanceConfigBuilder_ == null) { + if (instanceConfig_ != null) { + instanceConfig_ = + com.google.spanner.admin.instance.v1.InstanceConfig.newBuilder(instanceConfig_) + .mergeFrom(value) + .buildPartial(); + } else { + instanceConfig_ = value; + } + onChanged(); + } else { + instanceConfigBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * Required. The InstanceConfig proto of the configuration to create.
+     * instance_config.name must be
+     * `<parent>/instanceConfigs/<instance_config_id>`.
+     * instance_config.base_config must be a Google managed configuration name,
+     * e.g. <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearInstanceConfig() { + if (instanceConfigBuilder_ == null) { + instanceConfig_ = null; + onChanged(); + } else { + instanceConfig_ = null; + instanceConfigBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * Required. The InstanceConfig proto of the configuration to create.
+     * instance_config.name must be
+     * `<parent>/instanceConfigs/<instance_config_id>`.
+     * instance_config.base_config must be a Google managed configuration name,
+     * e.g. <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.spanner.admin.instance.v1.InstanceConfig.Builder getInstanceConfigBuilder() { + + onChanged(); + return getInstanceConfigFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Required. The InstanceConfig proto of the configuration to create.
+     * instance_config.name must be
+     * `<parent>/instanceConfigs/<instance_config_id>`.
+     * instance_config.base_config must be a Google managed configuration name,
+     * e.g. <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder + getInstanceConfigOrBuilder() { + if (instanceConfigBuilder_ != null) { + return instanceConfigBuilder_.getMessageOrBuilder(); + } else { + return instanceConfig_ == null + ? com.google.spanner.admin.instance.v1.InstanceConfig.getDefaultInstance() + : instanceConfig_; + } + } + /** + * + * + *
+     * Required. The InstanceConfig proto of the configuration to create.
+     * instance_config.name must be
+     * `<parent>/instanceConfigs/<instance_config_id>`.
+     * instance_config.base_config must be a Google managed configuration name,
+     * e.g. <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.spanner.admin.instance.v1.InstanceConfig, + com.google.spanner.admin.instance.v1.InstanceConfig.Builder, + com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder> + getInstanceConfigFieldBuilder() { + if (instanceConfigBuilder_ == null) { + instanceConfigBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.spanner.admin.instance.v1.InstanceConfig, + com.google.spanner.admin.instance.v1.InstanceConfig.Builder, + com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder>( + getInstanceConfig(), getParentForChildren(), isClean()); + instanceConfig_ = null; + } + return instanceConfigBuilder_; + } + + private boolean validateOnly_; + /** + * + * + *
+     * An option to validate, but not actually execute, a request,
+     * and provide the same response.
+     * 
+ * + * bool validate_only = 4; + * + * @return The validateOnly. + */ + @java.lang.Override + public boolean getValidateOnly() { + return validateOnly_; + } + /** + * + * + *
+     * An option to validate, but not actually execute, a request,
+     * and provide the same response.
+     * 
+ * + * bool validate_only = 4; + * + * @param value The validateOnly to set. + * @return This builder for chaining. + */ + public Builder setValidateOnly(boolean value) { + + validateOnly_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * An option to validate, but not actually execute, a request,
+     * and provide the same response.
+     * 
+ * + * bool validate_only = 4; + * + * @return This builder for chaining. + */ + public Builder clearValidateOnly() { + + validateOnly_ = false; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.spanner.admin.instance.v1.CreateInstanceConfigRequest) + } + + // @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.CreateInstanceConfigRequest) + private static final com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest(); + } + + public static com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CreateInstanceConfigRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new CreateInstanceConfigRequest(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.CreateInstanceConfigRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigRequestOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigRequestOrBuilder.java new file mode 100644 index 00000000000..0748fdade24 --- /dev/null +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigRequestOrBuilder.java @@ -0,0 +1,154 @@ +/* + * Copyright 2020 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 + * + * https://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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/spanner/admin/instance/v1/spanner_instance_admin.proto + +package com.google.spanner.admin.instance.v1; + +public interface CreateInstanceConfigRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.spanner.admin.instance.v1.CreateInstanceConfigRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The name of the project in which to create the instance config.
+   * Values are of the form `projects/<project>`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + /** + * + * + *
+   * Required. The name of the project in which to create the instance config.
+   * Values are of the form `projects/<project>`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Required. The ID of the instance config to create.  Valid identifiers are
+   * of the form `custom-[-a-z0-9]*[a-z0-9]` and must be between 2 and 64
+   * characters in length. The `custom-` prefix is required to avoid name
+   * conflicts with Google managed configurations.
+   * 
+ * + * string instance_config_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The instanceConfigId. + */ + java.lang.String getInstanceConfigId(); + /** + * + * + *
+   * Required. The ID of the instance config to create.  Valid identifiers are
+   * of the form `custom-[-a-z0-9]*[a-z0-9]` and must be between 2 and 64
+   * characters in length. The `custom-` prefix is required to avoid name
+   * conflicts with Google managed configurations.
+   * 
+ * + * string instance_config_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for instanceConfigId. + */ + com.google.protobuf.ByteString getInstanceConfigIdBytes(); + + /** + * + * + *
+   * Required. The InstanceConfig proto of the configuration to create.
+   * instance_config.name must be
+   * `<parent>/instanceConfigs/<instance_config_id>`.
+   * instance_config.base_config must be a Google managed configuration name,
+   * e.g. <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the instanceConfig field is set. + */ + boolean hasInstanceConfig(); + /** + * + * + *
+   * Required. The InstanceConfig proto of the configuration to create.
+   * instance_config.name must be
+   * `<parent>/instanceConfigs/<instance_config_id>`.
+   * instance_config.base_config must be a Google managed configuration name,
+   * e.g. <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The instanceConfig. + */ + com.google.spanner.admin.instance.v1.InstanceConfig getInstanceConfig(); + /** + * + * + *
+   * Required. The InstanceConfig proto of the configuration to create.
+   * instance_config.name must be
+   * `<parent>/instanceConfigs/<instance_config_id>`.
+   * instance_config.base_config must be a Google managed configuration name,
+   * e.g. <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder getInstanceConfigOrBuilder(); + + /** + * + * + *
+   * An option to validate, but not actually execute, a request,
+   * and provide the same response.
+   * 
+ * + * bool validate_only = 4; + * + * @return The validateOnly. + */ + boolean getValidateOnly(); +} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceMetadata.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceMetadata.java index a83eec62946..1ec3177cda8 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceMetadata.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceMetadata.java @@ -221,8 +221,8 @@ public com.google.spanner.admin.instance.v1.InstanceOrBuilder getInstanceOrBuild * *
    * The time at which the
-   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance] request was
-   * received.
+   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]
+   * request was received.
    * 
* * .google.protobuf.Timestamp start_time = 2; @@ -238,8 +238,8 @@ public boolean hasStartTime() { * *
    * The time at which the
-   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance] request was
-   * received.
+   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]
+   * request was received.
    * 
* * .google.protobuf.Timestamp start_time = 2; @@ -255,8 +255,8 @@ public com.google.protobuf.Timestamp getStartTime() { * *
    * The time at which the
-   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance] request was
-   * received.
+   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]
+   * request was received.
    * 
* * .google.protobuf.Timestamp start_time = 2; @@ -977,8 +977,8 @@ public com.google.spanner.admin.instance.v1.InstanceOrBuilder getInstanceOrBuild * *
      * The time at which the
-     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance] request was
-     * received.
+     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]
+     * request was received.
      * 
* * .google.protobuf.Timestamp start_time = 2; @@ -993,8 +993,8 @@ public boolean hasStartTime() { * *
      * The time at which the
-     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance] request was
-     * received.
+     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]
+     * request was received.
      * 
* * .google.protobuf.Timestamp start_time = 2; @@ -1013,8 +1013,8 @@ public com.google.protobuf.Timestamp getStartTime() { * *
      * The time at which the
-     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance] request was
-     * received.
+     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]
+     * request was received.
      * 
* * .google.protobuf.Timestamp start_time = 2; @@ -1037,8 +1037,8 @@ public Builder setStartTime(com.google.protobuf.Timestamp value) { * *
      * The time at which the
-     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance] request was
-     * received.
+     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]
+     * request was received.
      * 
* * .google.protobuf.Timestamp start_time = 2; @@ -1058,8 +1058,8 @@ public Builder setStartTime(com.google.protobuf.Timestamp.Builder builderForValu * *
      * The time at which the
-     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance] request was
-     * received.
+     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]
+     * request was received.
      * 
* * .google.protobuf.Timestamp start_time = 2; @@ -1084,8 +1084,8 @@ public Builder mergeStartTime(com.google.protobuf.Timestamp value) { * *
      * The time at which the
-     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance] request was
-     * received.
+     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]
+     * request was received.
      * 
* * .google.protobuf.Timestamp start_time = 2; @@ -1106,8 +1106,8 @@ public Builder clearStartTime() { * *
      * The time at which the
-     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance] request was
-     * received.
+     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]
+     * request was received.
      * 
* * .google.protobuf.Timestamp start_time = 2; @@ -1122,8 +1122,8 @@ public com.google.protobuf.Timestamp.Builder getStartTimeBuilder() { * *
      * The time at which the
-     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance] request was
-     * received.
+     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]
+     * request was received.
      * 
* * .google.protobuf.Timestamp start_time = 2; @@ -1140,8 +1140,8 @@ public com.google.protobuf.TimestampOrBuilder getStartTimeOrBuilder() { * *
      * The time at which the
-     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance] request was
-     * received.
+     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]
+     * request was received.
      * 
* * .google.protobuf.Timestamp start_time = 2; diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceMetadataOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceMetadataOrBuilder.java index 65b4fcdf954..ce460d6f984 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceMetadataOrBuilder.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceMetadataOrBuilder.java @@ -63,8 +63,8 @@ public interface CreateInstanceMetadataOrBuilder * *
    * The time at which the
-   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance] request was
-   * received.
+   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]
+   * request was received.
    * 
* * .google.protobuf.Timestamp start_time = 2; @@ -77,8 +77,8 @@ public interface CreateInstanceMetadataOrBuilder * *
    * The time at which the
-   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance] request was
-   * received.
+   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]
+   * request was received.
    * 
* * .google.protobuf.Timestamp start_time = 2; @@ -91,8 +91,8 @@ public interface CreateInstanceMetadataOrBuilder * *
    * The time at which the
-   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance] request was
-   * received.
+   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]
+   * request was received.
    * 
* * .google.protobuf.Timestamp start_time = 2; diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceRequest.java index ec500f8d50e..153d9b1fca8 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceRequest.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceRequest.java @@ -22,7 +22,8 @@ * * *
- * The request for [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance].
+ * The request for
+ * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance].
  * 
* * Protobuf type {@code google.spanner.admin.instance.v1.CreateInstanceRequest} @@ -489,7 +490,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build * * *
-   * The request for [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance].
+   * The request for
+   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance].
    * 
* * Protobuf type {@code google.spanner.admin.instance.v1.CreateInstanceRequest} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceConfigRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceConfigRequest.java new file mode 100644 index 00000000000..a6b4d813402 --- /dev/null +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceConfigRequest.java @@ -0,0 +1,991 @@ +/* + * Copyright 2020 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 + * + * https://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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/spanner/admin/instance/v1/spanner_instance_admin.proto + +package com.google.spanner.admin.instance.v1; + +/** + * + * + *
+ * The request for
+ * [DeleteInstanceConfigRequest][InstanceAdmin.DeleteInstanceConfigRequest].
+ * 
+ * + * Protobuf type {@code google.spanner.admin.instance.v1.DeleteInstanceConfigRequest} + */ +public final class DeleteInstanceConfigRequest extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.spanner.admin.instance.v1.DeleteInstanceConfigRequest) + DeleteInstanceConfigRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use DeleteInstanceConfigRequest.newBuilder() to construct. + private DeleteInstanceConfigRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private DeleteInstanceConfigRequest() { + name_ = ""; + etag_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new DeleteInstanceConfigRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private DeleteInstanceConfigRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + + name_ = s; + break; + } + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + + etag_ = s; + break; + } + case 24: + { + validateOnly_ = input.readBool(); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_DeleteInstanceConfigRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_DeleteInstanceConfigRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest.class, + com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object name_; + /** + * + * + *
+   * Required. The name of the instance configuration to be deleted.
+   * Values are of the form
+   * `projects/<project>/instanceConfigs/<instance_config>`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + 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(); + name_ = s; + return s; + } + } + /** + * + * + *
+   * Required. The name of the instance configuration to be deleted.
+   * Values are of the form
+   * `projects/<project>/instanceConfigs/<instance_config>`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ETAG_FIELD_NUMBER = 2; + private volatile java.lang.Object etag_; + /** + * + * + *
+   * Used for optimistic concurrency control as a way to help prevent
+   * simultaneous deletes of an instance config from overwriting each
+   * other. If not empty, the API
+   * only deletes the instance config when the etag provided matches the current
+   * status of the requested instance config. Otherwise, deletes the instance
+   * config without checking the current status of the requested instance
+   * config.
+   * 
+ * + * string etag = 2; + * + * @return The etag. + */ + @java.lang.Override + public java.lang.String getEtag() { + java.lang.Object ref = etag_; + 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(); + etag_ = s; + return s; + } + } + /** + * + * + *
+   * Used for optimistic concurrency control as a way to help prevent
+   * simultaneous deletes of an instance config from overwriting each
+   * other. If not empty, the API
+   * only deletes the instance config when the etag provided matches the current
+   * status of the requested instance config. Otherwise, deletes the instance
+   * config without checking the current status of the requested instance
+   * config.
+   * 
+ * + * string etag = 2; + * + * @return The bytes for etag. + */ + @java.lang.Override + public com.google.protobuf.ByteString getEtagBytes() { + java.lang.Object ref = etag_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + etag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int VALIDATE_ONLY_FIELD_NUMBER = 3; + private boolean validateOnly_; + /** + * + * + *
+   * An option to validate, but not actually execute, a request,
+   * and provide the same response.
+   * 
+ * + * bool validate_only = 3; + * + * @return The validateOnly. + */ + @java.lang.Override + public boolean getValidateOnly() { + return validateOnly_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(etag_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, etag_); + } + if (validateOnly_ != false) { + output.writeBool(3, validateOnly_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(etag_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, etag_); + } + if (validateOnly_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(3, validateOnly_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest)) { + return super.equals(obj); + } + com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest other = + (com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (!getEtag().equals(other.getEtag())) return false; + if (getValidateOnly() != other.getValidateOnly()) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + ETAG_FIELD_NUMBER; + hash = (53 * hash) + getEtag().hashCode(); + hash = (37 * hash) + VALIDATE_ONLY_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getValidateOnly()); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
+   * The request for
+   * [DeleteInstanceConfigRequest][InstanceAdmin.DeleteInstanceConfigRequest].
+   * 
+ * + * Protobuf type {@code google.spanner.admin.instance.v1.DeleteInstanceConfigRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.spanner.admin.instance.v1.DeleteInstanceConfigRequest) + com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_DeleteInstanceConfigRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_DeleteInstanceConfigRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest.class, + com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest.Builder.class); + } + + // Construct using com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + name_ = ""; + + etag_ = ""; + + validateOnly_ = false; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_DeleteInstanceConfigRequest_descriptor; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest + getDefaultInstanceForType() { + return com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest build() { + com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest buildPartial() { + com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest result = + new com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest(this); + result.name_ = name_; + result.etag_ = etag_; + result.validateOnly_ = validateOnly_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest) { + return mergeFrom((com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest other) { + if (other + == com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + onChanged(); + } + if (!other.getEtag().isEmpty()) { + etag_ = other.etag_; + onChanged(); + } + if (other.getValidateOnly() != false) { + setValidateOnly(other.getValidateOnly()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest) + e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object name_ = ""; + /** + * + * + *
+     * Required. The name of the instance configuration to be deleted.
+     * Values are of the form
+     * `projects/<project>/instanceConfigs/<instance_config>`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Required. The name of the instance configuration to be deleted.
+     * Values are of the form
+     * `projects/<project>/instanceConfigs/<instance_config>`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Required. The name of the instance configuration to be deleted.
+     * Values are of the form
+     * `projects/<project>/instanceConfigs/<instance_config>`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + name_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Required. The name of the instance configuration to be deleted.
+     * Values are of the form
+     * `projects/<project>/instanceConfigs/<instance_config>`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + * + * + *
+     * Required. The name of the instance configuration to be deleted.
+     * Values are of the form
+     * `projects/<project>/instanceConfigs/<instance_config>`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + name_ = value; + onChanged(); + return this; + } + + private java.lang.Object etag_ = ""; + /** + * + * + *
+     * Used for optimistic concurrency control as a way to help prevent
+     * simultaneous deletes of an instance config from overwriting each
+     * other. If not empty, the API
+     * only deletes the instance config when the etag provided matches the current
+     * status of the requested instance config. Otherwise, deletes the instance
+     * config without checking the current status of the requested instance
+     * config.
+     * 
+ * + * string etag = 2; + * + * @return The etag. + */ + public java.lang.String getEtag() { + java.lang.Object ref = etag_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + etag_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Used for optimistic concurrency control as a way to help prevent
+     * simultaneous deletes of an instance config from overwriting each
+     * other. If not empty, the API
+     * only deletes the instance config when the etag provided matches the current
+     * status of the requested instance config. Otherwise, deletes the instance
+     * config without checking the current status of the requested instance
+     * config.
+     * 
+ * + * string etag = 2; + * + * @return The bytes for etag. + */ + public com.google.protobuf.ByteString getEtagBytes() { + java.lang.Object ref = etag_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + etag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Used for optimistic concurrency control as a way to help prevent
+     * simultaneous deletes of an instance config from overwriting each
+     * other. If not empty, the API
+     * only deletes the instance config when the etag provided matches the current
+     * status of the requested instance config. Otherwise, deletes the instance
+     * config without checking the current status of the requested instance
+     * config.
+     * 
+ * + * string etag = 2; + * + * @param value The etag to set. + * @return This builder for chaining. + */ + public Builder setEtag(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + etag_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Used for optimistic concurrency control as a way to help prevent
+     * simultaneous deletes of an instance config from overwriting each
+     * other. If not empty, the API
+     * only deletes the instance config when the etag provided matches the current
+     * status of the requested instance config. Otherwise, deletes the instance
+     * config without checking the current status of the requested instance
+     * config.
+     * 
+ * + * string etag = 2; + * + * @return This builder for chaining. + */ + public Builder clearEtag() { + + etag_ = getDefaultInstance().getEtag(); + onChanged(); + return this; + } + /** + * + * + *
+     * Used for optimistic concurrency control as a way to help prevent
+     * simultaneous deletes of an instance config from overwriting each
+     * other. If not empty, the API
+     * only deletes the instance config when the etag provided matches the current
+     * status of the requested instance config. Otherwise, deletes the instance
+     * config without checking the current status of the requested instance
+     * config.
+     * 
+ * + * string etag = 2; + * + * @param value The bytes for etag to set. + * @return This builder for chaining. + */ + public Builder setEtagBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + etag_ = value; + onChanged(); + return this; + } + + private boolean validateOnly_; + /** + * + * + *
+     * An option to validate, but not actually execute, a request,
+     * and provide the same response.
+     * 
+ * + * bool validate_only = 3; + * + * @return The validateOnly. + */ + @java.lang.Override + public boolean getValidateOnly() { + return validateOnly_; + } + /** + * + * + *
+     * An option to validate, but not actually execute, a request,
+     * and provide the same response.
+     * 
+ * + * bool validate_only = 3; + * + * @param value The validateOnly to set. + * @return This builder for chaining. + */ + public Builder setValidateOnly(boolean value) { + + validateOnly_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * An option to validate, but not actually execute, a request,
+     * and provide the same response.
+     * 
+ * + * bool validate_only = 3; + * + * @return This builder for chaining. + */ + public Builder clearValidateOnly() { + + validateOnly_ = false; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.spanner.admin.instance.v1.DeleteInstanceConfigRequest) + } + + // @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.DeleteInstanceConfigRequest) + private static final com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest(); + } + + public static com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public DeleteInstanceConfigRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new DeleteInstanceConfigRequest(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceConfigRequestOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceConfigRequestOrBuilder.java new file mode 100644 index 00000000000..8002cd5678c --- /dev/null +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceConfigRequestOrBuilder.java @@ -0,0 +1,109 @@ +/* + * Copyright 2020 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 + * + * https://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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/spanner/admin/instance/v1/spanner_instance_admin.proto + +package com.google.spanner.admin.instance.v1; + +public interface DeleteInstanceConfigRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.spanner.admin.instance.v1.DeleteInstanceConfigRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The name of the instance configuration to be deleted.
+   * Values are of the form
+   * `projects/<project>/instanceConfigs/<instance_config>`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + /** + * + * + *
+   * Required. The name of the instance configuration to be deleted.
+   * Values are of the form
+   * `projects/<project>/instanceConfigs/<instance_config>`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Used for optimistic concurrency control as a way to help prevent
+   * simultaneous deletes of an instance config from overwriting each
+   * other. If not empty, the API
+   * only deletes the instance config when the etag provided matches the current
+   * status of the requested instance config. Otherwise, deletes the instance
+   * config without checking the current status of the requested instance
+   * config.
+   * 
+ * + * string etag = 2; + * + * @return The etag. + */ + java.lang.String getEtag(); + /** + * + * + *
+   * Used for optimistic concurrency control as a way to help prevent
+   * simultaneous deletes of an instance config from overwriting each
+   * other. If not empty, the API
+   * only deletes the instance config when the etag provided matches the current
+   * status of the requested instance config. Otherwise, deletes the instance
+   * config without checking the current status of the requested instance
+   * config.
+   * 
+ * + * string etag = 2; + * + * @return The bytes for etag. + */ + com.google.protobuf.ByteString getEtagBytes(); + + /** + * + * + *
+   * An option to validate, but not actually execute, a request,
+   * and provide the same response.
+   * 
+ * + * bool validate_only = 3; + * + * @return The validateOnly. + */ + boolean getValidateOnly(); +} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceRequest.java index 9f7b984502f..b1a3b09e12e 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceRequest.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceRequest.java @@ -22,7 +22,8 @@ * * *
- * The request for [DeleteInstance][google.spanner.admin.instance.v1.InstanceAdmin.DeleteInstance].
+ * The request for
+ * [DeleteInstance][google.spanner.admin.instance.v1.InstanceAdmin.DeleteInstance].
  * 
* * Protobuf type {@code google.spanner.admin.instance.v1.DeleteInstanceRequest} @@ -332,7 +333,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build * * *
-   * The request for [DeleteInstance][google.spanner.admin.instance.v1.InstanceAdmin.DeleteInstance].
+   * The request for
+   * [DeleteInstance][google.spanner.admin.instance.v1.InstanceAdmin.DeleteInstance].
    * 
* * Protobuf type {@code google.spanner.admin.instance.v1.DeleteInstanceRequest} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/GetInstanceRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/GetInstanceRequest.java index 73b50eb3d7d..361e7c74ae8 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/GetInstanceRequest.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/GetInstanceRequest.java @@ -22,7 +22,8 @@ * * *
- * The request for [GetInstance][google.spanner.admin.instance.v1.InstanceAdmin.GetInstance].
+ * The request for
+ * [GetInstance][google.spanner.admin.instance.v1.InstanceAdmin.GetInstance].
  * 
* * Protobuf type {@code google.spanner.admin.instance.v1.GetInstanceRequest} @@ -189,9 +190,10 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-   * If field_mask is present, specifies the subset of [Instance][google.spanner.admin.instance.v1.Instance] fields that
-   * should be returned.
-   * If absent, all [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
+   * If field_mask is present, specifies the subset of
+   * [Instance][google.spanner.admin.instance.v1.Instance] fields that should be
+   * returned. If absent, all
+   * [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
    * 
* * .google.protobuf.FieldMask field_mask = 2; @@ -206,9 +208,10 @@ public boolean hasFieldMask() { * * *
-   * If field_mask is present, specifies the subset of [Instance][google.spanner.admin.instance.v1.Instance] fields that
-   * should be returned.
-   * If absent, all [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
+   * If field_mask is present, specifies the subset of
+   * [Instance][google.spanner.admin.instance.v1.Instance] fields that should be
+   * returned. If absent, all
+   * [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
    * 
* * .google.protobuf.FieldMask field_mask = 2; @@ -223,9 +226,10 @@ public com.google.protobuf.FieldMask getFieldMask() { * * *
-   * If field_mask is present, specifies the subset of [Instance][google.spanner.admin.instance.v1.Instance] fields that
-   * should be returned.
-   * If absent, all [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
+   * If field_mask is present, specifies the subset of
+   * [Instance][google.spanner.admin.instance.v1.Instance] fields that should be
+   * returned. If absent, all
+   * [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
    * 
* * .google.protobuf.FieldMask field_mask = 2; @@ -413,7 +417,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build * * *
-   * The request for [GetInstance][google.spanner.admin.instance.v1.InstanceAdmin.GetInstance].
+   * The request for
+   * [GetInstance][google.spanner.admin.instance.v1.InstanceAdmin.GetInstance].
    * 
* * Protobuf type {@code google.spanner.admin.instance.v1.GetInstanceRequest} @@ -713,9 +718,10 @@ public Builder setNameBytes(com.google.protobuf.ByteString value) { * * *
-     * If field_mask is present, specifies the subset of [Instance][google.spanner.admin.instance.v1.Instance] fields that
-     * should be returned.
-     * If absent, all [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
+     * If field_mask is present, specifies the subset of
+     * [Instance][google.spanner.admin.instance.v1.Instance] fields that should be
+     * returned. If absent, all
+     * [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
      * 
* * .google.protobuf.FieldMask field_mask = 2; @@ -729,9 +735,10 @@ public boolean hasFieldMask() { * * *
-     * If field_mask is present, specifies the subset of [Instance][google.spanner.admin.instance.v1.Instance] fields that
-     * should be returned.
-     * If absent, all [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
+     * If field_mask is present, specifies the subset of
+     * [Instance][google.spanner.admin.instance.v1.Instance] fields that should be
+     * returned. If absent, all
+     * [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
      * 
* * .google.protobuf.FieldMask field_mask = 2; @@ -749,9 +756,10 @@ public com.google.protobuf.FieldMask getFieldMask() { * * *
-     * If field_mask is present, specifies the subset of [Instance][google.spanner.admin.instance.v1.Instance] fields that
-     * should be returned.
-     * If absent, all [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
+     * If field_mask is present, specifies the subset of
+     * [Instance][google.spanner.admin.instance.v1.Instance] fields that should be
+     * returned. If absent, all
+     * [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
      * 
* * .google.protobuf.FieldMask field_mask = 2; @@ -773,9 +781,10 @@ public Builder setFieldMask(com.google.protobuf.FieldMask value) { * * *
-     * If field_mask is present, specifies the subset of [Instance][google.spanner.admin.instance.v1.Instance] fields that
-     * should be returned.
-     * If absent, all [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
+     * If field_mask is present, specifies the subset of
+     * [Instance][google.spanner.admin.instance.v1.Instance] fields that should be
+     * returned. If absent, all
+     * [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
      * 
* * .google.protobuf.FieldMask field_mask = 2; @@ -794,9 +803,10 @@ public Builder setFieldMask(com.google.protobuf.FieldMask.Builder builderForValu * * *
-     * If field_mask is present, specifies the subset of [Instance][google.spanner.admin.instance.v1.Instance] fields that
-     * should be returned.
-     * If absent, all [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
+     * If field_mask is present, specifies the subset of
+     * [Instance][google.spanner.admin.instance.v1.Instance] fields that should be
+     * returned. If absent, all
+     * [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
      * 
* * .google.protobuf.FieldMask field_mask = 2; @@ -820,9 +830,10 @@ public Builder mergeFieldMask(com.google.protobuf.FieldMask value) { * * *
-     * If field_mask is present, specifies the subset of [Instance][google.spanner.admin.instance.v1.Instance] fields that
-     * should be returned.
-     * If absent, all [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
+     * If field_mask is present, specifies the subset of
+     * [Instance][google.spanner.admin.instance.v1.Instance] fields that should be
+     * returned. If absent, all
+     * [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
      * 
* * .google.protobuf.FieldMask field_mask = 2; @@ -842,9 +853,10 @@ public Builder clearFieldMask() { * * *
-     * If field_mask is present, specifies the subset of [Instance][google.spanner.admin.instance.v1.Instance] fields that
-     * should be returned.
-     * If absent, all [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
+     * If field_mask is present, specifies the subset of
+     * [Instance][google.spanner.admin.instance.v1.Instance] fields that should be
+     * returned. If absent, all
+     * [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
      * 
* * .google.protobuf.FieldMask field_mask = 2; @@ -858,9 +870,10 @@ public com.google.protobuf.FieldMask.Builder getFieldMaskBuilder() { * * *
-     * If field_mask is present, specifies the subset of [Instance][google.spanner.admin.instance.v1.Instance] fields that
-     * should be returned.
-     * If absent, all [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
+     * If field_mask is present, specifies the subset of
+     * [Instance][google.spanner.admin.instance.v1.Instance] fields that should be
+     * returned. If absent, all
+     * [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
      * 
* * .google.protobuf.FieldMask field_mask = 2; @@ -876,9 +889,10 @@ public com.google.protobuf.FieldMaskOrBuilder getFieldMaskOrBuilder() { * * *
-     * If field_mask is present, specifies the subset of [Instance][google.spanner.admin.instance.v1.Instance] fields that
-     * should be returned.
-     * If absent, all [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
+     * If field_mask is present, specifies the subset of
+     * [Instance][google.spanner.admin.instance.v1.Instance] fields that should be
+     * returned. If absent, all
+     * [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
      * 
* * .google.protobuf.FieldMask field_mask = 2; diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/GetInstanceRequestOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/GetInstanceRequestOrBuilder.java index 1299bd1aa78..32e35c95e21 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/GetInstanceRequestOrBuilder.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/GetInstanceRequestOrBuilder.java @@ -58,9 +58,10 @@ public interface GetInstanceRequestOrBuilder * * *
-   * If field_mask is present, specifies the subset of [Instance][google.spanner.admin.instance.v1.Instance] fields that
-   * should be returned.
-   * If absent, all [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
+   * If field_mask is present, specifies the subset of
+   * [Instance][google.spanner.admin.instance.v1.Instance] fields that should be
+   * returned. If absent, all
+   * [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
    * 
* * .google.protobuf.FieldMask field_mask = 2; @@ -72,9 +73,10 @@ public interface GetInstanceRequestOrBuilder * * *
-   * If field_mask is present, specifies the subset of [Instance][google.spanner.admin.instance.v1.Instance] fields that
-   * should be returned.
-   * If absent, all [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
+   * If field_mask is present, specifies the subset of
+   * [Instance][google.spanner.admin.instance.v1.Instance] fields that should be
+   * returned. If absent, all
+   * [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
    * 
* * .google.protobuf.FieldMask field_mask = 2; @@ -86,9 +88,10 @@ public interface GetInstanceRequestOrBuilder * * *
-   * If field_mask is present, specifies the subset of [Instance][google.spanner.admin.instance.v1.Instance] fields that
-   * should be returned.
-   * If absent, all [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
+   * If field_mask is present, specifies the subset of
+   * [Instance][google.spanner.admin.instance.v1.Instance] fields that should be
+   * returned. If absent, all
+   * [Instance][google.spanner.admin.instance.v1.Instance] fields are returned.
    * 
* * .google.protobuf.FieldMask field_mask = 2; diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/Instance.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/Instance.java index 59c7bec3d1a..e3503805885 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/Instance.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/Instance.java @@ -598,10 +598,10 @@ public int getProcessingUnits() { * *
    * Output only. The current instance state. For
-   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance], the state must be
-   * either omitted or set to `CREATING`. For
-   * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance], the state must be
-   * either omitted or set to `READY`.
+   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance],
+   * the state must be either omitted or set to `CREATING`. For
+   * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance],
+   * the state must be either omitted or set to `READY`.
    * 
* * @@ -619,10 +619,10 @@ public int getStateValue() { * *
    * Output only. The current instance state. For
-   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance], the state must be
-   * either omitted or set to `CREATING`. For
-   * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance], the state must be
-   * either omitted or set to `READY`.
+   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance],
+   * the state must be either omitted or set to `CREATING`. For
+   * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance],
+   * the state must be either omitted or set to `READY`.
    * 
* * @@ -2000,10 +2000,10 @@ public Builder clearProcessingUnits() { * *
      * Output only. The current instance state. For
-     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance], the state must be
-     * either omitted or set to `CREATING`. For
-     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance], the state must be
-     * either omitted or set to `READY`.
+     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance],
+     * the state must be either omitted or set to `CREATING`. For
+     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance],
+     * the state must be either omitted or set to `READY`.
      * 
* * @@ -2021,10 +2021,10 @@ public int getStateValue() { * *
      * Output only. The current instance state. For
-     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance], the state must be
-     * either omitted or set to `CREATING`. For
-     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance], the state must be
-     * either omitted or set to `READY`.
+     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance],
+     * the state must be either omitted or set to `CREATING`. For
+     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance],
+     * the state must be either omitted or set to `READY`.
      * 
* * @@ -2045,10 +2045,10 @@ public Builder setStateValue(int value) { * *
      * Output only. The current instance state. For
-     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance], the state must be
-     * either omitted or set to `CREATING`. For
-     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance], the state must be
-     * either omitted or set to `READY`.
+     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance],
+     * the state must be either omitted or set to `CREATING`. For
+     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance],
+     * the state must be either omitted or set to `READY`.
      * 
* * @@ -2071,10 +2071,10 @@ public com.google.spanner.admin.instance.v1.Instance.State getState() { * *
      * Output only. The current instance state. For
-     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance], the state must be
-     * either omitted or set to `CREATING`. For
-     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance], the state must be
-     * either omitted or set to `READY`.
+     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance],
+     * the state must be either omitted or set to `CREATING`. For
+     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance],
+     * the state must be either omitted or set to `READY`.
      * 
* * @@ -2098,10 +2098,10 @@ public Builder setState(com.google.spanner.admin.instance.v1.Instance.State valu * *
      * Output only. The current instance state. For
-     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance], the state must be
-     * either omitted or set to `CREATING`. For
-     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance], the state must be
-     * either omitted or set to `READY`.
+     * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance],
+     * the state must be either omitted or set to `CREATING`. For
+     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance],
+     * the state must be either omitted or set to `READY`.
      * 
* * diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfig.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfig.java index f38d4bc1df1..f1601e55eda 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfig.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfig.java @@ -41,8 +41,13 @@ private InstanceConfig(com.google.protobuf.GeneratedMessageV3.Builder builder private InstanceConfig() { name_ = ""; displayName_ = ""; + configType_ = 0; replicas_ = java.util.Collections.emptyList(); + optionalReplicas_ = java.util.Collections.emptyList(); + baseConfig_ = ""; + etag_ = ""; leaderOptions_ = com.google.protobuf.LazyStringArrayList.EMPTY; + state_ = 0; } @java.lang.Override @@ -105,13 +110,72 @@ private InstanceConfig( case 34: { java.lang.String s = input.readStringRequireUtf8(); - if (!((mutable_bitField0_ & 0x00000002) != 0)) { + if (!((mutable_bitField0_ & 0x00000008) != 0)) { leaderOptions_ = new com.google.protobuf.LazyStringArrayList(); - mutable_bitField0_ |= 0x00000002; + mutable_bitField0_ |= 0x00000008; } leaderOptions_.add(s); break; } + case 40: + { + int rawValue = input.readEnum(); + + configType_ = rawValue; + break; + } + case 50: + { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + optionalReplicas_ = + new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000002; + } + optionalReplicas_.add( + input.readMessage( + com.google.spanner.admin.instance.v1.ReplicaInfo.parser(), + extensionRegistry)); + break; + } + case 58: + { + java.lang.String s = input.readStringRequireUtf8(); + + baseConfig_ = s; + break; + } + case 66: + { + if (!((mutable_bitField0_ & 0x00000004) != 0)) { + labels_ = + com.google.protobuf.MapField.newMapField(LabelsDefaultEntryHolder.defaultEntry); + mutable_bitField0_ |= 0x00000004; + } + com.google.protobuf.MapEntry labels__ = + input.readMessage( + LabelsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + labels_.getMutableMap().put(labels__.getKey(), labels__.getValue()); + break; + } + case 74: + { + java.lang.String s = input.readStringRequireUtf8(); + + etag_ = s; + break; + } + case 80: + { + reconciling_ = input.readBool(); + break; + } + case 88: + { + int rawValue = input.readEnum(); + + state_ = rawValue; + break; + } default: { if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { @@ -131,9 +195,12 @@ private InstanceConfig( if (((mutable_bitField0_ & 0x00000001) != 0)) { replicas_ = java.util.Collections.unmodifiableList(replicas_); } - if (((mutable_bitField0_ & 0x00000002) != 0)) { + if (((mutable_bitField0_ & 0x00000008) != 0)) { leaderOptions_ = leaderOptions_.getUnmodifiableView(); } + if (((mutable_bitField0_ & 0x00000002) != 0)) { + optionalReplicas_ = java.util.Collections.unmodifiableList(optionalReplicas_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } @@ -144,6 +211,17 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { .internal_static_google_spanner_admin_instance_v1_InstanceConfig_descriptor; } + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapField internalGetMapField(int number) { + switch (number) { + case 8: + return internalGetLabels(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { @@ -154,6 +232,326 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { com.google.spanner.admin.instance.v1.InstanceConfig.Builder.class); } + /** + * + * + *
+   * The type of this configuration.
+   * 
+ * + * Protobuf enum {@code google.spanner.admin.instance.v1.InstanceConfig.Type} + */ + public enum Type implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+     * Unspecified.
+     * 
+ * + * TYPE_UNSPECIFIED = 0; + */ + TYPE_UNSPECIFIED(0), + /** + * + * + *
+     * Google managed configuration.
+     * 
+ * + * GOOGLE_MANAGED = 1; + */ + GOOGLE_MANAGED(1), + /** + * + * + *
+     * User managed configuration.
+     * 
+ * + * USER_MANAGED = 2; + */ + USER_MANAGED(2), + UNRECOGNIZED(-1), + ; + + /** + * + * + *
+     * Unspecified.
+     * 
+ * + * TYPE_UNSPECIFIED = 0; + */ + public static final int TYPE_UNSPECIFIED_VALUE = 0; + /** + * + * + *
+     * Google managed configuration.
+     * 
+ * + * GOOGLE_MANAGED = 1; + */ + public static final int GOOGLE_MANAGED_VALUE = 1; + /** + * + * + *
+     * User managed configuration.
+     * 
+ * + * USER_MANAGED = 2; + */ + public static final int USER_MANAGED_VALUE = 2; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Type valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static Type forNumber(int value) { + switch (value) { + case 0: + return TYPE_UNSPECIFIED; + case 1: + return GOOGLE_MANAGED; + case 2: + return USER_MANAGED; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Type findValueByNumber(int number) { + return Type.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.spanner.admin.instance.v1.InstanceConfig.getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final Type[] VALUES = values(); + + public static Type valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private Type(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.spanner.admin.instance.v1.InstanceConfig.Type) + } + + /** + * + * + *
+   * Indicates the current state of the instance config.
+   * 
+ * + * Protobuf enum {@code google.spanner.admin.instance.v1.InstanceConfig.State} + */ + public enum State implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+     * Not specified.
+     * 
+ * + * STATE_UNSPECIFIED = 0; + */ + STATE_UNSPECIFIED(0), + /** + * + * + *
+     * The instance config is still being created.
+     * 
+ * + * CREATING = 1; + */ + CREATING(1), + /** + * + * + *
+     * The instance config is fully created and ready to be used to create
+     * instances.
+     * 
+ * + * READY = 2; + */ + READY(2), + UNRECOGNIZED(-1), + ; + + /** + * + * + *
+     * Not specified.
+     * 
+ * + * STATE_UNSPECIFIED = 0; + */ + public static final int STATE_UNSPECIFIED_VALUE = 0; + /** + * + * + *
+     * The instance config is still being created.
+     * 
+ * + * CREATING = 1; + */ + public static final int CREATING_VALUE = 1; + /** + * + * + *
+     * The instance config is fully created and ready to be used to create
+     * instances.
+     * 
+ * + * READY = 2; + */ + public static final int READY_VALUE = 2; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static State valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static State forNumber(int value) { + switch (value) { + case 0: + return STATE_UNSPECIFIED; + case 1: + return CREATING; + case 2: + return READY; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public State findValueByNumber(int number) { + return State.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.spanner.admin.instance.v1.InstanceConfig.getDescriptor() + .getEnumTypes() + .get(1); + } + + private static final State[] VALUES = values(); + + public static State valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private State(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.spanner.admin.instance.v1.InstanceConfig.State) + } + public static final int NAME_FIELD_NUMBER = 1; private volatile java.lang.Object name_; /** @@ -256,6 +654,50 @@ public com.google.protobuf.ByteString getDisplayNameBytes() { } } + public static final int CONFIG_TYPE_FIELD_NUMBER = 5; + private int configType_; + /** + * + * + *
+   * Output only. Whether this instance config is a Google or User Managed
+   * Configuration.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig.Type config_type = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for configType. + */ + @java.lang.Override + public int getConfigTypeValue() { + return configType_; + } + /** + * + * + *
+   * Output only. Whether this instance config is a Google or User Managed
+   * Configuration.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig.Type config_type = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The configType. + */ + @java.lang.Override + public com.google.spanner.admin.instance.v1.InstanceConfig.Type getConfigType() { + @SuppressWarnings("deprecation") + com.google.spanner.admin.instance.v1.InstanceConfig.Type result = + com.google.spanner.admin.instance.v1.InstanceConfig.Type.valueOf(configType_); + return result == null + ? com.google.spanner.admin.instance.v1.InstanceConfig.Type.UNRECOGNIZED + : result; + } + public static final int REPLICAS_FIELD_NUMBER = 3; private java.util.List replicas_; /** @@ -330,47 +772,421 @@ public com.google.spanner.admin.instance.v1.ReplicaInfoOrBuilder getReplicasOrBu return replicas_.get(index); } - public static final int LEADER_OPTIONS_FIELD_NUMBER = 4; - private com.google.protobuf.LazyStringList leaderOptions_; + public static final int OPTIONAL_REPLICAS_FIELD_NUMBER = 6; + private java.util.List optionalReplicas_; /** * * *
-   * Allowed values of the "default_leader" schema option for databases in
-   * instances that use this instance configuration.
+   * Output only. The available optional replicas to choose from for user
+   * managed configurations. Populated for Google managed configurations.
    * 
* - * repeated string leader_options = 4; - * - * @return A list containing the leaderOptions. + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * */ - public com.google.protobuf.ProtocolStringList getLeaderOptionsList() { - return leaderOptions_; + @java.lang.Override + public java.util.List + getOptionalReplicasList() { + return optionalReplicas_; } /** * * *
-   * Allowed values of the "default_leader" schema option for databases in
-   * instances that use this instance configuration.
+   * Output only. The available optional replicas to choose from for user
+   * managed configurations. Populated for Google managed configurations.
    * 
* - * repeated string leader_options = 4; - * - * @return The count of leaderOptions. + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * */ - public int getLeaderOptionsCount() { - return leaderOptions_.size(); + @java.lang.Override + public java.util.List + getOptionalReplicasOrBuilderList() { + return optionalReplicas_; } /** * * *
-   * Allowed values of the "default_leader" schema option for databases in
-   * instances that use this instance configuration.
+   * Output only. The available optional replicas to choose from for user
+   * managed configurations. Populated for Google managed configurations.
    * 
* - * repeated string leader_options = 4; + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public int getOptionalReplicasCount() { + return optionalReplicas_.size(); + } + /** + * + * + *
+   * Output only. The available optional replicas to choose from for user
+   * managed configurations. Populated for Google managed configurations.
+   * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.spanner.admin.instance.v1.ReplicaInfo getOptionalReplicas(int index) { + return optionalReplicas_.get(index); + } + /** + * + * + *
+   * Output only. The available optional replicas to choose from for user
+   * managed configurations. Populated for Google managed configurations.
+   * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.spanner.admin.instance.v1.ReplicaInfoOrBuilder getOptionalReplicasOrBuilder( + int index) { + return optionalReplicas_.get(index); + } + + public static final int BASE_CONFIG_FIELD_NUMBER = 7; + private volatile java.lang.Object baseConfig_; + /** + * + * + *
+   * Base configuration name, e.g. projects/<project_name>/instanceConfigs/nam3,
+   * based on which this configuration is created. Only set for user managed
+   * configurations. `base_config` must refer to a configuration of type
+   * GOOGLE_MANAGED in the same project as this configuration.
+   * 
+ * + * string base_config = 7 [(.google.api.resource_reference) = { ... } + * + * @return The baseConfig. + */ + @java.lang.Override + public java.lang.String getBaseConfig() { + java.lang.Object ref = baseConfig_; + 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(); + baseConfig_ = s; + return s; + } + } + /** + * + * + *
+   * Base configuration name, e.g. projects/<project_name>/instanceConfigs/nam3,
+   * based on which this configuration is created. Only set for user managed
+   * configurations. `base_config` must refer to a configuration of type
+   * GOOGLE_MANAGED in the same project as this configuration.
+   * 
+ * + * string base_config = 7 [(.google.api.resource_reference) = { ... } + * + * @return The bytes for baseConfig. + */ + @java.lang.Override + public com.google.protobuf.ByteString getBaseConfigBytes() { + java.lang.Object ref = baseConfig_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + baseConfig_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int LABELS_FIELD_NUMBER = 8; + + private static final class LabelsDefaultEntryHolder { + static final com.google.protobuf.MapEntry defaultEntry = + com.google.protobuf.MapEntry.newDefaultInstance( + com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_InstanceConfig_LabelsEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + + private com.google.protobuf.MapField labels_; + + private com.google.protobuf.MapField internalGetLabels() { + if (labels_ == null) { + return com.google.protobuf.MapField.emptyMapField(LabelsDefaultEntryHolder.defaultEntry); + } + return labels_; + } + + public int getLabelsCount() { + return internalGetLabels().getMap().size(); + } + /** + * + * + *
+   * Cloud Labels are a flexible and lightweight mechanism for organizing cloud
+   * resources into groups that reflect a customer's organizational needs and
+   * deployment strategies. Cloud Labels can be used to filter collections of
+   * resources. They can be used to control how resource metrics are aggregated.
+   * And they can be used as arguments to policy management rules (e.g. route,
+   * firewall, load balancing, etc.).
+   *  * Label keys must be between 1 and 63 characters long and must conform to
+   *    the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
+   *  * Label values must be between 0 and 63 characters long and must conform
+   *    to the regular expression `[a-z0-9_-]{0,63}`.
+   *  * No more than 64 labels can be associated with a given resource.
+   * See https://goo.gl/xmQnxf for more information on and examples of labels.
+   * If you plan to use labels in your own code, please note that additional
+   * characters may be allowed in the future. Therefore, you are advised to use
+   * an internal label representation, such as JSON, which doesn't rely upon
+   * specific characters being disallowed.  For example, representing labels
+   * as the string:  name + "_" + value  would prove problematic if we were to
+   * allow "_" in a future release.
+   * 
+ * + * map<string, string> labels = 8; + */ + @java.lang.Override + public boolean containsLabels(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + return internalGetLabels().getMap().containsKey(key); + } + /** Use {@link #getLabelsMap()} instead. */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getLabels() { + return getLabelsMap(); + } + /** + * + * + *
+   * Cloud Labels are a flexible and lightweight mechanism for organizing cloud
+   * resources into groups that reflect a customer's organizational needs and
+   * deployment strategies. Cloud Labels can be used to filter collections of
+   * resources. They can be used to control how resource metrics are aggregated.
+   * And they can be used as arguments to policy management rules (e.g. route,
+   * firewall, load balancing, etc.).
+   *  * Label keys must be between 1 and 63 characters long and must conform to
+   *    the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
+   *  * Label values must be between 0 and 63 characters long and must conform
+   *    to the regular expression `[a-z0-9_-]{0,63}`.
+   *  * No more than 64 labels can be associated with a given resource.
+   * See https://goo.gl/xmQnxf for more information on and examples of labels.
+   * If you plan to use labels in your own code, please note that additional
+   * characters may be allowed in the future. Therefore, you are advised to use
+   * an internal label representation, such as JSON, which doesn't rely upon
+   * specific characters being disallowed.  For example, representing labels
+   * as the string:  name + "_" + value  would prove problematic if we were to
+   * allow "_" in a future release.
+   * 
+ * + * map<string, string> labels = 8; + */ + @java.lang.Override + public java.util.Map getLabelsMap() { + return internalGetLabels().getMap(); + } + /** + * + * + *
+   * Cloud Labels are a flexible and lightweight mechanism for organizing cloud
+   * resources into groups that reflect a customer's organizational needs and
+   * deployment strategies. Cloud Labels can be used to filter collections of
+   * resources. They can be used to control how resource metrics are aggregated.
+   * And they can be used as arguments to policy management rules (e.g. route,
+   * firewall, load balancing, etc.).
+   *  * Label keys must be between 1 and 63 characters long and must conform to
+   *    the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
+   *  * Label values must be between 0 and 63 characters long and must conform
+   *    to the regular expression `[a-z0-9_-]{0,63}`.
+   *  * No more than 64 labels can be associated with a given resource.
+   * See https://goo.gl/xmQnxf for more information on and examples of labels.
+   * If you plan to use labels in your own code, please note that additional
+   * characters may be allowed in the future. Therefore, you are advised to use
+   * an internal label representation, such as JSON, which doesn't rely upon
+   * specific characters being disallowed.  For example, representing labels
+   * as the string:  name + "_" + value  would prove problematic if we were to
+   * allow "_" in a future release.
+   * 
+ * + * map<string, string> labels = 8; + */ + @java.lang.Override + public java.lang.String getLabelsOrDefault(java.lang.String key, java.lang.String defaultValue) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = internalGetLabels().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + * + * + *
+   * Cloud Labels are a flexible and lightweight mechanism for organizing cloud
+   * resources into groups that reflect a customer's organizational needs and
+   * deployment strategies. Cloud Labels can be used to filter collections of
+   * resources. They can be used to control how resource metrics are aggregated.
+   * And they can be used as arguments to policy management rules (e.g. route,
+   * firewall, load balancing, etc.).
+   *  * Label keys must be between 1 and 63 characters long and must conform to
+   *    the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
+   *  * Label values must be between 0 and 63 characters long and must conform
+   *    to the regular expression `[a-z0-9_-]{0,63}`.
+   *  * No more than 64 labels can be associated with a given resource.
+   * See https://goo.gl/xmQnxf for more information on and examples of labels.
+   * If you plan to use labels in your own code, please note that additional
+   * characters may be allowed in the future. Therefore, you are advised to use
+   * an internal label representation, such as JSON, which doesn't rely upon
+   * specific characters being disallowed.  For example, representing labels
+   * as the string:  name + "_" + value  would prove problematic if we were to
+   * allow "_" in a future release.
+   * 
+ * + * map<string, string> labels = 8; + */ + @java.lang.Override + public java.lang.String getLabelsOrThrow(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = internalGetLabels().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public static final int ETAG_FIELD_NUMBER = 9; + private volatile java.lang.Object etag_; + /** + * + * + *
+   * etag is used for optimistic concurrency control as a way
+   * to help prevent simultaneous updates of a instance config from overwriting
+   * each other. It is strongly suggested that systems make use of the etag in
+   * the read-modify-write cycle to perform instance config updates in order to
+   * avoid race conditions: An etag is returned in the response which contains
+   * instance configs, and systems are expected to put that etag in the request
+   * to update instance config to ensure that their change will be applied to
+   * the same version of the instance config.
+   * If no etag is provided in the call to update instance config, then the
+   * existing instance config is overwritten blindly.
+   * 
+ * + * string etag = 9; + * + * @return The etag. + */ + @java.lang.Override + public java.lang.String getEtag() { + java.lang.Object ref = etag_; + 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(); + etag_ = s; + return s; + } + } + /** + * + * + *
+   * etag is used for optimistic concurrency control as a way
+   * to help prevent simultaneous updates of a instance config from overwriting
+   * each other. It is strongly suggested that systems make use of the etag in
+   * the read-modify-write cycle to perform instance config updates in order to
+   * avoid race conditions: An etag is returned in the response which contains
+   * instance configs, and systems are expected to put that etag in the request
+   * to update instance config to ensure that their change will be applied to
+   * the same version of the instance config.
+   * If no etag is provided in the call to update instance config, then the
+   * existing instance config is overwritten blindly.
+   * 
+ * + * string etag = 9; + * + * @return The bytes for etag. + */ + @java.lang.Override + public com.google.protobuf.ByteString getEtagBytes() { + java.lang.Object ref = etag_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + etag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int LEADER_OPTIONS_FIELD_NUMBER = 4; + private com.google.protobuf.LazyStringList leaderOptions_; + /** + * + * + *
+   * Allowed values of the "default_leader" schema option for databases in
+   * instances that use this instance configuration.
+   * 
+ * + * repeated string leader_options = 4; + * + * @return A list containing the leaderOptions. + */ + public com.google.protobuf.ProtocolStringList getLeaderOptionsList() { + return leaderOptions_; + } + /** + * + * + *
+   * Allowed values of the "default_leader" schema option for databases in
+   * instances that use this instance configuration.
+   * 
+ * + * repeated string leader_options = 4; + * + * @return The count of leaderOptions. + */ + public int getLeaderOptionsCount() { + return leaderOptions_.size(); + } + /** + * + * + *
+   * Allowed values of the "default_leader" schema option for databases in
+   * instances that use this instance configuration.
+   * 
+ * + * repeated string leader_options = 4; * * @param index The index of the element to return. * @return The leaderOptions at the given index. @@ -395,6 +1211,67 @@ public com.google.protobuf.ByteString getLeaderOptionsBytes(int index) { return leaderOptions_.getByteString(index); } + public static final int RECONCILING_FIELD_NUMBER = 10; + private boolean reconciling_; + /** + * + * + *
+   * Output only. If true, the instance config is being created or updated. If
+   * false, there are no ongoing operations for the instance config.
+   * 
+ * + * bool reconciling = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The reconciling. + */ + @java.lang.Override + public boolean getReconciling() { + return reconciling_; + } + + public static final int STATE_FIELD_NUMBER = 11; + private int state_; + /** + * + * + *
+   * Output only. The current instance config state.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig.State state = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for state. + */ + @java.lang.Override + public int getStateValue() { + return state_; + } + /** + * + * + *
+   * Output only. The current instance config state.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig.State state = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The state. + */ + @java.lang.Override + public com.google.spanner.admin.instance.v1.InstanceConfig.State getState() { + @SuppressWarnings("deprecation") + com.google.spanner.admin.instance.v1.InstanceConfig.State result = + com.google.spanner.admin.instance.v1.InstanceConfig.State.valueOf(state_); + return result == null + ? com.google.spanner.admin.instance.v1.InstanceConfig.State.UNRECOGNIZED + : result; + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -421,6 +1298,29 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io for (int i = 0; i < leaderOptions_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 4, leaderOptions_.getRaw(i)); } + if (configType_ + != com.google.spanner.admin.instance.v1.InstanceConfig.Type.TYPE_UNSPECIFIED.getNumber()) { + output.writeEnum(5, configType_); + } + for (int i = 0; i < optionalReplicas_.size(); i++) { + output.writeMessage(6, optionalReplicas_.get(i)); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(baseConfig_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 7, baseConfig_); + } + com.google.protobuf.GeneratedMessageV3.serializeStringMapTo( + output, internalGetLabels(), LabelsDefaultEntryHolder.defaultEntry, 8); + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(etag_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 9, etag_); + } + if (reconciling_ != false) { + output.writeBool(10, reconciling_); + } + if (state_ + != com.google.spanner.admin.instance.v1.InstanceConfig.State.STATE_UNSPECIFIED + .getNumber()) { + output.writeEnum(11, state_); + } unknownFields.writeTo(output); } @@ -447,6 +1347,37 @@ public int getSerializedSize() { size += dataSize; size += 1 * getLeaderOptionsList().size(); } + if (configType_ + != com.google.spanner.admin.instance.v1.InstanceConfig.Type.TYPE_UNSPECIFIED.getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(5, configType_); + } + for (int i = 0; i < optionalReplicas_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, optionalReplicas_.get(i)); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(baseConfig_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, baseConfig_); + } + for (java.util.Map.Entry entry : + internalGetLabels().getMap().entrySet()) { + com.google.protobuf.MapEntry labels__ = + LabelsDefaultEntryHolder.defaultEntry + .newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, labels__); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(etag_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, etag_); + } + if (reconciling_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(10, reconciling_); + } + if (state_ + != com.google.spanner.admin.instance.v1.InstanceConfig.State.STATE_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(11, state_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -465,8 +1396,15 @@ public boolean equals(final java.lang.Object obj) { if (!getName().equals(other.getName())) return false; if (!getDisplayName().equals(other.getDisplayName())) return false; + if (configType_ != other.configType_) return false; if (!getReplicasList().equals(other.getReplicasList())) return false; + if (!getOptionalReplicasList().equals(other.getOptionalReplicasList())) return false; + if (!getBaseConfig().equals(other.getBaseConfig())) return false; + if (!internalGetLabels().equals(other.internalGetLabels())) return false; + if (!getEtag().equals(other.getEtag())) return false; if (!getLeaderOptionsList().equals(other.getLeaderOptionsList())) return false; + if (getReconciling() != other.getReconciling()) return false; + if (state_ != other.state_) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -482,14 +1420,32 @@ public int hashCode() { hash = (53 * hash) + getName().hashCode(); hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER; hash = (53 * hash) + getDisplayName().hashCode(); + hash = (37 * hash) + CONFIG_TYPE_FIELD_NUMBER; + hash = (53 * hash) + configType_; if (getReplicasCount() > 0) { hash = (37 * hash) + REPLICAS_FIELD_NUMBER; hash = (53 * hash) + getReplicasList().hashCode(); } + if (getOptionalReplicasCount() > 0) { + hash = (37 * hash) + OPTIONAL_REPLICAS_FIELD_NUMBER; + hash = (53 * hash) + getOptionalReplicasList().hashCode(); + } + hash = (37 * hash) + BASE_CONFIG_FIELD_NUMBER; + hash = (53 * hash) + getBaseConfig().hashCode(); + if (!internalGetLabels().getMap().isEmpty()) { + hash = (37 * hash) + LABELS_FIELD_NUMBER; + hash = (53 * hash) + internalGetLabels().hashCode(); + } + hash = (37 * hash) + ETAG_FIELD_NUMBER; + hash = (53 * hash) + getEtag().hashCode(); if (getLeaderOptionsCount() > 0) { hash = (37 * hash) + LEADER_OPTIONS_FIELD_NUMBER; hash = (53 * hash) + getLeaderOptionsList().hashCode(); } + hash = (37 * hash) + RECONCILING_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getReconciling()); + hash = (37 * hash) + STATE_FIELD_NUMBER; + hash = (53 * hash) + state_; hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -609,6 +1565,26 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { .internal_static_google_spanner_admin_instance_v1_InstanceConfig_descriptor; } + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMapField(int number) { + switch (number) { + case 8: + return internalGetLabels(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMutableMapField(int number) { + switch (number) { + case 8: + return internalGetMutableLabels(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { @@ -632,6 +1608,7 @@ private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { getReplicasFieldBuilder(); + getOptionalReplicasFieldBuilder(); } } @@ -642,14 +1619,31 @@ public Builder clear() { displayName_ = ""; + configType_ = 0; + if (replicasBuilder_ == null) { replicas_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { replicasBuilder_.clear(); } + if (optionalReplicasBuilder_ == null) { + optionalReplicas_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + } else { + optionalReplicasBuilder_.clear(); + } + baseConfig_ = ""; + + internalGetMutableLabels().clear(); + etag_ = ""; + leaderOptions_ = com.google.protobuf.LazyStringArrayList.EMPTY; - bitField0_ = (bitField0_ & ~0x00000002); + bitField0_ = (bitField0_ & ~0x00000008); + reconciling_ = false; + + state_ = 0; + return this; } @@ -680,6 +1674,7 @@ public com.google.spanner.admin.instance.v1.InstanceConfig buildPartial() { int from_bitField0_ = bitField0_; result.name_ = name_; result.displayName_ = displayName_; + result.configType_ = configType_; if (replicasBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { replicas_ = java.util.Collections.unmodifiableList(replicas_); @@ -689,11 +1684,26 @@ public com.google.spanner.admin.instance.v1.InstanceConfig buildPartial() { } else { result.replicas_ = replicasBuilder_.build(); } - if (((bitField0_ & 0x00000002) != 0)) { + if (optionalReplicasBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0)) { + optionalReplicas_ = java.util.Collections.unmodifiableList(optionalReplicas_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.optionalReplicas_ = optionalReplicas_; + } else { + result.optionalReplicas_ = optionalReplicasBuilder_.build(); + } + result.baseConfig_ = baseConfig_; + result.labels_ = internalGetLabels(); + result.labels_.makeImmutable(); + result.etag_ = etag_; + if (((bitField0_ & 0x00000008) != 0)) { leaderOptions_ = leaderOptions_.getUnmodifiableView(); - bitField0_ = (bitField0_ & ~0x00000002); + bitField0_ = (bitField0_ & ~0x00000008); } result.leaderOptions_ = leaderOptions_; + result.reconciling_ = reconciling_; + result.state_ = state_; onBuilt(); return result; } @@ -752,6 +1762,9 @@ public Builder mergeFrom(com.google.spanner.admin.instance.v1.InstanceConfig oth displayName_ = other.displayName_; onChanged(); } + if (other.configType_ != 0) { + setConfigTypeValue(other.getConfigTypeValue()); + } if (replicasBuilder_ == null) { if (!other.replicas_.isEmpty()) { if (replicas_.isEmpty()) { @@ -779,16 +1792,58 @@ public Builder mergeFrom(com.google.spanner.admin.instance.v1.InstanceConfig oth } } } - if (!other.leaderOptions_.isEmpty()) { - if (leaderOptions_.isEmpty()) { - leaderOptions_ = other.leaderOptions_; - bitField0_ = (bitField0_ & ~0x00000002); - } else { - ensureLeaderOptionsIsMutable(); + if (optionalReplicasBuilder_ == null) { + if (!other.optionalReplicas_.isEmpty()) { + if (optionalReplicas_.isEmpty()) { + optionalReplicas_ = other.optionalReplicas_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureOptionalReplicasIsMutable(); + optionalReplicas_.addAll(other.optionalReplicas_); + } + onChanged(); + } + } else { + if (!other.optionalReplicas_.isEmpty()) { + if (optionalReplicasBuilder_.isEmpty()) { + optionalReplicasBuilder_.dispose(); + optionalReplicasBuilder_ = null; + optionalReplicas_ = other.optionalReplicas_; + bitField0_ = (bitField0_ & ~0x00000002); + optionalReplicasBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders + ? getOptionalReplicasFieldBuilder() + : null; + } else { + optionalReplicasBuilder_.addAllMessages(other.optionalReplicas_); + } + } + } + if (!other.getBaseConfig().isEmpty()) { + baseConfig_ = other.baseConfig_; + onChanged(); + } + internalGetMutableLabels().mergeFrom(other.internalGetLabels()); + if (!other.getEtag().isEmpty()) { + etag_ = other.etag_; + onChanged(); + } + if (!other.leaderOptions_.isEmpty()) { + if (leaderOptions_.isEmpty()) { + leaderOptions_ = other.leaderOptions_; + bitField0_ = (bitField0_ & ~0x00000008); + } else { + ensureLeaderOptionsIsMutable(); leaderOptions_.addAll(other.leaderOptions_); } onChanged(); } + if (other.getReconciling() != false) { + setReconciling(other.getReconciling()); + } + if (other.state_ != 0) { + setStateValue(other.getStateValue()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -1043,6 +2098,114 @@ public Builder setDisplayNameBytes(com.google.protobuf.ByteString value) { return this; } + private int configType_ = 0; + /** + * + * + *
+     * Output only. Whether this instance config is a Google or User Managed
+     * Configuration.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig.Type config_type = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for configType. + */ + @java.lang.Override + public int getConfigTypeValue() { + return configType_; + } + /** + * + * + *
+     * Output only. Whether this instance config is a Google or User Managed
+     * Configuration.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig.Type config_type = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The enum numeric value on the wire for configType to set. + * @return This builder for chaining. + */ + public Builder setConfigTypeValue(int value) { + + configType_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. Whether this instance config is a Google or User Managed
+     * Configuration.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig.Type config_type = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The configType. + */ + @java.lang.Override + public com.google.spanner.admin.instance.v1.InstanceConfig.Type getConfigType() { + @SuppressWarnings("deprecation") + com.google.spanner.admin.instance.v1.InstanceConfig.Type result = + com.google.spanner.admin.instance.v1.InstanceConfig.Type.valueOf(configType_); + return result == null + ? com.google.spanner.admin.instance.v1.InstanceConfig.Type.UNRECOGNIZED + : result; + } + /** + * + * + *
+     * Output only. Whether this instance config is a Google or User Managed
+     * Configuration.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig.Type config_type = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The configType to set. + * @return This builder for chaining. + */ + public Builder setConfigType(com.google.spanner.admin.instance.v1.InstanceConfig.Type value) { + if (value == null) { + throw new NullPointerException(); + } + + configType_ = value.getNumber(); + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. Whether this instance config is a Google or User Managed
+     * Configuration.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig.Type config_type = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearConfigType() { + + configType_ = 0; + onChanged(); + return this; + } + private java.util.List replicas_ = java.util.Collections.emptyList(); @@ -1209,217 +2372,1181 @@ public Builder addReplicas(int index, com.google.spanner.admin.instance.v1.Repli * replication properties. *
* - * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + */ + public Builder addReplicas( + com.google.spanner.admin.instance.v1.ReplicaInfo.Builder builderForValue) { + if (replicasBuilder_ == null) { + ensureReplicasIsMutable(); + replicas_.add(builderForValue.build()); + onChanged(); + } else { + replicasBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * + * + *
+     * The geographic placement of nodes in this instance configuration and their
+     * replication properties.
+     * 
+ * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + */ + public Builder addReplicas( + int index, com.google.spanner.admin.instance.v1.ReplicaInfo.Builder builderForValue) { + if (replicasBuilder_ == null) { + ensureReplicasIsMutable(); + replicas_.add(index, builderForValue.build()); + onChanged(); + } else { + replicasBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * + * + *
+     * The geographic placement of nodes in this instance configuration and their
+     * replication properties.
+     * 
+ * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + */ + public Builder addAllReplicas( + java.lang.Iterable values) { + if (replicasBuilder_ == null) { + ensureReplicasIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, replicas_); + onChanged(); + } else { + replicasBuilder_.addAllMessages(values); + } + return this; + } + /** + * + * + *
+     * The geographic placement of nodes in this instance configuration and their
+     * replication properties.
+     * 
+ * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + */ + public Builder clearReplicas() { + if (replicasBuilder_ == null) { + replicas_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + replicasBuilder_.clear(); + } + return this; + } + /** + * + * + *
+     * The geographic placement of nodes in this instance configuration and their
+     * replication properties.
+     * 
+ * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + */ + public Builder removeReplicas(int index) { + if (replicasBuilder_ == null) { + ensureReplicasIsMutable(); + replicas_.remove(index); + onChanged(); + } else { + replicasBuilder_.remove(index); + } + return this; + } + /** + * + * + *
+     * The geographic placement of nodes in this instance configuration and their
+     * replication properties.
+     * 
+ * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + */ + public com.google.spanner.admin.instance.v1.ReplicaInfo.Builder getReplicasBuilder(int index) { + return getReplicasFieldBuilder().getBuilder(index); + } + /** + * + * + *
+     * The geographic placement of nodes in this instance configuration and their
+     * replication properties.
+     * 
+ * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + */ + public com.google.spanner.admin.instance.v1.ReplicaInfoOrBuilder getReplicasOrBuilder( + int index) { + if (replicasBuilder_ == null) { + return replicas_.get(index); + } else { + return replicasBuilder_.getMessageOrBuilder(index); + } + } + /** + * + * + *
+     * The geographic placement of nodes in this instance configuration and their
+     * replication properties.
+     * 
+ * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + */ + public java.util.List + getReplicasOrBuilderList() { + if (replicasBuilder_ != null) { + return replicasBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(replicas_); + } + } + /** + * + * + *
+     * The geographic placement of nodes in this instance configuration and their
+     * replication properties.
+     * 
+ * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + */ + public com.google.spanner.admin.instance.v1.ReplicaInfo.Builder addReplicasBuilder() { + return getReplicasFieldBuilder() + .addBuilder(com.google.spanner.admin.instance.v1.ReplicaInfo.getDefaultInstance()); + } + /** + * + * + *
+     * The geographic placement of nodes in this instance configuration and their
+     * replication properties.
+     * 
+ * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + */ + public com.google.spanner.admin.instance.v1.ReplicaInfo.Builder addReplicasBuilder(int index) { + return getReplicasFieldBuilder() + .addBuilder(index, com.google.spanner.admin.instance.v1.ReplicaInfo.getDefaultInstance()); + } + /** + * + * + *
+     * The geographic placement of nodes in this instance configuration and their
+     * replication properties.
+     * 
+ * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + */ + public java.util.List + getReplicasBuilderList() { + return getReplicasFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + com.google.spanner.admin.instance.v1.ReplicaInfo, + com.google.spanner.admin.instance.v1.ReplicaInfo.Builder, + com.google.spanner.admin.instance.v1.ReplicaInfoOrBuilder> + getReplicasFieldBuilder() { + if (replicasBuilder_ == null) { + replicasBuilder_ = + new com.google.protobuf.RepeatedFieldBuilderV3< + com.google.spanner.admin.instance.v1.ReplicaInfo, + com.google.spanner.admin.instance.v1.ReplicaInfo.Builder, + com.google.spanner.admin.instance.v1.ReplicaInfoOrBuilder>( + replicas_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + replicas_ = null; + } + return replicasBuilder_; + } + + private java.util.List optionalReplicas_ = + java.util.Collections.emptyList(); + + private void ensureOptionalReplicasIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + optionalReplicas_ = + new java.util.ArrayList( + optionalReplicas_); + bitField0_ |= 0x00000002; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + com.google.spanner.admin.instance.v1.ReplicaInfo, + com.google.spanner.admin.instance.v1.ReplicaInfo.Builder, + com.google.spanner.admin.instance.v1.ReplicaInfoOrBuilder> + optionalReplicasBuilder_; + + /** + * + * + *
+     * Output only. The available optional replicas to choose from for user
+     * managed configurations. Populated for Google managed configurations.
+     * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List + getOptionalReplicasList() { + if (optionalReplicasBuilder_ == null) { + return java.util.Collections.unmodifiableList(optionalReplicas_); + } else { + return optionalReplicasBuilder_.getMessageList(); + } + } + /** + * + * + *
+     * Output only. The available optional replicas to choose from for user
+     * managed configurations. Populated for Google managed configurations.
+     * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public int getOptionalReplicasCount() { + if (optionalReplicasBuilder_ == null) { + return optionalReplicas_.size(); + } else { + return optionalReplicasBuilder_.getCount(); + } + } + /** + * + * + *
+     * Output only. The available optional replicas to choose from for user
+     * managed configurations. Populated for Google managed configurations.
+     * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.spanner.admin.instance.v1.ReplicaInfo getOptionalReplicas(int index) { + if (optionalReplicasBuilder_ == null) { + return optionalReplicas_.get(index); + } else { + return optionalReplicasBuilder_.getMessage(index); + } + } + /** + * + * + *
+     * Output only. The available optional replicas to choose from for user
+     * managed configurations. Populated for Google managed configurations.
+     * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setOptionalReplicas( + int index, com.google.spanner.admin.instance.v1.ReplicaInfo value) { + if (optionalReplicasBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOptionalReplicasIsMutable(); + optionalReplicas_.set(index, value); + onChanged(); + } else { + optionalReplicasBuilder_.setMessage(index, value); + } + return this; + } + /** + * + * + *
+     * Output only. The available optional replicas to choose from for user
+     * managed configurations. Populated for Google managed configurations.
+     * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setOptionalReplicas( + int index, com.google.spanner.admin.instance.v1.ReplicaInfo.Builder builderForValue) { + if (optionalReplicasBuilder_ == null) { + ensureOptionalReplicasIsMutable(); + optionalReplicas_.set(index, builderForValue.build()); + onChanged(); + } else { + optionalReplicasBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * + * + *
+     * Output only. The available optional replicas to choose from for user
+     * managed configurations. Populated for Google managed configurations.
+     * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addOptionalReplicas(com.google.spanner.admin.instance.v1.ReplicaInfo value) { + if (optionalReplicasBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOptionalReplicasIsMutable(); + optionalReplicas_.add(value); + onChanged(); + } else { + optionalReplicasBuilder_.addMessage(value); + } + return this; + } + /** + * + * + *
+     * Output only. The available optional replicas to choose from for user
+     * managed configurations. Populated for Google managed configurations.
+     * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addOptionalReplicas( + int index, com.google.spanner.admin.instance.v1.ReplicaInfo value) { + if (optionalReplicasBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOptionalReplicasIsMutable(); + optionalReplicas_.add(index, value); + onChanged(); + } else { + optionalReplicasBuilder_.addMessage(index, value); + } + return this; + } + /** + * + * + *
+     * Output only. The available optional replicas to choose from for user
+     * managed configurations. Populated for Google managed configurations.
+     * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addOptionalReplicas( + com.google.spanner.admin.instance.v1.ReplicaInfo.Builder builderForValue) { + if (optionalReplicasBuilder_ == null) { + ensureOptionalReplicasIsMutable(); + optionalReplicas_.add(builderForValue.build()); + onChanged(); + } else { + optionalReplicasBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * + * + *
+     * Output only. The available optional replicas to choose from for user
+     * managed configurations. Populated for Google managed configurations.
+     * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addOptionalReplicas( + int index, com.google.spanner.admin.instance.v1.ReplicaInfo.Builder builderForValue) { + if (optionalReplicasBuilder_ == null) { + ensureOptionalReplicasIsMutable(); + optionalReplicas_.add(index, builderForValue.build()); + onChanged(); + } else { + optionalReplicasBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * + * + *
+     * Output only. The available optional replicas to choose from for user
+     * managed configurations. Populated for Google managed configurations.
+     * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addAllOptionalReplicas( + java.lang.Iterable values) { + if (optionalReplicasBuilder_ == null) { + ensureOptionalReplicasIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, optionalReplicas_); + onChanged(); + } else { + optionalReplicasBuilder_.addAllMessages(values); + } + return this; + } + /** + * + * + *
+     * Output only. The available optional replicas to choose from for user
+     * managed configurations. Populated for Google managed configurations.
+     * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearOptionalReplicas() { + if (optionalReplicasBuilder_ == null) { + optionalReplicas_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + } else { + optionalReplicasBuilder_.clear(); + } + return this; + } + /** + * + * + *
+     * Output only. The available optional replicas to choose from for user
+     * managed configurations. Populated for Google managed configurations.
+     * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder removeOptionalReplicas(int index) { + if (optionalReplicasBuilder_ == null) { + ensureOptionalReplicasIsMutable(); + optionalReplicas_.remove(index); + onChanged(); + } else { + optionalReplicasBuilder_.remove(index); + } + return this; + } + /** + * + * + *
+     * Output only. The available optional replicas to choose from for user
+     * managed configurations. Populated for Google managed configurations.
+     * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.spanner.admin.instance.v1.ReplicaInfo.Builder getOptionalReplicasBuilder( + int index) { + return getOptionalReplicasFieldBuilder().getBuilder(index); + } + /** + * + * + *
+     * Output only. The available optional replicas to choose from for user
+     * managed configurations. Populated for Google managed configurations.
+     * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.spanner.admin.instance.v1.ReplicaInfoOrBuilder getOptionalReplicasOrBuilder( + int index) { + if (optionalReplicasBuilder_ == null) { + return optionalReplicas_.get(index); + } else { + return optionalReplicasBuilder_.getMessageOrBuilder(index); + } + } + /** + * + * + *
+     * Output only. The available optional replicas to choose from for user
+     * managed configurations. Populated for Google managed configurations.
+     * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List + getOptionalReplicasOrBuilderList() { + if (optionalReplicasBuilder_ != null) { + return optionalReplicasBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(optionalReplicas_); + } + } + /** + * + * + *
+     * Output only. The available optional replicas to choose from for user
+     * managed configurations. Populated for Google managed configurations.
+     * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.spanner.admin.instance.v1.ReplicaInfo.Builder addOptionalReplicasBuilder() { + return getOptionalReplicasFieldBuilder() + .addBuilder(com.google.spanner.admin.instance.v1.ReplicaInfo.getDefaultInstance()); + } + /** + * + * + *
+     * Output only. The available optional replicas to choose from for user
+     * managed configurations. Populated for Google managed configurations.
+     * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.spanner.admin.instance.v1.ReplicaInfo.Builder addOptionalReplicasBuilder( + int index) { + return getOptionalReplicasFieldBuilder() + .addBuilder(index, com.google.spanner.admin.instance.v1.ReplicaInfo.getDefaultInstance()); + } + /** + * + * + *
+     * Output only. The available optional replicas to choose from for user
+     * managed configurations. Populated for Google managed configurations.
+     * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List + getOptionalReplicasBuilderList() { + return getOptionalReplicasFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + com.google.spanner.admin.instance.v1.ReplicaInfo, + com.google.spanner.admin.instance.v1.ReplicaInfo.Builder, + com.google.spanner.admin.instance.v1.ReplicaInfoOrBuilder> + getOptionalReplicasFieldBuilder() { + if (optionalReplicasBuilder_ == null) { + optionalReplicasBuilder_ = + new com.google.protobuf.RepeatedFieldBuilderV3< + com.google.spanner.admin.instance.v1.ReplicaInfo, + com.google.spanner.admin.instance.v1.ReplicaInfo.Builder, + com.google.spanner.admin.instance.v1.ReplicaInfoOrBuilder>( + optionalReplicas_, + ((bitField0_ & 0x00000002) != 0), + getParentForChildren(), + isClean()); + optionalReplicas_ = null; + } + return optionalReplicasBuilder_; + } + + private java.lang.Object baseConfig_ = ""; + /** + * + * + *
+     * Base configuration name, e.g. projects/<project_name>/instanceConfigs/nam3,
+     * based on which this configuration is created. Only set for user managed
+     * configurations. `base_config` must refer to a configuration of type
+     * GOOGLE_MANAGED in the same project as this configuration.
+     * 
+ * + * string base_config = 7 [(.google.api.resource_reference) = { ... } + * + * @return The baseConfig. + */ + public java.lang.String getBaseConfig() { + java.lang.Object ref = baseConfig_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + baseConfig_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Base configuration name, e.g. projects/<project_name>/instanceConfigs/nam3,
+     * based on which this configuration is created. Only set for user managed
+     * configurations. `base_config` must refer to a configuration of type
+     * GOOGLE_MANAGED in the same project as this configuration.
+     * 
+ * + * string base_config = 7 [(.google.api.resource_reference) = { ... } + * + * @return The bytes for baseConfig. + */ + public com.google.protobuf.ByteString getBaseConfigBytes() { + java.lang.Object ref = baseConfig_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + baseConfig_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Base configuration name, e.g. projects/<project_name>/instanceConfigs/nam3,
+     * based on which this configuration is created. Only set for user managed
+     * configurations. `base_config` must refer to a configuration of type
+     * GOOGLE_MANAGED in the same project as this configuration.
+     * 
+ * + * string base_config = 7 [(.google.api.resource_reference) = { ... } + * + * @param value The baseConfig to set. + * @return This builder for chaining. + */ + public Builder setBaseConfig(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + baseConfig_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Base configuration name, e.g. projects/<project_name>/instanceConfigs/nam3,
+     * based on which this configuration is created. Only set for user managed
+     * configurations. `base_config` must refer to a configuration of type
+     * GOOGLE_MANAGED in the same project as this configuration.
+     * 
+ * + * string base_config = 7 [(.google.api.resource_reference) = { ... } + * + * @return This builder for chaining. + */ + public Builder clearBaseConfig() { + + baseConfig_ = getDefaultInstance().getBaseConfig(); + onChanged(); + return this; + } + /** + * + * + *
+     * Base configuration name, e.g. projects/<project_name>/instanceConfigs/nam3,
+     * based on which this configuration is created. Only set for user managed
+     * configurations. `base_config` must refer to a configuration of type
+     * GOOGLE_MANAGED in the same project as this configuration.
+     * 
+ * + * string base_config = 7 [(.google.api.resource_reference) = { ... } + * + * @param value The bytes for baseConfig to set. + * @return This builder for chaining. + */ + public Builder setBaseConfigBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + baseConfig_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.MapField labels_; + + private com.google.protobuf.MapField internalGetLabels() { + if (labels_ == null) { + return com.google.protobuf.MapField.emptyMapField(LabelsDefaultEntryHolder.defaultEntry); + } + return labels_; + } + + private com.google.protobuf.MapField + internalGetMutableLabels() { + onChanged(); + ; + if (labels_ == null) { + labels_ = com.google.protobuf.MapField.newMapField(LabelsDefaultEntryHolder.defaultEntry); + } + if (!labels_.isMutable()) { + labels_ = labels_.copy(); + } + return labels_; + } + + public int getLabelsCount() { + return internalGetLabels().getMap().size(); + } + /** + * + * + *
+     * Cloud Labels are a flexible and lightweight mechanism for organizing cloud
+     * resources into groups that reflect a customer's organizational needs and
+     * deployment strategies. Cloud Labels can be used to filter collections of
+     * resources. They can be used to control how resource metrics are aggregated.
+     * And they can be used as arguments to policy management rules (e.g. route,
+     * firewall, load balancing, etc.).
+     *  * Label keys must be between 1 and 63 characters long and must conform to
+     *    the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
+     *  * Label values must be between 0 and 63 characters long and must conform
+     *    to the regular expression `[a-z0-9_-]{0,63}`.
+     *  * No more than 64 labels can be associated with a given resource.
+     * See https://goo.gl/xmQnxf for more information on and examples of labels.
+     * If you plan to use labels in your own code, please note that additional
+     * characters may be allowed in the future. Therefore, you are advised to use
+     * an internal label representation, such as JSON, which doesn't rely upon
+     * specific characters being disallowed.  For example, representing labels
+     * as the string:  name + "_" + value  would prove problematic if we were to
+     * allow "_" in a future release.
+     * 
+ * + * map<string, string> labels = 8; + */ + @java.lang.Override + public boolean containsLabels(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + return internalGetLabels().getMap().containsKey(key); + } + /** Use {@link #getLabelsMap()} instead. */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getLabels() { + return getLabelsMap(); + } + /** + * + * + *
+     * Cloud Labels are a flexible and lightweight mechanism for organizing cloud
+     * resources into groups that reflect a customer's organizational needs and
+     * deployment strategies. Cloud Labels can be used to filter collections of
+     * resources. They can be used to control how resource metrics are aggregated.
+     * And they can be used as arguments to policy management rules (e.g. route,
+     * firewall, load balancing, etc.).
+     *  * Label keys must be between 1 and 63 characters long and must conform to
+     *    the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
+     *  * Label values must be between 0 and 63 characters long and must conform
+     *    to the regular expression `[a-z0-9_-]{0,63}`.
+     *  * No more than 64 labels can be associated with a given resource.
+     * See https://goo.gl/xmQnxf for more information on and examples of labels.
+     * If you plan to use labels in your own code, please note that additional
+     * characters may be allowed in the future. Therefore, you are advised to use
+     * an internal label representation, such as JSON, which doesn't rely upon
+     * specific characters being disallowed.  For example, representing labels
+     * as the string:  name + "_" + value  would prove problematic if we were to
+     * allow "_" in a future release.
+     * 
+ * + * map<string, string> labels = 8; */ - public Builder addReplicas( - com.google.spanner.admin.instance.v1.ReplicaInfo.Builder builderForValue) { - if (replicasBuilder_ == null) { - ensureReplicasIsMutable(); - replicas_.add(builderForValue.build()); - onChanged(); - } else { - replicasBuilder_.addMessage(builderForValue.build()); - } - return this; + @java.lang.Override + public java.util.Map getLabelsMap() { + return internalGetLabels().getMap(); } /** * * *
-     * The geographic placement of nodes in this instance configuration and their
-     * replication properties.
+     * Cloud Labels are a flexible and lightweight mechanism for organizing cloud
+     * resources into groups that reflect a customer's organizational needs and
+     * deployment strategies. Cloud Labels can be used to filter collections of
+     * resources. They can be used to control how resource metrics are aggregated.
+     * And they can be used as arguments to policy management rules (e.g. route,
+     * firewall, load balancing, etc.).
+     *  * Label keys must be between 1 and 63 characters long and must conform to
+     *    the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
+     *  * Label values must be between 0 and 63 characters long and must conform
+     *    to the regular expression `[a-z0-9_-]{0,63}`.
+     *  * No more than 64 labels can be associated with a given resource.
+     * See https://goo.gl/xmQnxf for more information on and examples of labels.
+     * If you plan to use labels in your own code, please note that additional
+     * characters may be allowed in the future. Therefore, you are advised to use
+     * an internal label representation, such as JSON, which doesn't rely upon
+     * specific characters being disallowed.  For example, representing labels
+     * as the string:  name + "_" + value  would prove problematic if we were to
+     * allow "_" in a future release.
      * 
* - * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + * map<string, string> labels = 8; */ - public Builder addReplicas( - int index, com.google.spanner.admin.instance.v1.ReplicaInfo.Builder builderForValue) { - if (replicasBuilder_ == null) { - ensureReplicasIsMutable(); - replicas_.add(index, builderForValue.build()); - onChanged(); - } else { - replicasBuilder_.addMessage(index, builderForValue.build()); + @java.lang.Override + public java.lang.String getLabelsOrDefault( + java.lang.String key, java.lang.String defaultValue) { + if (key == null) { + throw new NullPointerException("map key"); } - return this; + java.util.Map map = internalGetLabels().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; } /** * * *
-     * The geographic placement of nodes in this instance configuration and their
-     * replication properties.
+     * Cloud Labels are a flexible and lightweight mechanism for organizing cloud
+     * resources into groups that reflect a customer's organizational needs and
+     * deployment strategies. Cloud Labels can be used to filter collections of
+     * resources. They can be used to control how resource metrics are aggregated.
+     * And they can be used as arguments to policy management rules (e.g. route,
+     * firewall, load balancing, etc.).
+     *  * Label keys must be between 1 and 63 characters long and must conform to
+     *    the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
+     *  * Label values must be between 0 and 63 characters long and must conform
+     *    to the regular expression `[a-z0-9_-]{0,63}`.
+     *  * No more than 64 labels can be associated with a given resource.
+     * See https://goo.gl/xmQnxf for more information on and examples of labels.
+     * If you plan to use labels in your own code, please note that additional
+     * characters may be allowed in the future. Therefore, you are advised to use
+     * an internal label representation, such as JSON, which doesn't rely upon
+     * specific characters being disallowed.  For example, representing labels
+     * as the string:  name + "_" + value  would prove problematic if we were to
+     * allow "_" in a future release.
      * 
* - * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + * map<string, string> labels = 8; */ - public Builder addAllReplicas( - java.lang.Iterable values) { - if (replicasBuilder_ == null) { - ensureReplicasIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll(values, replicas_); - onChanged(); - } else { - replicasBuilder_.addAllMessages(values); + @java.lang.Override + public java.lang.String getLabelsOrThrow(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = internalGetLabels().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); } + return map.get(key); + } + + public Builder clearLabels() { + internalGetMutableLabels().getMutableMap().clear(); return this; } /** * * *
-     * The geographic placement of nodes in this instance configuration and their
-     * replication properties.
+     * Cloud Labels are a flexible and lightweight mechanism for organizing cloud
+     * resources into groups that reflect a customer's organizational needs and
+     * deployment strategies. Cloud Labels can be used to filter collections of
+     * resources. They can be used to control how resource metrics are aggregated.
+     * And they can be used as arguments to policy management rules (e.g. route,
+     * firewall, load balancing, etc.).
+     *  * Label keys must be between 1 and 63 characters long and must conform to
+     *    the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
+     *  * Label values must be between 0 and 63 characters long and must conform
+     *    to the regular expression `[a-z0-9_-]{0,63}`.
+     *  * No more than 64 labels can be associated with a given resource.
+     * See https://goo.gl/xmQnxf for more information on and examples of labels.
+     * If you plan to use labels in your own code, please note that additional
+     * characters may be allowed in the future. Therefore, you are advised to use
+     * an internal label representation, such as JSON, which doesn't rely upon
+     * specific characters being disallowed.  For example, representing labels
+     * as the string:  name + "_" + value  would prove problematic if we were to
+     * allow "_" in a future release.
      * 
* - * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + * map<string, string> labels = 8; */ - public Builder clearReplicas() { - if (replicasBuilder_ == null) { - replicas_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - } else { - replicasBuilder_.clear(); + public Builder removeLabels(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); } + internalGetMutableLabels().getMutableMap().remove(key); return this; } + /** Use alternate mutation accessors instead. */ + @java.lang.Deprecated + public java.util.Map getMutableLabels() { + return internalGetMutableLabels().getMutableMap(); + } /** * * *
-     * The geographic placement of nodes in this instance configuration and their
-     * replication properties.
+     * Cloud Labels are a flexible and lightweight mechanism for organizing cloud
+     * resources into groups that reflect a customer's organizational needs and
+     * deployment strategies. Cloud Labels can be used to filter collections of
+     * resources. They can be used to control how resource metrics are aggregated.
+     * And they can be used as arguments to policy management rules (e.g. route,
+     * firewall, load balancing, etc.).
+     *  * Label keys must be between 1 and 63 characters long and must conform to
+     *    the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
+     *  * Label values must be between 0 and 63 characters long and must conform
+     *    to the regular expression `[a-z0-9_-]{0,63}`.
+     *  * No more than 64 labels can be associated with a given resource.
+     * See https://goo.gl/xmQnxf for more information on and examples of labels.
+     * If you plan to use labels in your own code, please note that additional
+     * characters may be allowed in the future. Therefore, you are advised to use
+     * an internal label representation, such as JSON, which doesn't rely upon
+     * specific characters being disallowed.  For example, representing labels
+     * as the string:  name + "_" + value  would prove problematic if we were to
+     * allow "_" in a future release.
      * 
* - * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + * map<string, string> labels = 8; */ - public Builder removeReplicas(int index) { - if (replicasBuilder_ == null) { - ensureReplicasIsMutable(); - replicas_.remove(index); - onChanged(); - } else { - replicasBuilder_.remove(index); + public Builder putLabels(java.lang.String key, java.lang.String value) { + if (key == null) { + throw new NullPointerException("map key"); + } + if (value == null) { + throw new NullPointerException("map value"); } + + internalGetMutableLabels().getMutableMap().put(key, value); return this; } /** * * *
-     * The geographic placement of nodes in this instance configuration and their
-     * replication properties.
+     * Cloud Labels are a flexible and lightweight mechanism for organizing cloud
+     * resources into groups that reflect a customer's organizational needs and
+     * deployment strategies. Cloud Labels can be used to filter collections of
+     * resources. They can be used to control how resource metrics are aggregated.
+     * And they can be used as arguments to policy management rules (e.g. route,
+     * firewall, load balancing, etc.).
+     *  * Label keys must be between 1 and 63 characters long and must conform to
+     *    the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
+     *  * Label values must be between 0 and 63 characters long and must conform
+     *    to the regular expression `[a-z0-9_-]{0,63}`.
+     *  * No more than 64 labels can be associated with a given resource.
+     * See https://goo.gl/xmQnxf for more information on and examples of labels.
+     * If you plan to use labels in your own code, please note that additional
+     * characters may be allowed in the future. Therefore, you are advised to use
+     * an internal label representation, such as JSON, which doesn't rely upon
+     * specific characters being disallowed.  For example, representing labels
+     * as the string:  name + "_" + value  would prove problematic if we were to
+     * allow "_" in a future release.
      * 
* - * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + * map<string, string> labels = 8; */ - public com.google.spanner.admin.instance.v1.ReplicaInfo.Builder getReplicasBuilder(int index) { - return getReplicasFieldBuilder().getBuilder(index); + public Builder putAllLabels(java.util.Map values) { + internalGetMutableLabels().getMutableMap().putAll(values); + return this; } + + private java.lang.Object etag_ = ""; /** * * *
-     * The geographic placement of nodes in this instance configuration and their
-     * replication properties.
+     * etag is used for optimistic concurrency control as a way
+     * to help prevent simultaneous updates of a instance config from overwriting
+     * each other. It is strongly suggested that systems make use of the etag in
+     * the read-modify-write cycle to perform instance config updates in order to
+     * avoid race conditions: An etag is returned in the response which contains
+     * instance configs, and systems are expected to put that etag in the request
+     * to update instance config to ensure that their change will be applied to
+     * the same version of the instance config.
+     * If no etag is provided in the call to update instance config, then the
+     * existing instance config is overwritten blindly.
      * 
* - * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + * string etag = 9; + * + * @return The etag. */ - public com.google.spanner.admin.instance.v1.ReplicaInfoOrBuilder getReplicasOrBuilder( - int index) { - if (replicasBuilder_ == null) { - return replicas_.get(index); + public java.lang.String getEtag() { + java.lang.Object ref = etag_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + etag_ = s; + return s; } else { - return replicasBuilder_.getMessageOrBuilder(index); + return (java.lang.String) ref; } } /** * * *
-     * The geographic placement of nodes in this instance configuration and their
-     * replication properties.
+     * etag is used for optimistic concurrency control as a way
+     * to help prevent simultaneous updates of a instance config from overwriting
+     * each other. It is strongly suggested that systems make use of the etag in
+     * the read-modify-write cycle to perform instance config updates in order to
+     * avoid race conditions: An etag is returned in the response which contains
+     * instance configs, and systems are expected to put that etag in the request
+     * to update instance config to ensure that their change will be applied to
+     * the same version of the instance config.
+     * If no etag is provided in the call to update instance config, then the
+     * existing instance config is overwritten blindly.
      * 
* - * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + * string etag = 9; + * + * @return The bytes for etag. */ - public java.util.List - getReplicasOrBuilderList() { - if (replicasBuilder_ != null) { - return replicasBuilder_.getMessageOrBuilderList(); + public com.google.protobuf.ByteString getEtagBytes() { + java.lang.Object ref = etag_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + etag_ = b; + return b; } else { - return java.util.Collections.unmodifiableList(replicas_); + return (com.google.protobuf.ByteString) ref; } } /** * * *
-     * The geographic placement of nodes in this instance configuration and their
-     * replication properties.
+     * etag is used for optimistic concurrency control as a way
+     * to help prevent simultaneous updates of a instance config from overwriting
+     * each other. It is strongly suggested that systems make use of the etag in
+     * the read-modify-write cycle to perform instance config updates in order to
+     * avoid race conditions: An etag is returned in the response which contains
+     * instance configs, and systems are expected to put that etag in the request
+     * to update instance config to ensure that their change will be applied to
+     * the same version of the instance config.
+     * If no etag is provided in the call to update instance config, then the
+     * existing instance config is overwritten blindly.
      * 
* - * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + * string etag = 9; + * + * @param value The etag to set. + * @return This builder for chaining. */ - public com.google.spanner.admin.instance.v1.ReplicaInfo.Builder addReplicasBuilder() { - return getReplicasFieldBuilder() - .addBuilder(com.google.spanner.admin.instance.v1.ReplicaInfo.getDefaultInstance()); + public Builder setEtag(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + etag_ = value; + onChanged(); + return this; } /** * * *
-     * The geographic placement of nodes in this instance configuration and their
-     * replication properties.
+     * etag is used for optimistic concurrency control as a way
+     * to help prevent simultaneous updates of a instance config from overwriting
+     * each other. It is strongly suggested that systems make use of the etag in
+     * the read-modify-write cycle to perform instance config updates in order to
+     * avoid race conditions: An etag is returned in the response which contains
+     * instance configs, and systems are expected to put that etag in the request
+     * to update instance config to ensure that their change will be applied to
+     * the same version of the instance config.
+     * If no etag is provided in the call to update instance config, then the
+     * existing instance config is overwritten blindly.
      * 
* - * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + * string etag = 9; + * + * @return This builder for chaining. */ - public com.google.spanner.admin.instance.v1.ReplicaInfo.Builder addReplicasBuilder(int index) { - return getReplicasFieldBuilder() - .addBuilder(index, com.google.spanner.admin.instance.v1.ReplicaInfo.getDefaultInstance()); + public Builder clearEtag() { + + etag_ = getDefaultInstance().getEtag(); + onChanged(); + return this; } /** * * *
-     * The geographic placement of nodes in this instance configuration and their
-     * replication properties.
+     * etag is used for optimistic concurrency control as a way
+     * to help prevent simultaneous updates of a instance config from overwriting
+     * each other. It is strongly suggested that systems make use of the etag in
+     * the read-modify-write cycle to perform instance config updates in order to
+     * avoid race conditions: An etag is returned in the response which contains
+     * instance configs, and systems are expected to put that etag in the request
+     * to update instance config to ensure that their change will be applied to
+     * the same version of the instance config.
+     * If no etag is provided in the call to update instance config, then the
+     * existing instance config is overwritten blindly.
      * 
* - * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; + * string etag = 9; + * + * @param value The bytes for etag to set. + * @return This builder for chaining. */ - public java.util.List - getReplicasBuilderList() { - return getReplicasFieldBuilder().getBuilderList(); - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - com.google.spanner.admin.instance.v1.ReplicaInfo, - com.google.spanner.admin.instance.v1.ReplicaInfo.Builder, - com.google.spanner.admin.instance.v1.ReplicaInfoOrBuilder> - getReplicasFieldBuilder() { - if (replicasBuilder_ == null) { - replicasBuilder_ = - new com.google.protobuf.RepeatedFieldBuilderV3< - com.google.spanner.admin.instance.v1.ReplicaInfo, - com.google.spanner.admin.instance.v1.ReplicaInfo.Builder, - com.google.spanner.admin.instance.v1.ReplicaInfoOrBuilder>( - replicas_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); - replicas_ = null; + public Builder setEtagBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); } - return replicasBuilder_; + checkByteStringIsUtf8(value); + + etag_ = value; + onChanged(); + return this; } private com.google.protobuf.LazyStringList leaderOptions_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureLeaderOptionsIsMutable() { - if (!((bitField0_ & 0x00000002) != 0)) { + if (!((bitField0_ & 0x00000008) != 0)) { leaderOptions_ = new com.google.protobuf.LazyStringArrayList(leaderOptions_); - bitField0_ |= 0x00000002; + bitField0_ |= 0x00000008; } } /** @@ -1562,7 +3689,7 @@ public Builder addAllLeaderOptions(java.lang.Iterable values) */ public Builder clearLeaderOptions() { leaderOptions_ = com.google.protobuf.LazyStringArrayList.EMPTY; - bitField0_ = (bitField0_ & ~0x00000002); + bitField0_ = (bitField0_ & ~0x00000008); onChanged(); return this; } @@ -1590,6 +3717,164 @@ public Builder addLeaderOptionsBytes(com.google.protobuf.ByteString value) { return this; } + private boolean reconciling_; + /** + * + * + *
+     * Output only. If true, the instance config is being created or updated. If
+     * false, there are no ongoing operations for the instance config.
+     * 
+ * + * bool reconciling = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The reconciling. + */ + @java.lang.Override + public boolean getReconciling() { + return reconciling_; + } + /** + * + * + *
+     * Output only. If true, the instance config is being created or updated. If
+     * false, there are no ongoing operations for the instance config.
+     * 
+ * + * bool reconciling = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The reconciling to set. + * @return This builder for chaining. + */ + public Builder setReconciling(boolean value) { + + reconciling_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. If true, the instance config is being created or updated. If
+     * false, there are no ongoing operations for the instance config.
+     * 
+ * + * bool reconciling = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearReconciling() { + + reconciling_ = false; + onChanged(); + return this; + } + + private int state_ = 0; + /** + * + * + *
+     * Output only. The current instance config state.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig.State state = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for state. + */ + @java.lang.Override + public int getStateValue() { + return state_; + } + /** + * + * + *
+     * Output only. The current instance config state.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig.State state = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The enum numeric value on the wire for state to set. + * @return This builder for chaining. + */ + public Builder setStateValue(int value) { + + state_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. The current instance config state.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig.State state = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The state. + */ + @java.lang.Override + public com.google.spanner.admin.instance.v1.InstanceConfig.State getState() { + @SuppressWarnings("deprecation") + com.google.spanner.admin.instance.v1.InstanceConfig.State result = + com.google.spanner.admin.instance.v1.InstanceConfig.State.valueOf(state_); + return result == null + ? com.google.spanner.admin.instance.v1.InstanceConfig.State.UNRECOGNIZED + : result; + } + /** + * + * + *
+     * Output only. The current instance config state.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig.State state = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The state to set. + * @return This builder for chaining. + */ + public Builder setState(com.google.spanner.admin.instance.v1.InstanceConfig.State value) { + if (value == null) { + throw new NullPointerException(); + } + + state_ = value.getNumber(); + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. The current instance config state.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig.State state = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearState() { + + state_ = 0; + 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-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfigOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfigOrBuilder.java index 6b993e71636..9a73ae0770f 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfigOrBuilder.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfigOrBuilder.java @@ -77,6 +77,37 @@ public interface InstanceConfigOrBuilder */ com.google.protobuf.ByteString getDisplayNameBytes(); + /** + * + * + *
+   * Output only. Whether this instance config is a Google or User Managed
+   * Configuration.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig.Type config_type = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for configType. + */ + int getConfigTypeValue(); + /** + * + * + *
+   * Output only. Whether this instance config is a Google or User Managed
+   * Configuration.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig.Type config_type = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The configType. + */ + com.google.spanner.admin.instance.v1.InstanceConfig.Type getConfigType(); + /** * * @@ -134,6 +165,291 @@ public interface InstanceConfigOrBuilder */ com.google.spanner.admin.instance.v1.ReplicaInfoOrBuilder getReplicasOrBuilder(int index); + /** + * + * + *
+   * Output only. The available optional replicas to choose from for user
+   * managed configurations. Populated for Google managed configurations.
+   * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.List getOptionalReplicasList(); + /** + * + * + *
+   * Output only. The available optional replicas to choose from for user
+   * managed configurations. Populated for Google managed configurations.
+   * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.spanner.admin.instance.v1.ReplicaInfo getOptionalReplicas(int index); + /** + * + * + *
+   * Output only. The available optional replicas to choose from for user
+   * managed configurations. Populated for Google managed configurations.
+   * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + int getOptionalReplicasCount(); + /** + * + * + *
+   * Output only. The available optional replicas to choose from for user
+   * managed configurations. Populated for Google managed configurations.
+   * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.List + getOptionalReplicasOrBuilderList(); + /** + * + * + *
+   * Output only. The available optional replicas to choose from for user
+   * managed configurations. Populated for Google managed configurations.
+   * 
+ * + * + * repeated .google.spanner.admin.instance.v1.ReplicaInfo optional_replicas = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.spanner.admin.instance.v1.ReplicaInfoOrBuilder getOptionalReplicasOrBuilder(int index); + + /** + * + * + *
+   * Base configuration name, e.g. projects/<project_name>/instanceConfigs/nam3,
+   * based on which this configuration is created. Only set for user managed
+   * configurations. `base_config` must refer to a configuration of type
+   * GOOGLE_MANAGED in the same project as this configuration.
+   * 
+ * + * string base_config = 7 [(.google.api.resource_reference) = { ... } + * + * @return The baseConfig. + */ + java.lang.String getBaseConfig(); + /** + * + * + *
+   * Base configuration name, e.g. projects/<project_name>/instanceConfigs/nam3,
+   * based on which this configuration is created. Only set for user managed
+   * configurations. `base_config` must refer to a configuration of type
+   * GOOGLE_MANAGED in the same project as this configuration.
+   * 
+ * + * string base_config = 7 [(.google.api.resource_reference) = { ... } + * + * @return The bytes for baseConfig. + */ + com.google.protobuf.ByteString getBaseConfigBytes(); + + /** + * + * + *
+   * Cloud Labels are a flexible and lightweight mechanism for organizing cloud
+   * resources into groups that reflect a customer's organizational needs and
+   * deployment strategies. Cloud Labels can be used to filter collections of
+   * resources. They can be used to control how resource metrics are aggregated.
+   * And they can be used as arguments to policy management rules (e.g. route,
+   * firewall, load balancing, etc.).
+   *  * Label keys must be between 1 and 63 characters long and must conform to
+   *    the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
+   *  * Label values must be between 0 and 63 characters long and must conform
+   *    to the regular expression `[a-z0-9_-]{0,63}`.
+   *  * No more than 64 labels can be associated with a given resource.
+   * See https://goo.gl/xmQnxf for more information on and examples of labels.
+   * If you plan to use labels in your own code, please note that additional
+   * characters may be allowed in the future. Therefore, you are advised to use
+   * an internal label representation, such as JSON, which doesn't rely upon
+   * specific characters being disallowed.  For example, representing labels
+   * as the string:  name + "_" + value  would prove problematic if we were to
+   * allow "_" in a future release.
+   * 
+ * + * map<string, string> labels = 8; + */ + int getLabelsCount(); + /** + * + * + *
+   * Cloud Labels are a flexible and lightweight mechanism for organizing cloud
+   * resources into groups that reflect a customer's organizational needs and
+   * deployment strategies. Cloud Labels can be used to filter collections of
+   * resources. They can be used to control how resource metrics are aggregated.
+   * And they can be used as arguments to policy management rules (e.g. route,
+   * firewall, load balancing, etc.).
+   *  * Label keys must be between 1 and 63 characters long and must conform to
+   *    the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
+   *  * Label values must be between 0 and 63 characters long and must conform
+   *    to the regular expression `[a-z0-9_-]{0,63}`.
+   *  * No more than 64 labels can be associated with a given resource.
+   * See https://goo.gl/xmQnxf for more information on and examples of labels.
+   * If you plan to use labels in your own code, please note that additional
+   * characters may be allowed in the future. Therefore, you are advised to use
+   * an internal label representation, such as JSON, which doesn't rely upon
+   * specific characters being disallowed.  For example, representing labels
+   * as the string:  name + "_" + value  would prove problematic if we were to
+   * allow "_" in a future release.
+   * 
+ * + * map<string, string> labels = 8; + */ + boolean containsLabels(java.lang.String key); + /** Use {@link #getLabelsMap()} instead. */ + @java.lang.Deprecated + java.util.Map getLabels(); + /** + * + * + *
+   * Cloud Labels are a flexible and lightweight mechanism for organizing cloud
+   * resources into groups that reflect a customer's organizational needs and
+   * deployment strategies. Cloud Labels can be used to filter collections of
+   * resources. They can be used to control how resource metrics are aggregated.
+   * And they can be used as arguments to policy management rules (e.g. route,
+   * firewall, load balancing, etc.).
+   *  * Label keys must be between 1 and 63 characters long and must conform to
+   *    the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
+   *  * Label values must be between 0 and 63 characters long and must conform
+   *    to the regular expression `[a-z0-9_-]{0,63}`.
+   *  * No more than 64 labels can be associated with a given resource.
+   * See https://goo.gl/xmQnxf for more information on and examples of labels.
+   * If you plan to use labels in your own code, please note that additional
+   * characters may be allowed in the future. Therefore, you are advised to use
+   * an internal label representation, such as JSON, which doesn't rely upon
+   * specific characters being disallowed.  For example, representing labels
+   * as the string:  name + "_" + value  would prove problematic if we were to
+   * allow "_" in a future release.
+   * 
+ * + * map<string, string> labels = 8; + */ + java.util.Map getLabelsMap(); + /** + * + * + *
+   * Cloud Labels are a flexible and lightweight mechanism for organizing cloud
+   * resources into groups that reflect a customer's organizational needs and
+   * deployment strategies. Cloud Labels can be used to filter collections of
+   * resources. They can be used to control how resource metrics are aggregated.
+   * And they can be used as arguments to policy management rules (e.g. route,
+   * firewall, load balancing, etc.).
+   *  * Label keys must be between 1 and 63 characters long and must conform to
+   *    the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
+   *  * Label values must be between 0 and 63 characters long and must conform
+   *    to the regular expression `[a-z0-9_-]{0,63}`.
+   *  * No more than 64 labels can be associated with a given resource.
+   * See https://goo.gl/xmQnxf for more information on and examples of labels.
+   * If you plan to use labels in your own code, please note that additional
+   * characters may be allowed in the future. Therefore, you are advised to use
+   * an internal label representation, such as JSON, which doesn't rely upon
+   * specific characters being disallowed.  For example, representing labels
+   * as the string:  name + "_" + value  would prove problematic if we were to
+   * allow "_" in a future release.
+   * 
+ * + * map<string, string> labels = 8; + */ + + /* nullable */ + java.lang.String getLabelsOrDefault( + java.lang.String key, + /* nullable */ + java.lang.String defaultValue); + /** + * + * + *
+   * Cloud Labels are a flexible and lightweight mechanism for organizing cloud
+   * resources into groups that reflect a customer's organizational needs and
+   * deployment strategies. Cloud Labels can be used to filter collections of
+   * resources. They can be used to control how resource metrics are aggregated.
+   * And they can be used as arguments to policy management rules (e.g. route,
+   * firewall, load balancing, etc.).
+   *  * Label keys must be between 1 and 63 characters long and must conform to
+   *    the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
+   *  * Label values must be between 0 and 63 characters long and must conform
+   *    to the regular expression `[a-z0-9_-]{0,63}`.
+   *  * No more than 64 labels can be associated with a given resource.
+   * See https://goo.gl/xmQnxf for more information on and examples of labels.
+   * If you plan to use labels in your own code, please note that additional
+   * characters may be allowed in the future. Therefore, you are advised to use
+   * an internal label representation, such as JSON, which doesn't rely upon
+   * specific characters being disallowed.  For example, representing labels
+   * as the string:  name + "_" + value  would prove problematic if we were to
+   * allow "_" in a future release.
+   * 
+ * + * map<string, string> labels = 8; + */ + java.lang.String getLabelsOrThrow(java.lang.String key); + + /** + * + * + *
+   * etag is used for optimistic concurrency control as a way
+   * to help prevent simultaneous updates of a instance config from overwriting
+   * each other. It is strongly suggested that systems make use of the etag in
+   * the read-modify-write cycle to perform instance config updates in order to
+   * avoid race conditions: An etag is returned in the response which contains
+   * instance configs, and systems are expected to put that etag in the request
+   * to update instance config to ensure that their change will be applied to
+   * the same version of the instance config.
+   * If no etag is provided in the call to update instance config, then the
+   * existing instance config is overwritten blindly.
+   * 
+ * + * string etag = 9; + * + * @return The etag. + */ + java.lang.String getEtag(); + /** + * + * + *
+   * etag is used for optimistic concurrency control as a way
+   * to help prevent simultaneous updates of a instance config from overwriting
+   * each other. It is strongly suggested that systems make use of the etag in
+   * the read-modify-write cycle to perform instance config updates in order to
+   * avoid race conditions: An etag is returned in the response which contains
+   * instance configs, and systems are expected to put that etag in the request
+   * to update instance config to ensure that their change will be applied to
+   * the same version of the instance config.
+   * If no etag is provided in the call to update instance config, then the
+   * existing instance config is overwritten blindly.
+   * 
+ * + * string etag = 9; + * + * @return The bytes for etag. + */ + com.google.protobuf.ByteString getEtagBytes(); + /** * * @@ -188,4 +504,47 @@ public interface InstanceConfigOrBuilder * @return The bytes of the leaderOptions at the given index. */ com.google.protobuf.ByteString getLeaderOptionsBytes(int index); + + /** + * + * + *
+   * Output only. If true, the instance config is being created or updated. If
+   * false, there are no ongoing operations for the instance config.
+   * 
+ * + * bool reconciling = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The reconciling. + */ + boolean getReconciling(); + + /** + * + * + *
+   * Output only. The current instance config state.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig.State state = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for state. + */ + int getStateValue(); + /** + * + * + *
+   * Output only. The current instance config state.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig.State state = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The state. + */ + com.google.spanner.admin.instance.v1.InstanceConfig.State getState(); } diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceOrBuilder.java index b060a9c1d01..a16ebeccae5 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceOrBuilder.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceOrBuilder.java @@ -158,10 +158,10 @@ public interface InstanceOrBuilder * *
    * Output only. The current instance state. For
-   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance], the state must be
-   * either omitted or set to `CREATING`. For
-   * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance], the state must be
-   * either omitted or set to `READY`.
+   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance],
+   * the state must be either omitted or set to `CREATING`. For
+   * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance],
+   * the state must be either omitted or set to `READY`.
    * 
* * @@ -176,10 +176,10 @@ public interface InstanceOrBuilder * *
    * Output only. The current instance state. For
-   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance], the state must be
-   * either omitted or set to `CREATING`. For
-   * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance], the state must be
-   * either omitted or set to `READY`.
+   * [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance],
+   * the state must be either omitted or set to `CREATING`. For
+   * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance],
+   * the state must be either omitted or set to `READY`.
    * 
* * diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsRequest.java new file mode 100644 index 00000000000..bf02af57a9d --- /dev/null +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsRequest.java @@ -0,0 +1,1412 @@ +/* + * Copyright 2020 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 + * + * https://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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/spanner/admin/instance/v1/spanner_instance_admin.proto + +package com.google.spanner.admin.instance.v1; + +/** + * + * + *
+ * The request for
+ * [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations].
+ * 
+ * + * Protobuf type {@code google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest} + */ +public final class ListInstanceConfigOperationsRequest + extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest) + ListInstanceConfigOperationsRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use ListInstanceConfigOperationsRequest.newBuilder() to construct. + private ListInstanceConfigOperationsRequest( + com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private ListInstanceConfigOperationsRequest() { + parent_ = ""; + filter_ = ""; + pageToken_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new ListInstanceConfigOperationsRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private ListInstanceConfigOperationsRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + + parent_ = s; + break; + } + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + + filter_ = s; + break; + } + case 24: + { + pageSize_ = input.readInt32(); + break; + } + case 34: + { + java.lang.String s = input.readStringRequireUtf8(); + + pageToken_ = s; + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest.class, + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + private volatile java.lang.Object parent_; + /** + * + * + *
+   * Required. The project of the instance config operations.
+   * Values are of the form `projects/<project>`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + 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(); + parent_ = s; + return s; + } + } + /** + * + * + *
+   * Required. The project of the instance config operations.
+   * Values are of the form `projects/<project>`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int FILTER_FIELD_NUMBER = 2; + private volatile java.lang.Object filter_; + /** + * + * + *
+   * An expression that filters the list of returned operations.
+   * A filter expression consists of a field name, a
+   * comparison operator, and a value for filtering.
+   * The value must be a string, a number, or a boolean. The comparison operator
+   * must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
+   * Colon `:` is the contains operator. Filter rules are not case sensitive.
+   * The following fields in the [Operation][google.longrunning.Operation]
+   * are eligible for filtering:
+   *   * `name` - The name of the long-running operation
+   *   * `done` - False if the operation is in progress, else true.
+   *   * `metadata.@type` - the type of metadata. For example, the type string
+   *      for
+   *      [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata]
+   *      is
+   *      `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata`.
+   *   * `metadata.<field_name>` - any field in metadata.value.
+   *      `metadata.@type` must be specified first, if filtering on metadata
+   *      fields.
+   *   * `error` - Error associated with the long-running operation.
+   *   * `response.@type` - the type of response.
+   *   * `response.<field_name>` - any field in response.value.
+   * You can combine multiple expressions by enclosing each expression in
+   * parentheses. By default, expressions are combined with AND logic. However,
+   * you can specify AND, OR, and NOT logic explicitly.
+   * Here are a few examples:
+   *   * `done:true` - The operation is complete.
+   *   * `(metadata.@type=` \
+   *     `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
+   *     AND` \
+   *     `(metadata.instance_config.name:custom-config) AND` \
+   *     `(metadata.progress.start_time < \"2021-03-28T14:50:00Z\") AND` \
+   *     `(error:*)` - Return operations where:
+   *     * The operation's metadata type is
+   *     [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata].
+   *     * The instance config name contains "custom-config".
+   *     * The operation started before 2021-03-28T14:50:00Z.
+   *     * The operation resulted in an error.
+   * 
+ * + * string filter = 2; + * + * @return The filter. + */ + @java.lang.Override + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + 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(); + filter_ = s; + return s; + } + } + /** + * + * + *
+   * An expression that filters the list of returned operations.
+   * A filter expression consists of a field name, a
+   * comparison operator, and a value for filtering.
+   * The value must be a string, a number, or a boolean. The comparison operator
+   * must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
+   * Colon `:` is the contains operator. Filter rules are not case sensitive.
+   * The following fields in the [Operation][google.longrunning.Operation]
+   * are eligible for filtering:
+   *   * `name` - The name of the long-running operation
+   *   * `done` - False if the operation is in progress, else true.
+   *   * `metadata.@type` - the type of metadata. For example, the type string
+   *      for
+   *      [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata]
+   *      is
+   *      `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata`.
+   *   * `metadata.<field_name>` - any field in metadata.value.
+   *      `metadata.@type` must be specified first, if filtering on metadata
+   *      fields.
+   *   * `error` - Error associated with the long-running operation.
+   *   * `response.@type` - the type of response.
+   *   * `response.<field_name>` - any field in response.value.
+   * You can combine multiple expressions by enclosing each expression in
+   * parentheses. By default, expressions are combined with AND logic. However,
+   * you can specify AND, OR, and NOT logic explicitly.
+   * Here are a few examples:
+   *   * `done:true` - The operation is complete.
+   *   * `(metadata.@type=` \
+   *     `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
+   *     AND` \
+   *     `(metadata.instance_config.name:custom-config) AND` \
+   *     `(metadata.progress.start_time < \"2021-03-28T14:50:00Z\") AND` \
+   *     `(error:*)` - Return operations where:
+   *     * The operation's metadata type is
+   *     [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata].
+   *     * The instance config name contains "custom-config".
+   *     * The operation started before 2021-03-28T14:50:00Z.
+   *     * The operation resulted in an error.
+   * 
+ * + * string filter = 2; + * + * @return The bytes for filter. + */ + @java.lang.Override + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 3; + private int pageSize_; + /** + * + * + *
+   * Number of operations to be returned in the response. If 0 or
+   * less, defaults to the server's maximum allowed page size.
+   * 
+ * + * int32 page_size = 3; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 4; + private volatile java.lang.Object pageToken_; + /** + * + * + *
+   * If non-empty, `page_token` should contain a
+   * [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.next_page_token]
+   * from a previous
+   * [ListInstanceConfigOperationsResponse][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse]
+   * to the same `parent` and with the same `filter`.
+   * 
+ * + * string page_token = 4; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + 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(); + pageToken_ = s; + return s; + } + } + /** + * + * + *
+   * If non-empty, `page_token` should contain a
+   * [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.next_page_token]
+   * from a previous
+   * [ListInstanceConfigOperationsResponse][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse]
+   * to the same `parent` and with the same `filter`.
+   * 
+ * + * string page_token = 4; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, parent_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(filter_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, filter_); + } + if (pageSize_ != 0) { + output.writeInt32(3, pageSize_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, pageToken_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, parent_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(filter_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, filter_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(3, pageSize_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, pageToken_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj + instanceof com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest)) { + return super.equals(obj); + } + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest other = + (com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (!getFilter().equals(other.getFilter())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + FILTER_FIELD_NUMBER; + hash = (53 * hash) + getFilter().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
+   * The request for
+   * [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations].
+   * 
+ * + * Protobuf type {@code google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest) + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest.class, + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest.Builder + .class); + } + + // Construct using + // com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + parent_ = ""; + + filter_ = ""; + + pageSize_ = 0; + + pageToken_ = ""; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsRequest_descriptor; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest + getDefaultInstanceForType() { + return com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest build() { + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest buildPartial() { + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest result = + new com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest(this); + result.parent_ = parent_; + result.filter_ = filter_; + result.pageSize_ = pageSize_; + result.pageToken_ = pageToken_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest) { + return mergeFrom( + (com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest other) { + if (other + == com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest + .getDefaultInstance()) return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + onChanged(); + } + if (!other.getFilter().isEmpty()) { + filter_ = other.filter_; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest) + e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object parent_ = ""; + /** + * + * + *
+     * Required. The project of the instance config operations.
+     * Values are of the form `projects/<project>`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Required. The project of the instance config operations.
+     * Values are of the form `projects/<project>`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Required. The project of the instance config operations.
+     * Values are of the form `projects/<project>`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + parent_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Required. The project of the instance config operations.
+     * Values are of the form `projects/<project>`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + + parent_ = getDefaultInstance().getParent(); + onChanged(); + return this; + } + /** + * + * + *
+     * Required. The project of the instance config operations.
+     * Values are of the form `projects/<project>`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + parent_ = value; + onChanged(); + return this; + } + + private java.lang.Object filter_ = ""; + /** + * + * + *
+     * An expression that filters the list of returned operations.
+     * A filter expression consists of a field name, a
+     * comparison operator, and a value for filtering.
+     * The value must be a string, a number, or a boolean. The comparison operator
+     * must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
+     * Colon `:` is the contains operator. Filter rules are not case sensitive.
+     * The following fields in the [Operation][google.longrunning.Operation]
+     * are eligible for filtering:
+     *   * `name` - The name of the long-running operation
+     *   * `done` - False if the operation is in progress, else true.
+     *   * `metadata.@type` - the type of metadata. For example, the type string
+     *      for
+     *      [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata]
+     *      is
+     *      `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata`.
+     *   * `metadata.<field_name>` - any field in metadata.value.
+     *      `metadata.@type` must be specified first, if filtering on metadata
+     *      fields.
+     *   * `error` - Error associated with the long-running operation.
+     *   * `response.@type` - the type of response.
+     *   * `response.<field_name>` - any field in response.value.
+     * You can combine multiple expressions by enclosing each expression in
+     * parentheses. By default, expressions are combined with AND logic. However,
+     * you can specify AND, OR, and NOT logic explicitly.
+     * Here are a few examples:
+     *   * `done:true` - The operation is complete.
+     *   * `(metadata.@type=` \
+     *     `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
+     *     AND` \
+     *     `(metadata.instance_config.name:custom-config) AND` \
+     *     `(metadata.progress.start_time < \"2021-03-28T14:50:00Z\") AND` \
+     *     `(error:*)` - Return operations where:
+     *     * The operation's metadata type is
+     *     [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata].
+     *     * The instance config name contains "custom-config".
+     *     * The operation started before 2021-03-28T14:50:00Z.
+     *     * The operation resulted in an error.
+     * 
+ * + * string filter = 2; + * + * @return The filter. + */ + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filter_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * An expression that filters the list of returned operations.
+     * A filter expression consists of a field name, a
+     * comparison operator, and a value for filtering.
+     * The value must be a string, a number, or a boolean. The comparison operator
+     * must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
+     * Colon `:` is the contains operator. Filter rules are not case sensitive.
+     * The following fields in the [Operation][google.longrunning.Operation]
+     * are eligible for filtering:
+     *   * `name` - The name of the long-running operation
+     *   * `done` - False if the operation is in progress, else true.
+     *   * `metadata.@type` - the type of metadata. For example, the type string
+     *      for
+     *      [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata]
+     *      is
+     *      `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata`.
+     *   * `metadata.<field_name>` - any field in metadata.value.
+     *      `metadata.@type` must be specified first, if filtering on metadata
+     *      fields.
+     *   * `error` - Error associated with the long-running operation.
+     *   * `response.@type` - the type of response.
+     *   * `response.<field_name>` - any field in response.value.
+     * You can combine multiple expressions by enclosing each expression in
+     * parentheses. By default, expressions are combined with AND logic. However,
+     * you can specify AND, OR, and NOT logic explicitly.
+     * Here are a few examples:
+     *   * `done:true` - The operation is complete.
+     *   * `(metadata.@type=` \
+     *     `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
+     *     AND` \
+     *     `(metadata.instance_config.name:custom-config) AND` \
+     *     `(metadata.progress.start_time < \"2021-03-28T14:50:00Z\") AND` \
+     *     `(error:*)` - Return operations where:
+     *     * The operation's metadata type is
+     *     [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata].
+     *     * The instance config name contains "custom-config".
+     *     * The operation started before 2021-03-28T14:50:00Z.
+     *     * The operation resulted in an error.
+     * 
+ * + * string filter = 2; + * + * @return The bytes for filter. + */ + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * An expression that filters the list of returned operations.
+     * A filter expression consists of a field name, a
+     * comparison operator, and a value for filtering.
+     * The value must be a string, a number, or a boolean. The comparison operator
+     * must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
+     * Colon `:` is the contains operator. Filter rules are not case sensitive.
+     * The following fields in the [Operation][google.longrunning.Operation]
+     * are eligible for filtering:
+     *   * `name` - The name of the long-running operation
+     *   * `done` - False if the operation is in progress, else true.
+     *   * `metadata.@type` - the type of metadata. For example, the type string
+     *      for
+     *      [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata]
+     *      is
+     *      `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata`.
+     *   * `metadata.<field_name>` - any field in metadata.value.
+     *      `metadata.@type` must be specified first, if filtering on metadata
+     *      fields.
+     *   * `error` - Error associated with the long-running operation.
+     *   * `response.@type` - the type of response.
+     *   * `response.<field_name>` - any field in response.value.
+     * You can combine multiple expressions by enclosing each expression in
+     * parentheses. By default, expressions are combined with AND logic. However,
+     * you can specify AND, OR, and NOT logic explicitly.
+     * Here are a few examples:
+     *   * `done:true` - The operation is complete.
+     *   * `(metadata.@type=` \
+     *     `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
+     *     AND` \
+     *     `(metadata.instance_config.name:custom-config) AND` \
+     *     `(metadata.progress.start_time < \"2021-03-28T14:50:00Z\") AND` \
+     *     `(error:*)` - Return operations where:
+     *     * The operation's metadata type is
+     *     [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata].
+     *     * The instance config name contains "custom-config".
+     *     * The operation started before 2021-03-28T14:50:00Z.
+     *     * The operation resulted in an error.
+     * 
+ * + * string filter = 2; + * + * @param value The filter to set. + * @return This builder for chaining. + */ + public Builder setFilter(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + filter_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * An expression that filters the list of returned operations.
+     * A filter expression consists of a field name, a
+     * comparison operator, and a value for filtering.
+     * The value must be a string, a number, or a boolean. The comparison operator
+     * must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
+     * Colon `:` is the contains operator. Filter rules are not case sensitive.
+     * The following fields in the [Operation][google.longrunning.Operation]
+     * are eligible for filtering:
+     *   * `name` - The name of the long-running operation
+     *   * `done` - False if the operation is in progress, else true.
+     *   * `metadata.@type` - the type of metadata. For example, the type string
+     *      for
+     *      [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata]
+     *      is
+     *      `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata`.
+     *   * `metadata.<field_name>` - any field in metadata.value.
+     *      `metadata.@type` must be specified first, if filtering on metadata
+     *      fields.
+     *   * `error` - Error associated with the long-running operation.
+     *   * `response.@type` - the type of response.
+     *   * `response.<field_name>` - any field in response.value.
+     * You can combine multiple expressions by enclosing each expression in
+     * parentheses. By default, expressions are combined with AND logic. However,
+     * you can specify AND, OR, and NOT logic explicitly.
+     * Here are a few examples:
+     *   * `done:true` - The operation is complete.
+     *   * `(metadata.@type=` \
+     *     `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
+     *     AND` \
+     *     `(metadata.instance_config.name:custom-config) AND` \
+     *     `(metadata.progress.start_time < \"2021-03-28T14:50:00Z\") AND` \
+     *     `(error:*)` - Return operations where:
+     *     * The operation's metadata type is
+     *     [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata].
+     *     * The instance config name contains "custom-config".
+     *     * The operation started before 2021-03-28T14:50:00Z.
+     *     * The operation resulted in an error.
+     * 
+ * + * string filter = 2; + * + * @return This builder for chaining. + */ + public Builder clearFilter() { + + filter_ = getDefaultInstance().getFilter(); + onChanged(); + return this; + } + /** + * + * + *
+     * An expression that filters the list of returned operations.
+     * A filter expression consists of a field name, a
+     * comparison operator, and a value for filtering.
+     * The value must be a string, a number, or a boolean. The comparison operator
+     * must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
+     * Colon `:` is the contains operator. Filter rules are not case sensitive.
+     * The following fields in the [Operation][google.longrunning.Operation]
+     * are eligible for filtering:
+     *   * `name` - The name of the long-running operation
+     *   * `done` - False if the operation is in progress, else true.
+     *   * `metadata.@type` - the type of metadata. For example, the type string
+     *      for
+     *      [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata]
+     *      is
+     *      `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata`.
+     *   * `metadata.<field_name>` - any field in metadata.value.
+     *      `metadata.@type` must be specified first, if filtering on metadata
+     *      fields.
+     *   * `error` - Error associated with the long-running operation.
+     *   * `response.@type` - the type of response.
+     *   * `response.<field_name>` - any field in response.value.
+     * You can combine multiple expressions by enclosing each expression in
+     * parentheses. By default, expressions are combined with AND logic. However,
+     * you can specify AND, OR, and NOT logic explicitly.
+     * Here are a few examples:
+     *   * `done:true` - The operation is complete.
+     *   * `(metadata.@type=` \
+     *     `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
+     *     AND` \
+     *     `(metadata.instance_config.name:custom-config) AND` \
+     *     `(metadata.progress.start_time < \"2021-03-28T14:50:00Z\") AND` \
+     *     `(error:*)` - Return operations where:
+     *     * The operation's metadata type is
+     *     [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata].
+     *     * The instance config name contains "custom-config".
+     *     * The operation started before 2021-03-28T14:50:00Z.
+     *     * The operation resulted in an error.
+     * 
+ * + * string filter = 2; + * + * @param value The bytes for filter to set. + * @return This builder for chaining. + */ + public Builder setFilterBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + filter_ = value; + onChanged(); + return this; + } + + private int pageSize_; + /** + * + * + *
+     * Number of operations to be returned in the response. If 0 or
+     * less, defaults to the server's maximum allowed page size.
+     * 
+ * + * int32 page_size = 3; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + /** + * + * + *
+     * Number of operations to be returned in the response. If 0 or
+     * less, defaults to the server's maximum allowed page size.
+     * 
+ * + * int32 page_size = 3; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Number of operations to be returned in the response. If 0 or
+     * less, defaults to the server's maximum allowed page size.
+     * 
+ * + * int32 page_size = 3; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + /** + * + * + *
+     * If non-empty, `page_token` should contain a
+     * [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.next_page_token]
+     * from a previous
+     * [ListInstanceConfigOperationsResponse][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse]
+     * to the same `parent` and with the same `filter`.
+     * 
+ * + * string page_token = 4; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * If non-empty, `page_token` should contain a
+     * [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.next_page_token]
+     * from a previous
+     * [ListInstanceConfigOperationsResponse][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse]
+     * to the same `parent` and with the same `filter`.
+     * 
+ * + * string page_token = 4; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * If non-empty, `page_token` should contain a
+     * [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.next_page_token]
+     * from a previous
+     * [ListInstanceConfigOperationsResponse][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse]
+     * to the same `parent` and with the same `filter`.
+     * 
+ * + * string page_token = 4; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + pageToken_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * If non-empty, `page_token` should contain a
+     * [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.next_page_token]
+     * from a previous
+     * [ListInstanceConfigOperationsResponse][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse]
+     * to the same `parent` and with the same `filter`.
+     * 
+ * + * string page_token = 4; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + + pageToken_ = getDefaultInstance().getPageToken(); + onChanged(); + return this; + } + /** + * + * + *
+     * If non-empty, `page_token` should contain a
+     * [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.next_page_token]
+     * from a previous
+     * [ListInstanceConfigOperationsResponse][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse]
+     * to the same `parent` and with the same `filter`.
+     * 
+ * + * string page_token = 4; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + pageToken_ = value; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest) + } + + // @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest) + private static final com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest(); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListInstanceConfigOperationsRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ListInstanceConfigOperationsRequest(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsRequestOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsRequestOrBuilder.java new file mode 100644 index 00000000000..3e79ae5fff3 --- /dev/null +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsRequestOrBuilder.java @@ -0,0 +1,200 @@ +/* + * Copyright 2020 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 + * + * https://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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/spanner/admin/instance/v1/spanner_instance_admin.proto + +package com.google.spanner.admin.instance.v1; + +public interface ListInstanceConfigOperationsRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The project of the instance config operations.
+   * Values are of the form `projects/<project>`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + /** + * + * + *
+   * Required. The project of the instance config operations.
+   * Values are of the form `projects/<project>`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * An expression that filters the list of returned operations.
+   * A filter expression consists of a field name, a
+   * comparison operator, and a value for filtering.
+   * The value must be a string, a number, or a boolean. The comparison operator
+   * must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
+   * Colon `:` is the contains operator. Filter rules are not case sensitive.
+   * The following fields in the [Operation][google.longrunning.Operation]
+   * are eligible for filtering:
+   *   * `name` - The name of the long-running operation
+   *   * `done` - False if the operation is in progress, else true.
+   *   * `metadata.@type` - the type of metadata. For example, the type string
+   *      for
+   *      [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata]
+   *      is
+   *      `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata`.
+   *   * `metadata.<field_name>` - any field in metadata.value.
+   *      `metadata.@type` must be specified first, if filtering on metadata
+   *      fields.
+   *   * `error` - Error associated with the long-running operation.
+   *   * `response.@type` - the type of response.
+   *   * `response.<field_name>` - any field in response.value.
+   * You can combine multiple expressions by enclosing each expression in
+   * parentheses. By default, expressions are combined with AND logic. However,
+   * you can specify AND, OR, and NOT logic explicitly.
+   * Here are a few examples:
+   *   * `done:true` - The operation is complete.
+   *   * `(metadata.@type=` \
+   *     `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
+   *     AND` \
+   *     `(metadata.instance_config.name:custom-config) AND` \
+   *     `(metadata.progress.start_time < \"2021-03-28T14:50:00Z\") AND` \
+   *     `(error:*)` - Return operations where:
+   *     * The operation's metadata type is
+   *     [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata].
+   *     * The instance config name contains "custom-config".
+   *     * The operation started before 2021-03-28T14:50:00Z.
+   *     * The operation resulted in an error.
+   * 
+ * + * string filter = 2; + * + * @return The filter. + */ + java.lang.String getFilter(); + /** + * + * + *
+   * An expression that filters the list of returned operations.
+   * A filter expression consists of a field name, a
+   * comparison operator, and a value for filtering.
+   * The value must be a string, a number, or a boolean. The comparison operator
+   * must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
+   * Colon `:` is the contains operator. Filter rules are not case sensitive.
+   * The following fields in the [Operation][google.longrunning.Operation]
+   * are eligible for filtering:
+   *   * `name` - The name of the long-running operation
+   *   * `done` - False if the operation is in progress, else true.
+   *   * `metadata.@type` - the type of metadata. For example, the type string
+   *      for
+   *      [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata]
+   *      is
+   *      `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata`.
+   *   * `metadata.<field_name>` - any field in metadata.value.
+   *      `metadata.@type` must be specified first, if filtering on metadata
+   *      fields.
+   *   * `error` - Error associated with the long-running operation.
+   *   * `response.@type` - the type of response.
+   *   * `response.<field_name>` - any field in response.value.
+   * You can combine multiple expressions by enclosing each expression in
+   * parentheses. By default, expressions are combined with AND logic. However,
+   * you can specify AND, OR, and NOT logic explicitly.
+   * Here are a few examples:
+   *   * `done:true` - The operation is complete.
+   *   * `(metadata.@type=` \
+   *     `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
+   *     AND` \
+   *     `(metadata.instance_config.name:custom-config) AND` \
+   *     `(metadata.progress.start_time < \"2021-03-28T14:50:00Z\") AND` \
+   *     `(error:*)` - Return operations where:
+   *     * The operation's metadata type is
+   *     [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata].
+   *     * The instance config name contains "custom-config".
+   *     * The operation started before 2021-03-28T14:50:00Z.
+   *     * The operation resulted in an error.
+   * 
+ * + * string filter = 2; + * + * @return The bytes for filter. + */ + com.google.protobuf.ByteString getFilterBytes(); + + /** + * + * + *
+   * Number of operations to be returned in the response. If 0 or
+   * less, defaults to the server's maximum allowed page size.
+   * 
+ * + * int32 page_size = 3; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
+   * If non-empty, `page_token` should contain a
+   * [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.next_page_token]
+   * from a previous
+   * [ListInstanceConfigOperationsResponse][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse]
+   * to the same `parent` and with the same `filter`.
+   * 
+ * + * string page_token = 4; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + /** + * + * + *
+   * If non-empty, `page_token` should contain a
+   * [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.next_page_token]
+   * from a previous
+   * [ListInstanceConfigOperationsResponse][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse]
+   * to the same `parent` and with the same `filter`.
+   * 
+ * + * string page_token = 4; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); +} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsResponse.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsResponse.java new file mode 100644 index 00000000000..258d55104dd --- /dev/null +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsResponse.java @@ -0,0 +1,1258 @@ +/* + * Copyright 2020 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 + * + * https://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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/spanner/admin/instance/v1/spanner_instance_admin.proto + +package com.google.spanner.admin.instance.v1; + +/** + * + * + *
+ * The response for
+ * [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations].
+ * 
+ * + * Protobuf type {@code google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse} + */ +public final class ListInstanceConfigOperationsResponse + extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse) + ListInstanceConfigOperationsResponseOrBuilder { + private static final long serialVersionUID = 0L; + // Use ListInstanceConfigOperationsResponse.newBuilder() to construct. + private ListInstanceConfigOperationsResponse( + com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private ListInstanceConfigOperationsResponse() { + operations_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new ListInstanceConfigOperationsResponse(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private ListInstanceConfigOperationsResponse( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + operations_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + operations_.add( + input.readMessage(com.google.longrunning.Operation.parser(), extensionRegistry)); + break; + } + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + + nextPageToken_ = s; + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + operations_ = java.util.Collections.unmodifiableList(operations_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.class, + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.Builder + .class); + } + + public static final int OPERATIONS_FIELD_NUMBER = 1; + private java.util.List operations_; + /** + * + * + *
+   * The list of matching instance config [long-running
+   * operations][google.longrunning.Operation]. Each operation's name will be
+   * prefixed by the instance config's name. The operation's
+   * [metadata][google.longrunning.Operation.metadata] field type
+   * `metadata.type_url` describes the type of the metadata.
+   * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + @java.lang.Override + public java.util.List getOperationsList() { + return operations_; + } + /** + * + * + *
+   * The list of matching instance config [long-running
+   * operations][google.longrunning.Operation]. Each operation's name will be
+   * prefixed by the instance config's name. The operation's
+   * [metadata][google.longrunning.Operation.metadata] field type
+   * `metadata.type_url` describes the type of the metadata.
+   * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + @java.lang.Override + public java.util.List + getOperationsOrBuilderList() { + return operations_; + } + /** + * + * + *
+   * The list of matching instance config [long-running
+   * operations][google.longrunning.Operation]. Each operation's name will be
+   * prefixed by the instance config's name. The operation's
+   * [metadata][google.longrunning.Operation.metadata] field type
+   * `metadata.type_url` describes the type of the metadata.
+   * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + @java.lang.Override + public int getOperationsCount() { + return operations_.size(); + } + /** + * + * + *
+   * The list of matching instance config [long-running
+   * operations][google.longrunning.Operation]. Each operation's name will be
+   * prefixed by the instance config's name. The operation's
+   * [metadata][google.longrunning.Operation.metadata] field type
+   * `metadata.type_url` describes the type of the metadata.
+   * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + @java.lang.Override + public com.google.longrunning.Operation getOperations(int index) { + return operations_.get(index); + } + /** + * + * + *
+   * The list of matching instance config [long-running
+   * operations][google.longrunning.Operation]. Each operation's name will be
+   * prefixed by the instance config's name. The operation's
+   * [metadata][google.longrunning.Operation.metadata] field type
+   * `metadata.type_url` describes the type of the metadata.
+   * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + @java.lang.Override + public com.google.longrunning.OperationOrBuilder getOperationsOrBuilder(int index) { + return operations_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + private volatile java.lang.Object nextPageToken_; + /** + * + * + *
+   * `next_page_token` can be sent in a subsequent
+   * [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations]
+   * call to fetch more of the matching metadata.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + 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(); + nextPageToken_ = s; + return s; + } + } + /** + * + * + *
+   * `next_page_token` can be sent in a subsequent
+   * [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations]
+   * call to fetch more of the matching metadata.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + for (int i = 0; i < operations_.size(); i++) { + output.writeMessage(1, operations_.get(i)); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, nextPageToken_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < operations_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, operations_.get(i)); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, nextPageToken_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj + instanceof com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse)) { + return super.equals(obj); + } + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse other = + (com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse) obj; + + if (!getOperationsList().equals(other.getOperationsList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getOperationsCount() > 0) { + hash = (37 * hash) + OPERATIONS_FIELD_NUMBER; + hash = (53 * hash) + getOperationsList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
+   * The response for
+   * [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations].
+   * 
+ * + * Protobuf type {@code google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse) + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.class, + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.Builder + .class); + } + + // Construct using + // com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + getOperationsFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + if (operationsBuilder_ == null) { + operations_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + operationsBuilder_.clear(); + } + nextPageToken_ = ""; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsResponse_descriptor; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse + getDefaultInstanceForType() { + return com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse build() { + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse + buildPartial() { + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse result = + new com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse(this); + int from_bitField0_ = bitField0_; + if (operationsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + operations_ = java.util.Collections.unmodifiableList(operations_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.operations_ = operations_; + } else { + result.operations_ = operationsBuilder_.build(); + } + result.nextPageToken_ = nextPageToken_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse) { + return mergeFrom( + (com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse other) { + if (other + == com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse + .getDefaultInstance()) return this; + if (operationsBuilder_ == null) { + if (!other.operations_.isEmpty()) { + if (operations_.isEmpty()) { + operations_ = other.operations_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureOperationsIsMutable(); + operations_.addAll(other.operations_); + } + onChanged(); + } + } else { + if (!other.operations_.isEmpty()) { + if (operationsBuilder_.isEmpty()) { + operationsBuilder_.dispose(); + operationsBuilder_ = null; + operations_ = other.operations_; + bitField0_ = (bitField0_ & ~0x00000001); + operationsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders + ? getOperationsFieldBuilder() + : null; + } else { + operationsBuilder_.addAllMessages(other.operations_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse parsedMessage = + null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse) + e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int bitField0_; + + private java.util.List operations_ = + java.util.Collections.emptyList(); + + private void ensureOperationsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + operations_ = new java.util.ArrayList(operations_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + com.google.longrunning.Operation, + com.google.longrunning.Operation.Builder, + com.google.longrunning.OperationOrBuilder> + operationsBuilder_; + + /** + * + * + *
+     * The list of matching instance config [long-running
+     * operations][google.longrunning.Operation]. Each operation's name will be
+     * prefixed by the instance config's name. The operation's
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata.
+     * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + public java.util.List getOperationsList() { + if (operationsBuilder_ == null) { + return java.util.Collections.unmodifiableList(operations_); + } else { + return operationsBuilder_.getMessageList(); + } + } + /** + * + * + *
+     * The list of matching instance config [long-running
+     * operations][google.longrunning.Operation]. Each operation's name will be
+     * prefixed by the instance config's name. The operation's
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata.
+     * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + public int getOperationsCount() { + if (operationsBuilder_ == null) { + return operations_.size(); + } else { + return operationsBuilder_.getCount(); + } + } + /** + * + * + *
+     * The list of matching instance config [long-running
+     * operations][google.longrunning.Operation]. Each operation's name will be
+     * prefixed by the instance config's name. The operation's
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata.
+     * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + public com.google.longrunning.Operation getOperations(int index) { + if (operationsBuilder_ == null) { + return operations_.get(index); + } else { + return operationsBuilder_.getMessage(index); + } + } + /** + * + * + *
+     * The list of matching instance config [long-running
+     * operations][google.longrunning.Operation]. Each operation's name will be
+     * prefixed by the instance config's name. The operation's
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata.
+     * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + public Builder setOperations(int index, com.google.longrunning.Operation value) { + if (operationsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOperationsIsMutable(); + operations_.set(index, value); + onChanged(); + } else { + operationsBuilder_.setMessage(index, value); + } + return this; + } + /** + * + * + *
+     * The list of matching instance config [long-running
+     * operations][google.longrunning.Operation]. Each operation's name will be
+     * prefixed by the instance config's name. The operation's
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata.
+     * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + public Builder setOperations( + int index, com.google.longrunning.Operation.Builder builderForValue) { + if (operationsBuilder_ == null) { + ensureOperationsIsMutable(); + operations_.set(index, builderForValue.build()); + onChanged(); + } else { + operationsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * + * + *
+     * The list of matching instance config [long-running
+     * operations][google.longrunning.Operation]. Each operation's name will be
+     * prefixed by the instance config's name. The operation's
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata.
+     * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + public Builder addOperations(com.google.longrunning.Operation value) { + if (operationsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOperationsIsMutable(); + operations_.add(value); + onChanged(); + } else { + operationsBuilder_.addMessage(value); + } + return this; + } + /** + * + * + *
+     * The list of matching instance config [long-running
+     * operations][google.longrunning.Operation]. Each operation's name will be
+     * prefixed by the instance config's name. The operation's
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata.
+     * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + public Builder addOperations(int index, com.google.longrunning.Operation value) { + if (operationsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOperationsIsMutable(); + operations_.add(index, value); + onChanged(); + } else { + operationsBuilder_.addMessage(index, value); + } + return this; + } + /** + * + * + *
+     * The list of matching instance config [long-running
+     * operations][google.longrunning.Operation]. Each operation's name will be
+     * prefixed by the instance config's name. The operation's
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata.
+     * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + public Builder addOperations(com.google.longrunning.Operation.Builder builderForValue) { + if (operationsBuilder_ == null) { + ensureOperationsIsMutable(); + operations_.add(builderForValue.build()); + onChanged(); + } else { + operationsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * + * + *
+     * The list of matching instance config [long-running
+     * operations][google.longrunning.Operation]. Each operation's name will be
+     * prefixed by the instance config's name. The operation's
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata.
+     * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + public Builder addOperations( + int index, com.google.longrunning.Operation.Builder builderForValue) { + if (operationsBuilder_ == null) { + ensureOperationsIsMutable(); + operations_.add(index, builderForValue.build()); + onChanged(); + } else { + operationsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * + * + *
+     * The list of matching instance config [long-running
+     * operations][google.longrunning.Operation]. Each operation's name will be
+     * prefixed by the instance config's name. The operation's
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata.
+     * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + public Builder addAllOperations( + java.lang.Iterable values) { + if (operationsBuilder_ == null) { + ensureOperationsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, operations_); + onChanged(); + } else { + operationsBuilder_.addAllMessages(values); + } + return this; + } + /** + * + * + *
+     * The list of matching instance config [long-running
+     * operations][google.longrunning.Operation]. Each operation's name will be
+     * prefixed by the instance config's name. The operation's
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata.
+     * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + public Builder clearOperations() { + if (operationsBuilder_ == null) { + operations_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + operationsBuilder_.clear(); + } + return this; + } + /** + * + * + *
+     * The list of matching instance config [long-running
+     * operations][google.longrunning.Operation]. Each operation's name will be
+     * prefixed by the instance config's name. The operation's
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata.
+     * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + public Builder removeOperations(int index) { + if (operationsBuilder_ == null) { + ensureOperationsIsMutable(); + operations_.remove(index); + onChanged(); + } else { + operationsBuilder_.remove(index); + } + return this; + } + /** + * + * + *
+     * The list of matching instance config [long-running
+     * operations][google.longrunning.Operation]. Each operation's name will be
+     * prefixed by the instance config's name. The operation's
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata.
+     * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + public com.google.longrunning.Operation.Builder getOperationsBuilder(int index) { + return getOperationsFieldBuilder().getBuilder(index); + } + /** + * + * + *
+     * The list of matching instance config [long-running
+     * operations][google.longrunning.Operation]. Each operation's name will be
+     * prefixed by the instance config's name. The operation's
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata.
+     * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + public com.google.longrunning.OperationOrBuilder getOperationsOrBuilder(int index) { + if (operationsBuilder_ == null) { + return operations_.get(index); + } else { + return operationsBuilder_.getMessageOrBuilder(index); + } + } + /** + * + * + *
+     * The list of matching instance config [long-running
+     * operations][google.longrunning.Operation]. Each operation's name will be
+     * prefixed by the instance config's name. The operation's
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata.
+     * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + public java.util.List + getOperationsOrBuilderList() { + if (operationsBuilder_ != null) { + return operationsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(operations_); + } + } + /** + * + * + *
+     * The list of matching instance config [long-running
+     * operations][google.longrunning.Operation]. Each operation's name will be
+     * prefixed by the instance config's name. The operation's
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata.
+     * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + public com.google.longrunning.Operation.Builder addOperationsBuilder() { + return getOperationsFieldBuilder() + .addBuilder(com.google.longrunning.Operation.getDefaultInstance()); + } + /** + * + * + *
+     * The list of matching instance config [long-running
+     * operations][google.longrunning.Operation]. Each operation's name will be
+     * prefixed by the instance config's name. The operation's
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata.
+     * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + public com.google.longrunning.Operation.Builder addOperationsBuilder(int index) { + return getOperationsFieldBuilder() + .addBuilder(index, com.google.longrunning.Operation.getDefaultInstance()); + } + /** + * + * + *
+     * The list of matching instance config [long-running
+     * operations][google.longrunning.Operation]. Each operation's name will be
+     * prefixed by the instance config's name. The operation's
+     * [metadata][google.longrunning.Operation.metadata] field type
+     * `metadata.type_url` describes the type of the metadata.
+     * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + public java.util.List getOperationsBuilderList() { + return getOperationsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + com.google.longrunning.Operation, + com.google.longrunning.Operation.Builder, + com.google.longrunning.OperationOrBuilder> + getOperationsFieldBuilder() { + if (operationsBuilder_ == null) { + operationsBuilder_ = + new com.google.protobuf.RepeatedFieldBuilderV3< + com.google.longrunning.Operation, + com.google.longrunning.Operation.Builder, + com.google.longrunning.OperationOrBuilder>( + operations_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + operations_ = null; + } + return operationsBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + /** + * + * + *
+     * `next_page_token` can be sent in a subsequent
+     * [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations]
+     * call to fetch more of the matching metadata.
+     * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * `next_page_token` can be sent in a subsequent
+     * [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations]
+     * call to fetch more of the matching metadata.
+     * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * `next_page_token` can be sent in a subsequent
+     * [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations]
+     * call to fetch more of the matching metadata.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + nextPageToken_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * `next_page_token` can be sent in a subsequent
+     * [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations]
+     * call to fetch more of the matching metadata.
+     * 
+ * + * string next_page_token = 2; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + + nextPageToken_ = getDefaultInstance().getNextPageToken(); + onChanged(); + return this; + } + /** + * + * + *
+     * `next_page_token` can be sent in a subsequent
+     * [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations]
+     * call to fetch more of the matching metadata.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + nextPageToken_ = value; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse) + } + + // @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse) + private static final com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse(); + } + + public static com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListInstanceConfigOperationsResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ListInstanceConfigOperationsResponse(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsResponseOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsResponseOrBuilder.java new file mode 100644 index 00000000000..f7d1c09b612 --- /dev/null +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsResponseOrBuilder.java @@ -0,0 +1,125 @@ +/* + * Copyright 2020 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 + * + * https://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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/spanner/admin/instance/v1/spanner_instance_admin.proto + +package com.google.spanner.admin.instance.v1; + +public interface ListInstanceConfigOperationsResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The list of matching instance config [long-running
+   * operations][google.longrunning.Operation]. Each operation's name will be
+   * prefixed by the instance config's name. The operation's
+   * [metadata][google.longrunning.Operation.metadata] field type
+   * `metadata.type_url` describes the type of the metadata.
+   * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + java.util.List getOperationsList(); + /** + * + * + *
+   * The list of matching instance config [long-running
+   * operations][google.longrunning.Operation]. Each operation's name will be
+   * prefixed by the instance config's name. The operation's
+   * [metadata][google.longrunning.Operation.metadata] field type
+   * `metadata.type_url` describes the type of the metadata.
+   * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + com.google.longrunning.Operation getOperations(int index); + /** + * + * + *
+   * The list of matching instance config [long-running
+   * operations][google.longrunning.Operation]. Each operation's name will be
+   * prefixed by the instance config's name. The operation's
+   * [metadata][google.longrunning.Operation.metadata] field type
+   * `metadata.type_url` describes the type of the metadata.
+   * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + int getOperationsCount(); + /** + * + * + *
+   * The list of matching instance config [long-running
+   * operations][google.longrunning.Operation]. Each operation's name will be
+   * prefixed by the instance config's name. The operation's
+   * [metadata][google.longrunning.Operation.metadata] field type
+   * `metadata.type_url` describes the type of the metadata.
+   * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + java.util.List getOperationsOrBuilderList(); + /** + * + * + *
+   * The list of matching instance config [long-running
+   * operations][google.longrunning.Operation]. Each operation's name will be
+   * prefixed by the instance config's name. The operation's
+   * [metadata][google.longrunning.Operation.metadata] field type
+   * `metadata.type_url` describes the type of the metadata.
+   * 
+ * + * repeated .google.longrunning.Operation operations = 1; + */ + com.google.longrunning.OperationOrBuilder getOperationsOrBuilder(int index); + + /** + * + * + *
+   * `next_page_token` can be sent in a subsequent
+   * [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations]
+   * call to fetch more of the matching metadata.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + /** + * + * + *
+   * `next_page_token` can be sent in a subsequent
+   * [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations]
+   * call to fetch more of the matching metadata.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); +} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsRequest.java index 74baac36e5c..a79778a61d1 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsRequest.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsRequest.java @@ -22,7 +22,8 @@ * * *
- * The request for [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs].
+ * The request for
+ * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs].
  * 
* * Protobuf type {@code google.spanner.admin.instance.v1.ListInstanceConfigsRequest} @@ -210,7 +211,8 @@ public int getPageSize() { *
    * If non-empty, `page_token` should contain a
    * [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigsResponse.next_page_token]
-   * from a previous [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
+   * from a previous
+   * [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
    * 
* * string page_token = 3; @@ -235,7 +237,8 @@ public java.lang.String getPageToken() { *
    * If non-empty, `page_token` should contain a
    * [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigsResponse.next_page_token]
-   * from a previous [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
+   * from a previous
+   * [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
    * 
* * string page_token = 3; @@ -437,7 +440,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build * * *
-   * The request for [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs].
+   * The request for
+   * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs].
    * 
* * Protobuf type {@code google.spanner.admin.instance.v1.ListInstanceConfigsRequest} @@ -797,7 +801,8 @@ public Builder clearPageSize() { *
      * If non-empty, `page_token` should contain a
      * [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigsResponse.next_page_token]
-     * from a previous [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
+     * from a previous
+     * [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
      * 
* * string page_token = 3; @@ -821,7 +826,8 @@ public java.lang.String getPageToken() { *
      * If non-empty, `page_token` should contain a
      * [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigsResponse.next_page_token]
-     * from a previous [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
+     * from a previous
+     * [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
      * 
* * string page_token = 3; @@ -845,7 +851,8 @@ public com.google.protobuf.ByteString getPageTokenBytes() { *
      * If non-empty, `page_token` should contain a
      * [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigsResponse.next_page_token]
-     * from a previous [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
+     * from a previous
+     * [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
      * 
* * string page_token = 3; @@ -868,7 +875,8 @@ public Builder setPageToken(java.lang.String value) { *
      * If non-empty, `page_token` should contain a
      * [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigsResponse.next_page_token]
-     * from a previous [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
+     * from a previous
+     * [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
      * 
* * string page_token = 3; @@ -887,7 +895,8 @@ public Builder clearPageToken() { *
      * If non-empty, `page_token` should contain a
      * [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigsResponse.next_page_token]
-     * from a previous [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
+     * from a previous
+     * [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
      * 
* * string page_token = 3; diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsRequestOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsRequestOrBuilder.java index ec9911728d1..1cdb7effce4 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsRequestOrBuilder.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsRequestOrBuilder.java @@ -76,7 +76,8 @@ public interface ListInstanceConfigsRequestOrBuilder *
    * If non-empty, `page_token` should contain a
    * [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigsResponse.next_page_token]
-   * from a previous [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
+   * from a previous
+   * [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
    * 
* * string page_token = 3; @@ -90,7 +91,8 @@ public interface ListInstanceConfigsRequestOrBuilder *
    * If non-empty, `page_token` should contain a
    * [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigsResponse.next_page_token]
-   * from a previous [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
+   * from a previous
+   * [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse].
    * 
* * string page_token = 3; diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsResponse.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsResponse.java index 69d6dd0ebd2..97cf25f3868 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsResponse.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsResponse.java @@ -22,7 +22,8 @@ * * *
- * The response for [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs].
+ * The response for
+ * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs].
  * 
* * Protobuf type {@code google.spanner.admin.instance.v1.ListInstanceConfigsResponse} @@ -209,8 +210,8 @@ public com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder getInstanceC * *
    * `next_page_token` can be sent in a subsequent
-   * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs] call to
-   * fetch more of the matching instance configurations.
+   * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs]
+   * call to fetch more of the matching instance configurations.
    * 
* * string next_page_token = 2; @@ -234,8 +235,8 @@ public java.lang.String getNextPageToken() { * *
    * `next_page_token` can be sent in a subsequent
-   * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs] call to
-   * fetch more of the matching instance configurations.
+   * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs]
+   * call to fetch more of the matching instance configurations.
    * 
* * string next_page_token = 2; @@ -430,7 +431,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build * * *
-   * The response for [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs].
+   * The response for
+   * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs].
    * 
* * Protobuf type {@code google.spanner.admin.instance.v1.ListInstanceConfigsResponse} @@ -1004,8 +1006,8 @@ public com.google.spanner.admin.instance.v1.InstanceConfig.Builder addInstanceCo * *
      * `next_page_token` can be sent in a subsequent
-     * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs] call to
-     * fetch more of the matching instance configurations.
+     * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs]
+     * call to fetch more of the matching instance configurations.
      * 
* * string next_page_token = 2; @@ -1028,8 +1030,8 @@ public java.lang.String getNextPageToken() { * *
      * `next_page_token` can be sent in a subsequent
-     * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs] call to
-     * fetch more of the matching instance configurations.
+     * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs]
+     * call to fetch more of the matching instance configurations.
      * 
* * string next_page_token = 2; @@ -1052,8 +1054,8 @@ public com.google.protobuf.ByteString getNextPageTokenBytes() { * *
      * `next_page_token` can be sent in a subsequent
-     * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs] call to
-     * fetch more of the matching instance configurations.
+     * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs]
+     * call to fetch more of the matching instance configurations.
      * 
* * string next_page_token = 2; @@ -1075,8 +1077,8 @@ public Builder setNextPageToken(java.lang.String value) { * *
      * `next_page_token` can be sent in a subsequent
-     * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs] call to
-     * fetch more of the matching instance configurations.
+     * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs]
+     * call to fetch more of the matching instance configurations.
      * 
* * string next_page_token = 2; @@ -1094,8 +1096,8 @@ public Builder clearNextPageToken() { * *
      * `next_page_token` can be sent in a subsequent
-     * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs] call to
-     * fetch more of the matching instance configurations.
+     * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs]
+     * call to fetch more of the matching instance configurations.
      * 
* * string next_page_token = 2; diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsResponseOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsResponseOrBuilder.java index 188be6e27c3..10593e8253d 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsResponseOrBuilder.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsResponseOrBuilder.java @@ -81,8 +81,8 @@ com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder getInstanceConfigsO * *
    * `next_page_token` can be sent in a subsequent
-   * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs] call to
-   * fetch more of the matching instance configurations.
+   * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs]
+   * call to fetch more of the matching instance configurations.
    * 
* * string next_page_token = 2; @@ -95,8 +95,8 @@ com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder getInstanceConfigsO * *
    * `next_page_token` can be sent in a subsequent
-   * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs] call to
-   * fetch more of the matching instance configurations.
+   * [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs]
+   * call to fetch more of the matching instance configurations.
    * 
* * string next_page_token = 2; diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesRequest.java index ddcaa8ee26c..52ce3a01cba 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesRequest.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesRequest.java @@ -22,7 +22,8 @@ * * *
- * The request for [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances].
+ * The request for
+ * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances].
  * 
* * Protobuf type {@code google.spanner.admin.instance.v1.ListInstancesRequest} @@ -215,8 +216,9 @@ public int getPageSize() { * *
    * If non-empty, `page_token` should contain a
-   * [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token] from a
-   * previous [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
+   * [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token]
+   * from a previous
+   * [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
    * 
* * string page_token = 3; @@ -240,8 +242,9 @@ public java.lang.String getPageToken() { * *
    * If non-empty, `page_token` should contain a
-   * [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token] from a
-   * previous [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
+   * [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token]
+   * from a previous
+   * [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
    * 
* * string page_token = 3; @@ -531,7 +534,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build * * *
-   * The request for [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances].
+   * The request for
+   * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances].
    * 
* * Protobuf type {@code google.spanner.admin.instance.v1.ListInstancesRequest} @@ -888,8 +892,9 @@ public Builder clearPageSize() { * *
      * If non-empty, `page_token` should contain a
-     * [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token] from a
-     * previous [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
+     * [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token]
+     * from a previous
+     * [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
      * 
* * string page_token = 3; @@ -912,8 +917,9 @@ public java.lang.String getPageToken() { * *
      * If non-empty, `page_token` should contain a
-     * [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token] from a
-     * previous [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
+     * [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token]
+     * from a previous
+     * [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
      * 
* * string page_token = 3; @@ -936,8 +942,9 @@ public com.google.protobuf.ByteString getPageTokenBytes() { * *
      * If non-empty, `page_token` should contain a
-     * [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token] from a
-     * previous [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
+     * [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token]
+     * from a previous
+     * [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
      * 
* * string page_token = 3; @@ -959,8 +966,9 @@ public Builder setPageToken(java.lang.String value) { * *
      * If non-empty, `page_token` should contain a
-     * [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token] from a
-     * previous [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
+     * [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token]
+     * from a previous
+     * [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
      * 
* * string page_token = 3; @@ -978,8 +986,9 @@ public Builder clearPageToken() { * *
      * If non-empty, `page_token` should contain a
-     * [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token] from a
-     * previous [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
+     * [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token]
+     * from a previous
+     * [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
      * 
* * string page_token = 3; diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesRequestOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesRequestOrBuilder.java index 782cf1a213f..fe48b843731 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesRequestOrBuilder.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesRequestOrBuilder.java @@ -73,8 +73,9 @@ public interface ListInstancesRequestOrBuilder * *
    * If non-empty, `page_token` should contain a
-   * [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token] from a
-   * previous [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
+   * [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token]
+   * from a previous
+   * [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
    * 
* * string page_token = 3; @@ -87,8 +88,9 @@ public interface ListInstancesRequestOrBuilder * *
    * If non-empty, `page_token` should contain a
-   * [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token] from a
-   * previous [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
+   * [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token]
+   * from a previous
+   * [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse].
    * 
* * string page_token = 3; diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesResponse.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesResponse.java index e85c06d399c..c251823753c 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesResponse.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesResponse.java @@ -22,7 +22,8 @@ * * *
- * The response for [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances].
+ * The response for
+ * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances].
  * 
* * Protobuf type {@code google.spanner.admin.instance.v1.ListInstancesResponse} @@ -206,8 +207,8 @@ public com.google.spanner.admin.instance.v1.InstanceOrBuilder getInstancesOrBuil * *
    * `next_page_token` can be sent in a subsequent
-   * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances] call to fetch more
-   * of the matching instances.
+   * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances]
+   * call to fetch more of the matching instances.
    * 
* * string next_page_token = 2; @@ -231,8 +232,8 @@ public java.lang.String getNextPageToken() { * *
    * `next_page_token` can be sent in a subsequent
-   * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances] call to fetch more
-   * of the matching instances.
+   * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances]
+   * call to fetch more of the matching instances.
    * 
* * string next_page_token = 2; @@ -427,7 +428,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build * * *
-   * The response for [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances].
+   * The response for
+   * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances].
    * 
* * Protobuf type {@code google.spanner.admin.instance.v1.ListInstancesResponse} @@ -986,8 +988,8 @@ public com.google.spanner.admin.instance.v1.Instance.Builder addInstancesBuilder * *
      * `next_page_token` can be sent in a subsequent
-     * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances] call to fetch more
-     * of the matching instances.
+     * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances]
+     * call to fetch more of the matching instances.
      * 
* * string next_page_token = 2; @@ -1010,8 +1012,8 @@ public java.lang.String getNextPageToken() { * *
      * `next_page_token` can be sent in a subsequent
-     * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances] call to fetch more
-     * of the matching instances.
+     * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances]
+     * call to fetch more of the matching instances.
      * 
* * string next_page_token = 2; @@ -1034,8 +1036,8 @@ public com.google.protobuf.ByteString getNextPageTokenBytes() { * *
      * `next_page_token` can be sent in a subsequent
-     * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances] call to fetch more
-     * of the matching instances.
+     * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances]
+     * call to fetch more of the matching instances.
      * 
* * string next_page_token = 2; @@ -1057,8 +1059,8 @@ public Builder setNextPageToken(java.lang.String value) { * *
      * `next_page_token` can be sent in a subsequent
-     * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances] call to fetch more
-     * of the matching instances.
+     * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances]
+     * call to fetch more of the matching instances.
      * 
* * string next_page_token = 2; @@ -1076,8 +1078,8 @@ public Builder clearNextPageToken() { * *
      * `next_page_token` can be sent in a subsequent
-     * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances] call to fetch more
-     * of the matching instances.
+     * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances]
+     * call to fetch more of the matching instances.
      * 
* * string next_page_token = 2; diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesResponseOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesResponseOrBuilder.java index 866b7b5b49c..542ef8910a7 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesResponseOrBuilder.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesResponseOrBuilder.java @@ -80,8 +80,8 @@ public interface ListInstancesResponseOrBuilder * *
    * `next_page_token` can be sent in a subsequent
-   * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances] call to fetch more
-   * of the matching instances.
+   * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances]
+   * call to fetch more of the matching instances.
    * 
* * string next_page_token = 2; @@ -94,8 +94,8 @@ public interface ListInstancesResponseOrBuilder * *
    * `next_page_token` can be sent in a subsequent
-   * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances] call to fetch more
-   * of the matching instances.
+   * [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances]
+   * call to fetch more of the matching instances.
    * 
* * string next_page_token = 2; diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/OperationProgress.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/OperationProgress.java new file mode 100644 index 00000000000..3c2effaee7e --- /dev/null +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/OperationProgress.java @@ -0,0 +1,1103 @@ +/* + * Copyright 2020 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 + * + * https://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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/spanner/admin/instance/v1/common.proto + +package com.google.spanner.admin.instance.v1; + +/** + * + * + *
+ * Encapsulates progress related information for a Cloud Spanner long
+ * running instance operations.
+ * 
+ * + * Protobuf type {@code google.spanner.admin.instance.v1.OperationProgress} + */ +public final class OperationProgress extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.spanner.admin.instance.v1.OperationProgress) + OperationProgressOrBuilder { + private static final long serialVersionUID = 0L; + // Use OperationProgress.newBuilder() to construct. + private OperationProgress(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private OperationProgress() {} + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new OperationProgress(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private OperationProgress( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: + { + progressPercent_ = input.readInt32(); + break; + } + case 18: + { + com.google.protobuf.Timestamp.Builder subBuilder = null; + if (startTime_ != null) { + subBuilder = startTime_.toBuilder(); + } + startTime_ = + input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(startTime_); + startTime_ = subBuilder.buildPartial(); + } + + break; + } + case 26: + { + com.google.protobuf.Timestamp.Builder subBuilder = null; + if (endTime_ != null) { + subBuilder = endTime_.toBuilder(); + } + endTime_ = + input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(endTime_); + endTime_ = subBuilder.buildPartial(); + } + + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.spanner.admin.instance.v1.CommonProto + .internal_static_google_spanner_admin_instance_v1_OperationProgress_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.spanner.admin.instance.v1.CommonProto + .internal_static_google_spanner_admin_instance_v1_OperationProgress_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.spanner.admin.instance.v1.OperationProgress.class, + com.google.spanner.admin.instance.v1.OperationProgress.Builder.class); + } + + public static final int PROGRESS_PERCENT_FIELD_NUMBER = 1; + private int progressPercent_; + /** + * + * + *
+   * Percent completion of the operation.
+   * Values are between 0 and 100 inclusive.
+   * 
+ * + * int32 progress_percent = 1; + * + * @return The progressPercent. + */ + @java.lang.Override + public int getProgressPercent() { + return progressPercent_; + } + + public static final int START_TIME_FIELD_NUMBER = 2; + private com.google.protobuf.Timestamp startTime_; + /** + * + * + *
+   * Time the request was received.
+   * 
+ * + * .google.protobuf.Timestamp start_time = 2; + * + * @return Whether the startTime field is set. + */ + @java.lang.Override + public boolean hasStartTime() { + return startTime_ != null; + } + /** + * + * + *
+   * Time the request was received.
+   * 
+ * + * .google.protobuf.Timestamp start_time = 2; + * + * @return The startTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getStartTime() { + return startTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : startTime_; + } + /** + * + * + *
+   * Time the request was received.
+   * 
+ * + * .google.protobuf.Timestamp start_time = 2; + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getStartTimeOrBuilder() { + return getStartTime(); + } + + public static final int END_TIME_FIELD_NUMBER = 3; + private com.google.protobuf.Timestamp endTime_; + /** + * + * + *
+   * If set, the time at which this operation failed or was completed
+   * successfully.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 3; + * + * @return Whether the endTime field is set. + */ + @java.lang.Override + public boolean hasEndTime() { + return endTime_ != null; + } + /** + * + * + *
+   * If set, the time at which this operation failed or was completed
+   * successfully.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 3; + * + * @return The endTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getEndTime() { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } + /** + * + * + *
+   * If set, the time at which this operation failed or was completed
+   * successfully.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 3; + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder() { + return getEndTime(); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (progressPercent_ != 0) { + output.writeInt32(1, progressPercent_); + } + if (startTime_ != null) { + output.writeMessage(2, getStartTime()); + } + if (endTime_ != null) { + output.writeMessage(3, getEndTime()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (progressPercent_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(1, progressPercent_); + } + if (startTime_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getStartTime()); + } + if (endTime_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getEndTime()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.spanner.admin.instance.v1.OperationProgress)) { + return super.equals(obj); + } + com.google.spanner.admin.instance.v1.OperationProgress other = + (com.google.spanner.admin.instance.v1.OperationProgress) obj; + + if (getProgressPercent() != other.getProgressPercent()) return false; + if (hasStartTime() != other.hasStartTime()) return false; + if (hasStartTime()) { + if (!getStartTime().equals(other.getStartTime())) return false; + } + if (hasEndTime() != other.hasEndTime()) return false; + if (hasEndTime()) { + if (!getEndTime().equals(other.getEndTime())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + PROGRESS_PERCENT_FIELD_NUMBER; + hash = (53 * hash) + getProgressPercent(); + if (hasStartTime()) { + hash = (37 * hash) + START_TIME_FIELD_NUMBER; + hash = (53 * hash) + getStartTime().hashCode(); + } + if (hasEndTime()) { + hash = (37 * hash) + END_TIME_FIELD_NUMBER; + hash = (53 * hash) + getEndTime().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.spanner.admin.instance.v1.OperationProgress parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.OperationProgress parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.OperationProgress parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.OperationProgress parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.OperationProgress parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.OperationProgress parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.OperationProgress parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.OperationProgress parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.OperationProgress parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.OperationProgress parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.OperationProgress parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.OperationProgress parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.spanner.admin.instance.v1.OperationProgress prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
+   * Encapsulates progress related information for a Cloud Spanner long
+   * running instance operations.
+   * 
+ * + * Protobuf type {@code google.spanner.admin.instance.v1.OperationProgress} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.spanner.admin.instance.v1.OperationProgress) + com.google.spanner.admin.instance.v1.OperationProgressOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.spanner.admin.instance.v1.CommonProto + .internal_static_google_spanner_admin_instance_v1_OperationProgress_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.spanner.admin.instance.v1.CommonProto + .internal_static_google_spanner_admin_instance_v1_OperationProgress_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.spanner.admin.instance.v1.OperationProgress.class, + com.google.spanner.admin.instance.v1.OperationProgress.Builder.class); + } + + // Construct using com.google.spanner.admin.instance.v1.OperationProgress.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + progressPercent_ = 0; + + if (startTimeBuilder_ == null) { + startTime_ = null; + } else { + startTime_ = null; + startTimeBuilder_ = null; + } + if (endTimeBuilder_ == null) { + endTime_ = null; + } else { + endTime_ = null; + endTimeBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.spanner.admin.instance.v1.CommonProto + .internal_static_google_spanner_admin_instance_v1_OperationProgress_descriptor; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.OperationProgress getDefaultInstanceForType() { + return com.google.spanner.admin.instance.v1.OperationProgress.getDefaultInstance(); + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.OperationProgress build() { + com.google.spanner.admin.instance.v1.OperationProgress result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.OperationProgress buildPartial() { + com.google.spanner.admin.instance.v1.OperationProgress result = + new com.google.spanner.admin.instance.v1.OperationProgress(this); + result.progressPercent_ = progressPercent_; + if (startTimeBuilder_ == null) { + result.startTime_ = startTime_; + } else { + result.startTime_ = startTimeBuilder_.build(); + } + if (endTimeBuilder_ == null) { + result.endTime_ = endTime_; + } else { + result.endTime_ = endTimeBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.spanner.admin.instance.v1.OperationProgress) { + return mergeFrom((com.google.spanner.admin.instance.v1.OperationProgress) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.spanner.admin.instance.v1.OperationProgress other) { + if (other == com.google.spanner.admin.instance.v1.OperationProgress.getDefaultInstance()) + return this; + if (other.getProgressPercent() != 0) { + setProgressPercent(other.getProgressPercent()); + } + if (other.hasStartTime()) { + mergeStartTime(other.getStartTime()); + } + if (other.hasEndTime()) { + mergeEndTime(other.getEndTime()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + com.google.spanner.admin.instance.v1.OperationProgress parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.spanner.admin.instance.v1.OperationProgress) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int progressPercent_; + /** + * + * + *
+     * Percent completion of the operation.
+     * Values are between 0 and 100 inclusive.
+     * 
+ * + * int32 progress_percent = 1; + * + * @return The progressPercent. + */ + @java.lang.Override + public int getProgressPercent() { + return progressPercent_; + } + /** + * + * + *
+     * Percent completion of the operation.
+     * Values are between 0 and 100 inclusive.
+     * 
+ * + * int32 progress_percent = 1; + * + * @param value The progressPercent to set. + * @return This builder for chaining. + */ + public Builder setProgressPercent(int value) { + + progressPercent_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Percent completion of the operation.
+     * Values are between 0 and 100 inclusive.
+     * 
+ * + * int32 progress_percent = 1; + * + * @return This builder for chaining. + */ + public Builder clearProgressPercent() { + + progressPercent_ = 0; + onChanged(); + return this; + } + + private com.google.protobuf.Timestamp startTime_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + startTimeBuilder_; + /** + * + * + *
+     * Time the request was received.
+     * 
+ * + * .google.protobuf.Timestamp start_time = 2; + * + * @return Whether the startTime field is set. + */ + public boolean hasStartTime() { + return startTimeBuilder_ != null || startTime_ != null; + } + /** + * + * + *
+     * Time the request was received.
+     * 
+ * + * .google.protobuf.Timestamp start_time = 2; + * + * @return The startTime. + */ + public com.google.protobuf.Timestamp getStartTime() { + if (startTimeBuilder_ == null) { + return startTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : startTime_; + } else { + return startTimeBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Time the request was received.
+     * 
+ * + * .google.protobuf.Timestamp start_time = 2; + */ + public Builder setStartTime(com.google.protobuf.Timestamp value) { + if (startTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + startTime_ = value; + onChanged(); + } else { + startTimeBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * Time the request was received.
+     * 
+ * + * .google.protobuf.Timestamp start_time = 2; + */ + public Builder setStartTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (startTimeBuilder_ == null) { + startTime_ = builderForValue.build(); + onChanged(); + } else { + startTimeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * Time the request was received.
+     * 
+ * + * .google.protobuf.Timestamp start_time = 2; + */ + public Builder mergeStartTime(com.google.protobuf.Timestamp value) { + if (startTimeBuilder_ == null) { + if (startTime_ != null) { + startTime_ = + com.google.protobuf.Timestamp.newBuilder(startTime_).mergeFrom(value).buildPartial(); + } else { + startTime_ = value; + } + onChanged(); + } else { + startTimeBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * Time the request was received.
+     * 
+ * + * .google.protobuf.Timestamp start_time = 2; + */ + public Builder clearStartTime() { + if (startTimeBuilder_ == null) { + startTime_ = null; + onChanged(); + } else { + startTime_ = null; + startTimeBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * Time the request was received.
+     * 
+ * + * .google.protobuf.Timestamp start_time = 2; + */ + public com.google.protobuf.Timestamp.Builder getStartTimeBuilder() { + + onChanged(); + return getStartTimeFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Time the request was received.
+     * 
+ * + * .google.protobuf.Timestamp start_time = 2; + */ + public com.google.protobuf.TimestampOrBuilder getStartTimeOrBuilder() { + if (startTimeBuilder_ != null) { + return startTimeBuilder_.getMessageOrBuilder(); + } else { + return startTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : startTime_; + } + } + /** + * + * + *
+     * Time the request was received.
+     * 
+ * + * .google.protobuf.Timestamp start_time = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + getStartTimeFieldBuilder() { + if (startTimeBuilder_ == null) { + startTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getStartTime(), getParentForChildren(), isClean()); + startTime_ = null; + } + return startTimeBuilder_; + } + + private com.google.protobuf.Timestamp endTime_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + endTimeBuilder_; + /** + * + * + *
+     * If set, the time at which this operation failed or was completed
+     * successfully.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 3; + * + * @return Whether the endTime field is set. + */ + public boolean hasEndTime() { + return endTimeBuilder_ != null || endTime_ != null; + } + /** + * + * + *
+     * If set, the time at which this operation failed or was completed
+     * successfully.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 3; + * + * @return The endTime. + */ + public com.google.protobuf.Timestamp getEndTime() { + if (endTimeBuilder_ == null) { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } else { + return endTimeBuilder_.getMessage(); + } + } + /** + * + * + *
+     * If set, the time at which this operation failed or was completed
+     * successfully.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 3; + */ + public Builder setEndTime(com.google.protobuf.Timestamp value) { + if (endTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + endTime_ = value; + onChanged(); + } else { + endTimeBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * If set, the time at which this operation failed or was completed
+     * successfully.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 3; + */ + public Builder setEndTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (endTimeBuilder_ == null) { + endTime_ = builderForValue.build(); + onChanged(); + } else { + endTimeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * If set, the time at which this operation failed or was completed
+     * successfully.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 3; + */ + public Builder mergeEndTime(com.google.protobuf.Timestamp value) { + if (endTimeBuilder_ == null) { + if (endTime_ != null) { + endTime_ = + com.google.protobuf.Timestamp.newBuilder(endTime_).mergeFrom(value).buildPartial(); + } else { + endTime_ = value; + } + onChanged(); + } else { + endTimeBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * If set, the time at which this operation failed or was completed
+     * successfully.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 3; + */ + public Builder clearEndTime() { + if (endTimeBuilder_ == null) { + endTime_ = null; + onChanged(); + } else { + endTime_ = null; + endTimeBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * If set, the time at which this operation failed or was completed
+     * successfully.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 3; + */ + public com.google.protobuf.Timestamp.Builder getEndTimeBuilder() { + + onChanged(); + return getEndTimeFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * If set, the time at which this operation failed or was completed
+     * successfully.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 3; + */ + public com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder() { + if (endTimeBuilder_ != null) { + return endTimeBuilder_.getMessageOrBuilder(); + } else { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } + } + /** + * + * + *
+     * If set, the time at which this operation failed or was completed
+     * successfully.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + getEndTimeFieldBuilder() { + if (endTimeBuilder_ == null) { + endTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getEndTime(), getParentForChildren(), isClean()); + endTime_ = null; + } + return endTimeBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.spanner.admin.instance.v1.OperationProgress) + } + + // @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.OperationProgress) + private static final com.google.spanner.admin.instance.v1.OperationProgress DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.spanner.admin.instance.v1.OperationProgress(); + } + + public static com.google.spanner.admin.instance.v1.OperationProgress getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public OperationProgress parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new OperationProgress(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.OperationProgress getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/OperationProgressOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/OperationProgressOrBuilder.java new file mode 100644 index 00000000000..8bf5eedddde --- /dev/null +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/OperationProgressOrBuilder.java @@ -0,0 +1,112 @@ +/* + * Copyright 2020 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 + * + * https://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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/spanner/admin/instance/v1/common.proto + +package com.google.spanner.admin.instance.v1; + +public interface OperationProgressOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.spanner.admin.instance.v1.OperationProgress) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Percent completion of the operation.
+   * Values are between 0 and 100 inclusive.
+   * 
+ * + * int32 progress_percent = 1; + * + * @return The progressPercent. + */ + int getProgressPercent(); + + /** + * + * + *
+   * Time the request was received.
+   * 
+ * + * .google.protobuf.Timestamp start_time = 2; + * + * @return Whether the startTime field is set. + */ + boolean hasStartTime(); + /** + * + * + *
+   * Time the request was received.
+   * 
+ * + * .google.protobuf.Timestamp start_time = 2; + * + * @return The startTime. + */ + com.google.protobuf.Timestamp getStartTime(); + /** + * + * + *
+   * Time the request was received.
+   * 
+ * + * .google.protobuf.Timestamp start_time = 2; + */ + com.google.protobuf.TimestampOrBuilder getStartTimeOrBuilder(); + + /** + * + * + *
+   * If set, the time at which this operation failed or was completed
+   * successfully.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 3; + * + * @return Whether the endTime field is set. + */ + boolean hasEndTime(); + /** + * + * + *
+   * If set, the time at which this operation failed or was completed
+   * successfully.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 3; + * + * @return The endTime. + */ + com.google.protobuf.Timestamp getEndTime(); + /** + * + * + *
+   * If set, the time at which this operation failed or was completed
+   * successfully.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 3; + */ + com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder(); +} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/SpannerInstanceAdminProto.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/SpannerInstanceAdminProto.java index 74cd826b031..9a698cf6736 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/SpannerInstanceAdminProto.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/SpannerInstanceAdminProto.java @@ -35,6 +35,10 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r internal_static_google_spanner_admin_instance_v1_InstanceConfig_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_google_spanner_admin_instance_v1_InstanceConfig_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_spanner_admin_instance_v1_InstanceConfig_LabelsEntry_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_spanner_admin_instance_v1_InstanceConfig_LabelsEntry_fieldAccessorTable; static final com.google.protobuf.Descriptors.Descriptor internal_static_google_spanner_admin_instance_v1_Instance_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable @@ -55,6 +59,26 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r internal_static_google_spanner_admin_instance_v1_GetInstanceConfigRequest_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_google_spanner_admin_instance_v1_GetInstanceConfigRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigRequest_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigRequest_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_spanner_admin_instance_v1_DeleteInstanceConfigRequest_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_spanner_admin_instance_v1_DeleteInstanceConfigRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsRequest_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsResponse_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsResponse_fieldAccessorTable; static final com.google.protobuf.Descriptors.Descriptor internal_static_google_spanner_admin_instance_v1_GetInstanceRequest_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable @@ -87,6 +111,14 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r internal_static_google_spanner_admin_instance_v1_UpdateInstanceMetadata_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_google_spanner_admin_instance_v1_UpdateInstanceMetadata_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigMetadata_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigMetadata_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigMetadata_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigMetadata_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { return descriptor; @@ -106,134 +138,209 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "/longrunning/operations.proto\032\033google/pr" + "otobuf/empty.proto\032 google/protobuf/fiel" + "d_mask.proto\032\037google/protobuf/timestamp." - + "proto\"\332\001\n\013ReplicaInfo\022\020\n\010location\030\001 \001(\t\022" - + "G\n\004type\030\002 \001(\01629.google.spanner.admin.ins" - + "tance.v1.ReplicaInfo.ReplicaType\022\037\n\027defa" - + "ult_leader_location\030\003 \001(\010\"O\n\013ReplicaType" - + "\022\024\n\020TYPE_UNSPECIFIED\020\000\022\016\n\nREAD_WRITE\020\001\022\r" - + "\n\tREAD_ONLY\020\002\022\013\n\007WITNESS\020\003\"\357\001\n\016InstanceC" - + "onfig\022\014\n\004name\030\001 \001(\t\022\024\n\014display_name\030\002 \001(" - + "\t\022?\n\010replicas\030\003 \003(\0132-.google.spanner.adm" - + "in.instance.v1.ReplicaInfo\022\026\n\016leader_opt" - + "ions\030\004 \003(\t:`\352A]\n%spanner.googleapis.com/" - + "InstanceConfig\0224projects/{project}/insta" - + "nceConfigs/{instance_config}\"\355\004\n\010Instanc" - + "e\022\021\n\004name\030\001 \001(\tB\003\340A\002\022=\n\006config\030\002 \001(\tB-\340A" - + "\002\372A\'\n%spanner.googleapis.com/InstanceCon" - + "fig\022\031\n\014display_name\030\003 \001(\tB\003\340A\002\022\022\n\nnode_c" - + "ount\030\005 \001(\005\022\030\n\020processing_units\030\t \001(\005\022D\n\005" - + "state\030\006 \001(\01620.google.spanner.admin.insta" - + "nce.v1.Instance.StateB\003\340A\003\022F\n\006labels\030\007 \003" - + "(\01326.google.spanner.admin.instance.v1.In" - + "stance.LabelsEntry\022\025\n\rendpoint_uris\030\010 \003(" - + "\t\0224\n\013create_time\030\013 \001(\0132\032.google.protobuf" - + ".TimestampB\003\340A\003\0224\n\013update_time\030\014 \001(\0132\032.g" - + "oogle.protobuf.TimestampB\003\340A\003\032-\n\013LabelsE" - + "ntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"7\n\005" - + "State\022\025\n\021STATE_UNSPECIFIED\020\000\022\014\n\010CREATING" - + "\020\001\022\t\n\005READY\020\002:M\352AJ\n\037spanner.googleapis.c" - + "om/Instance\022\'projects/{project}/instance" - + "s/{instance}\"\210\001\n\032ListInstanceConfigsRequ" + + "proto\032-google/spanner/admin/instance/v1/" + + "common.proto\"\332\001\n\013ReplicaInfo\022\020\n\010location" + + "\030\001 \001(\t\022G\n\004type\030\002 \001(\01629.google.spanner.ad" + + "min.instance.v1.ReplicaInfo.ReplicaType\022" + + "\037\n\027default_leader_location\030\003 \001(\010\"O\n\013Repl" + + "icaType\022\024\n\020TYPE_UNSPECIFIED\020\000\022\016\n\nREAD_WR" + + "ITE\020\001\022\r\n\tREAD_ONLY\020\002\022\013\n\007WITNESS\020\003\"\276\006\n\016In" + + "stanceConfig\022\014\n\004name\030\001 \001(\t\022\024\n\014display_na" + + "me\030\002 \001(\t\022O\n\013config_type\030\005 \001(\01625.google.s" + + "panner.admin.instance.v1.InstanceConfig." + + "TypeB\003\340A\003\022?\n\010replicas\030\003 \003(\0132-.google.spa" + + "nner.admin.instance.v1.ReplicaInfo\022M\n\021op" + + "tional_replicas\030\006 \003(\0132-.google.spanner.a" + + "dmin.instance.v1.ReplicaInfoB\003\340A\003\022?\n\013bas" + + "e_config\030\007 \001(\tB*\372A\'\n%spanner.googleapis." + + "com/InstanceConfig\022L\n\006labels\030\010 \003(\0132<.goo" + + "gle.spanner.admin.instance.v1.InstanceCo" + + "nfig.LabelsEntry\022\014\n\004etag\030\t \001(\t\022\026\n\016leader" + + "_options\030\004 \003(\t\022\030\n\013reconciling\030\n \001(\010B\003\340A\003" + + "\022J\n\005state\030\013 \001(\01626.google.spanner.admin.i" + + "nstance.v1.InstanceConfig.StateB\003\340A\003\032-\n\013" + + "LabelsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:" + + "\0028\001\"B\n\004Type\022\024\n\020TYPE_UNSPECIFIED\020\000\022\022\n\016GOO" + + "GLE_MANAGED\020\001\022\020\n\014USER_MANAGED\020\002\"7\n\005State" + + "\022\025\n\021STATE_UNSPECIFIED\020\000\022\014\n\010CREATING\020\001\022\t\n" + + "\005READY\020\002:`\352A]\n%spanner.googleapis.com/In" + + "stanceConfig\0224projects/{project}/instanc" + + "eConfigs/{instance_config}\"\355\004\n\010Instance\022" + + "\021\n\004name\030\001 \001(\tB\003\340A\002\022=\n\006config\030\002 \001(\tB-\340A\002\372" + + "A\'\n%spanner.googleapis.com/InstanceConfi" + + "g\022\031\n\014display_name\030\003 \001(\tB\003\340A\002\022\022\n\nnode_cou" + + "nt\030\005 \001(\005\022\030\n\020processing_units\030\t \001(\005\022D\n\005st" + + "ate\030\006 \001(\01620.google.spanner.admin.instanc" + + "e.v1.Instance.StateB\003\340A\003\022F\n\006labels\030\007 \003(\013" + + "26.google.spanner.admin.instance.v1.Inst" + + "ance.LabelsEntry\022\025\n\rendpoint_uris\030\010 \003(\t\022" + + "4\n\013create_time\030\013 \001(\0132\032.google.protobuf.T" + + "imestampB\003\340A\003\0224\n\013update_time\030\014 \001(\0132\032.goo" + + "gle.protobuf.TimestampB\003\340A\003\032-\n\013LabelsEnt" + + "ry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"7\n\005St" + + "ate\022\025\n\021STATE_UNSPECIFIED\020\000\022\014\n\010CREATING\020\001" + + "\022\t\n\005READY\020\002:M\352AJ\n\037spanner.googleapis.com" + + "/Instance\022\'projects/{project}/instances/" + + "{instance}\"\210\001\n\032ListInstanceConfigsReques" + + "t\022C\n\006parent\030\001 \001(\tB3\340A\002\372A-\n+cloudresource" + + "manager.googleapis.com/Project\022\021\n\tpage_s" + + "ize\030\002 \001(\005\022\022\n\npage_token\030\003 \001(\t\"\202\001\n\033ListIn" + + "stanceConfigsResponse\022J\n\020instance_config" + + "s\030\001 \003(\01320.google.spanner.admin.instance." + + "v1.InstanceConfig\022\027\n\017next_page_token\030\002 \001" + + "(\t\"W\n\030GetInstanceConfigRequest\022;\n\004name\030\001" + + " \001(\tB-\340A\002\372A\'\n%spanner.googleapis.com/Ins" + + "tanceConfig\"\352\001\n\033CreateInstanceConfigRequ" + "est\022C\n\006parent\030\001 \001(\tB3\340A\002\372A-\n+cloudresour" - + "cemanager.googleapis.com/Project\022\021\n\tpage" - + "_size\030\002 \001(\005\022\022\n\npage_token\030\003 \001(\t\"\202\001\n\033List" - + "InstanceConfigsResponse\022J\n\020instance_conf" - + "igs\030\001 \003(\01320.google.spanner.admin.instanc" - + "e.v1.InstanceConfig\022\027\n\017next_page_token\030\002" - + " \001(\t\"W\n\030GetInstanceConfigRequest\022;\n\004name" - + "\030\001 \001(\tB-\340A\002\372A\'\n%spanner.googleapis.com/I" - + "nstanceConfig\"{\n\022GetInstanceRequest\0225\n\004n" - + "ame\030\001 \001(\tB\'\340A\002\372A!\n\037spanner.googleapis.co" - + "m/Instance\022.\n\nfield_mask\030\002 \001(\0132\032.google." - + "protobuf.FieldMask\"\271\001\n\025CreateInstanceReq" - + "uest\022C\n\006parent\030\001 \001(\tB3\340A\002\372A-\n+cloudresou" - + "rcemanager.googleapis.com/Project\022\030\n\013ins" - + "tance_id\030\002 \001(\tB\003\340A\002\022A\n\010instance\030\003 \001(\0132*." + + "cemanager.googleapis.com/Project\022\037\n\022inst" + + "ance_config_id\030\002 \001(\tB\003\340A\002\022N\n\017instance_co" + + "nfig\030\003 \001(\01320.google.spanner.admin.instan" + + "ce.v1.InstanceConfigB\003\340A\002\022\025\n\rvalidate_on" + + "ly\030\004 \001(\010\"\272\001\n\033UpdateInstanceConfigRequest" + + "\022N\n\017instance_config\030\001 \001(\01320.google.spann" + + "er.admin.instance.v1.InstanceConfigB\003\340A\002" + + "\0224\n\013update_mask\030\002 \001(\0132\032.google.protobuf." + + "FieldMaskB\003\340A\002\022\025\n\rvalidate_only\030\003 \001(\010\"\177\n" + + "\033DeleteInstanceConfigRequest\022;\n\004name\030\001 \001" + + "(\tB-\340A\002\372A\'\n%spanner.googleapis.com/Insta" + + "nceConfig\022\014\n\004etag\030\002 \001(\t\022\025\n\rvalidate_only" + + "\030\003 \001(\010\"\241\001\n#ListInstanceConfigOperationsR" + + "equest\022C\n\006parent\030\001 \001(\tB3\340A\002\372A-\n+cloudres" + + "ourcemanager.googleapis.com/Project\022\016\n\006f" + + "ilter\030\002 \001(\t\022\021\n\tpage_size\030\003 \001(\005\022\022\n\npage_t" + + "oken\030\004 \001(\t\"r\n$ListInstanceConfigOperatio" + + "nsResponse\0221\n\noperations\030\001 \003(\0132\035.google." + + "longrunning.Operation\022\027\n\017next_page_token" + + "\030\002 \001(\t\"{\n\022GetInstanceRequest\0225\n\004name\030\001 \001" + + "(\tB\'\340A\002\372A!\n\037spanner.googleapis.com/Insta" + + "nce\022.\n\nfield_mask\030\002 \001(\0132\032.google.protobu" + + "f.FieldMask\"\271\001\n\025CreateInstanceRequest\022C\n" + + "\006parent\030\001 \001(\tB3\340A\002\372A-\n+cloudresourcemana" + + "ger.googleapis.com/Project\022\030\n\013instance_i" + + "d\030\002 \001(\tB\003\340A\002\022A\n\010instance\030\003 \001(\0132*.google." + + "spanner.admin.instance.v1.InstanceB\003\340A\002\"" + + "\222\001\n\024ListInstancesRequest\022C\n\006parent\030\001 \001(\t" + + "B3\340A\002\372A-\n+cloudresourcemanager.googleapi" + + "s.com/Project\022\021\n\tpage_size\030\002 \001(\005\022\022\n\npage" + + "_token\030\003 \001(\t\022\016\n\006filter\030\004 \001(\t\"o\n\025ListInst" + + "ancesResponse\022=\n\tinstances\030\001 \003(\0132*.googl" + + "e.spanner.admin.instance.v1.Instance\022\027\n\017" + + "next_page_token\030\002 \001(\t\"\217\001\n\025UpdateInstance" + + "Request\022A\n\010instance\030\001 \001(\0132*.google.spann" + + "er.admin.instance.v1.InstanceB\003\340A\002\0223\n\nfi" + + "eld_mask\030\002 \001(\0132\032.google.protobuf.FieldMa" + + "skB\003\340A\002\"N\n\025DeleteInstanceRequest\0225\n\004name" + + "\030\001 \001(\tB\'\340A\002\372A!\n\037spanner.googleapis.com/I" + + "nstance\"\345\001\n\026CreateInstanceMetadata\022<\n\010in" + + "stance\030\001 \001(\0132*.google.spanner.admin.inst" + + "ance.v1.Instance\022.\n\nstart_time\030\002 \001(\0132\032.g" + + "oogle.protobuf.Timestamp\022/\n\013cancel_time\030" + + "\003 \001(\0132\032.google.protobuf.Timestamp\022,\n\010end" + + "_time\030\004 \001(\0132\032.google.protobuf.Timestamp\"" + + "\345\001\n\026UpdateInstanceMetadata\022<\n\010instance\030\001" + + " \001(\0132*.google.spanner.admin.instance.v1." + + "Instance\022.\n\nstart_time\030\002 \001(\0132\032.google.pr" + + "otobuf.Timestamp\022/\n\013cancel_time\030\003 \001(\0132\032." + + "google.protobuf.Timestamp\022,\n\010end_time\030\004 " + + "\001(\0132\032.google.protobuf.Timestamp\"\341\001\n\034Crea" + + "teInstanceConfigMetadata\022I\n\017instance_con" + + "fig\030\001 \001(\01320.google.spanner.admin.instanc" + + "e.v1.InstanceConfig\022E\n\010progress\030\002 \001(\01323." + + "google.spanner.admin.instance.v1.Operati" + + "onProgress\022/\n\013cancel_time\030\003 \001(\0132\032.google" + + ".protobuf.Timestamp\"\341\001\n\034UpdateInstanceCo" + + "nfigMetadata\022I\n\017instance_config\030\001 \001(\01320." + "google.spanner.admin.instance.v1.Instanc" - + "eB\003\340A\002\"\222\001\n\024ListInstancesRequest\022C\n\006paren" - + "t\030\001 \001(\tB3\340A\002\372A-\n+cloudresourcemanager.go" - + "ogleapis.com/Project\022\021\n\tpage_size\030\002 \001(\005\022" - + "\022\n\npage_token\030\003 \001(\t\022\016\n\006filter\030\004 \001(\t\"o\n\025L" - + "istInstancesResponse\022=\n\tinstances\030\001 \003(\0132" - + "*.google.spanner.admin.instance.v1.Insta" - + "nce\022\027\n\017next_page_token\030\002 \001(\t\"\217\001\n\025UpdateI" - + "nstanceRequest\022A\n\010instance\030\001 \001(\0132*.googl" - + "e.spanner.admin.instance.v1.InstanceB\003\340A" - + "\002\0223\n\nfield_mask\030\002 \001(\0132\032.google.protobuf." - + "FieldMaskB\003\340A\002\"N\n\025DeleteInstanceRequest\022" - + "5\n\004name\030\001 \001(\tB\'\340A\002\372A!\n\037spanner.googleapi" - + "s.com/Instance\"\345\001\n\026CreateInstanceMetadat" - + "a\022<\n\010instance\030\001 \001(\0132*.google.spanner.adm" - + "in.instance.v1.Instance\022.\n\nstart_time\030\002 " - + "\001(\0132\032.google.protobuf.Timestamp\022/\n\013cance" - + "l_time\030\003 \001(\0132\032.google.protobuf.Timestamp" - + "\022,\n\010end_time\030\004 \001(\0132\032.google.protobuf.Tim" - + "estamp\"\345\001\n\026UpdateInstanceMetadata\022<\n\010ins" - + "tance\030\001 \001(\0132*.google.spanner.admin.insta" - + "nce.v1.Instance\022.\n\nstart_time\030\002 \001(\0132\032.go" - + "ogle.protobuf.Timestamp\022/\n\013cancel_time\030\003" - + " \001(\0132\032.google.protobuf.Timestamp\022,\n\010end_" - + "time\030\004 \001(\0132\032.google.protobuf.Timestamp2\277" - + "\020\n\rInstanceAdmin\022\314\001\n\023ListInstanceConfigs" - + "\022<.google.spanner.admin.instance.v1.List" - + "InstanceConfigsRequest\032=.google.spanner." - + "admin.instance.v1.ListInstanceConfigsRes" - + "ponse\"8\202\323\344\223\002)\022\'/v1/{parent=projects/*}/i" - + "nstanceConfigs\332A\006parent\022\271\001\n\021GetInstanceC" - + "onfig\022:.google.spanner.admin.instance.v1" - + ".GetInstanceConfigRequest\0320.google.spann" - + "er.admin.instance.v1.InstanceConfig\"6\202\323\344" - + "\223\002)\022\'/v1/{name=projects/*/instanceConfig" - + "s/*}\332A\004name\022\264\001\n\rListInstances\0226.google.s" - + "panner.admin.instance.v1.ListInstancesRe" - + "quest\0327.google.spanner.admin.instance.v1" - + ".ListInstancesResponse\"2\202\323\344\223\002#\022!/v1/{par" - + "ent=projects/*}/instances\332A\006parent\022\241\001\n\013G" - + "etInstance\0224.google.spanner.admin.instan" - + "ce.v1.GetInstanceRequest\032*.google.spanne" - + "r.admin.instance.v1.Instance\"0\202\323\344\223\002#\022!/v" - + "1/{name=projects/*/instances/*}\332A\004name\022\234" - + "\002\n\016CreateInstance\0227.google.spanner.admin" - + ".instance.v1.CreateInstanceRequest\032\035.goo" - + "gle.longrunning.Operation\"\261\001\202\323\344\223\002&\"!/v1/" - + "{parent=projects/*}/instances:\001*\332A\033paren" - + "t,instance_id,instance\312Ad\n)google.spanne" - + "r.admin.instance.v1.Instance\0227google.spa" - + "nner.admin.instance.v1.CreateInstanceMet" - + "adata\022\235\002\n\016UpdateInstance\0227.google.spanne" - + "r.admin.instance.v1.UpdateInstanceReques" - + "t\032\035.google.longrunning.Operation\"\262\001\202\323\344\223\002" - + "/2*/v1/{instance.name=projects/*/instanc" - + "es/*}:\001*\332A\023instance,field_mask\312Ad\n)googl" - + "e.spanner.admin.instance.v1.Instance\0227go" - + "ogle.spanner.admin.instance.v1.UpdateIns" - + "tanceMetadata\022\223\001\n\016DeleteInstance\0227.googl" - + "e.spanner.admin.instance.v1.DeleteInstan" - + "ceRequest\032\026.google.protobuf.Empty\"0\202\323\344\223\002" - + "#*!/v1/{name=projects/*/instances/*}\332A\004n" - + "ame\022\232\001\n\014SetIamPolicy\022\".google.iam.v1.Set" - + "IamPolicyRequest\032\025.google.iam.v1.Policy\"" - + "O\202\323\344\223\0027\"2/v1/{resource=projects/*/instan" - + "ces/*}:setIamPolicy:\001*\332A\017resource,policy" - + "\022\223\001\n\014GetIamPolicy\022\".google.iam.v1.GetIam" - + "PolicyRequest\032\025.google.iam.v1.Policy\"H\202\323" - + "\344\223\0027\"2/v1/{resource=projects/*/instances" - + "/*}:getIamPolicy:\001*\332A\010resource\022\305\001\n\022TestI" - + "amPermissions\022(.google.iam.v1.TestIamPer" - + "missionsRequest\032).google.iam.v1.TestIamP" - + "ermissionsResponse\"Z\202\323\344\223\002=\"8/v1/{resourc" - + "e=projects/*/instances/*}:testIamPermiss" - + "ions:\001*\332A\024resource,permissions\032x\312A\026spann" - + "er.googleapis.com\322A\\https://www.googleap" - + "is.com/auth/cloud-platform,https://www.g" - + "oogleapis.com/auth/spanner.adminB\215\002\n$com" - + ".google.spanner.admin.instance.v1B\031Spann" - + "erInstanceAdminProtoP\001ZHgoogle.golang.or" - + "g/genproto/googleapis/spanner/admin/inst" - + "ance/v1;instance\252\002&Google.Cloud.Spanner." - + "Admin.Instance.V1\312\002&Google\\Cloud\\Spanner" - + "\\Admin\\Instance\\V1\352\002+Google::Cloud::Span" - + "ner::Admin::Instance::V1b\006proto3" + + "eConfig\022E\n\010progress\030\002 \001(\01323.google.spann" + + "er.admin.instance.v1.OperationProgress\022/" + + "\n\013cancel_time\030\003 \001(\0132\032.google.protobuf.Ti" + + "mestamp2\362\030\n\rInstanceAdmin\022\314\001\n\023ListInstan" + + "ceConfigs\022<.google.spanner.admin.instanc" + + "e.v1.ListInstanceConfigsRequest\032=.google" + + ".spanner.admin.instance.v1.ListInstanceC" + + "onfigsResponse\"8\202\323\344\223\002)\022\'/v1/{parent=proj" + + "ects/*}/instanceConfigs\332A\006parent\022\271\001\n\021Get" + + "InstanceConfig\022:.google.spanner.admin.in" + + "stance.v1.GetInstanceConfigRequest\0320.goo" + + "gle.spanner.admin.instance.v1.InstanceCo" + + "nfig\"6\202\323\344\223\002)\022\'/v1/{name=projects/*/insta" + + "nceConfigs/*}\332A\004name\022\310\002\n\024CreateInstanceC" + + "onfig\022=.google.spanner.admin.instance.v1" + + ".CreateInstanceConfigRequest\032\035.google.lo" + + "ngrunning.Operation\"\321\001\202\323\344\223\002,\"\'/v1/{paren" + + "t=projects/*}/instanceConfigs:\001*\332A)paren" + + "t,instance_config,instance_config_id\312Ap\n" + + "/google.spanner.admin.instance.v1.Instan" + + "ceConfig\022=google.spanner.admin.instance." + + "v1.CreateInstanceConfigMetadata\022\312\002\n\024Upda" + + "teInstanceConfig\022=.google.spanner.admin." + + "instance.v1.UpdateInstanceConfigRequest\032" + + "\035.google.longrunning.Operation\"\323\001\202\323\344\223\002<2" + + "7/v1/{instance_config.name=projects/*/in" + + "stanceConfigs/*}:\001*\332A\033instance_config,up" + + "date_mask\312Ap\n/google.spanner.admin.insta" + + "nce.v1.InstanceConfig\022=google.spanner.ad" + + "min.instance.v1.UpdateInstanceConfigMeta" + + "data\022\245\001\n\024DeleteInstanceConfig\022=.google.s" + + "panner.admin.instance.v1.DeleteInstanceC" + + "onfigRequest\032\026.google.protobuf.Empty\"6\202\323" + + "\344\223\002)*\'/v1/{name=projects/*/instanceConfi" + + "gs/*}\332A\004name\022\360\001\n\034ListInstanceConfigOpera" + + "tions\022E.google.spanner.admin.instance.v1" + + ".ListInstanceConfigOperationsRequest\032F.g" + + "oogle.spanner.admin.instance.v1.ListInst" + + "anceConfigOperationsResponse\"A\202\323\344\223\0022\0220/v" + + "1/{parent=projects/*}/instanceConfigOper" + + "ations\332A\006parent\022\264\001\n\rListInstances\0226.goog" + + "le.spanner.admin.instance.v1.ListInstanc" + + "esRequest\0327.google.spanner.admin.instanc" + + "e.v1.ListInstancesResponse\"2\202\323\344\223\002#\022!/v1/" + + "{parent=projects/*}/instances\332A\006parent\022\241" + + "\001\n\013GetInstance\0224.google.spanner.admin.in" + + "stance.v1.GetInstanceRequest\032*.google.sp" + + "anner.admin.instance.v1.Instance\"0\202\323\344\223\002#" + + "\022!/v1/{name=projects/*/instances/*}\332A\004na" + + "me\022\234\002\n\016CreateInstance\0227.google.spanner.a" + + "dmin.instance.v1.CreateInstanceRequest\032\035" + + ".google.longrunning.Operation\"\261\001\202\323\344\223\002&\"!" + + "/v1/{parent=projects/*}/instances:\001*\332A\033p" + + "arent,instance_id,instance\312Ad\n)google.sp" + + "anner.admin.instance.v1.Instance\0227google" + + ".spanner.admin.instance.v1.CreateInstanc" + + "eMetadata\022\235\002\n\016UpdateInstance\0227.google.sp" + + "anner.admin.instance.v1.UpdateInstanceRe" + + "quest\032\035.google.longrunning.Operation\"\262\001\202" + + "\323\344\223\002/2*/v1/{instance.name=projects/*/ins" + + "tances/*}:\001*\332A\023instance,field_mask\312Ad\n)g" + + "oogle.spanner.admin.instance.v1.Instance" + + "\0227google.spanner.admin.instance.v1.Updat" + + "eInstanceMetadata\022\223\001\n\016DeleteInstance\0227.g" + + "oogle.spanner.admin.instance.v1.DeleteIn" + + "stanceRequest\032\026.google.protobuf.Empty\"0\202" + + "\323\344\223\002#*!/v1/{name=projects/*/instances/*}" + + "\332A\004name\022\232\001\n\014SetIamPolicy\022\".google.iam.v1" + + ".SetIamPolicyRequest\032\025.google.iam.v1.Pol" + + "icy\"O\202\323\344\223\0027\"2/v1/{resource=projects/*/in" + + "stances/*}:setIamPolicy:\001*\332A\017resource,po" + + "licy\022\223\001\n\014GetIamPolicy\022\".google.iam.v1.Ge" + + "tIamPolicyRequest\032\025.google.iam.v1.Policy" + + "\"H\202\323\344\223\0027\"2/v1/{resource=projects/*/insta" + + "nces/*}:getIamPolicy:\001*\332A\010resource\022\305\001\n\022T" + + "estIamPermissions\022(.google.iam.v1.TestIa" + + "mPermissionsRequest\032).google.iam.v1.Test" + + "IamPermissionsResponse\"Z\202\323\344\223\002=\"8/v1/{res" + + "ource=projects/*/instances/*}:testIamPer" + + "missions:\001*\332A\024resource,permissions\032x\312A\026s" + + "panner.googleapis.com\322A\\https://www.goog" + + "leapis.com/auth/cloud-platform,https://w" + + "ww.googleapis.com/auth/spanner.adminB\215\002\n" + + "$com.google.spanner.admin.instance.v1B\031S" + + "pannerInstanceAdminProtoP\001ZHgoogle.golan" + + "g.org/genproto/googleapis/spanner/admin/" + + "instance/v1;instance\252\002&Google.Cloud.Span" + + "ner.Admin.Instance.V1\312\002&Google\\Cloud\\Spa" + + "nner\\Admin\\Instance\\V1\352\002+Google::Cloud::" + + "Spanner::Admin::Instance::V1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -249,6 +356,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { com.google.protobuf.EmptyProto.getDescriptor(), com.google.protobuf.FieldMaskProto.getDescriptor(), com.google.protobuf.TimestampProto.getDescriptor(), + com.google.spanner.admin.instance.v1.CommonProto.getDescriptor(), }); internal_static_google_spanner_admin_instance_v1_ReplicaInfo_descriptor = getDescriptor().getMessageTypes().get(0); @@ -264,7 +372,27 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_spanner_admin_instance_v1_InstanceConfig_descriptor, new java.lang.String[] { - "Name", "DisplayName", "Replicas", "LeaderOptions", + "Name", + "DisplayName", + "ConfigType", + "Replicas", + "OptionalReplicas", + "BaseConfig", + "Labels", + "Etag", + "LeaderOptions", + "Reconciling", + "State", + }); + internal_static_google_spanner_admin_instance_v1_InstanceConfig_LabelsEntry_descriptor = + internal_static_google_spanner_admin_instance_v1_InstanceConfig_descriptor + .getNestedTypes() + .get(0); + internal_static_google_spanner_admin_instance_v1_InstanceConfig_LabelsEntry_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_spanner_admin_instance_v1_InstanceConfig_LabelsEntry_descriptor, + new java.lang.String[] { + "Key", "Value", }); internal_static_google_spanner_admin_instance_v1_Instance_descriptor = getDescriptor().getMessageTypes().get(2); @@ -317,8 +445,48 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new java.lang.String[] { "Name", }); - internal_static_google_spanner_admin_instance_v1_GetInstanceRequest_descriptor = + internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigRequest_descriptor = getDescriptor().getMessageTypes().get(6); + internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigRequest_descriptor, + new java.lang.String[] { + "Parent", "InstanceConfigId", "InstanceConfig", "ValidateOnly", + }); + internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigRequest_descriptor = + getDescriptor().getMessageTypes().get(7); + internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigRequest_descriptor, + new java.lang.String[] { + "InstanceConfig", "UpdateMask", "ValidateOnly", + }); + internal_static_google_spanner_admin_instance_v1_DeleteInstanceConfigRequest_descriptor = + getDescriptor().getMessageTypes().get(8); + internal_static_google_spanner_admin_instance_v1_DeleteInstanceConfigRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_spanner_admin_instance_v1_DeleteInstanceConfigRequest_descriptor, + new java.lang.String[] { + "Name", "Etag", "ValidateOnly", + }); + internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsRequest_descriptor = + getDescriptor().getMessageTypes().get(9); + internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsRequest_descriptor, + new java.lang.String[] { + "Parent", "Filter", "PageSize", "PageToken", + }); + internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsResponse_descriptor = + getDescriptor().getMessageTypes().get(10); + internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsResponse_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsResponse_descriptor, + new java.lang.String[] { + "Operations", "NextPageToken", + }); + internal_static_google_spanner_admin_instance_v1_GetInstanceRequest_descriptor = + getDescriptor().getMessageTypes().get(11); internal_static_google_spanner_admin_instance_v1_GetInstanceRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_spanner_admin_instance_v1_GetInstanceRequest_descriptor, @@ -326,7 +494,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Name", "FieldMask", }); internal_static_google_spanner_admin_instance_v1_CreateInstanceRequest_descriptor = - getDescriptor().getMessageTypes().get(7); + getDescriptor().getMessageTypes().get(12); internal_static_google_spanner_admin_instance_v1_CreateInstanceRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_spanner_admin_instance_v1_CreateInstanceRequest_descriptor, @@ -334,7 +502,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Parent", "InstanceId", "Instance", }); internal_static_google_spanner_admin_instance_v1_ListInstancesRequest_descriptor = - getDescriptor().getMessageTypes().get(8); + getDescriptor().getMessageTypes().get(13); internal_static_google_spanner_admin_instance_v1_ListInstancesRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_spanner_admin_instance_v1_ListInstancesRequest_descriptor, @@ -342,7 +510,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Parent", "PageSize", "PageToken", "Filter", }); internal_static_google_spanner_admin_instance_v1_ListInstancesResponse_descriptor = - getDescriptor().getMessageTypes().get(9); + getDescriptor().getMessageTypes().get(14); internal_static_google_spanner_admin_instance_v1_ListInstancesResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_spanner_admin_instance_v1_ListInstancesResponse_descriptor, @@ -350,7 +518,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Instances", "NextPageToken", }); internal_static_google_spanner_admin_instance_v1_UpdateInstanceRequest_descriptor = - getDescriptor().getMessageTypes().get(10); + getDescriptor().getMessageTypes().get(15); internal_static_google_spanner_admin_instance_v1_UpdateInstanceRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_spanner_admin_instance_v1_UpdateInstanceRequest_descriptor, @@ -358,7 +526,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Instance", "FieldMask", }); internal_static_google_spanner_admin_instance_v1_DeleteInstanceRequest_descriptor = - getDescriptor().getMessageTypes().get(11); + getDescriptor().getMessageTypes().get(16); internal_static_google_spanner_admin_instance_v1_DeleteInstanceRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_spanner_admin_instance_v1_DeleteInstanceRequest_descriptor, @@ -366,7 +534,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Name", }); internal_static_google_spanner_admin_instance_v1_CreateInstanceMetadata_descriptor = - getDescriptor().getMessageTypes().get(12); + getDescriptor().getMessageTypes().get(17); internal_static_google_spanner_admin_instance_v1_CreateInstanceMetadata_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_spanner_admin_instance_v1_CreateInstanceMetadata_descriptor, @@ -374,13 +542,29 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Instance", "StartTime", "CancelTime", "EndTime", }); internal_static_google_spanner_admin_instance_v1_UpdateInstanceMetadata_descriptor = - getDescriptor().getMessageTypes().get(13); + getDescriptor().getMessageTypes().get(18); internal_static_google_spanner_admin_instance_v1_UpdateInstanceMetadata_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_spanner_admin_instance_v1_UpdateInstanceMetadata_descriptor, new java.lang.String[] { "Instance", "StartTime", "CancelTime", "EndTime", }); + internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigMetadata_descriptor = + getDescriptor().getMessageTypes().get(19); + internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigMetadata_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigMetadata_descriptor, + new java.lang.String[] { + "InstanceConfig", "Progress", "CancelTime", + }); + internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigMetadata_descriptor = + getDescriptor().getMessageTypes().get(20); + internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigMetadata_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigMetadata_descriptor, + new java.lang.String[] { + "InstanceConfig", "Progress", "CancelTime", + }); com.google.protobuf.ExtensionRegistry registry = com.google.protobuf.ExtensionRegistry.newInstance(); registry.add(com.google.api.ClientProto.defaultHost); @@ -403,6 +587,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { com.google.protobuf.EmptyProto.getDescriptor(); com.google.protobuf.FieldMaskProto.getDescriptor(); com.google.protobuf.TimestampProto.getDescriptor(); + com.google.spanner.admin.instance.v1.CommonProto.getDescriptor(); } // @@protoc_insertion_point(outer_class_scope) diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigMetadata.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigMetadata.java new file mode 100644 index 00000000000..3f80c71d41c --- /dev/null +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigMetadata.java @@ -0,0 +1,1325 @@ +/* + * Copyright 2020 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 + * + * https://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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/spanner/admin/instance/v1/spanner_instance_admin.proto + +package com.google.spanner.admin.instance.v1; + +/** + * + * + *
+ * Metadata type for the operation returned by
+ * [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig].
+ * 
+ * + * Protobuf type {@code google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata} + */ +public final class UpdateInstanceConfigMetadata extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata) + UpdateInstanceConfigMetadataOrBuilder { + private static final long serialVersionUID = 0L; + // Use UpdateInstanceConfigMetadata.newBuilder() to construct. + private UpdateInstanceConfigMetadata(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private UpdateInstanceConfigMetadata() {} + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new UpdateInstanceConfigMetadata(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private UpdateInstanceConfigMetadata( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.spanner.admin.instance.v1.InstanceConfig.Builder subBuilder = null; + if (instanceConfig_ != null) { + subBuilder = instanceConfig_.toBuilder(); + } + instanceConfig_ = + input.readMessage( + com.google.spanner.admin.instance.v1.InstanceConfig.parser(), + extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(instanceConfig_); + instanceConfig_ = subBuilder.buildPartial(); + } + + break; + } + case 18: + { + com.google.spanner.admin.instance.v1.OperationProgress.Builder subBuilder = null; + if (progress_ != null) { + subBuilder = progress_.toBuilder(); + } + progress_ = + input.readMessage( + com.google.spanner.admin.instance.v1.OperationProgress.parser(), + extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(progress_); + progress_ = subBuilder.buildPartial(); + } + + break; + } + case 26: + { + com.google.protobuf.Timestamp.Builder subBuilder = null; + if (cancelTime_ != null) { + subBuilder = cancelTime_.toBuilder(); + } + cancelTime_ = + input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(cancelTime_); + cancelTime_ = subBuilder.buildPartial(); + } + + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigMetadata_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigMetadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.class, + com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.Builder.class); + } + + public static final int INSTANCE_CONFIG_FIELD_NUMBER = 1; + private com.google.spanner.admin.instance.v1.InstanceConfig instanceConfig_; + /** + * + * + *
+   * The desired instance config after updating.
+   * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + * + * @return Whether the instanceConfig field is set. + */ + @java.lang.Override + public boolean hasInstanceConfig() { + return instanceConfig_ != null; + } + /** + * + * + *
+   * The desired instance config after updating.
+   * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + * + * @return The instanceConfig. + */ + @java.lang.Override + public com.google.spanner.admin.instance.v1.InstanceConfig getInstanceConfig() { + return instanceConfig_ == null + ? com.google.spanner.admin.instance.v1.InstanceConfig.getDefaultInstance() + : instanceConfig_; + } + /** + * + * + *
+   * The desired instance config after updating.
+   * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + */ + @java.lang.Override + public com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder getInstanceConfigOrBuilder() { + return getInstanceConfig(); + } + + public static final int PROGRESS_FIELD_NUMBER = 2; + private com.google.spanner.admin.instance.v1.OperationProgress progress_; + /** + * + * + *
+   * The progress of the
+   * [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig]
+   * operation.
+   * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + * + * @return Whether the progress field is set. + */ + @java.lang.Override + public boolean hasProgress() { + return progress_ != null; + } + /** + * + * + *
+   * The progress of the
+   * [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig]
+   * operation.
+   * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + * + * @return The progress. + */ + @java.lang.Override + public com.google.spanner.admin.instance.v1.OperationProgress getProgress() { + return progress_ == null + ? com.google.spanner.admin.instance.v1.OperationProgress.getDefaultInstance() + : progress_; + } + /** + * + * + *
+   * The progress of the
+   * [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig]
+   * operation.
+   * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + */ + @java.lang.Override + public com.google.spanner.admin.instance.v1.OperationProgressOrBuilder getProgressOrBuilder() { + return getProgress(); + } + + public static final int CANCEL_TIME_FIELD_NUMBER = 3; + private com.google.protobuf.Timestamp cancelTime_; + /** + * + * + *
+   * The time at which this operation was cancelled.
+   * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + * + * @return Whether the cancelTime field is set. + */ + @java.lang.Override + public boolean hasCancelTime() { + return cancelTime_ != null; + } + /** + * + * + *
+   * The time at which this operation was cancelled.
+   * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + * + * @return The cancelTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCancelTime() { + return cancelTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : cancelTime_; + } + /** + * + * + *
+   * The time at which this operation was cancelled.
+   * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCancelTimeOrBuilder() { + return getCancelTime(); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (instanceConfig_ != null) { + output.writeMessage(1, getInstanceConfig()); + } + if (progress_ != null) { + output.writeMessage(2, getProgress()); + } + if (cancelTime_ != null) { + output.writeMessage(3, getCancelTime()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (instanceConfig_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getInstanceConfig()); + } + if (progress_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getProgress()); + } + if (cancelTime_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getCancelTime()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata)) { + return super.equals(obj); + } + com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata other = + (com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata) obj; + + if (hasInstanceConfig() != other.hasInstanceConfig()) return false; + if (hasInstanceConfig()) { + if (!getInstanceConfig().equals(other.getInstanceConfig())) return false; + } + if (hasProgress() != other.hasProgress()) return false; + if (hasProgress()) { + if (!getProgress().equals(other.getProgress())) return false; + } + if (hasCancelTime() != other.hasCancelTime()) return false; + if (hasCancelTime()) { + if (!getCancelTime().equals(other.getCancelTime())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasInstanceConfig()) { + hash = (37 * hash) + INSTANCE_CONFIG_FIELD_NUMBER; + hash = (53 * hash) + getInstanceConfig().hashCode(); + } + if (hasProgress()) { + hash = (37 * hash) + PROGRESS_FIELD_NUMBER; + hash = (53 * hash) + getProgress().hashCode(); + } + if (hasCancelTime()) { + hash = (37 * hash) + CANCEL_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCancelTime().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
+   * Metadata type for the operation returned by
+   * [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig].
+   * 
+ * + * Protobuf type {@code google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata) + com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadataOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigMetadata_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigMetadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.class, + com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.Builder.class); + } + + // Construct using + // com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + if (instanceConfigBuilder_ == null) { + instanceConfig_ = null; + } else { + instanceConfig_ = null; + instanceConfigBuilder_ = null; + } + if (progressBuilder_ == null) { + progress_ = null; + } else { + progress_ = null; + progressBuilder_ = null; + } + if (cancelTimeBuilder_ == null) { + cancelTime_ = null; + } else { + cancelTime_ = null; + cancelTimeBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigMetadata_descriptor; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata + getDefaultInstanceForType() { + return com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.getDefaultInstance(); + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata build() { + com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata buildPartial() { + com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata result = + new com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata(this); + if (instanceConfigBuilder_ == null) { + result.instanceConfig_ = instanceConfig_; + } else { + result.instanceConfig_ = instanceConfigBuilder_.build(); + } + if (progressBuilder_ == null) { + result.progress_ = progress_; + } else { + result.progress_ = progressBuilder_.build(); + } + if (cancelTimeBuilder_ == null) { + result.cancelTime_ = cancelTime_; + } else { + result.cancelTime_ = cancelTimeBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata) { + return mergeFrom((com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata other) { + if (other + == com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.getDefaultInstance()) + return this; + if (other.hasInstanceConfig()) { + mergeInstanceConfig(other.getInstanceConfig()); + } + if (other.hasProgress()) { + mergeProgress(other.getProgress()); + } + if (other.hasCancelTime()) { + mergeCancelTime(other.getCancelTime()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata) + e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private com.google.spanner.admin.instance.v1.InstanceConfig instanceConfig_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.spanner.admin.instance.v1.InstanceConfig, + com.google.spanner.admin.instance.v1.InstanceConfig.Builder, + com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder> + instanceConfigBuilder_; + /** + * + * + *
+     * The desired instance config after updating.
+     * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + * + * @return Whether the instanceConfig field is set. + */ + public boolean hasInstanceConfig() { + return instanceConfigBuilder_ != null || instanceConfig_ != null; + } + /** + * + * + *
+     * The desired instance config after updating.
+     * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + * + * @return The instanceConfig. + */ + public com.google.spanner.admin.instance.v1.InstanceConfig getInstanceConfig() { + if (instanceConfigBuilder_ == null) { + return instanceConfig_ == null + ? com.google.spanner.admin.instance.v1.InstanceConfig.getDefaultInstance() + : instanceConfig_; + } else { + return instanceConfigBuilder_.getMessage(); + } + } + /** + * + * + *
+     * The desired instance config after updating.
+     * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + */ + public Builder setInstanceConfig(com.google.spanner.admin.instance.v1.InstanceConfig value) { + if (instanceConfigBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + instanceConfig_ = value; + onChanged(); + } else { + instanceConfigBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * The desired instance config after updating.
+     * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + */ + public Builder setInstanceConfig( + com.google.spanner.admin.instance.v1.InstanceConfig.Builder builderForValue) { + if (instanceConfigBuilder_ == null) { + instanceConfig_ = builderForValue.build(); + onChanged(); + } else { + instanceConfigBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * The desired instance config after updating.
+     * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + */ + public Builder mergeInstanceConfig(com.google.spanner.admin.instance.v1.InstanceConfig value) { + if (instanceConfigBuilder_ == null) { + if (instanceConfig_ != null) { + instanceConfig_ = + com.google.spanner.admin.instance.v1.InstanceConfig.newBuilder(instanceConfig_) + .mergeFrom(value) + .buildPartial(); + } else { + instanceConfig_ = value; + } + onChanged(); + } else { + instanceConfigBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * The desired instance config after updating.
+     * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + */ + public Builder clearInstanceConfig() { + if (instanceConfigBuilder_ == null) { + instanceConfig_ = null; + onChanged(); + } else { + instanceConfig_ = null; + instanceConfigBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * The desired instance config after updating.
+     * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + */ + public com.google.spanner.admin.instance.v1.InstanceConfig.Builder getInstanceConfigBuilder() { + + onChanged(); + return getInstanceConfigFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * The desired instance config after updating.
+     * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + */ + public com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder + getInstanceConfigOrBuilder() { + if (instanceConfigBuilder_ != null) { + return instanceConfigBuilder_.getMessageOrBuilder(); + } else { + return instanceConfig_ == null + ? com.google.spanner.admin.instance.v1.InstanceConfig.getDefaultInstance() + : instanceConfig_; + } + } + /** + * + * + *
+     * The desired instance config after updating.
+     * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.spanner.admin.instance.v1.InstanceConfig, + com.google.spanner.admin.instance.v1.InstanceConfig.Builder, + com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder> + getInstanceConfigFieldBuilder() { + if (instanceConfigBuilder_ == null) { + instanceConfigBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.spanner.admin.instance.v1.InstanceConfig, + com.google.spanner.admin.instance.v1.InstanceConfig.Builder, + com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder>( + getInstanceConfig(), getParentForChildren(), isClean()); + instanceConfig_ = null; + } + return instanceConfigBuilder_; + } + + private com.google.spanner.admin.instance.v1.OperationProgress progress_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.spanner.admin.instance.v1.OperationProgress, + com.google.spanner.admin.instance.v1.OperationProgress.Builder, + com.google.spanner.admin.instance.v1.OperationProgressOrBuilder> + progressBuilder_; + /** + * + * + *
+     * The progress of the
+     * [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig]
+     * operation.
+     * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + * + * @return Whether the progress field is set. + */ + public boolean hasProgress() { + return progressBuilder_ != null || progress_ != null; + } + /** + * + * + *
+     * The progress of the
+     * [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig]
+     * operation.
+     * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + * + * @return The progress. + */ + public com.google.spanner.admin.instance.v1.OperationProgress getProgress() { + if (progressBuilder_ == null) { + return progress_ == null + ? com.google.spanner.admin.instance.v1.OperationProgress.getDefaultInstance() + : progress_; + } else { + return progressBuilder_.getMessage(); + } + } + /** + * + * + *
+     * The progress of the
+     * [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig]
+     * operation.
+     * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + */ + public Builder setProgress(com.google.spanner.admin.instance.v1.OperationProgress value) { + if (progressBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + progress_ = value; + onChanged(); + } else { + progressBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * The progress of the
+     * [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig]
+     * operation.
+     * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + */ + public Builder setProgress( + com.google.spanner.admin.instance.v1.OperationProgress.Builder builderForValue) { + if (progressBuilder_ == null) { + progress_ = builderForValue.build(); + onChanged(); + } else { + progressBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * The progress of the
+     * [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig]
+     * operation.
+     * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + */ + public Builder mergeProgress(com.google.spanner.admin.instance.v1.OperationProgress value) { + if (progressBuilder_ == null) { + if (progress_ != null) { + progress_ = + com.google.spanner.admin.instance.v1.OperationProgress.newBuilder(progress_) + .mergeFrom(value) + .buildPartial(); + } else { + progress_ = value; + } + onChanged(); + } else { + progressBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * The progress of the
+     * [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig]
+     * operation.
+     * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + */ + public Builder clearProgress() { + if (progressBuilder_ == null) { + progress_ = null; + onChanged(); + } else { + progress_ = null; + progressBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * The progress of the
+     * [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig]
+     * operation.
+     * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + */ + public com.google.spanner.admin.instance.v1.OperationProgress.Builder getProgressBuilder() { + + onChanged(); + return getProgressFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * The progress of the
+     * [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig]
+     * operation.
+     * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + */ + public com.google.spanner.admin.instance.v1.OperationProgressOrBuilder getProgressOrBuilder() { + if (progressBuilder_ != null) { + return progressBuilder_.getMessageOrBuilder(); + } else { + return progress_ == null + ? com.google.spanner.admin.instance.v1.OperationProgress.getDefaultInstance() + : progress_; + } + } + /** + * + * + *
+     * The progress of the
+     * [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig]
+     * operation.
+     * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.spanner.admin.instance.v1.OperationProgress, + com.google.spanner.admin.instance.v1.OperationProgress.Builder, + com.google.spanner.admin.instance.v1.OperationProgressOrBuilder> + getProgressFieldBuilder() { + if (progressBuilder_ == null) { + progressBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.spanner.admin.instance.v1.OperationProgress, + com.google.spanner.admin.instance.v1.OperationProgress.Builder, + com.google.spanner.admin.instance.v1.OperationProgressOrBuilder>( + getProgress(), getParentForChildren(), isClean()); + progress_ = null; + } + return progressBuilder_; + } + + private com.google.protobuf.Timestamp cancelTime_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + cancelTimeBuilder_; + /** + * + * + *
+     * The time at which this operation was cancelled.
+     * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + * + * @return Whether the cancelTime field is set. + */ + public boolean hasCancelTime() { + return cancelTimeBuilder_ != null || cancelTime_ != null; + } + /** + * + * + *
+     * The time at which this operation was cancelled.
+     * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + * + * @return The cancelTime. + */ + public com.google.protobuf.Timestamp getCancelTime() { + if (cancelTimeBuilder_ == null) { + return cancelTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : cancelTime_; + } else { + return cancelTimeBuilder_.getMessage(); + } + } + /** + * + * + *
+     * The time at which this operation was cancelled.
+     * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + */ + public Builder setCancelTime(com.google.protobuf.Timestamp value) { + if (cancelTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + cancelTime_ = value; + onChanged(); + } else { + cancelTimeBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * The time at which this operation was cancelled.
+     * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + */ + public Builder setCancelTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (cancelTimeBuilder_ == null) { + cancelTime_ = builderForValue.build(); + onChanged(); + } else { + cancelTimeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * The time at which this operation was cancelled.
+     * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + */ + public Builder mergeCancelTime(com.google.protobuf.Timestamp value) { + if (cancelTimeBuilder_ == null) { + if (cancelTime_ != null) { + cancelTime_ = + com.google.protobuf.Timestamp.newBuilder(cancelTime_).mergeFrom(value).buildPartial(); + } else { + cancelTime_ = value; + } + onChanged(); + } else { + cancelTimeBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * The time at which this operation was cancelled.
+     * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + */ + public Builder clearCancelTime() { + if (cancelTimeBuilder_ == null) { + cancelTime_ = null; + onChanged(); + } else { + cancelTime_ = null; + cancelTimeBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * The time at which this operation was cancelled.
+     * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + */ + public com.google.protobuf.Timestamp.Builder getCancelTimeBuilder() { + + onChanged(); + return getCancelTimeFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * The time at which this operation was cancelled.
+     * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + */ + public com.google.protobuf.TimestampOrBuilder getCancelTimeOrBuilder() { + if (cancelTimeBuilder_ != null) { + return cancelTimeBuilder_.getMessageOrBuilder(); + } else { + return cancelTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : cancelTime_; + } + } + /** + * + * + *
+     * The time at which this operation was cancelled.
+     * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + getCancelTimeFieldBuilder() { + if (cancelTimeBuilder_ == null) { + cancelTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCancelTime(), getParentForChildren(), isClean()); + cancelTime_ = null; + } + return cancelTimeBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata) + } + + // @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata) + private static final com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata(); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public UpdateInstanceConfigMetadata parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new UpdateInstanceConfigMetadata(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigMetadataOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigMetadataOrBuilder.java new file mode 100644 index 00000000000..79e1db736f6 --- /dev/null +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigMetadataOrBuilder.java @@ -0,0 +1,136 @@ +/* + * Copyright 2020 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 + * + * https://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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/spanner/admin/instance/v1/spanner_instance_admin.proto + +package com.google.spanner.admin.instance.v1; + +public interface UpdateInstanceConfigMetadataOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The desired instance config after updating.
+   * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + * + * @return Whether the instanceConfig field is set. + */ + boolean hasInstanceConfig(); + /** + * + * + *
+   * The desired instance config after updating.
+   * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + * + * @return The instanceConfig. + */ + com.google.spanner.admin.instance.v1.InstanceConfig getInstanceConfig(); + /** + * + * + *
+   * The desired instance config after updating.
+   * 
+ * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1; + */ + com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder getInstanceConfigOrBuilder(); + + /** + * + * + *
+   * The progress of the
+   * [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig]
+   * operation.
+   * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + * + * @return Whether the progress field is set. + */ + boolean hasProgress(); + /** + * + * + *
+   * The progress of the
+   * [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig]
+   * operation.
+   * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + * + * @return The progress. + */ + com.google.spanner.admin.instance.v1.OperationProgress getProgress(); + /** + * + * + *
+   * The progress of the
+   * [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig]
+   * operation.
+   * 
+ * + * .google.spanner.admin.instance.v1.OperationProgress progress = 2; + */ + com.google.spanner.admin.instance.v1.OperationProgressOrBuilder getProgressOrBuilder(); + + /** + * + * + *
+   * The time at which this operation was cancelled.
+   * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + * + * @return Whether the cancelTime field is set. + */ + boolean hasCancelTime(); + /** + * + * + *
+   * The time at which this operation was cancelled.
+   * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + * + * @return The cancelTime. + */ + com.google.protobuf.Timestamp getCancelTime(); + /** + * + * + *
+   * The time at which this operation was cancelled.
+   * 
+ * + * .google.protobuf.Timestamp cancel_time = 3; + */ + com.google.protobuf.TimestampOrBuilder getCancelTimeOrBuilder(); +} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigRequest.java new file mode 100644 index 00000000000..9ef525126f5 --- /dev/null +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigRequest.java @@ -0,0 +1,1270 @@ +/* + * Copyright 2020 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 + * + * https://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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/spanner/admin/instance/v1/spanner_instance_admin.proto + +package com.google.spanner.admin.instance.v1; + +/** + * + * + *
+ * The request for
+ * [UpdateInstanceConfigRequest][InstanceAdmin.UpdateInstanceConfigRequest].
+ * 
+ * + * Protobuf type {@code google.spanner.admin.instance.v1.UpdateInstanceConfigRequest} + */ +public final class UpdateInstanceConfigRequest extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.spanner.admin.instance.v1.UpdateInstanceConfigRequest) + UpdateInstanceConfigRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use UpdateInstanceConfigRequest.newBuilder() to construct. + private UpdateInstanceConfigRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private UpdateInstanceConfigRequest() {} + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new UpdateInstanceConfigRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private UpdateInstanceConfigRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.spanner.admin.instance.v1.InstanceConfig.Builder subBuilder = null; + if (instanceConfig_ != null) { + subBuilder = instanceConfig_.toBuilder(); + } + instanceConfig_ = + input.readMessage( + com.google.spanner.admin.instance.v1.InstanceConfig.parser(), + extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(instanceConfig_); + instanceConfig_ = subBuilder.buildPartial(); + } + + break; + } + case 18: + { + com.google.protobuf.FieldMask.Builder subBuilder = null; + if (updateMask_ != null) { + subBuilder = updateMask_.toBuilder(); + } + updateMask_ = + input.readMessage(com.google.protobuf.FieldMask.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(updateMask_); + updateMask_ = subBuilder.buildPartial(); + } + + break; + } + case 24: + { + validateOnly_ = input.readBool(); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.class, + com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.Builder.class); + } + + public static final int INSTANCE_CONFIG_FIELD_NUMBER = 1; + private com.google.spanner.admin.instance.v1.InstanceConfig instanceConfig_; + /** + * + * + *
+   * Required. The user instance config to update, which must always include the
+   * instance config name. Otherwise, only fields mentioned in
+   * [update_mask][google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask]
+   * need be included. To prevent conflicts of concurrent updates,
+   * [etag][google.spanner.admin.instance.v1.InstanceConfig.reconciling] can
+   * be used.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the instanceConfig field is set. + */ + @java.lang.Override + public boolean hasInstanceConfig() { + return instanceConfig_ != null; + } + /** + * + * + *
+   * Required. The user instance config to update, which must always include the
+   * instance config name. Otherwise, only fields mentioned in
+   * [update_mask][google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask]
+   * need be included. To prevent conflicts of concurrent updates,
+   * [etag][google.spanner.admin.instance.v1.InstanceConfig.reconciling] can
+   * be used.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The instanceConfig. + */ + @java.lang.Override + public com.google.spanner.admin.instance.v1.InstanceConfig getInstanceConfig() { + return instanceConfig_ == null + ? com.google.spanner.admin.instance.v1.InstanceConfig.getDefaultInstance() + : instanceConfig_; + } + /** + * + * + *
+   * Required. The user instance config to update, which must always include the
+   * instance config name. Otherwise, only fields mentioned in
+   * [update_mask][google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask]
+   * need be included. To prevent conflicts of concurrent updates,
+   * [etag][google.spanner.admin.instance.v1.InstanceConfig.reconciling] can
+   * be used.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder getInstanceConfigOrBuilder() { + return getInstanceConfig(); + } + + public static final int UPDATE_MASK_FIELD_NUMBER = 2; + private com.google.protobuf.FieldMask updateMask_; + /** + * + * + *
+   * Required. A mask specifying which fields in
+   * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] should be
+   * updated. The field mask must always be specified; this prevents any future
+   * fields in [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig]
+   * from being erased accidentally by clients that do not know about them. Only
+   * display_name and labels can be updated.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the updateMask field is set. + */ + @java.lang.Override + public boolean hasUpdateMask() { + return updateMask_ != null; + } + /** + * + * + *
+   * Required. A mask specifying which fields in
+   * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] should be
+   * updated. The field mask must always be specified; this prevents any future
+   * fields in [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig]
+   * from being erased accidentally by clients that do not know about them. Only
+   * display_name and labels can be updated.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The updateMask. + */ + @java.lang.Override + public com.google.protobuf.FieldMask getUpdateMask() { + return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_; + } + /** + * + * + *
+   * Required. A mask specifying which fields in
+   * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] should be
+   * updated. The field mask must always be specified; this prevents any future
+   * fields in [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig]
+   * from being erased accidentally by clients that do not know about them. Only
+   * display_name and labels can be updated.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() { + return getUpdateMask(); + } + + public static final int VALIDATE_ONLY_FIELD_NUMBER = 3; + private boolean validateOnly_; + /** + * + * + *
+   * An option to validate, but not actually execute, a request,
+   * and provide the same response.
+   * 
+ * + * bool validate_only = 3; + * + * @return The validateOnly. + */ + @java.lang.Override + public boolean getValidateOnly() { + return validateOnly_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (instanceConfig_ != null) { + output.writeMessage(1, getInstanceConfig()); + } + if (updateMask_ != null) { + output.writeMessage(2, getUpdateMask()); + } + if (validateOnly_ != false) { + output.writeBool(3, validateOnly_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (instanceConfig_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getInstanceConfig()); + } + if (updateMask_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getUpdateMask()); + } + if (validateOnly_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(3, validateOnly_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest)) { + return super.equals(obj); + } + com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest other = + (com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest) obj; + + if (hasInstanceConfig() != other.hasInstanceConfig()) return false; + if (hasInstanceConfig()) { + if (!getInstanceConfig().equals(other.getInstanceConfig())) return false; + } + if (hasUpdateMask() != other.hasUpdateMask()) return false; + if (hasUpdateMask()) { + if (!getUpdateMask().equals(other.getUpdateMask())) return false; + } + if (getValidateOnly() != other.getValidateOnly()) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasInstanceConfig()) { + hash = (37 * hash) + INSTANCE_CONFIG_FIELD_NUMBER; + hash = (53 * hash) + getInstanceConfig().hashCode(); + } + if (hasUpdateMask()) { + hash = (37 * hash) + UPDATE_MASK_FIELD_NUMBER; + hash = (53 * hash) + getUpdateMask().hashCode(); + } + hash = (37 * hash) + VALIDATE_ONLY_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getValidateOnly()); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
+   * The request for
+   * [UpdateInstanceConfigRequest][InstanceAdmin.UpdateInstanceConfigRequest].
+   * 
+ * + * Protobuf type {@code google.spanner.admin.instance.v1.UpdateInstanceConfigRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.spanner.admin.instance.v1.UpdateInstanceConfigRequest) + com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.class, + com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.Builder.class); + } + + // Construct using com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + if (instanceConfigBuilder_ == null) { + instanceConfig_ = null; + } else { + instanceConfig_ = null; + instanceConfigBuilder_ = null; + } + if (updateMaskBuilder_ == null) { + updateMask_ = null; + } else { + updateMask_ = null; + updateMaskBuilder_ = null; + } + validateOnly_ = false; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto + .internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigRequest_descriptor; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest + getDefaultInstanceForType() { + return com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest build() { + com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest buildPartial() { + com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest result = + new com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest(this); + if (instanceConfigBuilder_ == null) { + result.instanceConfig_ = instanceConfig_; + } else { + result.instanceConfig_ = instanceConfigBuilder_.build(); + } + if (updateMaskBuilder_ == null) { + result.updateMask_ = updateMask_; + } else { + result.updateMask_ = updateMaskBuilder_.build(); + } + result.validateOnly_ = validateOnly_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest) { + return mergeFrom((com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest other) { + if (other + == com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.getDefaultInstance()) + return this; + if (other.hasInstanceConfig()) { + mergeInstanceConfig(other.getInstanceConfig()); + } + if (other.hasUpdateMask()) { + mergeUpdateMask(other.getUpdateMask()); + } + if (other.getValidateOnly() != false) { + setValidateOnly(other.getValidateOnly()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest) + e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private com.google.spanner.admin.instance.v1.InstanceConfig instanceConfig_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.spanner.admin.instance.v1.InstanceConfig, + com.google.spanner.admin.instance.v1.InstanceConfig.Builder, + com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder> + instanceConfigBuilder_; + /** + * + * + *
+     * Required. The user instance config to update, which must always include the
+     * instance config name. Otherwise, only fields mentioned in
+     * [update_mask][google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask]
+     * need be included. To prevent conflicts of concurrent updates,
+     * [etag][google.spanner.admin.instance.v1.InstanceConfig.reconciling] can
+     * be used.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the instanceConfig field is set. + */ + public boolean hasInstanceConfig() { + return instanceConfigBuilder_ != null || instanceConfig_ != null; + } + /** + * + * + *
+     * Required. The user instance config to update, which must always include the
+     * instance config name. Otherwise, only fields mentioned in
+     * [update_mask][google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask]
+     * need be included. To prevent conflicts of concurrent updates,
+     * [etag][google.spanner.admin.instance.v1.InstanceConfig.reconciling] can
+     * be used.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The instanceConfig. + */ + public com.google.spanner.admin.instance.v1.InstanceConfig getInstanceConfig() { + if (instanceConfigBuilder_ == null) { + return instanceConfig_ == null + ? com.google.spanner.admin.instance.v1.InstanceConfig.getDefaultInstance() + : instanceConfig_; + } else { + return instanceConfigBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Required. The user instance config to update, which must always include the
+     * instance config name. Otherwise, only fields mentioned in
+     * [update_mask][google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask]
+     * need be included. To prevent conflicts of concurrent updates,
+     * [etag][google.spanner.admin.instance.v1.InstanceConfig.reconciling] can
+     * be used.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setInstanceConfig(com.google.spanner.admin.instance.v1.InstanceConfig value) { + if (instanceConfigBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + instanceConfig_ = value; + onChanged(); + } else { + instanceConfigBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * Required. The user instance config to update, which must always include the
+     * instance config name. Otherwise, only fields mentioned in
+     * [update_mask][google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask]
+     * need be included. To prevent conflicts of concurrent updates,
+     * [etag][google.spanner.admin.instance.v1.InstanceConfig.reconciling] can
+     * be used.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setInstanceConfig( + com.google.spanner.admin.instance.v1.InstanceConfig.Builder builderForValue) { + if (instanceConfigBuilder_ == null) { + instanceConfig_ = builderForValue.build(); + onChanged(); + } else { + instanceConfigBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * Required. The user instance config to update, which must always include the
+     * instance config name. Otherwise, only fields mentioned in
+     * [update_mask][google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask]
+     * need be included. To prevent conflicts of concurrent updates,
+     * [etag][google.spanner.admin.instance.v1.InstanceConfig.reconciling] can
+     * be used.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeInstanceConfig(com.google.spanner.admin.instance.v1.InstanceConfig value) { + if (instanceConfigBuilder_ == null) { + if (instanceConfig_ != null) { + instanceConfig_ = + com.google.spanner.admin.instance.v1.InstanceConfig.newBuilder(instanceConfig_) + .mergeFrom(value) + .buildPartial(); + } else { + instanceConfig_ = value; + } + onChanged(); + } else { + instanceConfigBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * Required. The user instance config to update, which must always include the
+     * instance config name. Otherwise, only fields mentioned in
+     * [update_mask][google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask]
+     * need be included. To prevent conflicts of concurrent updates,
+     * [etag][google.spanner.admin.instance.v1.InstanceConfig.reconciling] can
+     * be used.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearInstanceConfig() { + if (instanceConfigBuilder_ == null) { + instanceConfig_ = null; + onChanged(); + } else { + instanceConfig_ = null; + instanceConfigBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * Required. The user instance config to update, which must always include the
+     * instance config name. Otherwise, only fields mentioned in
+     * [update_mask][google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask]
+     * need be included. To prevent conflicts of concurrent updates,
+     * [etag][google.spanner.admin.instance.v1.InstanceConfig.reconciling] can
+     * be used.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.spanner.admin.instance.v1.InstanceConfig.Builder getInstanceConfigBuilder() { + + onChanged(); + return getInstanceConfigFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Required. The user instance config to update, which must always include the
+     * instance config name. Otherwise, only fields mentioned in
+     * [update_mask][google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask]
+     * need be included. To prevent conflicts of concurrent updates,
+     * [etag][google.spanner.admin.instance.v1.InstanceConfig.reconciling] can
+     * be used.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder + getInstanceConfigOrBuilder() { + if (instanceConfigBuilder_ != null) { + return instanceConfigBuilder_.getMessageOrBuilder(); + } else { + return instanceConfig_ == null + ? com.google.spanner.admin.instance.v1.InstanceConfig.getDefaultInstance() + : instanceConfig_; + } + } + /** + * + * + *
+     * Required. The user instance config to update, which must always include the
+     * instance config name. Otherwise, only fields mentioned in
+     * [update_mask][google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask]
+     * need be included. To prevent conflicts of concurrent updates,
+     * [etag][google.spanner.admin.instance.v1.InstanceConfig.reconciling] can
+     * be used.
+     * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.spanner.admin.instance.v1.InstanceConfig, + com.google.spanner.admin.instance.v1.InstanceConfig.Builder, + com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder> + getInstanceConfigFieldBuilder() { + if (instanceConfigBuilder_ == null) { + instanceConfigBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.spanner.admin.instance.v1.InstanceConfig, + com.google.spanner.admin.instance.v1.InstanceConfig.Builder, + com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder>( + getInstanceConfig(), getParentForChildren(), isClean()); + instanceConfig_ = null; + } + return instanceConfigBuilder_; + } + + private com.google.protobuf.FieldMask updateMask_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder> + updateMaskBuilder_; + /** + * + * + *
+     * Required. A mask specifying which fields in
+     * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] should be
+     * updated. The field mask must always be specified; this prevents any future
+     * fields in [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig]
+     * from being erased accidentally by clients that do not know about them. Only
+     * display_name and labels can be updated.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the updateMask field is set. + */ + public boolean hasUpdateMask() { + return updateMaskBuilder_ != null || updateMask_ != null; + } + /** + * + * + *
+     * Required. A mask specifying which fields in
+     * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] should be
+     * updated. The field mask must always be specified; this prevents any future
+     * fields in [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig]
+     * from being erased accidentally by clients that do not know about them. Only
+     * display_name and labels can be updated.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The updateMask. + */ + public com.google.protobuf.FieldMask getUpdateMask() { + if (updateMaskBuilder_ == null) { + return updateMask_ == null + ? com.google.protobuf.FieldMask.getDefaultInstance() + : updateMask_; + } else { + return updateMaskBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Required. A mask specifying which fields in
+     * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] should be
+     * updated. The field mask must always be specified; this prevents any future
+     * fields in [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig]
+     * from being erased accidentally by clients that do not know about them. Only
+     * display_name and labels can be updated.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setUpdateMask(com.google.protobuf.FieldMask value) { + if (updateMaskBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateMask_ = value; + onChanged(); + } else { + updateMaskBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * Required. A mask specifying which fields in
+     * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] should be
+     * updated. The field mask must always be specified; this prevents any future
+     * fields in [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig]
+     * from being erased accidentally by clients that do not know about them. Only
+     * display_name and labels can be updated.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setUpdateMask(com.google.protobuf.FieldMask.Builder builderForValue) { + if (updateMaskBuilder_ == null) { + updateMask_ = builderForValue.build(); + onChanged(); + } else { + updateMaskBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * Required. A mask specifying which fields in
+     * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] should be
+     * updated. The field mask must always be specified; this prevents any future
+     * fields in [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig]
+     * from being erased accidentally by clients that do not know about them. Only
+     * display_name and labels can be updated.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeUpdateMask(com.google.protobuf.FieldMask value) { + if (updateMaskBuilder_ == null) { + if (updateMask_ != null) { + updateMask_ = + com.google.protobuf.FieldMask.newBuilder(updateMask_).mergeFrom(value).buildPartial(); + } else { + updateMask_ = value; + } + onChanged(); + } else { + updateMaskBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * Required. A mask specifying which fields in
+     * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] should be
+     * updated. The field mask must always be specified; this prevents any future
+     * fields in [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig]
+     * from being erased accidentally by clients that do not know about them. Only
+     * display_name and labels can be updated.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearUpdateMask() { + if (updateMaskBuilder_ == null) { + updateMask_ = null; + onChanged(); + } else { + updateMask_ = null; + updateMaskBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * Required. A mask specifying which fields in
+     * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] should be
+     * updated. The field mask must always be specified; this prevents any future
+     * fields in [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig]
+     * from being erased accidentally by clients that do not know about them. Only
+     * display_name and labels can be updated.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.protobuf.FieldMask.Builder getUpdateMaskBuilder() { + + onChanged(); + return getUpdateMaskFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Required. A mask specifying which fields in
+     * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] should be
+     * updated. The field mask must always be specified; this prevents any future
+     * fields in [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig]
+     * from being erased accidentally by clients that do not know about them. Only
+     * display_name and labels can be updated.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() { + if (updateMaskBuilder_ != null) { + return updateMaskBuilder_.getMessageOrBuilder(); + } else { + return updateMask_ == null + ? com.google.protobuf.FieldMask.getDefaultInstance() + : updateMask_; + } + } + /** + * + * + *
+     * Required. A mask specifying which fields in
+     * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] should be
+     * updated. The field mask must always be specified; this prevents any future
+     * fields in [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig]
+     * from being erased accidentally by clients that do not know about them. Only
+     * display_name and labels can be updated.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder> + getUpdateMaskFieldBuilder() { + if (updateMaskBuilder_ == null) { + updateMaskBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder>( + getUpdateMask(), getParentForChildren(), isClean()); + updateMask_ = null; + } + return updateMaskBuilder_; + } + + private boolean validateOnly_; + /** + * + * + *
+     * An option to validate, but not actually execute, a request,
+     * and provide the same response.
+     * 
+ * + * bool validate_only = 3; + * + * @return The validateOnly. + */ + @java.lang.Override + public boolean getValidateOnly() { + return validateOnly_; + } + /** + * + * + *
+     * An option to validate, but not actually execute, a request,
+     * and provide the same response.
+     * 
+ * + * bool validate_only = 3; + * + * @param value The validateOnly to set. + * @return This builder for chaining. + */ + public Builder setValidateOnly(boolean value) { + + validateOnly_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * An option to validate, but not actually execute, a request,
+     * and provide the same response.
+     * 
+ * + * bool validate_only = 3; + * + * @return This builder for chaining. + */ + public Builder clearValidateOnly() { + + validateOnly_ = false; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.spanner.admin.instance.v1.UpdateInstanceConfigRequest) + } + + // @@protoc_insertion_point(class_scope:google.spanner.admin.instance.v1.UpdateInstanceConfigRequest) + private static final com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest(); + } + + public static com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public UpdateInstanceConfigRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new UpdateInstanceConfigRequest(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigRequestOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigRequestOrBuilder.java new file mode 100644 index 00000000000..36afa00cc7c --- /dev/null +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigRequestOrBuilder.java @@ -0,0 +1,148 @@ +/* + * Copyright 2020 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 + * + * https://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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/spanner/admin/instance/v1/spanner_instance_admin.proto + +package com.google.spanner.admin.instance.v1; + +public interface UpdateInstanceConfigRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.spanner.admin.instance.v1.UpdateInstanceConfigRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The user instance config to update, which must always include the
+   * instance config name. Otherwise, only fields mentioned in
+   * [update_mask][google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask]
+   * need be included. To prevent conflicts of concurrent updates,
+   * [etag][google.spanner.admin.instance.v1.InstanceConfig.reconciling] can
+   * be used.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the instanceConfig field is set. + */ + boolean hasInstanceConfig(); + /** + * + * + *
+   * Required. The user instance config to update, which must always include the
+   * instance config name. Otherwise, only fields mentioned in
+   * [update_mask][google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask]
+   * need be included. To prevent conflicts of concurrent updates,
+   * [etag][google.spanner.admin.instance.v1.InstanceConfig.reconciling] can
+   * be used.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The instanceConfig. + */ + com.google.spanner.admin.instance.v1.InstanceConfig getInstanceConfig(); + /** + * + * + *
+   * Required. The user instance config to update, which must always include the
+   * instance config name. Otherwise, only fields mentioned in
+   * [update_mask][google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask]
+   * need be included. To prevent conflicts of concurrent updates,
+   * [etag][google.spanner.admin.instance.v1.InstanceConfig.reconciling] can
+   * be used.
+   * 
+ * + * + * .google.spanner.admin.instance.v1.InstanceConfig instance_config = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.spanner.admin.instance.v1.InstanceConfigOrBuilder getInstanceConfigOrBuilder(); + + /** + * + * + *
+   * Required. A mask specifying which fields in
+   * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] should be
+   * updated. The field mask must always be specified; this prevents any future
+   * fields in [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig]
+   * from being erased accidentally by clients that do not know about them. Only
+   * display_name and labels can be updated.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the updateMask field is set. + */ + boolean hasUpdateMask(); + /** + * + * + *
+   * Required. A mask specifying which fields in
+   * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] should be
+   * updated. The field mask must always be specified; this prevents any future
+   * fields in [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig]
+   * from being erased accidentally by clients that do not know about them. Only
+   * display_name and labels can be updated.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The updateMask. + */ + com.google.protobuf.FieldMask getUpdateMask(); + /** + * + * + *
+   * Required. A mask specifying which fields in
+   * [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] should be
+   * updated. The field mask must always be specified; this prevents any future
+   * fields in [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig]
+   * from being erased accidentally by clients that do not know about them. Only
+   * display_name and labels can be updated.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder(); + + /** + * + * + *
+   * An option to validate, but not actually execute, a request,
+   * and provide the same response.
+   * 
+ * + * bool validate_only = 3; + * + * @return The validateOnly. + */ + boolean getValidateOnly(); +} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceMetadata.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceMetadata.java index 6db0704d62e..c964684eaa5 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceMetadata.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceMetadata.java @@ -220,7 +220,8 @@ public com.google.spanner.admin.instance.v1.InstanceOrBuilder getInstanceOrBuild * * *
-   * The time at which [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
+   * The time at which
+   * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
    * request was received.
    * 
* @@ -236,7 +237,8 @@ public boolean hasStartTime() { * * *
-   * The time at which [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
+   * The time at which
+   * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
    * request was received.
    * 
* @@ -252,7 +254,8 @@ public com.google.protobuf.Timestamp getStartTime() { * * *
-   * The time at which [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
+   * The time at which
+   * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
    * request was received.
    * 
* @@ -973,7 +976,8 @@ public com.google.spanner.admin.instance.v1.InstanceOrBuilder getInstanceOrBuild * * *
-     * The time at which [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
+     * The time at which
+     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
      * request was received.
      * 
* @@ -988,7 +992,8 @@ public boolean hasStartTime() { * * *
-     * The time at which [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
+     * The time at which
+     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
      * request was received.
      * 
* @@ -1007,7 +1012,8 @@ public com.google.protobuf.Timestamp getStartTime() { * * *
-     * The time at which [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
+     * The time at which
+     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
      * request was received.
      * 
* @@ -1030,7 +1036,8 @@ public Builder setStartTime(com.google.protobuf.Timestamp value) { * * *
-     * The time at which [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
+     * The time at which
+     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
      * request was received.
      * 
* @@ -1050,7 +1057,8 @@ public Builder setStartTime(com.google.protobuf.Timestamp.Builder builderForValu * * *
-     * The time at which [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
+     * The time at which
+     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
      * request was received.
      * 
* @@ -1075,7 +1083,8 @@ public Builder mergeStartTime(com.google.protobuf.Timestamp value) { * * *
-     * The time at which [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
+     * The time at which
+     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
      * request was received.
      * 
* @@ -1096,7 +1105,8 @@ public Builder clearStartTime() { * * *
-     * The time at which [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
+     * The time at which
+     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
      * request was received.
      * 
* @@ -1111,7 +1121,8 @@ public com.google.protobuf.Timestamp.Builder getStartTimeBuilder() { * * *
-     * The time at which [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
+     * The time at which
+     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
      * request was received.
      * 
* @@ -1128,7 +1139,8 @@ public com.google.protobuf.TimestampOrBuilder getStartTimeOrBuilder() { * * *
-     * The time at which [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
+     * The time at which
+     * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
      * request was received.
      * 
* diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceMetadataOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceMetadataOrBuilder.java index 21f5b96a217..cb4f3c002dd 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceMetadataOrBuilder.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceMetadataOrBuilder.java @@ -62,7 +62,8 @@ public interface UpdateInstanceMetadataOrBuilder * * *
-   * The time at which [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
+   * The time at which
+   * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
    * request was received.
    * 
* @@ -75,7 +76,8 @@ public interface UpdateInstanceMetadataOrBuilder * * *
-   * The time at which [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
+   * The time at which
+   * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
    * request was received.
    * 
* @@ -88,7 +90,8 @@ public interface UpdateInstanceMetadataOrBuilder * * *
-   * The time at which [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
+   * The time at which
+   * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]
    * request was received.
    * 
* diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceRequest.java index 5450910e701..7e8e85b067b 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceRequest.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceRequest.java @@ -22,7 +22,8 @@ * * *
- * The request for [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance].
+ * The request for
+ * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance].
  * 
* * Protobuf type {@code google.spanner.admin.instance.v1.UpdateInstanceRequest} @@ -142,7 +143,9 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * *
    * Required. The instance to update, which must always include the instance
-   * name.  Otherwise, only fields mentioned in [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] need be included.
+   * name.  Otherwise, only fields mentioned in
+   * [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask]
+   * need be included.
    * 
* * @@ -160,7 +163,9 @@ public boolean hasInstance() { * *
    * Required. The instance to update, which must always include the instance
-   * name.  Otherwise, only fields mentioned in [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] need be included.
+   * name.  Otherwise, only fields mentioned in
+   * [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask]
+   * need be included.
    * 
* * @@ -180,7 +185,9 @@ public com.google.spanner.admin.instance.v1.Instance getInstance() { * *
    * Required. The instance to update, which must always include the instance
-   * name.  Otherwise, only fields mentioned in [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] need be included.
+   * name.  Otherwise, only fields mentioned in
+   * [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask]
+   * need be included.
    * 
* * @@ -198,10 +205,11 @@ public com.google.spanner.admin.instance.v1.InstanceOrBuilder getInstanceOrBuild * * *
-   * Required. A mask specifying which fields in [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
+   * Required. A mask specifying which fields in
+   * [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
    * The field mask must always be specified; this prevents any future fields in
-   * [Instance][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know
-   * about them.
+   * [Instance][google.spanner.admin.instance.v1.Instance] from being erased
+   * accidentally by clients that do not know about them.
    * 
* * .google.protobuf.FieldMask field_mask = 2 [(.google.api.field_behavior) = REQUIRED]; @@ -217,10 +225,11 @@ public boolean hasFieldMask() { * * *
-   * Required. A mask specifying which fields in [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
+   * Required. A mask specifying which fields in
+   * [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
    * The field mask must always be specified; this prevents any future fields in
-   * [Instance][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know
-   * about them.
+   * [Instance][google.spanner.admin.instance.v1.Instance] from being erased
+   * accidentally by clients that do not know about them.
    * 
* * .google.protobuf.FieldMask field_mask = 2 [(.google.api.field_behavior) = REQUIRED]; @@ -236,10 +245,11 @@ public com.google.protobuf.FieldMask getFieldMask() { * * *
-   * Required. A mask specifying which fields in [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
+   * Required. A mask specifying which fields in
+   * [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
    * The field mask must always be specified; this prevents any future fields in
-   * [Instance][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know
-   * about them.
+   * [Instance][google.spanner.admin.instance.v1.Instance] from being erased
+   * accidentally by clients that do not know about them.
    * 
* * .google.protobuf.FieldMask field_mask = 2 [(.google.api.field_behavior) = REQUIRED]; @@ -433,7 +443,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build * * *
-   * The request for [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance].
+   * The request for
+   * [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance].
    * 
* * Protobuf type {@code google.spanner.admin.instance.v1.UpdateInstanceRequest} @@ -620,7 +631,9 @@ public Builder mergeFrom( * *
      * Required. The instance to update, which must always include the instance
-     * name.  Otherwise, only fields mentioned in [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] need be included.
+     * name.  Otherwise, only fields mentioned in
+     * [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask]
+     * need be included.
      * 
* * @@ -637,7 +650,9 @@ public boolean hasInstance() { * *
      * Required. The instance to update, which must always include the instance
-     * name.  Otherwise, only fields mentioned in [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] need be included.
+     * name.  Otherwise, only fields mentioned in
+     * [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask]
+     * need be included.
      * 
* * @@ -660,7 +675,9 @@ public com.google.spanner.admin.instance.v1.Instance getInstance() { * *
      * Required. The instance to update, which must always include the instance
-     * name.  Otherwise, only fields mentioned in [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] need be included.
+     * name.  Otherwise, only fields mentioned in
+     * [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask]
+     * need be included.
      * 
* * @@ -685,7 +702,9 @@ public Builder setInstance(com.google.spanner.admin.instance.v1.Instance value) * *
      * Required. The instance to update, which must always include the instance
-     * name.  Otherwise, only fields mentioned in [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] need be included.
+     * name.  Otherwise, only fields mentioned in
+     * [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask]
+     * need be included.
      * 
* * @@ -708,7 +727,9 @@ public Builder setInstance( * *
      * Required. The instance to update, which must always include the instance
-     * name.  Otherwise, only fields mentioned in [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] need be included.
+     * name.  Otherwise, only fields mentioned in
+     * [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask]
+     * need be included.
      * 
* * @@ -737,7 +758,9 @@ public Builder mergeInstance(com.google.spanner.admin.instance.v1.Instance value * *
      * Required. The instance to update, which must always include the instance
-     * name.  Otherwise, only fields mentioned in [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] need be included.
+     * name.  Otherwise, only fields mentioned in
+     * [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask]
+     * need be included.
      * 
* * @@ -760,7 +783,9 @@ public Builder clearInstance() { * *
      * Required. The instance to update, which must always include the instance
-     * name.  Otherwise, only fields mentioned in [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] need be included.
+     * name.  Otherwise, only fields mentioned in
+     * [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask]
+     * need be included.
      * 
* * @@ -777,7 +802,9 @@ public com.google.spanner.admin.instance.v1.Instance.Builder getInstanceBuilder( * *
      * Required. The instance to update, which must always include the instance
-     * name.  Otherwise, only fields mentioned in [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] need be included.
+     * name.  Otherwise, only fields mentioned in
+     * [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask]
+     * need be included.
      * 
* * @@ -798,7 +825,9 @@ public com.google.spanner.admin.instance.v1.InstanceOrBuilder getInstanceOrBuild * *
      * Required. The instance to update, which must always include the instance
-     * name.  Otherwise, only fields mentioned in [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] need be included.
+     * name.  Otherwise, only fields mentioned in
+     * [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask]
+     * need be included.
      * 
* * @@ -832,10 +861,11 @@ public com.google.spanner.admin.instance.v1.InstanceOrBuilder getInstanceOrBuild * * *
-     * Required. A mask specifying which fields in [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
+     * Required. A mask specifying which fields in
+     * [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
      * The field mask must always be specified; this prevents any future fields in
-     * [Instance][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know
-     * about them.
+     * [Instance][google.spanner.admin.instance.v1.Instance] from being erased
+     * accidentally by clients that do not know about them.
      * 
* * .google.protobuf.FieldMask field_mask = 2 [(.google.api.field_behavior) = REQUIRED]; @@ -850,10 +880,11 @@ public boolean hasFieldMask() { * * *
-     * Required. A mask specifying which fields in [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
+     * Required. A mask specifying which fields in
+     * [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
      * The field mask must always be specified; this prevents any future fields in
-     * [Instance][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know
-     * about them.
+     * [Instance][google.spanner.admin.instance.v1.Instance] from being erased
+     * accidentally by clients that do not know about them.
      * 
* * .google.protobuf.FieldMask field_mask = 2 [(.google.api.field_behavior) = REQUIRED]; @@ -872,10 +903,11 @@ public com.google.protobuf.FieldMask getFieldMask() { * * *
-     * Required. A mask specifying which fields in [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
+     * Required. A mask specifying which fields in
+     * [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
      * The field mask must always be specified; this prevents any future fields in
-     * [Instance][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know
-     * about them.
+     * [Instance][google.spanner.admin.instance.v1.Instance] from being erased
+     * accidentally by clients that do not know about them.
      * 
* * .google.protobuf.FieldMask field_mask = 2 [(.google.api.field_behavior) = REQUIRED]; @@ -898,10 +930,11 @@ public Builder setFieldMask(com.google.protobuf.FieldMask value) { * * *
-     * Required. A mask specifying which fields in [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
+     * Required. A mask specifying which fields in
+     * [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
      * The field mask must always be specified; this prevents any future fields in
-     * [Instance][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know
-     * about them.
+     * [Instance][google.spanner.admin.instance.v1.Instance] from being erased
+     * accidentally by clients that do not know about them.
      * 
* * .google.protobuf.FieldMask field_mask = 2 [(.google.api.field_behavior) = REQUIRED]; @@ -921,10 +954,11 @@ public Builder setFieldMask(com.google.protobuf.FieldMask.Builder builderForValu * * *
-     * Required. A mask specifying which fields in [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
+     * Required. A mask specifying which fields in
+     * [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
      * The field mask must always be specified; this prevents any future fields in
-     * [Instance][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know
-     * about them.
+     * [Instance][google.spanner.admin.instance.v1.Instance] from being erased
+     * accidentally by clients that do not know about them.
      * 
* * .google.protobuf.FieldMask field_mask = 2 [(.google.api.field_behavior) = REQUIRED]; @@ -949,10 +983,11 @@ public Builder mergeFieldMask(com.google.protobuf.FieldMask value) { * * *
-     * Required. A mask specifying which fields in [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
+     * Required. A mask specifying which fields in
+     * [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
      * The field mask must always be specified; this prevents any future fields in
-     * [Instance][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know
-     * about them.
+     * [Instance][google.spanner.admin.instance.v1.Instance] from being erased
+     * accidentally by clients that do not know about them.
      * 
* * .google.protobuf.FieldMask field_mask = 2 [(.google.api.field_behavior) = REQUIRED]; @@ -973,10 +1008,11 @@ public Builder clearFieldMask() { * * *
-     * Required. A mask specifying which fields in [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
+     * Required. A mask specifying which fields in
+     * [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
      * The field mask must always be specified; this prevents any future fields in
-     * [Instance][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know
-     * about them.
+     * [Instance][google.spanner.admin.instance.v1.Instance] from being erased
+     * accidentally by clients that do not know about them.
      * 
* * .google.protobuf.FieldMask field_mask = 2 [(.google.api.field_behavior) = REQUIRED]; @@ -991,10 +1027,11 @@ public com.google.protobuf.FieldMask.Builder getFieldMaskBuilder() { * * *
-     * Required. A mask specifying which fields in [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
+     * Required. A mask specifying which fields in
+     * [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
      * The field mask must always be specified; this prevents any future fields in
-     * [Instance][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know
-     * about them.
+     * [Instance][google.spanner.admin.instance.v1.Instance] from being erased
+     * accidentally by clients that do not know about them.
      * 
* * .google.protobuf.FieldMask field_mask = 2 [(.google.api.field_behavior) = REQUIRED]; @@ -1011,10 +1048,11 @@ public com.google.protobuf.FieldMaskOrBuilder getFieldMaskOrBuilder() { * * *
-     * Required. A mask specifying which fields in [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
+     * Required. A mask specifying which fields in
+     * [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
      * The field mask must always be specified; this prevents any future fields in
-     * [Instance][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know
-     * about them.
+     * [Instance][google.spanner.admin.instance.v1.Instance] from being erased
+     * accidentally by clients that do not know about them.
      * 
* * .google.protobuf.FieldMask field_mask = 2 [(.google.api.field_behavior) = REQUIRED]; diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceRequestOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceRequestOrBuilder.java index d6dbb6a721a..6d01be2120f 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceRequestOrBuilder.java +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceRequestOrBuilder.java @@ -28,7 +28,9 @@ public interface UpdateInstanceRequestOrBuilder * *
    * Required. The instance to update, which must always include the instance
-   * name.  Otherwise, only fields mentioned in [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] need be included.
+   * name.  Otherwise, only fields mentioned in
+   * [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask]
+   * need be included.
    * 
* * @@ -43,7 +45,9 @@ public interface UpdateInstanceRequestOrBuilder * *
    * Required. The instance to update, which must always include the instance
-   * name.  Otherwise, only fields mentioned in [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] need be included.
+   * name.  Otherwise, only fields mentioned in
+   * [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask]
+   * need be included.
    * 
* * @@ -58,7 +62,9 @@ public interface UpdateInstanceRequestOrBuilder * *
    * Required. The instance to update, which must always include the instance
-   * name.  Otherwise, only fields mentioned in [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] need be included.
+   * name.  Otherwise, only fields mentioned in
+   * [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask]
+   * need be included.
    * 
* * @@ -71,10 +77,11 @@ public interface UpdateInstanceRequestOrBuilder * * *
-   * Required. A mask specifying which fields in [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
+   * Required. A mask specifying which fields in
+   * [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
    * The field mask must always be specified; this prevents any future fields in
-   * [Instance][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know
-   * about them.
+   * [Instance][google.spanner.admin.instance.v1.Instance] from being erased
+   * accidentally by clients that do not know about them.
    * 
* * .google.protobuf.FieldMask field_mask = 2 [(.google.api.field_behavior) = REQUIRED]; @@ -87,10 +94,11 @@ public interface UpdateInstanceRequestOrBuilder * * *
-   * Required. A mask specifying which fields in [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
+   * Required. A mask specifying which fields in
+   * [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
    * The field mask must always be specified; this prevents any future fields in
-   * [Instance][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know
-   * about them.
+   * [Instance][google.spanner.admin.instance.v1.Instance] from being erased
+   * accidentally by clients that do not know about them.
    * 
* * .google.protobuf.FieldMask field_mask = 2 [(.google.api.field_behavior) = REQUIRED]; @@ -103,10 +111,11 @@ public interface UpdateInstanceRequestOrBuilder * * *
-   * Required. A mask specifying which fields in [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
+   * Required. A mask specifying which fields in
+   * [Instance][google.spanner.admin.instance.v1.Instance] should be updated.
    * The field mask must always be specified; this prevents any future fields in
-   * [Instance][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know
-   * about them.
+   * [Instance][google.spanner.admin.instance.v1.Instance] from being erased
+   * accidentally by clients that do not know about them.
    * 
* * .google.protobuf.FieldMask field_mask = 2 [(.google.api.field_behavior) = REQUIRED]; diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/proto/google/spanner/admin/instance/v1/common.proto b/proto-google-cloud-spanner-admin-instance-v1/src/main/proto/google/spanner/admin/instance/v1/common.proto new file mode 100644 index 00000000000..e93b33476e8 --- /dev/null +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/proto/google/spanner/admin/instance/v1/common.proto @@ -0,0 +1,42 @@ +// Copyright 2022 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. + +syntax = "proto3"; + +package google.spanner.admin.instance.v1; + +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Spanner.Admin.Instance.V1"; +option go_package = "google.golang.org/genproto/googleapis/spanner/admin/instance/v1;instance"; +option java_multiple_files = true; +option java_outer_classname = "CommonProto"; +option java_package = "com.google.spanner.admin.instance.v1"; +option php_namespace = "Google\\Cloud\\Spanner\\Admin\\Instance\\V1"; +option ruby_package = "Google::Cloud::Spanner::Admin::Instance::V1"; + +// Encapsulates progress related information for a Cloud Spanner long +// running instance operations. +message OperationProgress { + // Percent completion of the operation. + // Values are between 0 and 100 inclusive. + int32 progress_percent = 1; + + // Time the request was received. + google.protobuf.Timestamp start_time = 2; + + // If set, the time at which this operation failed or was completed + // successfully. + google.protobuf.Timestamp end_time = 3; +} diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/proto/google/spanner/admin/instance/v1/spanner_instance_admin.proto b/proto-google-cloud-spanner-admin-instance-v1/src/main/proto/google/spanner/admin/instance/v1/spanner_instance_admin.proto index 3bde51d99d5..85b041134ea 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/src/main/proto/google/spanner/admin/instance/v1/spanner_instance_admin.proto +++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/proto/google/spanner/admin/instance/v1/spanner_instance_admin.proto @@ -26,6 +26,7 @@ import "google/longrunning/operations.proto"; import "google/protobuf/empty.proto"; import "google/protobuf/field_mask.proto"; import "google/protobuf/timestamp.proto"; +import "google/spanner/admin/instance/v1/common.proto"; option csharp_namespace = "Google.Cloud.Spanner.Admin.Instance.V1"; option go_package = "google.golang.org/genproto/googleapis/spanner/admin/instance/v1;instance"; @@ -63,7 +64,8 @@ service InstanceAdmin { "https://www.googleapis.com/auth/spanner.admin"; // Lists the supported instance configurations for a given project. - rpc ListInstanceConfigs(ListInstanceConfigsRequest) returns (ListInstanceConfigsResponse) { + rpc ListInstanceConfigs(ListInstanceConfigsRequest) + returns (ListInstanceConfigsResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*}/instanceConfigs" }; @@ -78,6 +80,153 @@ service InstanceAdmin { option (google.api.method_signature) = "name"; } + // Creates an instance config and begins preparing it to be used. The + // returned [long-running operation][google.longrunning.Operation] + // can be used to track the progress of preparing the new + // instance config. The instance config name is assigned by the caller. If the + // named instance config already exists, `CreateInstanceConfig` returns + // `ALREADY_EXISTS`. + // + // Immediately after the request returns: + // + // * The instance config is readable via the API, with all requested + // attributes. The instance config's + // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] + // field is set to true. Its state is `CREATING`. + // + // While the operation is pending: + // + // * Cancelling the operation renders the instance config immediately + // unreadable via the API. + // * Except for deleting the creating resource, all other attempts to modify + // the instance config are rejected. + // + // Upon completion of the returned operation: + // + // * Instances can be created using the instance configuration. + // * The instance config's + // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] + // field becomes false. Its state becomes `READY`. + // + // The returned [long-running operation][google.longrunning.Operation] will + // have a name of the format + // `/operations/` and can be used to track + // creation of the instance config. The + // [metadata][google.longrunning.Operation.metadata] field type is + // [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata]. + // The [response][google.longrunning.Operation.response] field type is + // [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if + // successful. + // + // Authorization requires `spanner.instanceConfigs.create` permission on + // the resource + // [parent][google.spanner.admin.instance.v1.CreateInstanceConfigRequest.parent]. + rpc CreateInstanceConfig(CreateInstanceConfigRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*}/instanceConfigs" + body: "*" + }; + option (google.api.method_signature) = + "parent,instance_config,instance_config_id"; + option (google.longrunning.operation_info) = { + response_type: "google.spanner.admin.instance.v1.InstanceConfig" + metadata_type: "google.spanner.admin.instance.v1.CreateInstanceConfigMetadata" + }; + } + + // Updates an instance config. The returned + // [long-running operation][google.longrunning.Operation] can be used to track + // the progress of updating the instance. If the named instance config does + // not exist, returns `NOT_FOUND`. + // + // Only user managed configurations can be updated. + // + // Immediately after the request returns: + // + // * The instance config's + // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] + // field is set to true. + // + // While the operation is pending: + // + // * Cancelling the operation sets its metadata's + // [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.cancel_time]. + // The operation is guaranteed to succeed at undoing all changes, after + // which point it terminates with a `CANCELLED` status. + // * All other attempts to modify the instance config are rejected. + // * Reading the instance config via the API continues to give the + // pre-request values. + // + // Upon completion of the returned operation: + // + // * Creating instances using the instance configuration uses the new + // values. + // * The instance config's new values are readable via the API. + // * The instance config's + // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] + // field becomes false. + // + // The returned [long-running operation][google.longrunning.Operation] will + // have a name of the format + // `/operations/` and can be used to track + // the instance config modification. The + // [metadata][google.longrunning.Operation.metadata] field type is + // [UpdateInstanceConfigMetadata][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata]. + // The [response][google.longrunning.Operation.response] field type is + // [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig], if + // successful. + // + // Authorization requires `spanner.instanceConfigs.update` permission on + // the resource [name][google.spanner.admin.instance.v1.InstanceConfig.name]. + rpc UpdateInstanceConfig(UpdateInstanceConfigRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{instance_config.name=projects/*/instanceConfigs/*}" + body: "*" + }; + option (google.api.method_signature) = "instance_config,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "google.spanner.admin.instance.v1.InstanceConfig" + metadata_type: "google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata" + }; + } + + // Deletes the instance config. Deletion is only allowed when no + // instances are using the configuration. If any instances are using + // the config, returns `FAILED_PRECONDITION`. + // + // Only user managed configurations can be deleted. + // + // Authorization requires `spanner.instanceConfigs.delete` permission on + // the resource [name][google.spanner.admin.instance.v1.InstanceConfig.name]. + rpc DeleteInstanceConfig(DeleteInstanceConfigRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/instanceConfigs/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists the user-managed instance config [long-running + // operations][google.longrunning.Operation] in the given project. An instance + // config operation has a name of the form + // `projects//instanceConfigs//operations/`. + // The long-running operation + // [metadata][google.longrunning.Operation.metadata] field type + // `metadata.type_url` describes the type of the metadata. Operations returned + // include those that have completed/failed/canceled within the last 7 days, + // and pending operations. Operations returned are ordered by + // `operation.metadata.value.start_time` in descending order starting + // from the most recently started operation. + rpc ListInstanceConfigOperations(ListInstanceConfigOperationsRequest) + returns (ListInstanceConfigOperationsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*}/instanceConfigOperations" + }; + option (google.api.method_signature) = "parent"; + } + // Lists all instances in the given project. rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) { option (google.api.http) = { @@ -128,7 +277,8 @@ service InstanceAdmin { // [CreateInstanceMetadata][google.spanner.admin.instance.v1.CreateInstanceMetadata]. // The [response][google.longrunning.Operation.response] field type is // [Instance][google.spanner.admin.instance.v1.Instance], if successful. - rpc CreateInstance(CreateInstanceRequest) returns (google.longrunning.Operation) { + rpc CreateInstance(CreateInstanceRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{parent=projects/*}/instances" body: "*" @@ -154,9 +304,9 @@ service InstanceAdmin { // Until completion of the returned operation: // // * Cancelling the operation sets its metadata's - // [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceMetadata.cancel_time], and begins - // restoring resources to their pre-request values. The operation - // is guaranteed to succeed at undoing all resource changes, + // [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceMetadata.cancel_time], + // and begins restoring resources to their pre-request values. The + // operation is guaranteed to succeed at undoing all resource changes, // after which point it terminates with a `CANCELLED` status. // * All other attempts to modify the instance are rejected. // * Reading the instance via the API continues to give the pre-request @@ -180,7 +330,8 @@ service InstanceAdmin { // // Authorization requires `spanner.instances.update` permission on // the resource [name][google.spanner.admin.instance.v1.Instance.name]. - rpc UpdateInstance(UpdateInstanceRequest) returns (google.longrunning.Operation) { + rpc UpdateInstance(UpdateInstanceRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { patch: "/v1/{instance.name=projects/*/instances/*}" body: "*" @@ -215,7 +366,8 @@ service InstanceAdmin { // // Authorization requires `spanner.instances.setIamPolicy` on // [resource][google.iam.v1.SetIamPolicyRequest.resource]. - rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) { + rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) + returns (google.iam.v1.Policy) { option (google.api.http) = { post: "/v1/{resource=projects/*/instances/*}:setIamPolicy" body: "*" @@ -228,7 +380,8 @@ service InstanceAdmin { // // Authorization requires `spanner.instances.getIamPolicy` on // [resource][google.iam.v1.GetIamPolicyRequest.resource]. - rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) { + rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) + returns (google.iam.v1.Policy) { option (google.api.http) = { post: "/v1/{resource=projects/*/instances/*}:getIamPolicy" body: "*" @@ -242,7 +395,8 @@ service InstanceAdmin { // result in a NOT_FOUND error if the user has `spanner.instances.list` // permission on the containing Google Cloud Project. Otherwise returns an // empty set of permissions. - rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) { + rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) + returns (google.iam.v1.TestIamPermissionsResponse) { option (google.api.http) = { post: "/v1/{resource=projects/*/instances/*}:testIamPermissions" body: "*" @@ -307,6 +461,31 @@ message InstanceConfig { pattern: "projects/{project}/instanceConfigs/{instance_config}" }; + // The type of this configuration. + enum Type { + // Unspecified. + TYPE_UNSPECIFIED = 0; + + // Google managed configuration. + GOOGLE_MANAGED = 1; + + // User managed configuration. + USER_MANAGED = 2; + } + + // Indicates the current state of the instance config. + enum State { + // Not specified. + STATE_UNSPECIFIED = 0; + + // The instance config is still being created. + CREATING = 1; + + // The instance config is fully created and ready to be used to create + // instances. + READY = 2; + } + // A unique identifier for the instance configuration. Values // are of the form // `projects//instanceConfigs/[a-z][-a-z0-9]*`. @@ -315,13 +494,72 @@ message InstanceConfig { // The name of this instance configuration as it appears in UIs. string display_name = 2; + // Output only. Whether this instance config is a Google or User Managed + // Configuration. + Type config_type = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + // The geographic placement of nodes in this instance configuration and their // replication properties. repeated ReplicaInfo replicas = 3; + // Output only. The available optional replicas to choose from for user + // managed configurations. Populated for Google managed configurations. + repeated ReplicaInfo optional_replicas = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Base configuration name, e.g. projects//instanceConfigs/nam3, + // based on which this configuration is created. Only set for user managed + // configurations. `base_config` must refer to a configuration of type + // GOOGLE_MANAGED in the same project as this configuration. + string base_config = 7 [(google.api.resource_reference) = { + type: "spanner.googleapis.com/InstanceConfig" + }]; + + // Cloud Labels are a flexible and lightweight mechanism for organizing cloud + // resources into groups that reflect a customer's organizational needs and + // deployment strategies. Cloud Labels can be used to filter collections of + // resources. They can be used to control how resource metrics are aggregated. + // And they can be used as arguments to policy management rules (e.g. route, + // firewall, load balancing, etc.). + // + // * Label keys must be between 1 and 63 characters long and must conform to + // the following regular expression: `[a-z][a-z0-9_-]{0,62}`. + // * Label values must be between 0 and 63 characters long and must conform + // to the regular expression `[a-z0-9_-]{0,63}`. + // * No more than 64 labels can be associated with a given resource. + // + // See https://goo.gl/xmQnxf for more information on and examples of labels. + // + // If you plan to use labels in your own code, please note that additional + // characters may be allowed in the future. Therefore, you are advised to use + // an internal label representation, such as JSON, which doesn't rely upon + // specific characters being disallowed. For example, representing labels + // as the string: name + "_" + value would prove problematic if we were to + // allow "_" in a future release. + map labels = 8; + + // etag is used for optimistic concurrency control as a way + // to help prevent simultaneous updates of a instance config from overwriting + // each other. It is strongly suggested that systems make use of the etag in + // the read-modify-write cycle to perform instance config updates in order to + // avoid race conditions: An etag is returned in the response which contains + // instance configs, and systems are expected to put that etag in the request + // to update instance config to ensure that their change will be applied to + // the same version of the instance config. + // If no etag is provided in the call to update instance config, then the + // existing instance config is overwritten blindly. + string etag = 9; + // Allowed values of the "default_leader" schema option for databases in // instances that use this instance configuration. repeated string leader_options = 4; + + // Output only. If true, the instance config is being created or updated. If + // false, there are no ongoing operations for the instance config. + bool reconciling = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The current instance config state. + State state = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; } // An isolated set of Cloud Spanner resources on which databases can be hosted. @@ -387,10 +625,10 @@ message Instance { int32 processing_units = 9; // Output only. The current instance state. For - // [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance], the state must be - // either omitted or set to `CREATING`. For - // [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance], the state must be - // either omitted or set to `READY`. + // [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance], + // the state must be either omitted or set to `CREATING`. For + // [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance], + // the state must be either omitted or set to `READY`. State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; // Cloud Labels are a flexible and lightweight mechanism for organizing cloud @@ -420,13 +658,16 @@ message Instance { repeated string endpoint_uris = 8; // Output only. The time at which the instance was created. - google.protobuf.Timestamp create_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp create_time = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The time at which the instance was most recently updated. - google.protobuf.Timestamp update_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp update_time = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; } -// The request for [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs]. +// The request for +// [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs]. message ListInstanceConfigsRequest { // Required. The name of the project for which a list of supported instance // configurations is requested. Values are of the form @@ -444,18 +685,20 @@ message ListInstanceConfigsRequest { // If non-empty, `page_token` should contain a // [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigsResponse.next_page_token] - // from a previous [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse]. + // from a previous + // [ListInstanceConfigsResponse][google.spanner.admin.instance.v1.ListInstanceConfigsResponse]. string page_token = 3; } -// The response for [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs]. +// The response for +// [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs]. message ListInstanceConfigsResponse { // The list of requested instance configurations. repeated InstanceConfig instance_configs = 1; // `next_page_token` can be sent in a subsequent - // [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs] call to - // fetch more of the matching instance configurations. + // [ListInstanceConfigs][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs] + // call to fetch more of the matching instance configurations. string next_page_token = 2; } @@ -472,7 +715,175 @@ message GetInstanceConfigRequest { ]; } -// The request for [GetInstance][google.spanner.admin.instance.v1.InstanceAdmin.GetInstance]. +// The request for +// [CreateInstanceConfigRequest][InstanceAdmin.CreateInstanceConfigRequest]. +message CreateInstanceConfigRequest { + // Required. The name of the project in which to create the instance config. + // Values are of the form `projects/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudresourcemanager.googleapis.com/Project" + } + ]; + + // Required. The ID of the instance config to create. Valid identifiers are + // of the form `custom-[-a-z0-9]*[a-z0-9]` and must be between 2 and 64 + // characters in length. The `custom-` prefix is required to avoid name + // conflicts with Google managed configurations. + string instance_config_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The InstanceConfig proto of the configuration to create. + // instance_config.name must be + // `/instanceConfigs/`. + // instance_config.base_config must be a Google managed configuration name, + // e.g. /instanceConfigs/us-east1, /instanceConfigs/nam3. + InstanceConfig instance_config = 3 [(google.api.field_behavior) = REQUIRED]; + + // An option to validate, but not actually execute, a request, + // and provide the same response. + bool validate_only = 4; +} + +// The request for +// [UpdateInstanceConfigRequest][InstanceAdmin.UpdateInstanceConfigRequest]. +message UpdateInstanceConfigRequest { + // Required. The user instance config to update, which must always include the + // instance config name. Otherwise, only fields mentioned in + // [update_mask][google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask] + // need be included. To prevent conflicts of concurrent updates, + // [etag][google.spanner.admin.instance.v1.InstanceConfig.reconciling] can + // be used. + InstanceConfig instance_config = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. A mask specifying which fields in + // [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] should be + // updated. The field mask must always be specified; this prevents any future + // fields in [InstanceConfig][google.spanner.admin.instance.v1.InstanceConfig] + // from being erased accidentally by clients that do not know about them. Only + // display_name and labels can be updated. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; + + // An option to validate, but not actually execute, a request, + // and provide the same response. + bool validate_only = 3; +} + +// The request for +// [DeleteInstanceConfigRequest][InstanceAdmin.DeleteInstanceConfigRequest]. +message DeleteInstanceConfigRequest { + // Required. The name of the instance configuration to be deleted. + // Values are of the form + // `projects//instanceConfigs/` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "spanner.googleapis.com/InstanceConfig" + } + ]; + + // Used for optimistic concurrency control as a way to help prevent + // simultaneous deletes of an instance config from overwriting each + // other. If not empty, the API + // only deletes the instance config when the etag provided matches the current + // status of the requested instance config. Otherwise, deletes the instance + // config without checking the current status of the requested instance + // config. + string etag = 2; + + // An option to validate, but not actually execute, a request, + // and provide the same response. + bool validate_only = 3; +} + +// The request for +// [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations]. +message ListInstanceConfigOperationsRequest { + // Required. The project of the instance config operations. + // Values are of the form `projects/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudresourcemanager.googleapis.com/Project" + } + ]; + + // An expression that filters the list of returned operations. + // + // A filter expression consists of a field name, a + // comparison operator, and a value for filtering. + // The value must be a string, a number, or a boolean. The comparison operator + // must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`. + // Colon `:` is the contains operator. Filter rules are not case sensitive. + // + // The following fields in the [Operation][google.longrunning.Operation] + // are eligible for filtering: + // + // * `name` - The name of the long-running operation + // * `done` - False if the operation is in progress, else true. + // * `metadata.@type` - the type of metadata. For example, the type string + // for + // [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata] + // is + // `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata`. + // * `metadata.` - any field in metadata.value. + // `metadata.@type` must be specified first, if filtering on metadata + // fields. + // * `error` - Error associated with the long-running operation. + // * `response.@type` - the type of response. + // * `response.` - any field in response.value. + // + // You can combine multiple expressions by enclosing each expression in + // parentheses. By default, expressions are combined with AND logic. However, + // you can specify AND, OR, and NOT logic explicitly. + // + // Here are a few examples: + // + // * `done:true` - The operation is complete. + // * `(metadata.@type=` \ + // `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata) + // AND` \ + // `(metadata.instance_config.name:custom-config) AND` \ + // `(metadata.progress.start_time < \"2021-03-28T14:50:00Z\") AND` \ + // `(error:*)` - Return operations where: + // * The operation's metadata type is + // [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata]. + // * The instance config name contains "custom-config". + // * The operation started before 2021-03-28T14:50:00Z. + // * The operation resulted in an error. + string filter = 2; + + // Number of operations to be returned in the response. If 0 or + // less, defaults to the server's maximum allowed page size. + int32 page_size = 3; + + // If non-empty, `page_token` should contain a + // [next_page_token][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.next_page_token] + // from a previous + // [ListInstanceConfigOperationsResponse][google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse] + // to the same `parent` and with the same `filter`. + string page_token = 4; +} + +// The response for +// [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations]. +message ListInstanceConfigOperationsResponse { + // The list of matching instance config [long-running + // operations][google.longrunning.Operation]. Each operation's name will be + // prefixed by the instance config's name. The operation's + // [metadata][google.longrunning.Operation.metadata] field type + // `metadata.type_url` describes the type of the metadata. + repeated google.longrunning.Operation operations = 1; + + // `next_page_token` can be sent in a subsequent + // [ListInstanceConfigOperations][google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigOperations] + // call to fetch more of the matching metadata. + string next_page_token = 2; +} + +// The request for +// [GetInstance][google.spanner.admin.instance.v1.InstanceAdmin.GetInstance]. message GetInstanceRequest { // Required. The name of the requested instance. Values are of the form // `projects//instances/`. @@ -483,13 +894,15 @@ message GetInstanceRequest { } ]; - // If field_mask is present, specifies the subset of [Instance][google.spanner.admin.instance.v1.Instance] fields that - // should be returned. - // If absent, all [Instance][google.spanner.admin.instance.v1.Instance] fields are returned. + // If field_mask is present, specifies the subset of + // [Instance][google.spanner.admin.instance.v1.Instance] fields that should be + // returned. If absent, all + // [Instance][google.spanner.admin.instance.v1.Instance] fields are returned. google.protobuf.FieldMask field_mask = 2; } -// The request for [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]. +// The request for +// [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance]. message CreateInstanceRequest { // Required. The name of the project in which to create the instance. Values // are of the form `projects/`. @@ -510,7 +923,8 @@ message CreateInstanceRequest { Instance instance = 3 [(google.api.field_behavior) = REQUIRED]; } -// The request for [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances]. +// The request for +// [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances]. message ListInstancesRequest { // Required. The name of the project for which a list of instances is // requested. Values are of the form `projects/`. @@ -526,8 +940,9 @@ message ListInstancesRequest { int32 page_size = 2; // If non-empty, `page_token` should contain a - // [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token] from a - // previous [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse]. + // [next_page_token][google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token] + // from a previous + // [ListInstancesResponse][google.spanner.admin.instance.v1.ListInstancesResponse]. string page_token = 3; // An expression for filtering the results of the request. Filter rules are @@ -552,31 +967,38 @@ message ListInstancesRequest { string filter = 4; } -// The response for [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances]. +// The response for +// [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances]. message ListInstancesResponse { // The list of requested instances. repeated Instance instances = 1; // `next_page_token` can be sent in a subsequent - // [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances] call to fetch more - // of the matching instances. + // [ListInstances][google.spanner.admin.instance.v1.InstanceAdmin.ListInstances] + // call to fetch more of the matching instances. string next_page_token = 2; } -// The request for [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]. +// The request for +// [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance]. message UpdateInstanceRequest { // Required. The instance to update, which must always include the instance - // name. Otherwise, only fields mentioned in [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] need be included. + // name. Otherwise, only fields mentioned in + // [field_mask][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] + // need be included. Instance instance = 1 [(google.api.field_behavior) = REQUIRED]; - // Required. A mask specifying which fields in [Instance][google.spanner.admin.instance.v1.Instance] should be updated. + // Required. A mask specifying which fields in + // [Instance][google.spanner.admin.instance.v1.Instance] should be updated. // The field mask must always be specified; this prevents any future fields in - // [Instance][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know - // about them. - google.protobuf.FieldMask field_mask = 2 [(google.api.field_behavior) = REQUIRED]; + // [Instance][google.spanner.admin.instance.v1.Instance] from being erased + // accidentally by clients that do not know about them. + google.protobuf.FieldMask field_mask = 2 + [(google.api.field_behavior) = REQUIRED]; } -// The request for [DeleteInstance][google.spanner.admin.instance.v1.InstanceAdmin.DeleteInstance]. +// The request for +// [DeleteInstance][google.spanner.admin.instance.v1.InstanceAdmin.DeleteInstance]. message DeleteInstanceRequest { // Required. The name of the instance to be deleted. Values are of the form // `projects//instances/` @@ -595,8 +1017,8 @@ message CreateInstanceMetadata { Instance instance = 1; // The time at which the - // [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance] request was - // received. + // [CreateInstance][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance] + // request was received. google.protobuf.Timestamp start_time = 2; // The time at which this operation was cancelled. If set, this operation is @@ -614,7 +1036,8 @@ message UpdateInstanceMetadata { // The desired end state of the update. Instance instance = 1; - // The time at which [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance] + // The time at which + // [UpdateInstance][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance] // request was received. google.protobuf.Timestamp start_time = 2; @@ -626,3 +1049,33 @@ message UpdateInstanceMetadata { // The time at which this operation failed or was completed successfully. google.protobuf.Timestamp end_time = 4; } + +// Metadata type for the operation returned by +// [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig]. +message CreateInstanceConfigMetadata { + // The target instance config end state. + InstanceConfig instance_config = 1; + + // The progress of the + // [CreateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig] + // operation. + OperationProgress progress = 2; + + // The time at which this operation was cancelled. + google.protobuf.Timestamp cancel_time = 3; +} + +// Metadata type for the operation returned by +// [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig]. +message UpdateInstanceConfigMetadata { + // The desired instance config after updating. + InstanceConfig instance_config = 1; + + // The progress of the + // [UpdateInstanceConfig][google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig] + // operation. + OperationProgress progress = 2; + + // The time at which this operation was cancelled. + google.protobuf.Timestamp cancel_time = 3; +} From fcda23313de91d54fe67299f81e2960ed8dc1aac Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 16 Sep 2022 12:03:12 -0400 Subject: [PATCH 14/14] chore(main): release 6.30.0 (#2001) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- CHANGELOG.md | 21 +++++++++++++++++++ google-cloud-spanner-bom/pom.xml | 18 ++++++++-------- google-cloud-spanner/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- grpc-google-cloud-spanner-v1/pom.xml | 4 ++-- pom.xml | 16 +++++++------- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- proto-google-cloud-spanner-v1/pom.xml | 4 ++-- samples/snapshot/pom.xml | 2 +- versions.txt | 14 ++++++------- 12 files changed, 60 insertions(+), 39 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 06fb0b10560..aa96da6bfd1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,26 @@ # Changelog +## [6.30.0](https://github.com/googleapis/java-spanner/compare/v6.29.1...v6.30.0) (2022-09-16) + + +### Features + +* Add custom instance config operations ([#1999](https://github.com/googleapis/java-spanner/issues/1999)) ([74f9c3b](https://github.com/googleapis/java-spanner/commit/74f9c3bc161748e52fed9af8f9fa26a236dc0140)) +* Add gRPC RLS dependency ([#1875](https://github.com/googleapis/java-spanner/issues/1875)) ([31cf06e](https://github.com/googleapis/java-spanner/commit/31cf06e1f145dfaba8c2ed70732b4eb06086e0cc)) +* Default transaction isolation ([#1998](https://github.com/googleapis/java-spanner/issues/1998)) ([33aa21c](https://github.com/googleapis/java-spanner/commit/33aa21c09f01cc40d156035d2b63fca03257ef6c)) + + +### Bug Fixes + +* Retries of updates in the Connection API ignored analyze mode ([#2010](https://github.com/googleapis/java-spanner/issues/2010)) ([d54f252](https://github.com/googleapis/java-spanner/commit/d54f2521f1629658bc54f67ba549ea199a77c5a8)) + + +### Dependencies + +* Update dependency com.google.cloud:google-cloud-monitoring to v3.4.3 ([#2003](https://github.com/googleapis/java-spanner/issues/2003)) ([2f04f18](https://github.com/googleapis/java-spanner/commit/2f04f18f131cf656a94d8b1a78d311d2cc46797e)) +* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.2 ([#2002](https://github.com/googleapis/java-spanner/issues/2002)) ([342190a](https://github.com/googleapis/java-spanner/commit/342190ab06917d0527316802a6c33da4f20213db)) +* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.3 ([#2013](https://github.com/googleapis/java-spanner/issues/2013)) ([16db975](https://github.com/googleapis/java-spanner/commit/16db975fbcbd7ce8aee74b6988bf0d125619675f)) + ## [6.29.1](https://github.com/googleapis/java-spanner/compare/v6.29.0...v6.29.1) (2022-09-02) diff --git a/google-cloud-spanner-bom/pom.xml b/google-cloud-spanner-bom/pom.xml index ffa1a6c1650..d16b1b7df4b 100644 --- a/google-cloud-spanner-bom/pom.xml +++ b/google-cloud-spanner-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-spanner-bom - 6.29.2-SNAPSHOT + 6.30.0 pom com.google.cloud @@ -53,43 +53,43 @@ com.google.cloud google-cloud-spanner - 6.29.2-SNAPSHOT + 6.30.0 com.google.cloud google-cloud-spanner test-jar - 6.29.2-SNAPSHOT + 6.30.0 com.google.api.grpc grpc-google-cloud-spanner-v1 - 6.29.2-SNAPSHOT + 6.30.0 com.google.api.grpc grpc-google-cloud-spanner-admin-instance-v1 - 6.29.2-SNAPSHOT + 6.30.0 com.google.api.grpc grpc-google-cloud-spanner-admin-database-v1 - 6.29.2-SNAPSHOT + 6.30.0 com.google.api.grpc proto-google-cloud-spanner-admin-instance-v1 - 6.29.2-SNAPSHOT + 6.30.0 com.google.api.grpc proto-google-cloud-spanner-v1 - 6.29.2-SNAPSHOT + 6.30.0 com.google.api.grpc proto-google-cloud-spanner-admin-database-v1 - 6.29.2-SNAPSHOT + 6.30.0 diff --git a/google-cloud-spanner/pom.xml b/google-cloud-spanner/pom.xml index 464460a72bc..8a1ffe03d25 100644 --- a/google-cloud-spanner/pom.xml +++ b/google-cloud-spanner/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-spanner - 6.29.2-SNAPSHOT + 6.30.0 jar Google Cloud Spanner https://github.com/googleapis/java-spanner @@ -11,7 +11,7 @@ com.google.cloud google-cloud-spanner-parent - 6.29.2-SNAPSHOT + 6.30.0 google-cloud-spanner diff --git a/grpc-google-cloud-spanner-admin-database-v1/pom.xml b/grpc-google-cloud-spanner-admin-database-v1/pom.xml index c4f21f1e5b7..d1726f471da 100644 --- a/grpc-google-cloud-spanner-admin-database-v1/pom.xml +++ b/grpc-google-cloud-spanner-admin-database-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-spanner-admin-database-v1 - 6.29.2-SNAPSHOT + 6.30.0 grpc-google-cloud-spanner-admin-database-v1 GRPC library for grpc-google-cloud-spanner-admin-database-v1 com.google.cloud google-cloud-spanner-parent - 6.29.2-SNAPSHOT + 6.30.0 diff --git a/grpc-google-cloud-spanner-admin-instance-v1/pom.xml b/grpc-google-cloud-spanner-admin-instance-v1/pom.xml index f09f3d568d4..04ba10a5e3d 100644 --- a/grpc-google-cloud-spanner-admin-instance-v1/pom.xml +++ b/grpc-google-cloud-spanner-admin-instance-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-spanner-admin-instance-v1 - 6.29.2-SNAPSHOT + 6.30.0 grpc-google-cloud-spanner-admin-instance-v1 GRPC library for grpc-google-cloud-spanner-admin-instance-v1 com.google.cloud google-cloud-spanner-parent - 6.29.2-SNAPSHOT + 6.30.0 diff --git a/grpc-google-cloud-spanner-v1/pom.xml b/grpc-google-cloud-spanner-v1/pom.xml index 3294dc71354..570b2cf37ef 100644 --- a/grpc-google-cloud-spanner-v1/pom.xml +++ b/grpc-google-cloud-spanner-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-spanner-v1 - 6.29.2-SNAPSHOT + 6.30.0 grpc-google-cloud-spanner-v1 GRPC library for grpc-google-cloud-spanner-v1 com.google.cloud google-cloud-spanner-parent - 6.29.2-SNAPSHOT + 6.30.0 diff --git a/pom.xml b/pom.xml index 10eb2c5010c..c72a591d2b6 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-spanner-parent pom - 6.29.2-SNAPSHOT + 6.30.0 Google Cloud Spanner Parent https://github.com/googleapis/java-spanner @@ -62,37 +62,37 @@ com.google.api.grpc proto-google-cloud-spanner-admin-instance-v1 - 6.29.2-SNAPSHOT + 6.30.0 com.google.api.grpc proto-google-cloud-spanner-v1 - 6.29.2-SNAPSHOT + 6.30.0 com.google.api.grpc proto-google-cloud-spanner-admin-database-v1 - 6.29.2-SNAPSHOT + 6.30.0 com.google.api.grpc grpc-google-cloud-spanner-v1 - 6.29.2-SNAPSHOT + 6.30.0 com.google.api.grpc grpc-google-cloud-spanner-admin-instance-v1 - 6.29.2-SNAPSHOT + 6.30.0 com.google.api.grpc grpc-google-cloud-spanner-admin-database-v1 - 6.29.2-SNAPSHOT + 6.30.0 com.google.cloud google-cloud-spanner - 6.29.2-SNAPSHOT + 6.30.0 diff --git a/proto-google-cloud-spanner-admin-database-v1/pom.xml b/proto-google-cloud-spanner-admin-database-v1/pom.xml index 30218776a68..bc4d789f84a 100644 --- a/proto-google-cloud-spanner-admin-database-v1/pom.xml +++ b/proto-google-cloud-spanner-admin-database-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-spanner-admin-database-v1 - 6.29.2-SNAPSHOT + 6.30.0 proto-google-cloud-spanner-admin-database-v1 PROTO library for proto-google-cloud-spanner-admin-database-v1 com.google.cloud google-cloud-spanner-parent - 6.29.2-SNAPSHOT + 6.30.0 diff --git a/proto-google-cloud-spanner-admin-instance-v1/pom.xml b/proto-google-cloud-spanner-admin-instance-v1/pom.xml index dadab108e4a..af389374483 100644 --- a/proto-google-cloud-spanner-admin-instance-v1/pom.xml +++ b/proto-google-cloud-spanner-admin-instance-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-spanner-admin-instance-v1 - 6.29.2-SNAPSHOT + 6.30.0 proto-google-cloud-spanner-admin-instance-v1 PROTO library for proto-google-cloud-spanner-admin-instance-v1 com.google.cloud google-cloud-spanner-parent - 6.29.2-SNAPSHOT + 6.30.0 diff --git a/proto-google-cloud-spanner-v1/pom.xml b/proto-google-cloud-spanner-v1/pom.xml index b6da9e57683..bf3e6f2013f 100644 --- a/proto-google-cloud-spanner-v1/pom.xml +++ b/proto-google-cloud-spanner-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-spanner-v1 - 6.29.2-SNAPSHOT + 6.30.0 proto-google-cloud-spanner-v1 PROTO library for proto-google-cloud-spanner-v1 com.google.cloud google-cloud-spanner-parent - 6.29.2-SNAPSHOT + 6.30.0 diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 8449f21ae4a..d4c1df81f34 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -31,7 +31,7 @@ com.google.cloud google-cloud-spanner - 6.29.2-SNAPSHOT + 6.30.0 diff --git a/versions.txt b/versions.txt index 877c664d952..deab831d493 100644 --- a/versions.txt +++ b/versions.txt @@ -1,10 +1,10 @@ # Format: # module:released-version:current-version -proto-google-cloud-spanner-admin-instance-v1:6.29.1:6.29.2-SNAPSHOT -proto-google-cloud-spanner-v1:6.29.1:6.29.2-SNAPSHOT -proto-google-cloud-spanner-admin-database-v1:6.29.1:6.29.2-SNAPSHOT -grpc-google-cloud-spanner-v1:6.29.1:6.29.2-SNAPSHOT -grpc-google-cloud-spanner-admin-instance-v1:6.29.1:6.29.2-SNAPSHOT -grpc-google-cloud-spanner-admin-database-v1:6.29.1:6.29.2-SNAPSHOT -google-cloud-spanner:6.29.1:6.29.2-SNAPSHOT +proto-google-cloud-spanner-admin-instance-v1:6.30.0:6.30.0 +proto-google-cloud-spanner-v1:6.30.0:6.30.0 +proto-google-cloud-spanner-admin-database-v1:6.30.0:6.30.0 +grpc-google-cloud-spanner-v1:6.30.0:6.30.0 +grpc-google-cloud-spanner-admin-instance-v1:6.30.0:6.30.0 +grpc-google-cloud-spanner-admin-database-v1:6.30.0:6.30.0 +google-cloud-spanner:6.30.0:6.30.0