diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClientTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClientTest.java index dd46f168c2..d232ce8582 100644 --- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClientTest.java +++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClientTest.java @@ -223,6 +223,7 @@ public void createDatabaseTest() throws Exception { .addAllEncryptionInfo(new ArrayList()) .setVersionRetentionPeriod("versionRetentionPeriod-629783929") .setEarliestVersionTime(Timestamp.newBuilder().build()) + .setDefaultLeader("defaultLeader759009962") .build(); Operation resultOperation = Operation.newBuilder() @@ -278,6 +279,7 @@ public void createDatabaseTest2() throws Exception { .addAllEncryptionInfo(new ArrayList()) .setVersionRetentionPeriod("versionRetentionPeriod-629783929") .setEarliestVersionTime(Timestamp.newBuilder().build()) + .setDefaultLeader("defaultLeader759009962") .build(); Operation resultOperation = Operation.newBuilder() @@ -333,6 +335,7 @@ public void getDatabaseTest() throws Exception { .addAllEncryptionInfo(new ArrayList()) .setVersionRetentionPeriod("versionRetentionPeriod-629783929") .setEarliestVersionTime(Timestamp.newBuilder().build()) + .setDefaultLeader("defaultLeader759009962") .build(); mockDatabaseAdmin.addResponse(expectedResponse); @@ -377,6 +380,7 @@ public void getDatabaseTest2() throws Exception { .addAllEncryptionInfo(new ArrayList()) .setVersionRetentionPeriod("versionRetentionPeriod-629783929") .setEarliestVersionTime(Timestamp.newBuilder().build()) + .setDefaultLeader("defaultLeader759009962") .build(); mockDatabaseAdmin.addResponse(expectedResponse); @@ -1307,6 +1311,7 @@ public void restoreDatabaseTest() throws Exception { .addAllEncryptionInfo(new ArrayList()) .setVersionRetentionPeriod("versionRetentionPeriod-629783929") .setEarliestVersionTime(Timestamp.newBuilder().build()) + .setDefaultLeader("defaultLeader759009962") .build(); Operation resultOperation = Operation.newBuilder() @@ -1365,6 +1370,7 @@ public void restoreDatabaseTest2() throws Exception { .addAllEncryptionInfo(new ArrayList()) .setVersionRetentionPeriod("versionRetentionPeriod-629783929") .setEarliestVersionTime(Timestamp.newBuilder().build()) + .setDefaultLeader("defaultLeader759009962") .build(); Operation resultOperation = Operation.newBuilder() @@ -1423,6 +1429,7 @@ public void restoreDatabaseTest3() throws Exception { .addAllEncryptionInfo(new ArrayList()) .setVersionRetentionPeriod("versionRetentionPeriod-629783929") .setEarliestVersionTime(Timestamp.newBuilder().build()) + .setDefaultLeader("defaultLeader759009962") .build(); Operation resultOperation = Operation.newBuilder() @@ -1481,6 +1488,7 @@ public void restoreDatabaseTest4() throws Exception { .addAllEncryptionInfo(new ArrayList()) .setVersionRetentionPeriod("versionRetentionPeriod-629783929") .setEarliestVersionTime(Timestamp.newBuilder().build()) + .setDefaultLeader("defaultLeader759009962") .build(); Operation resultOperation = Operation.newBuilder() 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 1b2d628b26..929de268de 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 @@ -205,6 +205,7 @@ public void getInstanceConfigTest() throws Exception { .setName(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString()) .setDisplayName("displayName1714148973") .addAllReplicas(new ArrayList()) + .addAllLeaderOptions(new ArrayList()) .build(); mockInstanceAdmin.addResponse(expectedResponse); @@ -245,6 +246,7 @@ public void getInstanceConfigTest2() throws Exception { .setName(InstanceConfigName.of("[PROJECT]", "[INSTANCE_CONFIG]").toString()) .setDisplayName("displayName1714148973") .addAllReplicas(new ArrayList()) + .addAllLeaderOptions(new ArrayList()) .build(); mockInstanceAdmin.addResponse(expectedResponse); diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/Database.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/Database.java index 4bd89e0856..b8ee459454 100644 --- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/Database.java +++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/Database.java @@ -42,6 +42,7 @@ private Database() { state_ = 0; encryptionInfo_ = java.util.Collections.emptyList(); versionRetentionPeriod_ = ""; + defaultLeader_ = ""; } @java.lang.Override @@ -171,6 +172,13 @@ private Database( extensionRegistry)); break; } + case 74: + { + java.lang.String s = input.readStringRequireUtf8(); + + defaultLeader_ = s; + break; + } default: { if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { @@ -904,6 +912,63 @@ public com.google.protobuf.TimestampOrBuilder getEarliestVersionTimeOrBuilder() return getEarliestVersionTime(); } + public static final int DEFAULT_LEADER_FIELD_NUMBER = 9; + private volatile java.lang.Object defaultLeader_; + /** + * + * + *
+   * Output only. The read-write region which contains the database's leader
+   * replicas.
+   * This is the same as the value of default_leader
+   * database option set using DatabaseAdmin.CreateDatabase or
+   * DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
+   * 
+ * + * string default_leader = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The defaultLeader. + */ + @java.lang.Override + public java.lang.String getDefaultLeader() { + java.lang.Object ref = defaultLeader_; + 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(); + defaultLeader_ = s; + return s; + } + } + /** + * + * + *
+   * Output only. The read-write region which contains the database's leader
+   * replicas.
+   * This is the same as the value of default_leader
+   * database option set using DatabaseAdmin.CreateDatabase or
+   * DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
+   * 
+ * + * string default_leader = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for defaultLeader. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDefaultLeaderBytes() { + java.lang.Object ref = defaultLeader_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + defaultLeader_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -943,6 +1008,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io for (int i = 0; i < encryptionInfo_.size(); i++) { output.writeMessage(8, encryptionInfo_.get(i)); } + if (!getDefaultLeaderBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 9, defaultLeader_); + } unknownFields.writeTo(output); } @@ -977,6 +1045,9 @@ public int getSerializedSize() { for (int i = 0; i < encryptionInfo_.size(); i++) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, encryptionInfo_.get(i)); } + if (!getDefaultLeaderBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, defaultLeader_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -1013,6 +1084,7 @@ public boolean equals(final java.lang.Object obj) { if (hasEarliestVersionTime()) { if (!getEarliestVersionTime().equals(other.getEarliestVersionTime())) return false; } + if (!getDefaultLeader().equals(other.getDefaultLeader())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -1050,6 +1122,8 @@ public int hashCode() { hash = (37 * hash) + EARLIEST_VERSION_TIME_FIELD_NUMBER; hash = (53 * hash) + getEarliestVersionTime().hashCode(); } + hash = (37 * hash) + DEFAULT_LEADER_FIELD_NUMBER; + hash = (53 * hash) + getDefaultLeader().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -1233,6 +1307,8 @@ public Builder clear() { earliestVersionTime_ = null; earliestVersionTimeBuilder_ = null; } + defaultLeader_ = ""; + return this; } @@ -1293,6 +1369,7 @@ public com.google.spanner.admin.database.v1.Database buildPartial() { } else { result.earliestVersionTime_ = earliestVersionTimeBuilder_.build(); } + result.defaultLeader_ = defaultLeader_; onBuilt(); return result; } @@ -1392,6 +1469,10 @@ public Builder mergeFrom(com.google.spanner.admin.database.v1.Database other) { if (other.hasEarliestVersionTime()) { mergeEarliestVersionTime(other.getEarliestVersionTime()); } + if (!other.getDefaultLeader().isEmpty()) { + defaultLeader_ = other.defaultLeader_; + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -3177,6 +3258,132 @@ public com.google.protobuf.TimestampOrBuilder getEarliestVersionTimeOrBuilder() return earliestVersionTimeBuilder_; } + private java.lang.Object defaultLeader_ = ""; + /** + * + * + *
+     * Output only. The read-write region which contains the database's leader
+     * replicas.
+     * This is the same as the value of default_leader
+     * database option set using DatabaseAdmin.CreateDatabase or
+     * DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
+     * 
+ * + * string default_leader = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The defaultLeader. + */ + public java.lang.String getDefaultLeader() { + java.lang.Object ref = defaultLeader_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + defaultLeader_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Output only. The read-write region which contains the database's leader
+     * replicas.
+     * This is the same as the value of default_leader
+     * database option set using DatabaseAdmin.CreateDatabase or
+     * DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
+     * 
+ * + * string default_leader = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for defaultLeader. + */ + public com.google.protobuf.ByteString getDefaultLeaderBytes() { + java.lang.Object ref = defaultLeader_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + defaultLeader_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Output only. The read-write region which contains the database's leader
+     * replicas.
+     * This is the same as the value of default_leader
+     * database option set using DatabaseAdmin.CreateDatabase or
+     * DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
+     * 
+ * + * string default_leader = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The defaultLeader to set. + * @return This builder for chaining. + */ + public Builder setDefaultLeader(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + defaultLeader_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. The read-write region which contains the database's leader
+     * replicas.
+     * This is the same as the value of default_leader
+     * database option set using DatabaseAdmin.CreateDatabase or
+     * DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
+     * 
+ * + * string default_leader = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearDefaultLeader() { + + defaultLeader_ = getDefaultInstance().getDefaultLeader(); + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. The read-write region which contains the database's leader
+     * replicas.
+     * This is the same as the value of default_leader
+     * database option set using DatabaseAdmin.CreateDatabase or
+     * DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
+     * 
+ * + * string default_leader = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for defaultLeader to set. + * @return This builder for chaining. + */ + public Builder setDefaultLeaderBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + defaultLeader_ = value; + 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-database-v1/src/main/java/com/google/spanner/admin/database/v1/DatabaseOrBuilder.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DatabaseOrBuilder.java index 3451b2e4fe..0c85853079 100644 --- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DatabaseOrBuilder.java +++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DatabaseOrBuilder.java @@ -395,4 +395,37 @@ com.google.spanner.admin.database.v1.EncryptionInfoOrBuilder getEncryptionInfoOr * */ com.google.protobuf.TimestampOrBuilder getEarliestVersionTimeOrBuilder(); + + /** + * + * + *
+   * Output only. The read-write region which contains the database's leader
+   * replicas.
+   * This is the same as the value of default_leader
+   * database option set using DatabaseAdmin.CreateDatabase or
+   * DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
+   * 
+ * + * string default_leader = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The defaultLeader. + */ + java.lang.String getDefaultLeader(); + /** + * + * + *
+   * Output only. The read-write region which contains the database's leader
+   * replicas.
+   * This is the same as the value of default_leader
+   * database option set using DatabaseAdmin.CreateDatabase or
+   * DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
+   * 
+ * + * string default_leader = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for defaultLeader. + */ + com.google.protobuf.ByteString getDefaultLeaderBytes(); } diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/SpannerDatabaseAdminProto.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/SpannerDatabaseAdminProto.java index 7b60b9afc6..4396736d3c 100644 --- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/SpannerDatabaseAdminProto.java +++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/SpannerDatabaseAdminProto.java @@ -124,7 +124,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "admin.database.v1.RestoreSourceType\022C\n\013b" + "ackup_info\030\002 \001(\0132,.google.spanner.admin." + "database.v1.BackupInfoH\000B\r\n\013source_info\"" - + "\241\005\n\010Database\022\021\n\004name\030\001 \001(\tB\003\340A\002\022D\n\005state" + + "\276\005\n\010Database\022\021\n\004name\030\001 \001(\tB\003\340A\002\022D\n\005state" + "\030\002 \001(\01620.google.spanner.admin.database.v" + "1.Database.StateB\003\340A\003\0224\n\013create_time\030\003 \001" + "(\0132\032.google.protobuf.TimestampB\003\340A\003\022H\n\014r" @@ -136,189 +136,189 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "n.database.v1.EncryptionInfoB\003\340A\003\022%\n\030ver" + "sion_retention_period\030\006 \001(\tB\003\340A\003\022>\n\025earl" + "iest_version_time\030\007 \001(\0132\032.google.protobu" - + "f.TimestampB\003\340A\003\"M\n\005State\022\025\n\021STATE_UNSPE" - + "CIFIED\020\000\022\014\n\010CREATING\020\001\022\t\n\005READY\020\002\022\024\n\020REA" - + "DY_OPTIMIZING\020\003:b\352A_\n\037spanner.googleapis" - + ".com/Database\022\202\323\344\223\002/\022-/v1/{parent=projects/*/i" - + "nstances/*}/databases\332A\006parent\022\244\002\n\016Creat" - + "eDatabase\0227.google.spanner.admin.databas" - + "e.v1.CreateDatabaseRequest\032\035.google.long" - + "running.Operation\"\271\001\202\323\344\223\0022\"-/v1/{parent=" - + "projects/*/instances/*}/databases:\001*\332A\027p" - + "arent,create_statement\312Ad\n)google.spanne" - + "r.admin.database.v1.Database\0227google.spa" - + "nner.admin.database.v1.CreateDatabaseMet" - + "adata\022\255\001\n\013GetDatabase\0224.google.spanner.a" - + "dmin.database.v1.GetDatabaseRequest\032*.go" - + "ogle.spanner.admin.database.v1.Database\"" - + "<\202\323\344\223\002/\022-/v1/{name=projects/*/instances/" - + "*/databases/*}\332A\004name\022\235\002\n\021UpdateDatabase" - + "Ddl\022:.google.spanner.admin.database.v1.U" - + "pdateDatabaseDdlRequest\032\035.google.longrun" - + "ning.Operation\"\254\001\202\323\344\223\002:25/v1/{database=p" - + "rojects/*/instances/*/databases/*}/ddl:\001" - + "*\332A\023database,statements\312AS\n\025google.proto" - + "buf.Empty\022:google.spanner.admin.database" - + ".v1.UpdateDatabaseDdlMetadata\022\243\001\n\014DropDa" - + "tabase\0225.google.spanner.admin.database.v" - + "1.DropDatabaseRequest\032\026.google.protobuf." - + "Empty\"D\202\323\344\223\0023*1/v1/{database=projects/*/" - + "instances/*/databases/*}\332A\010database\022\315\001\n\016" - + "GetDatabaseDdl\0227.google.spanner.admin.da" - + "tabase.v1.GetDatabaseDdlRequest\0328.google" - + ".spanner.admin.database.v1.GetDatabaseDd" - + "lResponse\"H\202\323\344\223\0027\0225/v1/{database=project" - + "s/*/instances/*/databases/*}/ddl\332A\010datab" - + "ase\022\353\001\n\014SetIamPolicy\022\".google.iam.v1.Set" - + "IamPolicyRequest\032\025.google.iam.v1.Policy\"" - + "\237\001\202\323\344\223\002\206\001\">/v1/{resource=projects/*/inst" - + "ances/*/databases/*}:setIamPolicy:\001*ZA\"<" - + "/v1/{resource=projects/*/instances/*/bac" - + "kups/*}:setIamPolicy:\001*\332A\017resource,polic" - + "y\022\344\001\n\014GetIamPolicy\022\".google.iam.v1.GetIa" - + "mPolicyRequest\032\025.google.iam.v1.Policy\"\230\001" - + "\202\323\344\223\002\206\001\">/v1/{resource=projects/*/instan" - + "ces/*/databases/*}:getIamPolicy:\001*ZA\".google." - + "spanner.admin.database.v1.ListBackupOper" - + "ationsResponse\"E\202\323\344\223\0026\0224/v1/{parent=proj" - + "ects/*/instances/*}/backupOperations\332A\006p" - + "arent\032x\312A\026spanner.googleapis.com\322A\\https" - + "://www.googleapis.com/auth/cloud-platfor" - + "m,https://www.googleapis.com/auth/spanne" - + "r.adminB\332\002\n$com.google.spanner.admin.dat" - + "abase.v1B\031SpannerDatabaseAdminProtoP\001ZHg" - + "oogle.golang.org/genproto/googleapis/spa" - + "nner/admin/database/v1;database\252\002&Google" - + ".Cloud.Spanner.Admin.Database.V1\312\002&Googl" - + "e\\Cloud\\Spanner\\Admin\\Database\\V1\352\002+Goog" - + "le::Cloud::Spanner::Admin::Database::V1\352" - + "AJ\n\037spanner.googleapis.com/Instance\022\'pro" - + "jects/{project}/instances/{instance}b\006pr" - + "oto3" + + ".com/Database\022\027\n\nstatements\030\002 \003(\tB\003\340A\002\022\024" + + "\n\014operation_id\030\003 \001(\t\"\375\001\n\031UpdateDatabaseD" + + "dlMetadata\0226\n\010database\030\001 \001(\tB$\372A!\n\037spann" + + "er.googleapis.com/Database\022\022\n\nstatements" + + "\030\002 \003(\t\0225\n\021commit_timestamps\030\003 \003(\0132\032.goog" + + "le.protobuf.Timestamp\022\026\n\tthrottled\030\004 \001(\010" + + "B\003\340A\003\022E\n\010progress\030\005 \003(\01323.google.spanner" + + ".admin.database.v1.OperationProgress\"P\n\023" + + "DropDatabaseRequest\0229\n\010database\030\001 \001(\tB\'\340" + + "A\002\372A!\n\037spanner.googleapis.com/Database\"R" + + "\n\025GetDatabaseDdlRequest\0229\n\010database\030\001 \001(" + + "\tB\'\340A\002\372A!\n\037spanner.googleapis.com/Databa" + + "se\",\n\026GetDatabaseDdlResponse\022\022\n\nstatemen" + + "ts\030\001 \003(\t\"\217\001\n\035ListDatabaseOperationsReque" + + "st\0227\n\006parent\030\001 \001(\tB\'\340A\002\372A!\n\037spanner.goog" + + "leapis.com/Instance\022\016\n\006filter\030\002 \001(\t\022\021\n\tp" + + "age_size\030\003 \001(\005\022\022\n\npage_token\030\004 \001(\t\"l\n\036Li" + + "stDatabaseOperationsResponse\0221\n\noperatio" + + "ns\030\001 \003(\0132\035.google.longrunning.Operation\022" + + "\027\n\017next_page_token\030\002 \001(\t\"\216\002\n\026RestoreData" + + "baseRequest\0227\n\006parent\030\001 \001(\tB\'\340A\002\372A!\n\037spa" + + "nner.googleapis.com/Instance\022\030\n\013database" + + "_id\030\002 \001(\tB\003\340A\002\0224\n\006backup\030\003 \001(\tB\"\372A\037\n\035spa" + + "nner.googleapis.com/BackupH\000\022a\n\021encrypti" + + "on_config\030\004 \001(\0132A.google.spanner.admin.d" + + "atabase.v1.RestoreDatabaseEncryptionConf" + + "igB\003\340A\001B\010\n\006source\"\363\002\n\037RestoreDatabaseEnc" + + "ryptionConfig\022n\n\017encryption_type\030\001 \001(\0162P" + + ".google.spanner.admin.database.v1.Restor" + + "eDatabaseEncryptionConfig.EncryptionType" + + "B\003\340A\002\022?\n\014kms_key_name\030\002 \001(\tB)\340A\001\372A#\n!clo" + + "udkms.googleapis.com/CryptoKey\"\236\001\n\016Encry" + + "ptionType\022\037\n\033ENCRYPTION_TYPE_UNSPECIFIED" + + "\020\000\022+\n\'USE_CONFIG_DEFAULT_OR_BACKUP_ENCRY" + + "PTION\020\001\022\035\n\031GOOGLE_DEFAULT_ENCRYPTION\020\002\022\037" + + "\n\033CUSTOMER_MANAGED_ENCRYPTION\020\003\"\215\003\n\027Rest" + + "oreDatabaseMetadata\0222\n\004name\030\001 \001(\tB$\372A!\n\037" + + "spanner.googleapis.com/Database\022H\n\013sourc" + + "e_type\030\002 \001(\01623.google.spanner.admin.data" + + "base.v1.RestoreSourceType\022C\n\013backup_info" + + "\030\003 \001(\0132,.google.spanner.admin.database.v" + + "1.BackupInfoH\000\022E\n\010progress\030\004 \001(\01323.googl" + + "e.spanner.admin.database.v1.OperationPro" + + "gress\022/\n\013cancel_time\030\005 \001(\0132\032.google.prot" + + "obuf.Timestamp\022(\n optimize_database_oper" + + "ation_name\030\006 \001(\tB\r\n\013source_info\"\235\001\n Opti" + + "mizeRestoredDatabaseMetadata\0222\n\004name\030\001 \001" + + "(\tB$\372A!\n\037spanner.googleapis.com/Database" + + "\022E\n\010progress\030\002 \001(\01323.google.spanner.admi" + + "n.database.v1.OperationProgress*5\n\021Resto" + + "reSourceType\022\024\n\020TYPE_UNSPECIFIED\020\000\022\n\n\006BA" + + "CKUP\020\0012\223\037\n\rDatabaseAdmin\022\300\001\n\rListDatabas" + + "es\0226.google.spanner.admin.database.v1.Li" + + "stDatabasesRequest\0327.google.spanner.admi" + + "n.database.v1.ListDatabasesResponse\">\202\323\344" + + "\223\002/\022-/v1/{parent=projects/*/instances/*}" + + "/databases\332A\006parent\022\244\002\n\016CreateDatabase\0227" + + ".google.spanner.admin.database.v1.Create" + + "DatabaseRequest\032\035.google.longrunning.Ope" + + "ration\"\271\001\202\323\344\223\0022\"-/v1/{parent=projects/*/" + + "instances/*}/databases:\001*\332A\027parent,creat" + + "e_statement\312Ad\n)google.spanner.admin.dat" + + "abase.v1.Database\0227google.spanner.admin." + + "database.v1.CreateDatabaseMetadata\022\255\001\n\013G" + + "etDatabase\0224.google.spanner.admin.databa" + + "se.v1.GetDatabaseRequest\032*.google.spanne" + + "r.admin.database.v1.Database\"<\202\323\344\223\002/\022-/v" + + "1/{name=projects/*/instances/*/databases" + + "/*}\332A\004name\022\235\002\n\021UpdateDatabaseDdl\022:.googl" + + "e.spanner.admin.database.v1.UpdateDataba" + + "seDdlRequest\032\035.google.longrunning.Operat" + + "ion\"\254\001\202\323\344\223\002:25/v1/{database=projects/*/i" + + "nstances/*/databases/*}/ddl:\001*\332A\023databas" + + "e,statements\312AS\n\025google.protobuf.Empty\022:" + + "google.spanner.admin.database.v1.UpdateD" + + "atabaseDdlMetadata\022\243\001\n\014DropDatabase\0225.go" + + "ogle.spanner.admin.database.v1.DropDatab" + + "aseRequest\032\026.google.protobuf.Empty\"D\202\323\344\223" + + "\0023*1/v1/{database=projects/*/instances/*" + + "/databases/*}\332A\010database\022\315\001\n\016GetDatabase" + + "Ddl\0227.google.spanner.admin.database.v1.G" + + "etDatabaseDdlRequest\0328.google.spanner.ad" + + "min.database.v1.GetDatabaseDdlResponse\"H" + + "\202\323\344\223\0027\0225/v1/{database=projects/*/instanc" + + "es/*/databases/*}/ddl\332A\010database\022\353\001\n\014Set" + + "IamPolicy\022\".google.iam.v1.SetIamPolicyRe" + + "quest\032\025.google.iam.v1.Policy\"\237\001\202\323\344\223\002\206\001\">" + + "/v1/{resource=projects/*/instances/*/dat" + + "abases/*}:setIamPolicy:\001*ZA\"/v" + + "1/{resource=projects/*/instances/*/datab" + + "ases/*}:getIamPolicy:\001*ZA\".google.spanner.adm" + + "in.database.v1.ListBackupOperationsRespo" + + "nse\"E\202\323\344\223\0026\0224/v1/{parent=projects/*/inst" + + "ances/*}/backupOperations\332A\006parent\032x\312A\026s" + + "panner.googleapis.com\322A\\https://www.goog" + + "leapis.com/auth/cloud-platform,https://w" + + "ww.googleapis.com/auth/spanner.adminB\332\002\n" + + "$com.google.spanner.admin.database.v1B\031S" + + "pannerDatabaseAdminProtoP\001ZHgoogle.golan" + + "g.org/genproto/googleapis/spanner/admin/" + + "database/v1;database\252\002&Google.Cloud.Span" + + "ner.Admin.Database.V1\312\002&Google\\Cloud\\Spa" + + "nner\\Admin\\Database\\V1\352\002+Google::Cloud::" + + "Spanner::Admin::Database::V1\352AJ\n\037spanner" + + ".googleapis.com/Instance\022\'projects/{proj" + + "ect}/instances/{instance}b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -358,6 +358,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "EncryptionInfo", "VersionRetentionPeriod", "EarliestVersionTime", + "DefaultLeader", }); internal_static_google_spanner_admin_database_v1_ListDatabasesRequest_descriptor = getDescriptor().getMessageTypes().get(2); diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/proto/google/spanner/admin/database/v1/spanner_database_admin.proto b/proto-google-cloud-spanner-admin-database-v1/src/main/proto/google/spanner/admin/database/v1/spanner_database_admin.proto index 668e8a0468..002717505b 100644 --- a/proto-google-cloud-spanner-admin-database-v1/src/main/proto/google/spanner/admin/database/v1/spanner_database_admin.proto +++ b/proto-google-cloud-spanner-admin-database-v1/src/main/proto/google/spanner/admin/database/v1/spanner_database_admin.proto @@ -399,6 +399,14 @@ message Database { // sure to account for the time from the moment when the value is queried to // the moment when you initiate the recovery. google.protobuf.Timestamp earliest_version_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The read-write region which contains the database's leader + // replicas. + // + // This is the same as the value of default_leader + // database option set using DatabaseAdmin.CreateDatabase or + // DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty. + string default_leader = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The request for [ListDatabases][google.spanner.admin.database.v1.DatabaseAdmin.ListDatabases]. 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 169fd017cb..74e56a73ba 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 @@ -42,6 +42,7 @@ private InstanceConfig() { name_ = ""; displayName_ = ""; replicas_ = java.util.Collections.emptyList(); + leaderOptions_ = com.google.protobuf.LazyStringArrayList.EMPTY; } @java.lang.Override @@ -101,6 +102,16 @@ private InstanceConfig( extensionRegistry)); break; } + case 34: + { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + leaderOptions_ = new com.google.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000002; + } + leaderOptions_.add(s); + break; + } default: { if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { @@ -118,6 +129,9 @@ private InstanceConfig( if (((mutable_bitField0_ & 0x00000001) != 0)) { replicas_ = java.util.Collections.unmodifiableList(replicas_); } + if (((mutable_bitField0_ & 0x00000002) != 0)) { + leaderOptions_ = leaderOptions_.getUnmodifiableView(); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } @@ -314,6 +328,71 @@ 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_; + /** + * + * + *
+   * 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. + */ + public java.lang.String getLeaderOptions(int index) { + return leaderOptions_.get(index); + } + /** + * + * + *
+   * 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 value to return. + * @return The bytes of the leaderOptions at the given index. + */ + public com.google.protobuf.ByteString getLeaderOptionsBytes(int index) { + return leaderOptions_.getByteString(index); + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -337,6 +416,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io for (int i = 0; i < replicas_.size(); i++) { output.writeMessage(3, replicas_.get(i)); } + for (int i = 0; i < leaderOptions_.size(); i++) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, leaderOptions_.getRaw(i)); + } unknownFields.writeTo(output); } @@ -355,6 +437,14 @@ public int getSerializedSize() { for (int i = 0; i < replicas_.size(); i++) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, replicas_.get(i)); } + { + int dataSize = 0; + for (int i = 0; i < leaderOptions_.size(); i++) { + dataSize += computeStringSizeNoTag(leaderOptions_.getRaw(i)); + } + size += dataSize; + size += 1 * getLeaderOptionsList().size(); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -374,6 +464,7 @@ public boolean equals(final java.lang.Object obj) { if (!getName().equals(other.getName())) return false; if (!getDisplayName().equals(other.getDisplayName())) return false; if (!getReplicasList().equals(other.getReplicasList())) return false; + if (!getLeaderOptionsList().equals(other.getLeaderOptionsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -393,6 +484,10 @@ public int hashCode() { hash = (37 * hash) + REPLICAS_FIELD_NUMBER; hash = (53 * hash) + getReplicasList().hashCode(); } + if (getLeaderOptionsCount() > 0) { + hash = (37 * hash) + LEADER_OPTIONS_FIELD_NUMBER; + hash = (53 * hash) + getLeaderOptionsList().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -551,6 +646,8 @@ public Builder clear() { } else { replicasBuilder_.clear(); } + leaderOptions_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000002); return this; } @@ -590,6 +687,11 @@ public com.google.spanner.admin.instance.v1.InstanceConfig buildPartial() { } else { result.replicas_ = replicasBuilder_.build(); } + if (((bitField0_ & 0x00000002) != 0)) { + leaderOptions_ = leaderOptions_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.leaderOptions_ = leaderOptions_; onBuilt(); return result; } @@ -675,6 +777,16 @@ 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(); + leaderOptions_.addAll(other.leaderOptions_); + } + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -1299,6 +1411,183 @@ public com.google.spanner.admin.instance.v1.ReplicaInfo.Builder addReplicasBuild return replicasBuilder_; } + private com.google.protobuf.LazyStringList leaderOptions_ = + com.google.protobuf.LazyStringArrayList.EMPTY; + + private void ensureLeaderOptionsIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + leaderOptions_ = new com.google.protobuf.LazyStringArrayList(leaderOptions_); + bitField0_ |= 0x00000002; + } + } + /** + * + * + *
+     * 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_.getUnmodifiableView(); + } + /** + * + * + *
+     * 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. + */ + public java.lang.String getLeaderOptions(int index) { + return leaderOptions_.get(index); + } + /** + * + * + *
+     * 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 value to return. + * @return The bytes of the leaderOptions at the given index. + */ + public com.google.protobuf.ByteString getLeaderOptionsBytes(int index) { + return leaderOptions_.getByteString(index); + } + /** + * + * + *
+     * 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 to set the value at. + * @param value The leaderOptions to set. + * @return This builder for chaining. + */ + public Builder setLeaderOptions(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureLeaderOptionsIsMutable(); + leaderOptions_.set(index, value); + onChanged(); + return this; + } + /** + * + * + *
+     * Allowed values of the “default_leader” schema option for databases in
+     * instances that use this instance configuration.
+     * 
+ * + * repeated string leader_options = 4; + * + * @param value The leaderOptions to add. + * @return This builder for chaining. + */ + public Builder addLeaderOptions(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureLeaderOptionsIsMutable(); + leaderOptions_.add(value); + onChanged(); + return this; + } + /** + * + * + *
+     * Allowed values of the “default_leader” schema option for databases in
+     * instances that use this instance configuration.
+     * 
+ * + * repeated string leader_options = 4; + * + * @param values The leaderOptions to add. + * @return This builder for chaining. + */ + public Builder addAllLeaderOptions(java.lang.Iterable values) { + ensureLeaderOptionsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, leaderOptions_); + onChanged(); + return this; + } + /** + * + * + *
+     * Allowed values of the “default_leader” schema option for databases in
+     * instances that use this instance configuration.
+     * 
+ * + * repeated string leader_options = 4; + * + * @return This builder for chaining. + */ + public Builder clearLeaderOptions() { + leaderOptions_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + * + * + *
+     * Allowed values of the “default_leader” schema option for databases in
+     * instances that use this instance configuration.
+     * 
+ * + * repeated string leader_options = 4; + * + * @param value The bytes of the leaderOptions to add. + * @return This builder for chaining. + */ + public Builder addLeaderOptionsBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureLeaderOptionsIsMutable(); + leaderOptions_.add(value); + 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 3bb482161d..8e786e7161 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 @@ -133,4 +133,59 @@ public interface InstanceConfigOrBuilder * repeated .google.spanner.admin.instance.v1.ReplicaInfo replicas = 3; */ com.google.spanner.admin.instance.v1.ReplicaInfoOrBuilder getReplicasOrBuilder(int index); + + /** + * + * + *
+   * 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. + */ + java.util.List getLeaderOptionsList(); + /** + * + * + *
+   * 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. + */ + int getLeaderOptionsCount(); + /** + * + * + *
+   * 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. + */ + java.lang.String getLeaderOptions(int index); + /** + * + * + *
+   * 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 value to return. + * @return The bytes of the leaderOptions at the given index. + */ + com.google.protobuf.ByteString getLeaderOptionsBytes(int index); } 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 e0aca3251e..d0134d0cda 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 @@ -111,126 +111,126 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "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\"\327\001\n\016InstanceC" + + "\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:`\352A]\n%spanner" - + ".googleapis.com/InstanceConfig\0224projects" - + "/{project}/instanceConfigs/{instance_con" - + "fig}\"\364\003\n\010Instance\022\014\n\004name\030\001 \001(\t\022:\n\006confi" - + "g\030\002 \001(\tB*\372A\'\n%spanner.googleapis.com/Ins" - + "tanceConfig\022\024\n\014display_name\030\003 \001(\t\022\022\n\nnod" - + "e_count\030\005 \001(\005\022\030\n\020processing_units\030\t \001(\005\022" - + "D\n\005state\030\006 \001(\01620.google.spanner.admin.in" - + "stance.v1.Instance.StateB\003\340A\003\022F\n\006labels\030" - + "\007 \003(\01326.google.spanner.admin.instance.v1" - + ".Instance.LabelsEntry\022\025\n\rendpoint_uris\030\010" - + " \003(\t\032-\n\013LabelsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005valu" - + "e\030\002 \001(\t:\0028\001\"7\n\005State\022\025\n\021STATE_UNSPECIFIE" - + "D\020\000\022\014\n\010CREATING\020\001\022\t\n\005READY\020\002:M\352AJ\n\037spann" - + "er.googleapis.com/Instance\022\'projects/{pr" - + "oject}/instances/{instance}\"\210\001\n\032ListInst" - + "anceConfigsRequest\022C\n\006parent\030\001 \001(\tB3\340A\002\372" - + "A-\n+cloudresourcemanager.googleapis.com/" - + "Project\022\021\n\tpage_size\030\002 \001(\005\022\022\n\npage_token" - + "\030\003 \001(\t\"\202\001\n\033ListInstanceConfigsResponse\022J" - + "\n\020instance_configs\030\001 \003(\01320.google.spanne" - + "r.admin.instance.v1.InstanceConfig\022\027\n\017ne" - + "xt_page_token\030\002 \001(\t\"W\n\030GetInstanceConfig" - + "Request\022;\n\004name\030\001 \001(\tB-\340A\002\372A\'\n%spanner.g" - + "oogleapis.com/InstanceConfig\"{\n\022GetInsta" - + "nceRequest\0225\n\004name\030\001 \001(\tB\'\340A\002\372A!\n\037spanne" - + "r.googleapis.com/Instance\022.\n\nfield_mask\030" - + "\002 \001(\0132\032.google.protobuf.FieldMask\"\271\001\n\025Cr" - + "eateInstanceRequest\022C\n\006parent\030\001 \001(\tB3\340A\002" - + "\372A-\n+cloudresourcemanager.googleapis.com" - + "/Project\022\030\n\013instance_id\030\002 \001(\tB\003\340A\002\022A\n\010in" - + "stance\030\003 \001(\0132*.google.spanner.admin.inst" - + "ance.v1.InstanceB\003\340A\002\"\222\001\n\024ListInstancesR" - + "equest\022C\n\006parent\030\001 \001(\tB3\340A\002\372A-\n+cloudres" - + "ourcemanager.googleapis.com/Project\022\021\n\tp" - + "age_size\030\002 \001(\005\022\022\n\npage_token\030\003 \001(\t\022\016\n\006fi" - + "lter\030\004 \001(\t\"o\n\025ListInstancesResponse\022=\n\ti" - + "nstances\030\001 \003(\0132*.google.spanner.admin.in" - + "stance.v1.Instance\022\027\n\017next_page_token\030\002 " - + "\001(\t\"\217\001\n\025UpdateInstanceRequest\022A\n\010instanc" - + "e\030\001 \001(\0132*.google.spanner.admin.instance." - + "v1.InstanceB\003\340A\002\0223\n\nfield_mask\030\002 \001(\0132\032.g" - + "oogle.protobuf.FieldMaskB\003\340A\002\"N\n\025DeleteI" - + "nstanceRequest\0225\n\004name\030\001 \001(\tB\'\340A\002\372A!\n\037sp" - + "anner.googleapis.com/Instance\"\345\001\n\026Create" - + "InstanceMetadata\022<\n\010instance\030\001 \001(\0132*.goo" - + "gle.spanner.admin.instance.v1.Instance\022." - + "\n\nstart_time\030\002 \001(\0132\032.google.protobuf.Tim" - + "estamp\022/\n\013cancel_time\030\003 \001(\0132\032.google.pro" - + "tobuf.Timestamp\022,\n\010end_time\030\004 \001(\0132\032.goog" - + "le.protobuf.Timestamp\"\345\001\n\026UpdateInstance" - + "Metadata\022<\n\010instance\030\001 \001(\0132*.google.span" - + "ner.admin.instance.v1.Instance\022.\n\nstart_" - + "time\030\002 \001(\0132\032.google.protobuf.Timestamp\022/" - + "\n\013cancel_time\030\003 \001(\0132\032.google.protobuf.Ti" - + "mestamp\022,\n\010end_time\030\004 \001(\0132\032.google.proto" - + "buf.Timestamp2\277\020\n\rInstanceAdmin\022\314\001\n\023List" - + "InstanceConfigs\022<.google.spanner.admin.i" - + "nstance.v1.ListInstanceConfigsRequest\032=." - + "google.spanner.admin.instance.v1.ListIns" - + "tanceConfigsResponse\"8\202\323\344\223\002)\022\'/v1/{paren" - + "t=projects/*}/instanceConfigs\332A\006parent\022\271" - + "\001\n\021GetInstanceConfig\022:.google.spanner.ad" - + "min.instance.v1.GetInstanceConfigRequest" - + "\0320.google.spanner.admin.instance.v1.Inst" - + "anceConfig\"6\202\323\344\223\002)\022\'/v1/{name=projects/*" - + "/instanceConfigs/*}\332A\004name\022\264\001\n\rListInsta" - + "nces\0226.google.spanner.admin.instance.v1." - + "ListInstancesRequest\0327.google.spanner.ad" - + "min.instance.v1.ListInstancesResponse\"2\202" - + "\323\344\223\002#\022!/v1/{parent=projects/*}/instances" - + "\332A\006parent\022\241\001\n\013GetInstance\0224.google.spann" - + "er.admin.instance.v1.GetInstanceRequest\032" - + "*.google.spanner.admin.instance.v1.Insta" - + "nce\"0\202\323\344\223\002#\022!/v1/{name=projects/*/instan" - + "ces/*}\332A\004name\022\234\002\n\016CreateInstance\0227.googl" - + "e.spanner.admin.instance.v1.CreateInstan" - + "ceRequest\032\035.google.longrunning.Operation" - + "\"\261\001\202\323\344\223\002&\"!/v1/{parent=projects/*}/insta" - + "nces:\001*\332A\033parent,instance_id,instance\312Ad" - + "\n)google.spanner.admin.instance.v1.Insta" - + "nce\0227google.spanner.admin.instance.v1.Cr" - + "eateInstanceMetadata\022\235\002\n\016UpdateInstance\022" - + "7.google.spanner.admin.instance.v1.Updat" - + "eInstanceRequest\032\035.google.longrunning.Op" - + "eration\"\262\001\202\323\344\223\002/2*/v1/{instance.name=pro" - + "jects/*/instances/*}:\001*\332A\023instance,field" - + "_mask\312Ad\n)google.spanner.admin.instance." - + "v1.Instance\0227google.spanner.admin.instan" - + "ce.v1.UpdateInstanceMetadata\022\223\001\n\016DeleteI" - + "nstance\0227.google.spanner.admin.instance." - + "v1.DeleteInstanceRequest\032\026.google.protob" - + "uf.Empty\"0\202\323\344\223\002#*!/v1/{name=projects/*/i" - + "nstances/*}\332A\004name\022\232\001\n\014SetIamPolicy\022\".go" - + "ogle.iam.v1.SetIamPolicyRequest\032\025.google" - + ".iam.v1.Policy\"O\202\323\344\223\0027\"2/v1/{resource=pr" - + "ojects/*/instances/*}:setIamPolicy:\001*\332A\017" - + "resource,policy\022\223\001\n\014GetIamPolicy\022\".googl" - + "e.iam.v1.GetIamPolicyRequest\032\025.google.ia" - + "m.v1.Policy\"H\202\323\344\223\0027\"2/v1/{resource=proje" - + "cts/*/instances/*}:getIamPolicy:\001*\332A\010res" - + "ource\022\305\001\n\022TestIamPermissions\022(.google.ia" - + "m.v1.TestIamPermissionsRequest\032).google." - + "iam.v1.TestIamPermissionsResponse\"Z\202\323\344\223\002" - + "=\"8/v1/{resource=projects/*/instances/*}" - + ":testIamPermissions:\001*\332A\024resource,permis" - + "sions\032x\312A\026spanner.googleapis.com\322A\\https" - + "://www.googleapis.com/auth/cloud-platfor" - + "m,https://www.googleapis.com/auth/spanne" - + "r.adminB\215\002\n$com.google.spanner.admin.ins" - + "tance.v1B\031SpannerInstanceAdminProtoP\001ZHg" - + "oogle.golang.org/genproto/googleapis/spa" - + "nner/admin/instance/v1;instance\252\002&Google" - + ".Cloud.Spanner.Admin.Instance.V1\312\002&Googl" - + "e\\Cloud\\Spanner\\Admin\\Instance\\V1\352\002+Goog" - + "le::Cloud::Spanner::Admin::Instance::V1b" - + "\006proto3" + + "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}\"\364\003\n\010Instanc" + + "e\022\014\n\004name\030\001 \001(\t\022:\n\006config\030\002 \001(\tB*\372A\'\n%sp" + + "anner.googleapis.com/InstanceConfig\022\024\n\014d" + + "isplay_name\030\003 \001(\t\022\022\n\nnode_count\030\005 \001(\005\022\030\n" + + "\020processing_units\030\t \001(\005\022D\n\005state\030\006 \001(\01620" + + ".google.spanner.admin.instance.v1.Instan" + + "ce.StateB\003\340A\003\022F\n\006labels\030\007 \003(\01326.google.s" + + "panner.admin.instance.v1.Instance.Labels" + + "Entry\022\025\n\rendpoint_uris\030\010 \003(\t\032-\n\013LabelsEn" + + "try\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"7\n\005S" + + "tate\022\025\n\021STATE_UNSPECIFIED\020\000\022\014\n\010CREATING\020" + + "\001\022\t\n\005READY\020\002:M\352AJ\n\037spanner.googleapis.co" + + "m/Instance\022\'projects/{project}/instances" + + "/{instance}\"\210\001\n\032ListInstanceConfigsReque" + + "st\022C\n\006parent\030\001 \001(\tB3\340A\002\372A-\n+cloudresourc" + + "emanager.googleapis.com/Project\022\021\n\tpage_" + + "size\030\002 \001(\005\022\022\n\npage_token\030\003 \001(\t\"\202\001\n\033ListI" + + "nstanceConfigsResponse\022J\n\020instance_confi" + + "gs\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/In" + + "stanceConfig\"{\n\022GetInstanceRequest\0225\n\004na" + + "me\030\001 \001(\tB\'\340A\002\372A!\n\037spanner.googleapis.com" + + "/Instance\022.\n\nfield_mask\030\002 \001(\0132\032.google.p" + + "rotobuf.FieldMask\"\271\001\n\025CreateInstanceRequ" + + "est\022C\n\006parent\030\001 \001(\tB3\340A\002\372A-\n+cloudresour" + + "cemanager.googleapis.com/Project\022\030\n\013inst" + + "ance_id\030\002 \001(\tB\003\340A\002\022A\n\010instance\030\003 \001(\0132*.g" + + "oogle.spanner.admin.instance.v1.Instance" + + "B\003\340A\002\"\222\001\n\024ListInstancesRequest\022C\n\006parent" + + "\030\001 \001(\tB3\340A\002\372A-\n+cloudresourcemanager.goo" + + "gleapis.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\025Li" + + "stInstancesResponse\022=\n\tinstances\030\001 \003(\0132*" + + ".google.spanner.admin.instance.v1.Instan" + + "ce\022\027\n\017next_page_token\030\002 \001(\t\"\217\001\n\025UpdateIn" + + "stanceRequest\022A\n\010instance\030\001 \001(\0132*.google" + + ".spanner.admin.instance.v1.InstanceB\003\340A\002" + + "\0223\n\nfield_mask\030\002 \001(\0132\032.google.protobuf.F" + + "ieldMaskB\003\340A\002\"N\n\025DeleteInstanceRequest\0225" + + "\n\004name\030\001 \001(\tB\'\340A\002\372A!\n\037spanner.googleapis" + + ".com/Instance\"\345\001\n\026CreateInstanceMetadata" + + "\022<\n\010instance\030\001 \001(\0132*.google.spanner.admi" + + "n.instance.v1.Instance\022.\n\nstart_time\030\002 \001" + + "(\0132\032.google.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.Time" + + "stamp\"\345\001\n\026UpdateInstanceMetadata\022<\n\010inst" + + "ance\030\001 \001(\0132*.google.spanner.admin.instan" + + "ce.v1.Instance\022.\n\nstart_time\030\002 \001(\0132\032.goo" + + "gle.protobuf.Timestamp\022/\n\013cancel_time\030\003 " + + "\001(\0132\032.google.protobuf.Timestamp\022,\n\010end_t" + + "ime\030\004 \001(\0132\032.google.protobuf.Timestamp2\277\020" + + "\n\rInstanceAdmin\022\314\001\n\023ListInstanceConfigs\022" + + "<.google.spanner.admin.instance.v1.ListI" + + "nstanceConfigsRequest\032=.google.spanner.a" + + "dmin.instance.v1.ListInstanceConfigsResp" + + "onse\"8\202\323\344\223\002)\022\'/v1/{parent=projects/*}/in" + + "stanceConfigs\332A\006parent\022\271\001\n\021GetInstanceCo" + + "nfig\022:.google.spanner.admin.instance.v1." + + "GetInstanceConfigRequest\0320.google.spanne" + + "r.admin.instance.v1.InstanceConfig\"6\202\323\344\223" + + "\002)\022\'/v1/{name=projects/*/instanceConfigs" + + "/*}\332A\004name\022\264\001\n\rListInstances\0226.google.sp" + + "anner.admin.instance.v1.ListInstancesReq" + + "uest\0327.google.spanner.admin.instance.v1." + + "ListInstancesResponse\"2\202\323\344\223\002#\022!/v1/{pare" + + "nt=projects/*}/instances\332A\006parent\022\241\001\n\013Ge" + + "tInstance\0224.google.spanner.admin.instanc" + + "e.v1.GetInstanceRequest\032*.google.spanner" + + ".admin.instance.v1.Instance\"0\202\323\344\223\002#\022!/v1" + + "/{name=projects/*/instances/*}\332A\004name\022\234\002" + + "\n\016CreateInstance\0227.google.spanner.admin." + + "instance.v1.CreateInstanceRequest\032\035.goog" + + "le.longrunning.Operation\"\261\001\202\323\344\223\002&\"!/v1/{" + + "parent=projects/*}/instances:\001*\332A\033parent" + + ",instance_id,instance\312Ad\n)google.spanner" + + ".admin.instance.v1.Instance\0227google.span" + + "ner.admin.instance.v1.CreateInstanceMeta" + + "data\022\235\002\n\016UpdateInstance\0227.google.spanner" + + ".admin.instance.v1.UpdateInstanceRequest" + + "\032\035.google.longrunning.Operation\"\262\001\202\323\344\223\002/" + + "2*/v1/{instance.name=projects/*/instance" + + "s/*}:\001*\332A\023instance,field_mask\312Ad\n)google" + + ".spanner.admin.instance.v1.Instance\0227goo" + + "gle.spanner.admin.instance.v1.UpdateInst" + + "anceMetadata\022\223\001\n\016DeleteInstance\0227.google" + + ".spanner.admin.instance.v1.DeleteInstanc" + + "eRequest\032\026.google.protobuf.Empty\"0\202\323\344\223\002#" + + "*!/v1/{name=projects/*/instances/*}\332A\004na" + + "me\022\232\001\n\014SetIamPolicy\022\".google.iam.v1.SetI" + + "amPolicyRequest\032\025.google.iam.v1.Policy\"O" + + "\202\323\344\223\0027\"2/v1/{resource=projects/*/instanc" + + "es/*}:setIamPolicy:\001*\332A\017resource,policy\022" + + "\223\001\n\014GetIamPolicy\022\".google.iam.v1.GetIamP" + + "olicyRequest\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\022TestIa" + + "mPermissions\022(.google.iam.v1.TestIamPerm" + + "issionsRequest\032).google.iam.v1.TestIamPe" + + "rmissionsResponse\"Z\202\323\344\223\002=\"8/v1/{resource" + + "=projects/*/instances/*}:testIamPermissi" + + "ons:\001*\332A\024resource,permissions\032x\312A\026spanne" + + "r.googleapis.com\322A\\https://www.googleapi" + + "s.com/auth/cloud-platform,https://www.go" + + "ogleapis.com/auth/spanner.adminB\215\002\n$com." + + "google.spanner.admin.instance.v1B\031Spanne" + + "rInstanceAdminProtoP\001ZHgoogle.golang.org" + + "/genproto/googleapis/spanner/admin/insta" + + "nce/v1;instance\252\002&Google.Cloud.Spanner.A" + + "dmin.Instance.V1\312\002&Google\\Cloud\\Spanner\\" + + "Admin\\Instance\\V1\352\002+Google::Cloud::Spann" + + "er::Admin::Instance::V1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -261,7 +261,7 @@ 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", + "Name", "DisplayName", "Replicas", "LeaderOptions", }); internal_static_google_spanner_admin_instance_v1_Instance_descriptor = getDescriptor().getMessageTypes().get(2); 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 5630d65327..de86f26865 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 @@ -318,6 +318,10 @@ message InstanceConfig { // The geographic placement of nodes in this instance configuration and their // replication properties. repeated ReplicaInfo replicas = 3; + + // Allowed values of the “default_leader” schema option for databases in + // instances that use this instance configuration. + repeated string leader_options = 4; } // An isolated set of Cloud Spanner resources on which databases can be hosted. diff --git a/synth.metadata b/synth.metadata index 70f5babb14..8961714973 100644 --- a/synth.metadata +++ b/synth.metadata @@ -4,15 +4,15 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/java-spanner.git", - "sha": "b2a56c68695b6209e20f9f86d83d7c5a0f39c7a8" + "sha": "ffc190ca55c57cee675515ca364d1b1f116c7b29" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "fb5c4fbc1ded09e6958d6be7ca36a9221dc7e52f", - "internalRef": "381156241" + "sha": "2c6e4dd22260e34403b468cc6d19aa43a9c684ed", + "internalRef": "382409094" } }, {