1// Copyright 2021 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// Code generated by protoc-gen-go. DO NOT EDIT. 16// versions: 17// protoc-gen-go v1.27.1 18// protoc v3.12.2 19// source: google/spanner/admin/database/v1/spanner_database_admin.proto 20 21package database 22 23import ( 24 context "context" 25 reflect "reflect" 26 sync "sync" 27 28 _ "google.golang.org/genproto/googleapis/api/annotations" 29 v1 "google.golang.org/genproto/googleapis/iam/v1" 30 longrunning "google.golang.org/genproto/googleapis/longrunning" 31 grpc "google.golang.org/grpc" 32 codes "google.golang.org/grpc/codes" 33 status "google.golang.org/grpc/status" 34 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 35 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 36 emptypb "google.golang.org/protobuf/types/known/emptypb" 37 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 38) 39 40const ( 41 // Verify that this generated code is sufficiently up-to-date. 42 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 43 // Verify that runtime/protoimpl is sufficiently up-to-date. 44 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 45) 46 47// Indicates the type of the restore source. 48type RestoreSourceType int32 49 50const ( 51 // No restore associated. 52 RestoreSourceType_TYPE_UNSPECIFIED RestoreSourceType = 0 53 // A backup was used as the source of the restore. 54 RestoreSourceType_BACKUP RestoreSourceType = 1 55) 56 57// Enum value maps for RestoreSourceType. 58var ( 59 RestoreSourceType_name = map[int32]string{ 60 0: "TYPE_UNSPECIFIED", 61 1: "BACKUP", 62 } 63 RestoreSourceType_value = map[string]int32{ 64 "TYPE_UNSPECIFIED": 0, 65 "BACKUP": 1, 66 } 67) 68 69func (x RestoreSourceType) Enum() *RestoreSourceType { 70 p := new(RestoreSourceType) 71 *p = x 72 return p 73} 74 75func (x RestoreSourceType) String() string { 76 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 77} 78 79func (RestoreSourceType) Descriptor() protoreflect.EnumDescriptor { 80 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_enumTypes[0].Descriptor() 81} 82 83func (RestoreSourceType) Type() protoreflect.EnumType { 84 return &file_google_spanner_admin_database_v1_spanner_database_admin_proto_enumTypes[0] 85} 86 87func (x RestoreSourceType) Number() protoreflect.EnumNumber { 88 return protoreflect.EnumNumber(x) 89} 90 91// Deprecated: Use RestoreSourceType.Descriptor instead. 92func (RestoreSourceType) EnumDescriptor() ([]byte, []int) { 93 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{0} 94} 95 96// Indicates the current state of the database. 97type Database_State int32 98 99const ( 100 // Not specified. 101 Database_STATE_UNSPECIFIED Database_State = 0 102 // The database is still being created. Operations on the database may fail 103 // with `FAILED_PRECONDITION` in this state. 104 Database_CREATING Database_State = 1 105 // The database is fully created and ready for use. 106 Database_READY Database_State = 2 107 // The database is fully created and ready for use, but is still 108 // being optimized for performance and cannot handle full load. 109 // 110 // In this state, the database still references the backup 111 // it was restore from, preventing the backup 112 // from being deleted. When optimizations are complete, the full performance 113 // of the database will be restored, and the database will transition to 114 // `READY` state. 115 Database_READY_OPTIMIZING Database_State = 3 116) 117 118// Enum value maps for Database_State. 119var ( 120 Database_State_name = map[int32]string{ 121 0: "STATE_UNSPECIFIED", 122 1: "CREATING", 123 2: "READY", 124 3: "READY_OPTIMIZING", 125 } 126 Database_State_value = map[string]int32{ 127 "STATE_UNSPECIFIED": 0, 128 "CREATING": 1, 129 "READY": 2, 130 "READY_OPTIMIZING": 3, 131 } 132) 133 134func (x Database_State) Enum() *Database_State { 135 p := new(Database_State) 136 *p = x 137 return p 138} 139 140func (x Database_State) String() string { 141 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 142} 143 144func (Database_State) Descriptor() protoreflect.EnumDescriptor { 145 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_enumTypes[1].Descriptor() 146} 147 148func (Database_State) Type() protoreflect.EnumType { 149 return &file_google_spanner_admin_database_v1_spanner_database_admin_proto_enumTypes[1] 150} 151 152func (x Database_State) Number() protoreflect.EnumNumber { 153 return protoreflect.EnumNumber(x) 154} 155 156// Deprecated: Use Database_State.Descriptor instead. 157func (Database_State) EnumDescriptor() ([]byte, []int) { 158 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{1, 0} 159} 160 161// Encryption types for the database to be restored. 162type RestoreDatabaseEncryptionConfig_EncryptionType int32 163 164const ( 165 // Unspecified. Do not use. 166 RestoreDatabaseEncryptionConfig_ENCRYPTION_TYPE_UNSPECIFIED RestoreDatabaseEncryptionConfig_EncryptionType = 0 167 // This is the default option when 168 // [encryption_config][google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig] is not specified. 169 RestoreDatabaseEncryptionConfig_USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION RestoreDatabaseEncryptionConfig_EncryptionType = 1 170 // Use Google default encryption. 171 RestoreDatabaseEncryptionConfig_GOOGLE_DEFAULT_ENCRYPTION RestoreDatabaseEncryptionConfig_EncryptionType = 2 172 // Use customer managed encryption. If specified, `kms_key_name` must 173 // must contain a valid Cloud KMS key. 174 RestoreDatabaseEncryptionConfig_CUSTOMER_MANAGED_ENCRYPTION RestoreDatabaseEncryptionConfig_EncryptionType = 3 175) 176 177// Enum value maps for RestoreDatabaseEncryptionConfig_EncryptionType. 178var ( 179 RestoreDatabaseEncryptionConfig_EncryptionType_name = map[int32]string{ 180 0: "ENCRYPTION_TYPE_UNSPECIFIED", 181 1: "USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION", 182 2: "GOOGLE_DEFAULT_ENCRYPTION", 183 3: "CUSTOMER_MANAGED_ENCRYPTION", 184 } 185 RestoreDatabaseEncryptionConfig_EncryptionType_value = map[string]int32{ 186 "ENCRYPTION_TYPE_UNSPECIFIED": 0, 187 "USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION": 1, 188 "GOOGLE_DEFAULT_ENCRYPTION": 2, 189 "CUSTOMER_MANAGED_ENCRYPTION": 3, 190 } 191) 192 193func (x RestoreDatabaseEncryptionConfig_EncryptionType) Enum() *RestoreDatabaseEncryptionConfig_EncryptionType { 194 p := new(RestoreDatabaseEncryptionConfig_EncryptionType) 195 *p = x 196 return p 197} 198 199func (x RestoreDatabaseEncryptionConfig_EncryptionType) String() string { 200 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 201} 202 203func (RestoreDatabaseEncryptionConfig_EncryptionType) Descriptor() protoreflect.EnumDescriptor { 204 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_enumTypes[2].Descriptor() 205} 206 207func (RestoreDatabaseEncryptionConfig_EncryptionType) Type() protoreflect.EnumType { 208 return &file_google_spanner_admin_database_v1_spanner_database_admin_proto_enumTypes[2] 209} 210 211func (x RestoreDatabaseEncryptionConfig_EncryptionType) Number() protoreflect.EnumNumber { 212 return protoreflect.EnumNumber(x) 213} 214 215// Deprecated: Use RestoreDatabaseEncryptionConfig_EncryptionType.Descriptor instead. 216func (RestoreDatabaseEncryptionConfig_EncryptionType) EnumDescriptor() ([]byte, []int) { 217 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{15, 0} 218} 219 220// Information about the database restore. 221type RestoreInfo struct { 222 state protoimpl.MessageState 223 sizeCache protoimpl.SizeCache 224 unknownFields protoimpl.UnknownFields 225 226 // The type of the restore source. 227 SourceType RestoreSourceType `protobuf:"varint,1,opt,name=source_type,json=sourceType,proto3,enum=google.spanner.admin.database.v1.RestoreSourceType" json:"source_type,omitempty"` 228 // Information about the source used to restore the database. 229 // 230 // Types that are assignable to SourceInfo: 231 // *RestoreInfo_BackupInfo 232 SourceInfo isRestoreInfo_SourceInfo `protobuf_oneof:"source_info"` 233} 234 235func (x *RestoreInfo) Reset() { 236 *x = RestoreInfo{} 237 if protoimpl.UnsafeEnabled { 238 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[0] 239 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 240 ms.StoreMessageInfo(mi) 241 } 242} 243 244func (x *RestoreInfo) String() string { 245 return protoimpl.X.MessageStringOf(x) 246} 247 248func (*RestoreInfo) ProtoMessage() {} 249 250func (x *RestoreInfo) ProtoReflect() protoreflect.Message { 251 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[0] 252 if protoimpl.UnsafeEnabled && x != nil { 253 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 254 if ms.LoadMessageInfo() == nil { 255 ms.StoreMessageInfo(mi) 256 } 257 return ms 258 } 259 return mi.MessageOf(x) 260} 261 262// Deprecated: Use RestoreInfo.ProtoReflect.Descriptor instead. 263func (*RestoreInfo) Descriptor() ([]byte, []int) { 264 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{0} 265} 266 267func (x *RestoreInfo) GetSourceType() RestoreSourceType { 268 if x != nil { 269 return x.SourceType 270 } 271 return RestoreSourceType_TYPE_UNSPECIFIED 272} 273 274func (m *RestoreInfo) GetSourceInfo() isRestoreInfo_SourceInfo { 275 if m != nil { 276 return m.SourceInfo 277 } 278 return nil 279} 280 281func (x *RestoreInfo) GetBackupInfo() *BackupInfo { 282 if x, ok := x.GetSourceInfo().(*RestoreInfo_BackupInfo); ok { 283 return x.BackupInfo 284 } 285 return nil 286} 287 288type isRestoreInfo_SourceInfo interface { 289 isRestoreInfo_SourceInfo() 290} 291 292type RestoreInfo_BackupInfo struct { 293 // Information about the backup used to restore the database. The backup 294 // may no longer exist. 295 BackupInfo *BackupInfo `protobuf:"bytes,2,opt,name=backup_info,json=backupInfo,proto3,oneof"` 296} 297 298func (*RestoreInfo_BackupInfo) isRestoreInfo_SourceInfo() {} 299 300// A Cloud Spanner database. 301type Database struct { 302 state protoimpl.MessageState 303 sizeCache protoimpl.SizeCache 304 unknownFields protoimpl.UnknownFields 305 306 // Required. The name of the database. Values are of the form 307 // `projects/<project>/instances/<instance>/databases/<database>`, 308 // where `<database>` is as specified in the `CREATE DATABASE` 309 // statement. This name can be passed to other API methods to 310 // identify the database. 311 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 312 // Output only. The current database state. 313 State Database_State `protobuf:"varint,2,opt,name=state,proto3,enum=google.spanner.admin.database.v1.Database_State" json:"state,omitempty"` 314 // Output only. If exists, the time at which the database creation started. 315 CreateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 316 // Output only. Applicable only for restored databases. Contains information 317 // about the restore source. 318 RestoreInfo *RestoreInfo `protobuf:"bytes,4,opt,name=restore_info,json=restoreInfo,proto3" json:"restore_info,omitempty"` 319 // Output only. For databases that are using customer managed encryption, this 320 // field contains the encryption configuration for the database. 321 // For databases that are using Google default or other types of encryption, 322 // this field is empty. 323 EncryptionConfig *EncryptionConfig `protobuf:"bytes,5,opt,name=encryption_config,json=encryptionConfig,proto3" json:"encryption_config,omitempty"` 324 // Output only. For databases that are using customer managed encryption, this 325 // field contains the encryption information for the database, such as 326 // encryption state and the Cloud KMS key versions that are in use. 327 // 328 // For databases that are using Google default or other types of encryption, 329 // this field is empty. 330 // 331 // This field is propagated lazily from the backend. There might be a delay 332 // from when a key version is being used and when it appears in this field. 333 EncryptionInfo []*EncryptionInfo `protobuf:"bytes,8,rep,name=encryption_info,json=encryptionInfo,proto3" json:"encryption_info,omitempty"` 334 // Output only. The period in which Cloud Spanner retains all versions of data 335 // for the database. This is the same as the value of version_retention_period 336 // database option set using 337 // [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]. Defaults to 1 hour, 338 // if not set. 339 VersionRetentionPeriod string `protobuf:"bytes,6,opt,name=version_retention_period,json=versionRetentionPeriod,proto3" json:"version_retention_period,omitempty"` 340 // Output only. Earliest timestamp at which older versions of the data can be 341 // read. This value is continuously updated by Cloud Spanner and becomes stale 342 // the moment it is queried. If you are using this value to recover data, make 343 // sure to account for the time from the moment when the value is queried to 344 // the moment when you initiate the recovery. 345 EarliestVersionTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=earliest_version_time,json=earliestVersionTime,proto3" json:"earliest_version_time,omitempty"` 346 // Output only. The read-write region which contains the database's leader 347 // replicas. 348 // 349 // This is the same as the value of default_leader 350 // database option set using DatabaseAdmin.CreateDatabase or 351 // DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty. 352 DefaultLeader string `protobuf:"bytes,9,opt,name=default_leader,json=defaultLeader,proto3" json:"default_leader,omitempty"` 353} 354 355func (x *Database) Reset() { 356 *x = Database{} 357 if protoimpl.UnsafeEnabled { 358 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[1] 359 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 360 ms.StoreMessageInfo(mi) 361 } 362} 363 364func (x *Database) String() string { 365 return protoimpl.X.MessageStringOf(x) 366} 367 368func (*Database) ProtoMessage() {} 369 370func (x *Database) ProtoReflect() protoreflect.Message { 371 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[1] 372 if protoimpl.UnsafeEnabled && x != nil { 373 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 374 if ms.LoadMessageInfo() == nil { 375 ms.StoreMessageInfo(mi) 376 } 377 return ms 378 } 379 return mi.MessageOf(x) 380} 381 382// Deprecated: Use Database.ProtoReflect.Descriptor instead. 383func (*Database) Descriptor() ([]byte, []int) { 384 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{1} 385} 386 387func (x *Database) GetName() string { 388 if x != nil { 389 return x.Name 390 } 391 return "" 392} 393 394func (x *Database) GetState() Database_State { 395 if x != nil { 396 return x.State 397 } 398 return Database_STATE_UNSPECIFIED 399} 400 401func (x *Database) GetCreateTime() *timestamppb.Timestamp { 402 if x != nil { 403 return x.CreateTime 404 } 405 return nil 406} 407 408func (x *Database) GetRestoreInfo() *RestoreInfo { 409 if x != nil { 410 return x.RestoreInfo 411 } 412 return nil 413} 414 415func (x *Database) GetEncryptionConfig() *EncryptionConfig { 416 if x != nil { 417 return x.EncryptionConfig 418 } 419 return nil 420} 421 422func (x *Database) GetEncryptionInfo() []*EncryptionInfo { 423 if x != nil { 424 return x.EncryptionInfo 425 } 426 return nil 427} 428 429func (x *Database) GetVersionRetentionPeriod() string { 430 if x != nil { 431 return x.VersionRetentionPeriod 432 } 433 return "" 434} 435 436func (x *Database) GetEarliestVersionTime() *timestamppb.Timestamp { 437 if x != nil { 438 return x.EarliestVersionTime 439 } 440 return nil 441} 442 443func (x *Database) GetDefaultLeader() string { 444 if x != nil { 445 return x.DefaultLeader 446 } 447 return "" 448} 449 450// The request for [ListDatabases][google.spanner.admin.database.v1.DatabaseAdmin.ListDatabases]. 451type ListDatabasesRequest struct { 452 state protoimpl.MessageState 453 sizeCache protoimpl.SizeCache 454 unknownFields protoimpl.UnknownFields 455 456 // Required. The instance whose databases should be listed. 457 // Values are of the form `projects/<project>/instances/<instance>`. 458 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 459 // Number of databases to be returned in the response. If 0 or less, 460 // defaults to the server's maximum allowed page size. 461 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 462 // If non-empty, `page_token` should contain a 463 // [next_page_token][google.spanner.admin.database.v1.ListDatabasesResponse.next_page_token] from a 464 // previous [ListDatabasesResponse][google.spanner.admin.database.v1.ListDatabasesResponse]. 465 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 466} 467 468func (x *ListDatabasesRequest) Reset() { 469 *x = ListDatabasesRequest{} 470 if protoimpl.UnsafeEnabled { 471 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[2] 472 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 473 ms.StoreMessageInfo(mi) 474 } 475} 476 477func (x *ListDatabasesRequest) String() string { 478 return protoimpl.X.MessageStringOf(x) 479} 480 481func (*ListDatabasesRequest) ProtoMessage() {} 482 483func (x *ListDatabasesRequest) ProtoReflect() protoreflect.Message { 484 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[2] 485 if protoimpl.UnsafeEnabled && x != nil { 486 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 487 if ms.LoadMessageInfo() == nil { 488 ms.StoreMessageInfo(mi) 489 } 490 return ms 491 } 492 return mi.MessageOf(x) 493} 494 495// Deprecated: Use ListDatabasesRequest.ProtoReflect.Descriptor instead. 496func (*ListDatabasesRequest) Descriptor() ([]byte, []int) { 497 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{2} 498} 499 500func (x *ListDatabasesRequest) GetParent() string { 501 if x != nil { 502 return x.Parent 503 } 504 return "" 505} 506 507func (x *ListDatabasesRequest) GetPageSize() int32 { 508 if x != nil { 509 return x.PageSize 510 } 511 return 0 512} 513 514func (x *ListDatabasesRequest) GetPageToken() string { 515 if x != nil { 516 return x.PageToken 517 } 518 return "" 519} 520 521// The response for [ListDatabases][google.spanner.admin.database.v1.DatabaseAdmin.ListDatabases]. 522type ListDatabasesResponse struct { 523 state protoimpl.MessageState 524 sizeCache protoimpl.SizeCache 525 unknownFields protoimpl.UnknownFields 526 527 // Databases that matched the request. 528 Databases []*Database `protobuf:"bytes,1,rep,name=databases,proto3" json:"databases,omitempty"` 529 // `next_page_token` can be sent in a subsequent 530 // [ListDatabases][google.spanner.admin.database.v1.DatabaseAdmin.ListDatabases] call to fetch more 531 // of the matching databases. 532 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 533} 534 535func (x *ListDatabasesResponse) Reset() { 536 *x = ListDatabasesResponse{} 537 if protoimpl.UnsafeEnabled { 538 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[3] 539 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 540 ms.StoreMessageInfo(mi) 541 } 542} 543 544func (x *ListDatabasesResponse) String() string { 545 return protoimpl.X.MessageStringOf(x) 546} 547 548func (*ListDatabasesResponse) ProtoMessage() {} 549 550func (x *ListDatabasesResponse) ProtoReflect() protoreflect.Message { 551 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[3] 552 if protoimpl.UnsafeEnabled && x != nil { 553 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 554 if ms.LoadMessageInfo() == nil { 555 ms.StoreMessageInfo(mi) 556 } 557 return ms 558 } 559 return mi.MessageOf(x) 560} 561 562// Deprecated: Use ListDatabasesResponse.ProtoReflect.Descriptor instead. 563func (*ListDatabasesResponse) Descriptor() ([]byte, []int) { 564 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{3} 565} 566 567func (x *ListDatabasesResponse) GetDatabases() []*Database { 568 if x != nil { 569 return x.Databases 570 } 571 return nil 572} 573 574func (x *ListDatabasesResponse) GetNextPageToken() string { 575 if x != nil { 576 return x.NextPageToken 577 } 578 return "" 579} 580 581// The request for [CreateDatabase][google.spanner.admin.database.v1.DatabaseAdmin.CreateDatabase]. 582type CreateDatabaseRequest struct { 583 state protoimpl.MessageState 584 sizeCache protoimpl.SizeCache 585 unknownFields protoimpl.UnknownFields 586 587 // Required. The name of the instance that will serve the new database. 588 // Values are of the form `projects/<project>/instances/<instance>`. 589 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 590 // Required. A `CREATE DATABASE` statement, which specifies the ID of the 591 // new database. The database ID must conform to the regular expression 592 // `[a-z][a-z0-9_\-]*[a-z0-9]` and be between 2 and 30 characters in length. 593 // If the database ID is a reserved word or if it contains a hyphen, the 594 // database ID must be enclosed in backticks (`` ` ``). 595 CreateStatement string `protobuf:"bytes,2,opt,name=create_statement,json=createStatement,proto3" json:"create_statement,omitempty"` 596 // Optional. A list of DDL statements to run inside the newly created 597 // database. Statements can create tables, indexes, etc. These 598 // statements execute atomically with the creation of the database: 599 // if there is an error in any statement, the database is not created. 600 ExtraStatements []string `protobuf:"bytes,3,rep,name=extra_statements,json=extraStatements,proto3" json:"extra_statements,omitempty"` 601 // Optional. The encryption configuration for the database. If this field is not 602 // specified, Cloud Spanner will encrypt/decrypt all data at rest using 603 // Google default encryption. 604 EncryptionConfig *EncryptionConfig `protobuf:"bytes,4,opt,name=encryption_config,json=encryptionConfig,proto3" json:"encryption_config,omitempty"` 605} 606 607func (x *CreateDatabaseRequest) Reset() { 608 *x = CreateDatabaseRequest{} 609 if protoimpl.UnsafeEnabled { 610 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[4] 611 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 612 ms.StoreMessageInfo(mi) 613 } 614} 615 616func (x *CreateDatabaseRequest) String() string { 617 return protoimpl.X.MessageStringOf(x) 618} 619 620func (*CreateDatabaseRequest) ProtoMessage() {} 621 622func (x *CreateDatabaseRequest) ProtoReflect() protoreflect.Message { 623 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[4] 624 if protoimpl.UnsafeEnabled && x != nil { 625 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 626 if ms.LoadMessageInfo() == nil { 627 ms.StoreMessageInfo(mi) 628 } 629 return ms 630 } 631 return mi.MessageOf(x) 632} 633 634// Deprecated: Use CreateDatabaseRequest.ProtoReflect.Descriptor instead. 635func (*CreateDatabaseRequest) Descriptor() ([]byte, []int) { 636 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{4} 637} 638 639func (x *CreateDatabaseRequest) GetParent() string { 640 if x != nil { 641 return x.Parent 642 } 643 return "" 644} 645 646func (x *CreateDatabaseRequest) GetCreateStatement() string { 647 if x != nil { 648 return x.CreateStatement 649 } 650 return "" 651} 652 653func (x *CreateDatabaseRequest) GetExtraStatements() []string { 654 if x != nil { 655 return x.ExtraStatements 656 } 657 return nil 658} 659 660func (x *CreateDatabaseRequest) GetEncryptionConfig() *EncryptionConfig { 661 if x != nil { 662 return x.EncryptionConfig 663 } 664 return nil 665} 666 667// Metadata type for the operation returned by 668// [CreateDatabase][google.spanner.admin.database.v1.DatabaseAdmin.CreateDatabase]. 669type CreateDatabaseMetadata struct { 670 state protoimpl.MessageState 671 sizeCache protoimpl.SizeCache 672 unknownFields protoimpl.UnknownFields 673 674 // The database being created. 675 Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` 676} 677 678func (x *CreateDatabaseMetadata) Reset() { 679 *x = CreateDatabaseMetadata{} 680 if protoimpl.UnsafeEnabled { 681 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[5] 682 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 683 ms.StoreMessageInfo(mi) 684 } 685} 686 687func (x *CreateDatabaseMetadata) String() string { 688 return protoimpl.X.MessageStringOf(x) 689} 690 691func (*CreateDatabaseMetadata) ProtoMessage() {} 692 693func (x *CreateDatabaseMetadata) ProtoReflect() protoreflect.Message { 694 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[5] 695 if protoimpl.UnsafeEnabled && x != nil { 696 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 697 if ms.LoadMessageInfo() == nil { 698 ms.StoreMessageInfo(mi) 699 } 700 return ms 701 } 702 return mi.MessageOf(x) 703} 704 705// Deprecated: Use CreateDatabaseMetadata.ProtoReflect.Descriptor instead. 706func (*CreateDatabaseMetadata) Descriptor() ([]byte, []int) { 707 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{5} 708} 709 710func (x *CreateDatabaseMetadata) GetDatabase() string { 711 if x != nil { 712 return x.Database 713 } 714 return "" 715} 716 717// The request for [GetDatabase][google.spanner.admin.database.v1.DatabaseAdmin.GetDatabase]. 718type GetDatabaseRequest struct { 719 state protoimpl.MessageState 720 sizeCache protoimpl.SizeCache 721 unknownFields protoimpl.UnknownFields 722 723 // Required. The name of the requested database. Values are of the form 724 // `projects/<project>/instances/<instance>/databases/<database>`. 725 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 726} 727 728func (x *GetDatabaseRequest) Reset() { 729 *x = GetDatabaseRequest{} 730 if protoimpl.UnsafeEnabled { 731 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[6] 732 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 733 ms.StoreMessageInfo(mi) 734 } 735} 736 737func (x *GetDatabaseRequest) String() string { 738 return protoimpl.X.MessageStringOf(x) 739} 740 741func (*GetDatabaseRequest) ProtoMessage() {} 742 743func (x *GetDatabaseRequest) ProtoReflect() protoreflect.Message { 744 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[6] 745 if protoimpl.UnsafeEnabled && x != nil { 746 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 747 if ms.LoadMessageInfo() == nil { 748 ms.StoreMessageInfo(mi) 749 } 750 return ms 751 } 752 return mi.MessageOf(x) 753} 754 755// Deprecated: Use GetDatabaseRequest.ProtoReflect.Descriptor instead. 756func (*GetDatabaseRequest) Descriptor() ([]byte, []int) { 757 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{6} 758} 759 760func (x *GetDatabaseRequest) GetName() string { 761 if x != nil { 762 return x.Name 763 } 764 return "" 765} 766 767// Enqueues the given DDL statements to be applied, in order but not 768// necessarily all at once, to the database schema at some point (or 769// points) in the future. The server checks that the statements 770// are executable (syntactically valid, name tables that exist, etc.) 771// before enqueueing them, but they may still fail upon 772// later execution (e.g., if a statement from another batch of 773// statements is applied first and it conflicts in some way, or if 774// there is some data-related problem like a `NULL` value in a column to 775// which `NOT NULL` would be added). If a statement fails, all 776// subsequent statements in the batch are automatically cancelled. 777// 778// Each batch of statements is assigned a name which can be used with 779// the [Operations][google.longrunning.Operations] API to monitor 780// progress. See the 781// [operation_id][google.spanner.admin.database.v1.UpdateDatabaseDdlRequest.operation_id] field for more 782// details. 783type UpdateDatabaseDdlRequest struct { 784 state protoimpl.MessageState 785 sizeCache protoimpl.SizeCache 786 unknownFields protoimpl.UnknownFields 787 788 // Required. The database to update. 789 Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` 790 // Required. DDL statements to be applied to the database. 791 Statements []string `protobuf:"bytes,2,rep,name=statements,proto3" json:"statements,omitempty"` 792 // If empty, the new update request is assigned an 793 // automatically-generated operation ID. Otherwise, `operation_id` 794 // is used to construct the name of the resulting 795 // [Operation][google.longrunning.Operation]. 796 // 797 // Specifying an explicit operation ID simplifies determining 798 // whether the statements were executed in the event that the 799 // [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] call is replayed, 800 // or the return value is otherwise lost: the [database][google.spanner.admin.database.v1.UpdateDatabaseDdlRequest.database] and 801 // `operation_id` fields can be combined to form the 802 // [name][google.longrunning.Operation.name] of the resulting 803 // [longrunning.Operation][google.longrunning.Operation]: `<database>/operations/<operation_id>`. 804 // 805 // `operation_id` should be unique within the database, and must be 806 // a valid identifier: `[a-z][a-z0-9_]*`. Note that 807 // automatically-generated operation IDs always begin with an 808 // underscore. If the named operation already exists, 809 // [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] returns 810 // `ALREADY_EXISTS`. 811 OperationId string `protobuf:"bytes,3,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` 812} 813 814func (x *UpdateDatabaseDdlRequest) Reset() { 815 *x = UpdateDatabaseDdlRequest{} 816 if protoimpl.UnsafeEnabled { 817 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[7] 818 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 819 ms.StoreMessageInfo(mi) 820 } 821} 822 823func (x *UpdateDatabaseDdlRequest) String() string { 824 return protoimpl.X.MessageStringOf(x) 825} 826 827func (*UpdateDatabaseDdlRequest) ProtoMessage() {} 828 829func (x *UpdateDatabaseDdlRequest) ProtoReflect() protoreflect.Message { 830 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[7] 831 if protoimpl.UnsafeEnabled && x != nil { 832 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 833 if ms.LoadMessageInfo() == nil { 834 ms.StoreMessageInfo(mi) 835 } 836 return ms 837 } 838 return mi.MessageOf(x) 839} 840 841// Deprecated: Use UpdateDatabaseDdlRequest.ProtoReflect.Descriptor instead. 842func (*UpdateDatabaseDdlRequest) Descriptor() ([]byte, []int) { 843 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{7} 844} 845 846func (x *UpdateDatabaseDdlRequest) GetDatabase() string { 847 if x != nil { 848 return x.Database 849 } 850 return "" 851} 852 853func (x *UpdateDatabaseDdlRequest) GetStatements() []string { 854 if x != nil { 855 return x.Statements 856 } 857 return nil 858} 859 860func (x *UpdateDatabaseDdlRequest) GetOperationId() string { 861 if x != nil { 862 return x.OperationId 863 } 864 return "" 865} 866 867// Metadata type for the operation returned by 868// [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]. 869type UpdateDatabaseDdlMetadata struct { 870 state protoimpl.MessageState 871 sizeCache protoimpl.SizeCache 872 unknownFields protoimpl.UnknownFields 873 874 // The database being modified. 875 Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` 876 // For an update this list contains all the statements. For an 877 // individual statement, this list contains only that statement. 878 Statements []string `protobuf:"bytes,2,rep,name=statements,proto3" json:"statements,omitempty"` 879 // Reports the commit timestamps of all statements that have 880 // succeeded so far, where `commit_timestamps[i]` is the commit 881 // timestamp for the statement `statements[i]`. 882 CommitTimestamps []*timestamppb.Timestamp `protobuf:"bytes,3,rep,name=commit_timestamps,json=commitTimestamps,proto3" json:"commit_timestamps,omitempty"` 883 // Output only. When true, indicates that the operation is throttled e.g 884 // due to resource constraints. When resources become available the operation 885 // will resume and this field will be false again. 886 Throttled bool `protobuf:"varint,4,opt,name=throttled,proto3" json:"throttled,omitempty"` 887 // The progress of the 888 // [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations. 889 // Currently, only index creation statements will have a continuously 890 // updating progress. 891 // For non-index creation statements, `progress[i]` will have start time 892 // and end time populated with commit timestamp of operation, 893 // as well as a progress of 100% once the operation has completed. 894 // `progress[i]` is the operation progress for `statements[i]`. 895 Progress []*OperationProgress `protobuf:"bytes,5,rep,name=progress,proto3" json:"progress,omitempty"` 896} 897 898func (x *UpdateDatabaseDdlMetadata) Reset() { 899 *x = UpdateDatabaseDdlMetadata{} 900 if protoimpl.UnsafeEnabled { 901 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[8] 902 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 903 ms.StoreMessageInfo(mi) 904 } 905} 906 907func (x *UpdateDatabaseDdlMetadata) String() string { 908 return protoimpl.X.MessageStringOf(x) 909} 910 911func (*UpdateDatabaseDdlMetadata) ProtoMessage() {} 912 913func (x *UpdateDatabaseDdlMetadata) ProtoReflect() protoreflect.Message { 914 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[8] 915 if protoimpl.UnsafeEnabled && x != nil { 916 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 917 if ms.LoadMessageInfo() == nil { 918 ms.StoreMessageInfo(mi) 919 } 920 return ms 921 } 922 return mi.MessageOf(x) 923} 924 925// Deprecated: Use UpdateDatabaseDdlMetadata.ProtoReflect.Descriptor instead. 926func (*UpdateDatabaseDdlMetadata) Descriptor() ([]byte, []int) { 927 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{8} 928} 929 930func (x *UpdateDatabaseDdlMetadata) GetDatabase() string { 931 if x != nil { 932 return x.Database 933 } 934 return "" 935} 936 937func (x *UpdateDatabaseDdlMetadata) GetStatements() []string { 938 if x != nil { 939 return x.Statements 940 } 941 return nil 942} 943 944func (x *UpdateDatabaseDdlMetadata) GetCommitTimestamps() []*timestamppb.Timestamp { 945 if x != nil { 946 return x.CommitTimestamps 947 } 948 return nil 949} 950 951func (x *UpdateDatabaseDdlMetadata) GetThrottled() bool { 952 if x != nil { 953 return x.Throttled 954 } 955 return false 956} 957 958func (x *UpdateDatabaseDdlMetadata) GetProgress() []*OperationProgress { 959 if x != nil { 960 return x.Progress 961 } 962 return nil 963} 964 965// The request for [DropDatabase][google.spanner.admin.database.v1.DatabaseAdmin.DropDatabase]. 966type DropDatabaseRequest struct { 967 state protoimpl.MessageState 968 sizeCache protoimpl.SizeCache 969 unknownFields protoimpl.UnknownFields 970 971 // Required. The database to be dropped. 972 Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` 973} 974 975func (x *DropDatabaseRequest) Reset() { 976 *x = DropDatabaseRequest{} 977 if protoimpl.UnsafeEnabled { 978 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[9] 979 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 980 ms.StoreMessageInfo(mi) 981 } 982} 983 984func (x *DropDatabaseRequest) String() string { 985 return protoimpl.X.MessageStringOf(x) 986} 987 988func (*DropDatabaseRequest) ProtoMessage() {} 989 990func (x *DropDatabaseRequest) ProtoReflect() protoreflect.Message { 991 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[9] 992 if protoimpl.UnsafeEnabled && x != nil { 993 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 994 if ms.LoadMessageInfo() == nil { 995 ms.StoreMessageInfo(mi) 996 } 997 return ms 998 } 999 return mi.MessageOf(x) 1000} 1001 1002// Deprecated: Use DropDatabaseRequest.ProtoReflect.Descriptor instead. 1003func (*DropDatabaseRequest) Descriptor() ([]byte, []int) { 1004 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{9} 1005} 1006 1007func (x *DropDatabaseRequest) GetDatabase() string { 1008 if x != nil { 1009 return x.Database 1010 } 1011 return "" 1012} 1013 1014// The request for [GetDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.GetDatabaseDdl]. 1015type GetDatabaseDdlRequest struct { 1016 state protoimpl.MessageState 1017 sizeCache protoimpl.SizeCache 1018 unknownFields protoimpl.UnknownFields 1019 1020 // Required. The database whose schema we wish to get. 1021 // Values are of the form 1022 // `projects/<project>/instances/<instance>/databases/<database>` 1023 Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` 1024} 1025 1026func (x *GetDatabaseDdlRequest) Reset() { 1027 *x = GetDatabaseDdlRequest{} 1028 if protoimpl.UnsafeEnabled { 1029 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[10] 1030 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1031 ms.StoreMessageInfo(mi) 1032 } 1033} 1034 1035func (x *GetDatabaseDdlRequest) String() string { 1036 return protoimpl.X.MessageStringOf(x) 1037} 1038 1039func (*GetDatabaseDdlRequest) ProtoMessage() {} 1040 1041func (x *GetDatabaseDdlRequest) ProtoReflect() protoreflect.Message { 1042 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[10] 1043 if protoimpl.UnsafeEnabled && x != nil { 1044 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1045 if ms.LoadMessageInfo() == nil { 1046 ms.StoreMessageInfo(mi) 1047 } 1048 return ms 1049 } 1050 return mi.MessageOf(x) 1051} 1052 1053// Deprecated: Use GetDatabaseDdlRequest.ProtoReflect.Descriptor instead. 1054func (*GetDatabaseDdlRequest) Descriptor() ([]byte, []int) { 1055 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{10} 1056} 1057 1058func (x *GetDatabaseDdlRequest) GetDatabase() string { 1059 if x != nil { 1060 return x.Database 1061 } 1062 return "" 1063} 1064 1065// The response for [GetDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.GetDatabaseDdl]. 1066type GetDatabaseDdlResponse struct { 1067 state protoimpl.MessageState 1068 sizeCache protoimpl.SizeCache 1069 unknownFields protoimpl.UnknownFields 1070 1071 // A list of formatted DDL statements defining the schema of the database 1072 // specified in the request. 1073 Statements []string `protobuf:"bytes,1,rep,name=statements,proto3" json:"statements,omitempty"` 1074} 1075 1076func (x *GetDatabaseDdlResponse) Reset() { 1077 *x = GetDatabaseDdlResponse{} 1078 if protoimpl.UnsafeEnabled { 1079 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[11] 1080 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1081 ms.StoreMessageInfo(mi) 1082 } 1083} 1084 1085func (x *GetDatabaseDdlResponse) String() string { 1086 return protoimpl.X.MessageStringOf(x) 1087} 1088 1089func (*GetDatabaseDdlResponse) ProtoMessage() {} 1090 1091func (x *GetDatabaseDdlResponse) ProtoReflect() protoreflect.Message { 1092 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[11] 1093 if protoimpl.UnsafeEnabled && x != nil { 1094 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1095 if ms.LoadMessageInfo() == nil { 1096 ms.StoreMessageInfo(mi) 1097 } 1098 return ms 1099 } 1100 return mi.MessageOf(x) 1101} 1102 1103// Deprecated: Use GetDatabaseDdlResponse.ProtoReflect.Descriptor instead. 1104func (*GetDatabaseDdlResponse) Descriptor() ([]byte, []int) { 1105 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{11} 1106} 1107 1108func (x *GetDatabaseDdlResponse) GetStatements() []string { 1109 if x != nil { 1110 return x.Statements 1111 } 1112 return nil 1113} 1114 1115// The request for 1116// [ListDatabaseOperations][google.spanner.admin.database.v1.DatabaseAdmin.ListDatabaseOperations]. 1117type ListDatabaseOperationsRequest struct { 1118 state protoimpl.MessageState 1119 sizeCache protoimpl.SizeCache 1120 unknownFields protoimpl.UnknownFields 1121 1122 // Required. The instance of the database operations. 1123 // Values are of the form `projects/<project>/instances/<instance>`. 1124 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1125 // An expression that filters the list of returned operations. 1126 // 1127 // A filter expression consists of a field name, a 1128 // comparison operator, and a value for filtering. 1129 // The value must be a string, a number, or a boolean. The comparison operator 1130 // must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`. 1131 // Colon `:` is the contains operator. Filter rules are not case sensitive. 1132 // 1133 // The following fields in the [Operation][google.longrunning.Operation] 1134 // are eligible for filtering: 1135 // 1136 // * `name` - The name of the long-running operation 1137 // * `done` - False if the operation is in progress, else true. 1138 // * `metadata.@type` - the type of metadata. For example, the type string 1139 // for [RestoreDatabaseMetadata][google.spanner.admin.database.v1.RestoreDatabaseMetadata] is 1140 // `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`. 1141 // * `metadata.<field_name>` - any field in metadata.value. 1142 // * `error` - Error associated with the long-running operation. 1143 // * `response.@type` - the type of response. 1144 // * `response.<field_name>` - any field in response.value. 1145 // 1146 // You can combine multiple expressions by enclosing each expression in 1147 // parentheses. By default, expressions are combined with AND logic. However, 1148 // you can specify AND, OR, and NOT logic explicitly. 1149 // 1150 // Here are a few examples: 1151 // 1152 // * `done:true` - The operation is complete. 1153 // * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \ 1154 // `(metadata.source_type:BACKUP) AND` \ 1155 // `(metadata.backup_info.backup:backup_howl) AND` \ 1156 // `(metadata.name:restored_howl) AND` \ 1157 // `(metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND` \ 1158 // `(error:*)` - Return operations where: 1159 // * The operation's metadata type is [RestoreDatabaseMetadata][google.spanner.admin.database.v1.RestoreDatabaseMetadata]. 1160 // * The database is restored from a backup. 1161 // * The backup name contains "backup_howl". 1162 // * The restored database's name contains "restored_howl". 1163 // * The operation started before 2018-03-28T14:50:00Z. 1164 // * The operation resulted in an error. 1165 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 1166 // Number of operations to be returned in the response. If 0 or 1167 // less, defaults to the server's maximum allowed page size. 1168 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 1169 // If non-empty, `page_token` should contain a 1170 // [next_page_token][google.spanner.admin.database.v1.ListDatabaseOperationsResponse.next_page_token] 1171 // from a previous [ListDatabaseOperationsResponse][google.spanner.admin.database.v1.ListDatabaseOperationsResponse] to the 1172 // same `parent` and with the same `filter`. 1173 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 1174} 1175 1176func (x *ListDatabaseOperationsRequest) Reset() { 1177 *x = ListDatabaseOperationsRequest{} 1178 if protoimpl.UnsafeEnabled { 1179 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[12] 1180 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1181 ms.StoreMessageInfo(mi) 1182 } 1183} 1184 1185func (x *ListDatabaseOperationsRequest) String() string { 1186 return protoimpl.X.MessageStringOf(x) 1187} 1188 1189func (*ListDatabaseOperationsRequest) ProtoMessage() {} 1190 1191func (x *ListDatabaseOperationsRequest) ProtoReflect() protoreflect.Message { 1192 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[12] 1193 if protoimpl.UnsafeEnabled && x != nil { 1194 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1195 if ms.LoadMessageInfo() == nil { 1196 ms.StoreMessageInfo(mi) 1197 } 1198 return ms 1199 } 1200 return mi.MessageOf(x) 1201} 1202 1203// Deprecated: Use ListDatabaseOperationsRequest.ProtoReflect.Descriptor instead. 1204func (*ListDatabaseOperationsRequest) Descriptor() ([]byte, []int) { 1205 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{12} 1206} 1207 1208func (x *ListDatabaseOperationsRequest) GetParent() string { 1209 if x != nil { 1210 return x.Parent 1211 } 1212 return "" 1213} 1214 1215func (x *ListDatabaseOperationsRequest) GetFilter() string { 1216 if x != nil { 1217 return x.Filter 1218 } 1219 return "" 1220} 1221 1222func (x *ListDatabaseOperationsRequest) GetPageSize() int32 { 1223 if x != nil { 1224 return x.PageSize 1225 } 1226 return 0 1227} 1228 1229func (x *ListDatabaseOperationsRequest) GetPageToken() string { 1230 if x != nil { 1231 return x.PageToken 1232 } 1233 return "" 1234} 1235 1236// The response for 1237// [ListDatabaseOperations][google.spanner.admin.database.v1.DatabaseAdmin.ListDatabaseOperations]. 1238type ListDatabaseOperationsResponse struct { 1239 state protoimpl.MessageState 1240 sizeCache protoimpl.SizeCache 1241 unknownFields protoimpl.UnknownFields 1242 1243 // The list of matching database [long-running 1244 // operations][google.longrunning.Operation]. Each operation's name will be 1245 // prefixed by the database's name. The operation's 1246 // [metadata][google.longrunning.Operation.metadata] field type 1247 // `metadata.type_url` describes the type of the metadata. 1248 Operations []*longrunning.Operation `protobuf:"bytes,1,rep,name=operations,proto3" json:"operations,omitempty"` 1249 // `next_page_token` can be sent in a subsequent 1250 // [ListDatabaseOperations][google.spanner.admin.database.v1.DatabaseAdmin.ListDatabaseOperations] 1251 // call to fetch more of the matching metadata. 1252 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 1253} 1254 1255func (x *ListDatabaseOperationsResponse) Reset() { 1256 *x = ListDatabaseOperationsResponse{} 1257 if protoimpl.UnsafeEnabled { 1258 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[13] 1259 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1260 ms.StoreMessageInfo(mi) 1261 } 1262} 1263 1264func (x *ListDatabaseOperationsResponse) String() string { 1265 return protoimpl.X.MessageStringOf(x) 1266} 1267 1268func (*ListDatabaseOperationsResponse) ProtoMessage() {} 1269 1270func (x *ListDatabaseOperationsResponse) ProtoReflect() protoreflect.Message { 1271 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[13] 1272 if protoimpl.UnsafeEnabled && x != nil { 1273 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1274 if ms.LoadMessageInfo() == nil { 1275 ms.StoreMessageInfo(mi) 1276 } 1277 return ms 1278 } 1279 return mi.MessageOf(x) 1280} 1281 1282// Deprecated: Use ListDatabaseOperationsResponse.ProtoReflect.Descriptor instead. 1283func (*ListDatabaseOperationsResponse) Descriptor() ([]byte, []int) { 1284 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{13} 1285} 1286 1287func (x *ListDatabaseOperationsResponse) GetOperations() []*longrunning.Operation { 1288 if x != nil { 1289 return x.Operations 1290 } 1291 return nil 1292} 1293 1294func (x *ListDatabaseOperationsResponse) GetNextPageToken() string { 1295 if x != nil { 1296 return x.NextPageToken 1297 } 1298 return "" 1299} 1300 1301// The request for 1302// [RestoreDatabase][google.spanner.admin.database.v1.DatabaseAdmin.RestoreDatabase]. 1303type RestoreDatabaseRequest struct { 1304 state protoimpl.MessageState 1305 sizeCache protoimpl.SizeCache 1306 unknownFields protoimpl.UnknownFields 1307 1308 // Required. The name of the instance in which to create the 1309 // restored database. This instance must be in the same project and 1310 // have the same instance configuration as the instance containing 1311 // the source backup. Values are of the form 1312 // `projects/<project>/instances/<instance>`. 1313 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1314 // Required. The id of the database to create and restore to. This 1315 // database must not already exist. The `database_id` appended to 1316 // `parent` forms the full database name of the form 1317 // `projects/<project>/instances/<instance>/databases/<database_id>`. 1318 DatabaseId string `protobuf:"bytes,2,opt,name=database_id,json=databaseId,proto3" json:"database_id,omitempty"` 1319 // Required. The source from which to restore. 1320 // 1321 // Types that are assignable to Source: 1322 // *RestoreDatabaseRequest_Backup 1323 Source isRestoreDatabaseRequest_Source `protobuf_oneof:"source"` 1324 // Optional. An encryption configuration describing the encryption type and key 1325 // resources in Cloud KMS used to encrypt/decrypt the database to restore to. 1326 // If this field is not specified, the restored database will use 1327 // the same encryption configuration as the backup by default, namely 1328 // [encryption_type][google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig.encryption_type] = 1329 // `USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION`. 1330 EncryptionConfig *RestoreDatabaseEncryptionConfig `protobuf:"bytes,4,opt,name=encryption_config,json=encryptionConfig,proto3" json:"encryption_config,omitempty"` 1331} 1332 1333func (x *RestoreDatabaseRequest) Reset() { 1334 *x = RestoreDatabaseRequest{} 1335 if protoimpl.UnsafeEnabled { 1336 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[14] 1337 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1338 ms.StoreMessageInfo(mi) 1339 } 1340} 1341 1342func (x *RestoreDatabaseRequest) String() string { 1343 return protoimpl.X.MessageStringOf(x) 1344} 1345 1346func (*RestoreDatabaseRequest) ProtoMessage() {} 1347 1348func (x *RestoreDatabaseRequest) ProtoReflect() protoreflect.Message { 1349 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[14] 1350 if protoimpl.UnsafeEnabled && x != nil { 1351 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1352 if ms.LoadMessageInfo() == nil { 1353 ms.StoreMessageInfo(mi) 1354 } 1355 return ms 1356 } 1357 return mi.MessageOf(x) 1358} 1359 1360// Deprecated: Use RestoreDatabaseRequest.ProtoReflect.Descriptor instead. 1361func (*RestoreDatabaseRequest) Descriptor() ([]byte, []int) { 1362 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{14} 1363} 1364 1365func (x *RestoreDatabaseRequest) GetParent() string { 1366 if x != nil { 1367 return x.Parent 1368 } 1369 return "" 1370} 1371 1372func (x *RestoreDatabaseRequest) GetDatabaseId() string { 1373 if x != nil { 1374 return x.DatabaseId 1375 } 1376 return "" 1377} 1378 1379func (m *RestoreDatabaseRequest) GetSource() isRestoreDatabaseRequest_Source { 1380 if m != nil { 1381 return m.Source 1382 } 1383 return nil 1384} 1385 1386func (x *RestoreDatabaseRequest) GetBackup() string { 1387 if x, ok := x.GetSource().(*RestoreDatabaseRequest_Backup); ok { 1388 return x.Backup 1389 } 1390 return "" 1391} 1392 1393func (x *RestoreDatabaseRequest) GetEncryptionConfig() *RestoreDatabaseEncryptionConfig { 1394 if x != nil { 1395 return x.EncryptionConfig 1396 } 1397 return nil 1398} 1399 1400type isRestoreDatabaseRequest_Source interface { 1401 isRestoreDatabaseRequest_Source() 1402} 1403 1404type RestoreDatabaseRequest_Backup struct { 1405 // Name of the backup from which to restore. Values are of the form 1406 // `projects/<project>/instances/<instance>/backups/<backup>`. 1407 Backup string `protobuf:"bytes,3,opt,name=backup,proto3,oneof"` 1408} 1409 1410func (*RestoreDatabaseRequest_Backup) isRestoreDatabaseRequest_Source() {} 1411 1412// Encryption configuration for the restored database. 1413type RestoreDatabaseEncryptionConfig struct { 1414 state protoimpl.MessageState 1415 sizeCache protoimpl.SizeCache 1416 unknownFields protoimpl.UnknownFields 1417 1418 // Required. The encryption type of the restored database. 1419 EncryptionType RestoreDatabaseEncryptionConfig_EncryptionType `protobuf:"varint,1,opt,name=encryption_type,json=encryptionType,proto3,enum=google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig_EncryptionType" json:"encryption_type,omitempty"` 1420 // Optional. The Cloud KMS key that will be used to encrypt/decrypt the restored 1421 // database. This field should be set only when 1422 // [encryption_type][google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig.encryption_type] is 1423 // `CUSTOMER_MANAGED_ENCRYPTION`. Values are of the form 1424 // `projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>`. 1425 KmsKeyName string `protobuf:"bytes,2,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"` 1426} 1427 1428func (x *RestoreDatabaseEncryptionConfig) Reset() { 1429 *x = RestoreDatabaseEncryptionConfig{} 1430 if protoimpl.UnsafeEnabled { 1431 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[15] 1432 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1433 ms.StoreMessageInfo(mi) 1434 } 1435} 1436 1437func (x *RestoreDatabaseEncryptionConfig) String() string { 1438 return protoimpl.X.MessageStringOf(x) 1439} 1440 1441func (*RestoreDatabaseEncryptionConfig) ProtoMessage() {} 1442 1443func (x *RestoreDatabaseEncryptionConfig) ProtoReflect() protoreflect.Message { 1444 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[15] 1445 if protoimpl.UnsafeEnabled && x != nil { 1446 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1447 if ms.LoadMessageInfo() == nil { 1448 ms.StoreMessageInfo(mi) 1449 } 1450 return ms 1451 } 1452 return mi.MessageOf(x) 1453} 1454 1455// Deprecated: Use RestoreDatabaseEncryptionConfig.ProtoReflect.Descriptor instead. 1456func (*RestoreDatabaseEncryptionConfig) Descriptor() ([]byte, []int) { 1457 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{15} 1458} 1459 1460func (x *RestoreDatabaseEncryptionConfig) GetEncryptionType() RestoreDatabaseEncryptionConfig_EncryptionType { 1461 if x != nil { 1462 return x.EncryptionType 1463 } 1464 return RestoreDatabaseEncryptionConfig_ENCRYPTION_TYPE_UNSPECIFIED 1465} 1466 1467func (x *RestoreDatabaseEncryptionConfig) GetKmsKeyName() string { 1468 if x != nil { 1469 return x.KmsKeyName 1470 } 1471 return "" 1472} 1473 1474// Metadata type for the long-running operation returned by 1475// [RestoreDatabase][google.spanner.admin.database.v1.DatabaseAdmin.RestoreDatabase]. 1476type RestoreDatabaseMetadata struct { 1477 state protoimpl.MessageState 1478 sizeCache protoimpl.SizeCache 1479 unknownFields protoimpl.UnknownFields 1480 1481 // Name of the database being created and restored to. 1482 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1483 // The type of the restore source. 1484 SourceType RestoreSourceType `protobuf:"varint,2,opt,name=source_type,json=sourceType,proto3,enum=google.spanner.admin.database.v1.RestoreSourceType" json:"source_type,omitempty"` 1485 // Information about the source used to restore the database, as specified by 1486 // `source` in [RestoreDatabaseRequest][google.spanner.admin.database.v1.RestoreDatabaseRequest]. 1487 // 1488 // Types that are assignable to SourceInfo: 1489 // *RestoreDatabaseMetadata_BackupInfo 1490 SourceInfo isRestoreDatabaseMetadata_SourceInfo `protobuf_oneof:"source_info"` 1491 // The progress of the 1492 // [RestoreDatabase][google.spanner.admin.database.v1.DatabaseAdmin.RestoreDatabase] 1493 // operation. 1494 Progress *OperationProgress `protobuf:"bytes,4,opt,name=progress,proto3" json:"progress,omitempty"` 1495 // The time at which cancellation of this operation was received. 1496 // [Operations.CancelOperation][google.longrunning.Operations.CancelOperation] 1497 // starts asynchronous cancellation on a long-running operation. The server 1498 // makes a best effort to cancel the operation, but success is not guaranteed. 1499 // Clients can use 1500 // [Operations.GetOperation][google.longrunning.Operations.GetOperation] or 1501 // other methods to check whether the cancellation succeeded or whether the 1502 // operation completed despite cancellation. On successful cancellation, 1503 // the operation is not deleted; instead, it becomes an operation with 1504 // an [Operation.error][google.longrunning.Operation.error] value with a 1505 // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to `Code.CANCELLED`. 1506 CancelTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=cancel_time,json=cancelTime,proto3" json:"cancel_time,omitempty"` 1507 // If exists, the name of the long-running operation that will be used to 1508 // track the post-restore optimization process to optimize the performance of 1509 // the restored database, and remove the dependency on the restore source. 1510 // The name is of the form 1511 // `projects/<project>/instances/<instance>/databases/<database>/operations/<operation>` 1512 // where the <database> is the name of database being created and restored to. 1513 // The metadata type of the long-running operation is 1514 // [OptimizeRestoredDatabaseMetadata][google.spanner.admin.database.v1.OptimizeRestoredDatabaseMetadata]. This long-running operation will be 1515 // automatically created by the system after the RestoreDatabase long-running 1516 // operation completes successfully. This operation will not be created if the 1517 // restore was not successful. 1518 OptimizeDatabaseOperationName string `protobuf:"bytes,6,opt,name=optimize_database_operation_name,json=optimizeDatabaseOperationName,proto3" json:"optimize_database_operation_name,omitempty"` 1519} 1520 1521func (x *RestoreDatabaseMetadata) Reset() { 1522 *x = RestoreDatabaseMetadata{} 1523 if protoimpl.UnsafeEnabled { 1524 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[16] 1525 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1526 ms.StoreMessageInfo(mi) 1527 } 1528} 1529 1530func (x *RestoreDatabaseMetadata) String() string { 1531 return protoimpl.X.MessageStringOf(x) 1532} 1533 1534func (*RestoreDatabaseMetadata) ProtoMessage() {} 1535 1536func (x *RestoreDatabaseMetadata) ProtoReflect() protoreflect.Message { 1537 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[16] 1538 if protoimpl.UnsafeEnabled && x != nil { 1539 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1540 if ms.LoadMessageInfo() == nil { 1541 ms.StoreMessageInfo(mi) 1542 } 1543 return ms 1544 } 1545 return mi.MessageOf(x) 1546} 1547 1548// Deprecated: Use RestoreDatabaseMetadata.ProtoReflect.Descriptor instead. 1549func (*RestoreDatabaseMetadata) Descriptor() ([]byte, []int) { 1550 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{16} 1551} 1552 1553func (x *RestoreDatabaseMetadata) GetName() string { 1554 if x != nil { 1555 return x.Name 1556 } 1557 return "" 1558} 1559 1560func (x *RestoreDatabaseMetadata) GetSourceType() RestoreSourceType { 1561 if x != nil { 1562 return x.SourceType 1563 } 1564 return RestoreSourceType_TYPE_UNSPECIFIED 1565} 1566 1567func (m *RestoreDatabaseMetadata) GetSourceInfo() isRestoreDatabaseMetadata_SourceInfo { 1568 if m != nil { 1569 return m.SourceInfo 1570 } 1571 return nil 1572} 1573 1574func (x *RestoreDatabaseMetadata) GetBackupInfo() *BackupInfo { 1575 if x, ok := x.GetSourceInfo().(*RestoreDatabaseMetadata_BackupInfo); ok { 1576 return x.BackupInfo 1577 } 1578 return nil 1579} 1580 1581func (x *RestoreDatabaseMetadata) GetProgress() *OperationProgress { 1582 if x != nil { 1583 return x.Progress 1584 } 1585 return nil 1586} 1587 1588func (x *RestoreDatabaseMetadata) GetCancelTime() *timestamppb.Timestamp { 1589 if x != nil { 1590 return x.CancelTime 1591 } 1592 return nil 1593} 1594 1595func (x *RestoreDatabaseMetadata) GetOptimizeDatabaseOperationName() string { 1596 if x != nil { 1597 return x.OptimizeDatabaseOperationName 1598 } 1599 return "" 1600} 1601 1602type isRestoreDatabaseMetadata_SourceInfo interface { 1603 isRestoreDatabaseMetadata_SourceInfo() 1604} 1605 1606type RestoreDatabaseMetadata_BackupInfo struct { 1607 // Information about the backup used to restore the database. 1608 BackupInfo *BackupInfo `protobuf:"bytes,3,opt,name=backup_info,json=backupInfo,proto3,oneof"` 1609} 1610 1611func (*RestoreDatabaseMetadata_BackupInfo) isRestoreDatabaseMetadata_SourceInfo() {} 1612 1613// Metadata type for the long-running operation used to track the progress 1614// of optimizations performed on a newly restored database. This long-running 1615// operation is automatically created by the system after the successful 1616// completion of a database restore, and cannot be cancelled. 1617type OptimizeRestoredDatabaseMetadata struct { 1618 state protoimpl.MessageState 1619 sizeCache protoimpl.SizeCache 1620 unknownFields protoimpl.UnknownFields 1621 1622 // Name of the restored database being optimized. 1623 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1624 // The progress of the post-restore optimizations. 1625 Progress *OperationProgress `protobuf:"bytes,2,opt,name=progress,proto3" json:"progress,omitempty"` 1626} 1627 1628func (x *OptimizeRestoredDatabaseMetadata) Reset() { 1629 *x = OptimizeRestoredDatabaseMetadata{} 1630 if protoimpl.UnsafeEnabled { 1631 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[17] 1632 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1633 ms.StoreMessageInfo(mi) 1634 } 1635} 1636 1637func (x *OptimizeRestoredDatabaseMetadata) String() string { 1638 return protoimpl.X.MessageStringOf(x) 1639} 1640 1641func (*OptimizeRestoredDatabaseMetadata) ProtoMessage() {} 1642 1643func (x *OptimizeRestoredDatabaseMetadata) ProtoReflect() protoreflect.Message { 1644 mi := &file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[17] 1645 if protoimpl.UnsafeEnabled && x != nil { 1646 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1647 if ms.LoadMessageInfo() == nil { 1648 ms.StoreMessageInfo(mi) 1649 } 1650 return ms 1651 } 1652 return mi.MessageOf(x) 1653} 1654 1655// Deprecated: Use OptimizeRestoredDatabaseMetadata.ProtoReflect.Descriptor instead. 1656func (*OptimizeRestoredDatabaseMetadata) Descriptor() ([]byte, []int) { 1657 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP(), []int{17} 1658} 1659 1660func (x *OptimizeRestoredDatabaseMetadata) GetName() string { 1661 if x != nil { 1662 return x.Name 1663 } 1664 return "" 1665} 1666 1667func (x *OptimizeRestoredDatabaseMetadata) GetProgress() *OperationProgress { 1668 if x != nil { 1669 return x.Progress 1670 } 1671 return nil 1672} 1673 1674var File_google_spanner_admin_database_v1_spanner_database_admin_proto protoreflect.FileDescriptor 1675 1676var file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDesc = []byte{ 1677 0x0a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 1678 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2f, 1679 0x76, 0x31, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 1680 0x61, 0x73, 0x65, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 1681 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 1682 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 1683 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 1684 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 1685 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 1686 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1687 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 1688 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1689 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 1690 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 1691 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x61, 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 1692 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 1693 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1694 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 1695 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 1696 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 1697 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 1698 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1699 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 1700 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x73, 0x70, 0x61, 0x6e, 1701 0x6e, 0x65, 0x72, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 1702 0x73, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 1703 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 1704 0x65, 0x72, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 1705 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1706 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 1707 0x6f, 0x12, 0x54, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 1708 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1709 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 1710 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 1711 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x73, 0x6f, 0x75, 1712 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4f, 0x0a, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, 1713 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 1714 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 1715 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 1716 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x61, 1717 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0d, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 1718 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0xc2, 0x06, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 1719 0x62, 0x61, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 1720 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 1721 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 1722 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 1723 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 1724 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 1725 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 1726 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 1727 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 1728 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 1729 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x55, 0x0a, 0x0c, 1730 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 1731 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 1732 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 1733 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 1734 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 1735 0x6e, 0x66, 0x6f, 0x12, 0x64, 0x0a, 0x11, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 1736 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 1737 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 1738 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 1739 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 1740 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 1741 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5e, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 1742 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x03, 1743 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 1744 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 1745 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 1746 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 1747 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x18, 0x76, 0x65, 0x72, 1748 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 1749 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 1750 0x52, 0x16, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 1751 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x53, 0x0a, 0x15, 0x65, 0x61, 0x72, 0x6c, 1752 0x69, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 1753 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1754 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 1755 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x65, 0x61, 0x72, 0x6c, 0x69, 0x65, 1756 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 1757 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 1758 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 1759 0x75, 0x6c, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x4d, 0x0a, 0x05, 0x53, 0x74, 0x61, 1760 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 1761 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 1762 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 1763 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x49, 1764 0x4d, 0x49, 0x5a, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x3a, 0x62, 0xea, 0x41, 0x5f, 0x0a, 0x1f, 0x73, 1765 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 1766 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x3c, 1767 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 1768 0x74, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 1769 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 1770 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x7d, 0x22, 0x93, 0x01, 0x0a, 1771 0x14, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 1772 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 1773 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 1774 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 1775 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x06, 1776 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 1777 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 1778 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 1779 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 1780 0x65, 0x6e, 0x22, 0x89, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 1781 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x09, 1782 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 1783 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 1784 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 1785 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 1786 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 1787 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 1788 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9e, 1789 0x02, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 1790 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 1791 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 1792 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1793 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 1794 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x10, 0x63, 0x72, 0x65, 1795 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 1796 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 1797 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x10, 0x65, 0x78, 0x74, 1798 0x72, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 1799 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x53, 1800 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x64, 0x0a, 0x11, 0x65, 0x6e, 0x63, 1801 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 1802 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 1803 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 1804 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 1805 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x65, 1806 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 1807 0x5a, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 1808 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x08, 0x64, 0x61, 0x74, 1809 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 1810 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1811 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 1812 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x22, 0x51, 0x0a, 0x12, 0x47, 1813 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 1814 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 1815 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 1816 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 1817 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa7, 1818 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 1819 0x65, 0x44, 0x64, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x08, 0x64, 1820 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 1821 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 1822 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 1823 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 1824 0x12, 0x23, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 1825 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 1826 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 1827 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 1828 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xba, 0x02, 0x0a, 0x19, 0x55, 0x70, 0x64, 1829 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x4d, 0x65, 1830 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 1831 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 1832 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 1833 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x08, 1834 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 1835 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 1836 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 1837 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18, 0x03, 0x20, 1838 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 1839 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 1840 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 1841 0x73, 0x12, 0x21, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x04, 1842 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 1843 0x74, 0x6c, 0x65, 0x64, 0x12, 0x4f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 1844 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1845 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 1846 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 1847 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 1848 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x5a, 0x0a, 0x13, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x61, 0x74, 1849 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x08, 1850 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 1851 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 1852 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 1853 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 1854 0x65, 0x22, 0x5c, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 1855 0x44, 0x64, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x08, 0x64, 0x61, 1856 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 1857 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 1858 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 1859 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x22, 1860 0x38, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 1861 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 1862 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 1863 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xb4, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 1864 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 1865 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 1866 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 1867 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 1868 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x74, 1869 0x61, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 1870 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 1871 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 1872 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 1873 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 1874 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 1875 0x22, 0x87, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 1876 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 1877 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1878 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1879 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 1880 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 1881 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 1882 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 1883 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xbc, 0x02, 0x0a, 0x16, 0x52, 1884 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 1885 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 1886 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 1887 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 1888 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x06, 1889 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 1890 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 1891 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x06, 1892 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xfa, 0x41, 1893 0x1f, 0x0a, 0x1d, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1894 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 1895 0x48, 0x00, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x73, 0x0a, 0x11, 0x65, 0x6e, 1896 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 1897 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 1898 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 1899 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 1900 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 1901 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x65, 1902 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 1903 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x8f, 0x03, 0x0a, 0x1f, 0x52, 0x65, 1904 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x6e, 0x63, 1905 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7e, 0x0a, 1906 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 1907 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1908 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 1909 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 1910 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 1911 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 1912 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x65, 1913 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4b, 0x0a, 1914 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 1915 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 1916 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 1917 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0a, 1918 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x0e, 0x45, 1919 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 1920 0x1b, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 1921 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2b, 1922 0x0a, 0x27, 0x55, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x44, 0x45, 0x46, 1923 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x4f, 0x52, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x45, 1924 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x47, 1925 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x45, 0x4e, 1926 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x55, 1927 0x53, 0x54, 0x4f, 0x4d, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x45, 1928 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x22, 0xe0, 0x03, 0x0a, 0x17, 1929 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 1930 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 1931 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 1932 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 1933 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 1934 0x65, 0x12, 0x54, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 1935 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1936 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 1937 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 1938 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x73, 0x6f, 0x75, 1939 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4f, 0x0a, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, 1940 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 1941 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 1942 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 1943 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x61, 1944 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 1945 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 1946 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 1947 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 1948 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 1949 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 1950 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 1951 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1952 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x63, 1953 0x65, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 1954 0x7a, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x72, 1955 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 1956 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 1957 0x73, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x42, 1958 0x0d, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0xad, 1959 0x01, 0x0a, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x74, 0x6f, 1960 0x72, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 1961 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 1962 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 1963 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 1964 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 1965 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 1966 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 1967 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 1968 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x67, 1969 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2a, 0x35, 1970 0x0a, 0x11, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 1971 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 1972 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x41, 0x43, 1973 0x4b, 0x55, 0x50, 0x10, 0x01, 0x32, 0x93, 0x1f, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 1974 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0xc0, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 1975 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1976 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 1977 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 1978 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 1979 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 1980 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 1981 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 1982 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 1983 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 1984 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 1985 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 1986 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xa4, 0x02, 0x0a, 0x0e, 0x43, 1987 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x37, 0x2e, 1988 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 1989 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 1990 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 1991 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1992 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 1993 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x22, 0x2d, 1994 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 1995 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 1996 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x01, 0x2a, 1997 0xda, 0x41, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 1998 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0xca, 0x41, 0x64, 0x0a, 0x29, 0x67, 1999 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 2000 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 2001 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2002 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 2003 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 2004 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 2005 0x61, 0x12, 0xad, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 2006 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 2007 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 2008 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 2009 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2010 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 2011 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 2012 0x61, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 2013 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 2014 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 2015 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 2016 0x65, 0x12, 0x9d, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 2017 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2018 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 2019 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 2020 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x52, 0x65, 0x71, 0x75, 2021 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 2022 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 2023 0x6f, 0x6e, 0x22, 0xac, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x32, 0x35, 0x2f, 0x76, 0x31, 2024 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 2025 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 2026 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 2027 0x64, 0x6c, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x13, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 2028 0x2c, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0xca, 0x41, 0x53, 0x0a, 0x15, 2029 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 2030 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 2031 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 2032 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 2033 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 2034 0x61, 0x12, 0xa3, 0x01, 0x0a, 0x0c, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 2035 0x73, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 2036 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 2037 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 2038 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2039 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 2040 0x79, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x2a, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 2041 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 2042 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 2043 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x08, 0x64, 2044 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0xcd, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 2045 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 2046 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 2047 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 2048 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x52, 0x65, 0x71, 0x75, 2049 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 2050 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 2051 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 2052 0x73, 0x65, 0x44, 0x64, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x82, 2053 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 2054 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 2055 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 2056 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x64, 0x6c, 0xda, 0x41, 0x08, 0x64, 2057 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0xeb, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 2058 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2059 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 2060 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 2061 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 2062 0x69, 0x63, 0x79, 0x22, 0x9f, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x86, 0x01, 0x22, 0x3e, 0x2f, 2063 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 2064 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 2065 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 2066 0x3a, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x01, 0x2a, 2067 0x5a, 0x41, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 2068 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 2069 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 2070 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 2071 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 2072 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xe4, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 2073 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2074 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 2075 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 2076 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 2077 0x79, 0x22, 0x98, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x86, 0x01, 0x22, 0x3e, 0x2f, 0x76, 0x31, 2078 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 2079 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 2080 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 2081 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x01, 0x2a, 0x5a, 0x41, 2082 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 2083 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 2084 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 2085 0x7d, 0x3a, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x01, 2086 0x2a, 0xda, 0x41, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x9c, 0x02, 0x0a, 2087 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 2088 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 2089 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 2090 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 2091 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 2092 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 2093 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb0, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 2094 0x92, 0x01, 0x22, 0x44, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 2095 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 2096 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 2097 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 2098 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x47, 0x22, 0x42, 0x2f, 2099 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 2100 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 2101 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 2102 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 2103 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 2104 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9f, 0x02, 0x0a, 0x0c, 2105 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x35, 0x2e, 0x67, 2106 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 2107 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 2108 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 2109 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 2110 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 2111 0x6f, 0x6e, 0x22, 0xb8, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x22, 0x2b, 0x2f, 0x76, 0x31, 2112 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 2113 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 2114 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x3a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 2115 0xda, 0x41, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 2116 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x60, 0x0a, 0x27, 0x67, 2117 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 2118 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 2119 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 2120 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 2121 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 2122 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xa5, 0x01, 2123 0x0a, 0x09, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x32, 0x2e, 0x67, 0x6f, 2124 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 2125 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 2126 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 2127 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 2128 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 2129 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 2130 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 2131 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 2132 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 2133 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 2134 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2135 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 2136 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 2137 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 2138 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 2139 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 2140 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0x57, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x32, 2141 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x6e, 0x61, 0x6d, 2142 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 2143 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 2144 0x2f, 0x2a, 0x7d, 0x3a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0xda, 0x41, 0x12, 0x62, 0x61, 2145 0x63, 0x6b, 0x75, 0x70, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 2146 0x12, 0x99, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 2147 0x70, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 2148 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 2149 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 2150 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2151 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 2152 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x2a, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 2153 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 2154 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 2155 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xb8, 0x01, 0x0a, 2156 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x34, 0x2e, 0x67, 2157 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 2158 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 2159 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 2160 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 2161 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 2162 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 2163 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 2164 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 2165 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 2166 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0xda, 0x41, 2167 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xb1, 0x02, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x74, 2168 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x38, 0x2e, 0x67, 0x6f, 2169 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 2170 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 2171 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 2172 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 2173 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 2174 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc4, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x22, 0x35, 0x2f, 2175 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 2176 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 2177 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x72, 0x65, 0x73, 2178 0x74, 0x6f, 0x72, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 2179 0x2c, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x2c, 0x62, 0x61, 0x63, 2180 0x6b, 0x75, 0x70, 0xca, 0x41, 0x65, 0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 2181 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 2182 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 2183 0x65, 0x12, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 2184 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 2185 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 2186 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xe4, 0x01, 0x0a, 0x16, 2187 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x65, 0x72, 2188 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2189 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 2190 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 2191 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 2192 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2193 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 2194 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 2195 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2196 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 2197 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 2198 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 2199 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 2200 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 2201 0x6e, 0x74, 0x12, 0xdc, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 2202 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 2203 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 2204 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 2205 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 2206 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 2207 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 2208 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 2209 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 2210 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 2211 0x02, 0x36, 0x12, 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 2212 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 2213 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4f, 0x70, 2214 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 2215 0x74, 0x1a, 0x78, 0xca, 0x41, 0x16, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 2216 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x5c, 0x68, 2217 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2218 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 2219 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 2220 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2221 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x73, 0x70, 2222 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x42, 0xda, 0x02, 0x0a, 0x24, 2223 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 2224 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 2225 0x65, 0x2e, 0x76, 0x31, 0x42, 0x19, 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x44, 0x61, 0x74, 2226 0x61, 0x62, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 2227 0x01, 0x5a, 0x48, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 2228 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 2229 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 2230 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2f, 2231 0x76, 0x31, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0xaa, 0x02, 0x26, 0x47, 0x6f, 2232 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x6e, 2233 0x65, 0x72, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 2234 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x26, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 2235 0x6f, 0x75, 0x64, 0x5c, 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x5c, 0x41, 0x64, 0x6d, 0x69, 2236 0x6e, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x2b, 2237 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x53, 2238 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x3a, 0x3a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x3a, 0x44, 2239 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0xea, 0x41, 0x4a, 0x0a, 0x1f, 2240 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 2241 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 2242 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 2243 0x63, 0x74, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 2244 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 2245} 2246 2247var ( 2248 file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescOnce sync.Once 2249 file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescData = file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDesc 2250) 2251 2252func file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescGZIP() []byte { 2253 file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescOnce.Do(func() { 2254 file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescData) 2255 }) 2256 return file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDescData 2257} 2258 2259var file_google_spanner_admin_database_v1_spanner_database_admin_proto_enumTypes = make([]protoimpl.EnumInfo, 3) 2260var file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 18) 2261var file_google_spanner_admin_database_v1_spanner_database_admin_proto_goTypes = []interface{}{ 2262 (RestoreSourceType)(0), // 0: google.spanner.admin.database.v1.RestoreSourceType 2263 (Database_State)(0), // 1: google.spanner.admin.database.v1.Database.State 2264 (RestoreDatabaseEncryptionConfig_EncryptionType)(0), // 2: google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig.EncryptionType 2265 (*RestoreInfo)(nil), // 3: google.spanner.admin.database.v1.RestoreInfo 2266 (*Database)(nil), // 4: google.spanner.admin.database.v1.Database 2267 (*ListDatabasesRequest)(nil), // 5: google.spanner.admin.database.v1.ListDatabasesRequest 2268 (*ListDatabasesResponse)(nil), // 6: google.spanner.admin.database.v1.ListDatabasesResponse 2269 (*CreateDatabaseRequest)(nil), // 7: google.spanner.admin.database.v1.CreateDatabaseRequest 2270 (*CreateDatabaseMetadata)(nil), // 8: google.spanner.admin.database.v1.CreateDatabaseMetadata 2271 (*GetDatabaseRequest)(nil), // 9: google.spanner.admin.database.v1.GetDatabaseRequest 2272 (*UpdateDatabaseDdlRequest)(nil), // 10: google.spanner.admin.database.v1.UpdateDatabaseDdlRequest 2273 (*UpdateDatabaseDdlMetadata)(nil), // 11: google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata 2274 (*DropDatabaseRequest)(nil), // 12: google.spanner.admin.database.v1.DropDatabaseRequest 2275 (*GetDatabaseDdlRequest)(nil), // 13: google.spanner.admin.database.v1.GetDatabaseDdlRequest 2276 (*GetDatabaseDdlResponse)(nil), // 14: google.spanner.admin.database.v1.GetDatabaseDdlResponse 2277 (*ListDatabaseOperationsRequest)(nil), // 15: google.spanner.admin.database.v1.ListDatabaseOperationsRequest 2278 (*ListDatabaseOperationsResponse)(nil), // 16: google.spanner.admin.database.v1.ListDatabaseOperationsResponse 2279 (*RestoreDatabaseRequest)(nil), // 17: google.spanner.admin.database.v1.RestoreDatabaseRequest 2280 (*RestoreDatabaseEncryptionConfig)(nil), // 18: google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig 2281 (*RestoreDatabaseMetadata)(nil), // 19: google.spanner.admin.database.v1.RestoreDatabaseMetadata 2282 (*OptimizeRestoredDatabaseMetadata)(nil), // 20: google.spanner.admin.database.v1.OptimizeRestoredDatabaseMetadata 2283 (*BackupInfo)(nil), // 21: google.spanner.admin.database.v1.BackupInfo 2284 (*timestamppb.Timestamp)(nil), // 22: google.protobuf.Timestamp 2285 (*EncryptionConfig)(nil), // 23: google.spanner.admin.database.v1.EncryptionConfig 2286 (*EncryptionInfo)(nil), // 24: google.spanner.admin.database.v1.EncryptionInfo 2287 (*OperationProgress)(nil), // 25: google.spanner.admin.database.v1.OperationProgress 2288 (*longrunning.Operation)(nil), // 26: google.longrunning.Operation 2289 (*v1.SetIamPolicyRequest)(nil), // 27: google.iam.v1.SetIamPolicyRequest 2290 (*v1.GetIamPolicyRequest)(nil), // 28: google.iam.v1.GetIamPolicyRequest 2291 (*v1.TestIamPermissionsRequest)(nil), // 29: google.iam.v1.TestIamPermissionsRequest 2292 (*CreateBackupRequest)(nil), // 30: google.spanner.admin.database.v1.CreateBackupRequest 2293 (*GetBackupRequest)(nil), // 31: google.spanner.admin.database.v1.GetBackupRequest 2294 (*UpdateBackupRequest)(nil), // 32: google.spanner.admin.database.v1.UpdateBackupRequest 2295 (*DeleteBackupRequest)(nil), // 33: google.spanner.admin.database.v1.DeleteBackupRequest 2296 (*ListBackupsRequest)(nil), // 34: google.spanner.admin.database.v1.ListBackupsRequest 2297 (*ListBackupOperationsRequest)(nil), // 35: google.spanner.admin.database.v1.ListBackupOperationsRequest 2298 (*emptypb.Empty)(nil), // 36: google.protobuf.Empty 2299 (*v1.Policy)(nil), // 37: google.iam.v1.Policy 2300 (*v1.TestIamPermissionsResponse)(nil), // 38: google.iam.v1.TestIamPermissionsResponse 2301 (*Backup)(nil), // 39: google.spanner.admin.database.v1.Backup 2302 (*ListBackupsResponse)(nil), // 40: google.spanner.admin.database.v1.ListBackupsResponse 2303 (*ListBackupOperationsResponse)(nil), // 41: google.spanner.admin.database.v1.ListBackupOperationsResponse 2304} 2305var file_google_spanner_admin_database_v1_spanner_database_admin_proto_depIdxs = []int32{ 2306 0, // 0: google.spanner.admin.database.v1.RestoreInfo.source_type:type_name -> google.spanner.admin.database.v1.RestoreSourceType 2307 21, // 1: google.spanner.admin.database.v1.RestoreInfo.backup_info:type_name -> google.spanner.admin.database.v1.BackupInfo 2308 1, // 2: google.spanner.admin.database.v1.Database.state:type_name -> google.spanner.admin.database.v1.Database.State 2309 22, // 3: google.spanner.admin.database.v1.Database.create_time:type_name -> google.protobuf.Timestamp 2310 3, // 4: google.spanner.admin.database.v1.Database.restore_info:type_name -> google.spanner.admin.database.v1.RestoreInfo 2311 23, // 5: google.spanner.admin.database.v1.Database.encryption_config:type_name -> google.spanner.admin.database.v1.EncryptionConfig 2312 24, // 6: google.spanner.admin.database.v1.Database.encryption_info:type_name -> google.spanner.admin.database.v1.EncryptionInfo 2313 22, // 7: google.spanner.admin.database.v1.Database.earliest_version_time:type_name -> google.protobuf.Timestamp 2314 4, // 8: google.spanner.admin.database.v1.ListDatabasesResponse.databases:type_name -> google.spanner.admin.database.v1.Database 2315 23, // 9: google.spanner.admin.database.v1.CreateDatabaseRequest.encryption_config:type_name -> google.spanner.admin.database.v1.EncryptionConfig 2316 22, // 10: google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata.commit_timestamps:type_name -> google.protobuf.Timestamp 2317 25, // 11: google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata.progress:type_name -> google.spanner.admin.database.v1.OperationProgress 2318 26, // 12: google.spanner.admin.database.v1.ListDatabaseOperationsResponse.operations:type_name -> google.longrunning.Operation 2319 18, // 13: google.spanner.admin.database.v1.RestoreDatabaseRequest.encryption_config:type_name -> google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig 2320 2, // 14: google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig.encryption_type:type_name -> google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig.EncryptionType 2321 0, // 15: google.spanner.admin.database.v1.RestoreDatabaseMetadata.source_type:type_name -> google.spanner.admin.database.v1.RestoreSourceType 2322 21, // 16: google.spanner.admin.database.v1.RestoreDatabaseMetadata.backup_info:type_name -> google.spanner.admin.database.v1.BackupInfo 2323 25, // 17: google.spanner.admin.database.v1.RestoreDatabaseMetadata.progress:type_name -> google.spanner.admin.database.v1.OperationProgress 2324 22, // 18: google.spanner.admin.database.v1.RestoreDatabaseMetadata.cancel_time:type_name -> google.protobuf.Timestamp 2325 25, // 19: google.spanner.admin.database.v1.OptimizeRestoredDatabaseMetadata.progress:type_name -> google.spanner.admin.database.v1.OperationProgress 2326 5, // 20: google.spanner.admin.database.v1.DatabaseAdmin.ListDatabases:input_type -> google.spanner.admin.database.v1.ListDatabasesRequest 2327 7, // 21: google.spanner.admin.database.v1.DatabaseAdmin.CreateDatabase:input_type -> google.spanner.admin.database.v1.CreateDatabaseRequest 2328 9, // 22: google.spanner.admin.database.v1.DatabaseAdmin.GetDatabase:input_type -> google.spanner.admin.database.v1.GetDatabaseRequest 2329 10, // 23: google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl:input_type -> google.spanner.admin.database.v1.UpdateDatabaseDdlRequest 2330 12, // 24: google.spanner.admin.database.v1.DatabaseAdmin.DropDatabase:input_type -> google.spanner.admin.database.v1.DropDatabaseRequest 2331 13, // 25: google.spanner.admin.database.v1.DatabaseAdmin.GetDatabaseDdl:input_type -> google.spanner.admin.database.v1.GetDatabaseDdlRequest 2332 27, // 26: google.spanner.admin.database.v1.DatabaseAdmin.SetIamPolicy:input_type -> google.iam.v1.SetIamPolicyRequest 2333 28, // 27: google.spanner.admin.database.v1.DatabaseAdmin.GetIamPolicy:input_type -> google.iam.v1.GetIamPolicyRequest 2334 29, // 28: google.spanner.admin.database.v1.DatabaseAdmin.TestIamPermissions:input_type -> google.iam.v1.TestIamPermissionsRequest 2335 30, // 29: google.spanner.admin.database.v1.DatabaseAdmin.CreateBackup:input_type -> google.spanner.admin.database.v1.CreateBackupRequest 2336 31, // 30: google.spanner.admin.database.v1.DatabaseAdmin.GetBackup:input_type -> google.spanner.admin.database.v1.GetBackupRequest 2337 32, // 31: google.spanner.admin.database.v1.DatabaseAdmin.UpdateBackup:input_type -> google.spanner.admin.database.v1.UpdateBackupRequest 2338 33, // 32: google.spanner.admin.database.v1.DatabaseAdmin.DeleteBackup:input_type -> google.spanner.admin.database.v1.DeleteBackupRequest 2339 34, // 33: google.spanner.admin.database.v1.DatabaseAdmin.ListBackups:input_type -> google.spanner.admin.database.v1.ListBackupsRequest 2340 17, // 34: google.spanner.admin.database.v1.DatabaseAdmin.RestoreDatabase:input_type -> google.spanner.admin.database.v1.RestoreDatabaseRequest 2341 15, // 35: google.spanner.admin.database.v1.DatabaseAdmin.ListDatabaseOperations:input_type -> google.spanner.admin.database.v1.ListDatabaseOperationsRequest 2342 35, // 36: google.spanner.admin.database.v1.DatabaseAdmin.ListBackupOperations:input_type -> google.spanner.admin.database.v1.ListBackupOperationsRequest 2343 6, // 37: google.spanner.admin.database.v1.DatabaseAdmin.ListDatabases:output_type -> google.spanner.admin.database.v1.ListDatabasesResponse 2344 26, // 38: google.spanner.admin.database.v1.DatabaseAdmin.CreateDatabase:output_type -> google.longrunning.Operation 2345 4, // 39: google.spanner.admin.database.v1.DatabaseAdmin.GetDatabase:output_type -> google.spanner.admin.database.v1.Database 2346 26, // 40: google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl:output_type -> google.longrunning.Operation 2347 36, // 41: google.spanner.admin.database.v1.DatabaseAdmin.DropDatabase:output_type -> google.protobuf.Empty 2348 14, // 42: google.spanner.admin.database.v1.DatabaseAdmin.GetDatabaseDdl:output_type -> google.spanner.admin.database.v1.GetDatabaseDdlResponse 2349 37, // 43: google.spanner.admin.database.v1.DatabaseAdmin.SetIamPolicy:output_type -> google.iam.v1.Policy 2350 37, // 44: google.spanner.admin.database.v1.DatabaseAdmin.GetIamPolicy:output_type -> google.iam.v1.Policy 2351 38, // 45: google.spanner.admin.database.v1.DatabaseAdmin.TestIamPermissions:output_type -> google.iam.v1.TestIamPermissionsResponse 2352 26, // 46: google.spanner.admin.database.v1.DatabaseAdmin.CreateBackup:output_type -> google.longrunning.Operation 2353 39, // 47: google.spanner.admin.database.v1.DatabaseAdmin.GetBackup:output_type -> google.spanner.admin.database.v1.Backup 2354 39, // 48: google.spanner.admin.database.v1.DatabaseAdmin.UpdateBackup:output_type -> google.spanner.admin.database.v1.Backup 2355 36, // 49: google.spanner.admin.database.v1.DatabaseAdmin.DeleteBackup:output_type -> google.protobuf.Empty 2356 40, // 50: google.spanner.admin.database.v1.DatabaseAdmin.ListBackups:output_type -> google.spanner.admin.database.v1.ListBackupsResponse 2357 26, // 51: google.spanner.admin.database.v1.DatabaseAdmin.RestoreDatabase:output_type -> google.longrunning.Operation 2358 16, // 52: google.spanner.admin.database.v1.DatabaseAdmin.ListDatabaseOperations:output_type -> google.spanner.admin.database.v1.ListDatabaseOperationsResponse 2359 41, // 53: google.spanner.admin.database.v1.DatabaseAdmin.ListBackupOperations:output_type -> google.spanner.admin.database.v1.ListBackupOperationsResponse 2360 37, // [37:54] is the sub-list for method output_type 2361 20, // [20:37] is the sub-list for method input_type 2362 20, // [20:20] is the sub-list for extension type_name 2363 20, // [20:20] is the sub-list for extension extendee 2364 0, // [0:20] is the sub-list for field type_name 2365} 2366 2367func init() { file_google_spanner_admin_database_v1_spanner_database_admin_proto_init() } 2368func file_google_spanner_admin_database_v1_spanner_database_admin_proto_init() { 2369 if File_google_spanner_admin_database_v1_spanner_database_admin_proto != nil { 2370 return 2371 } 2372 file_google_spanner_admin_database_v1_backup_proto_init() 2373 file_google_spanner_admin_database_v1_common_proto_init() 2374 if !protoimpl.UnsafeEnabled { 2375 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 2376 switch v := v.(*RestoreInfo); i { 2377 case 0: 2378 return &v.state 2379 case 1: 2380 return &v.sizeCache 2381 case 2: 2382 return &v.unknownFields 2383 default: 2384 return nil 2385 } 2386 } 2387 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 2388 switch v := v.(*Database); i { 2389 case 0: 2390 return &v.state 2391 case 1: 2392 return &v.sizeCache 2393 case 2: 2394 return &v.unknownFields 2395 default: 2396 return nil 2397 } 2398 } 2399 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 2400 switch v := v.(*ListDatabasesRequest); i { 2401 case 0: 2402 return &v.state 2403 case 1: 2404 return &v.sizeCache 2405 case 2: 2406 return &v.unknownFields 2407 default: 2408 return nil 2409 } 2410 } 2411 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 2412 switch v := v.(*ListDatabasesResponse); i { 2413 case 0: 2414 return &v.state 2415 case 1: 2416 return &v.sizeCache 2417 case 2: 2418 return &v.unknownFields 2419 default: 2420 return nil 2421 } 2422 } 2423 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 2424 switch v := v.(*CreateDatabaseRequest); i { 2425 case 0: 2426 return &v.state 2427 case 1: 2428 return &v.sizeCache 2429 case 2: 2430 return &v.unknownFields 2431 default: 2432 return nil 2433 } 2434 } 2435 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 2436 switch v := v.(*CreateDatabaseMetadata); i { 2437 case 0: 2438 return &v.state 2439 case 1: 2440 return &v.sizeCache 2441 case 2: 2442 return &v.unknownFields 2443 default: 2444 return nil 2445 } 2446 } 2447 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 2448 switch v := v.(*GetDatabaseRequest); i { 2449 case 0: 2450 return &v.state 2451 case 1: 2452 return &v.sizeCache 2453 case 2: 2454 return &v.unknownFields 2455 default: 2456 return nil 2457 } 2458 } 2459 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 2460 switch v := v.(*UpdateDatabaseDdlRequest); i { 2461 case 0: 2462 return &v.state 2463 case 1: 2464 return &v.sizeCache 2465 case 2: 2466 return &v.unknownFields 2467 default: 2468 return nil 2469 } 2470 } 2471 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 2472 switch v := v.(*UpdateDatabaseDdlMetadata); i { 2473 case 0: 2474 return &v.state 2475 case 1: 2476 return &v.sizeCache 2477 case 2: 2478 return &v.unknownFields 2479 default: 2480 return nil 2481 } 2482 } 2483 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 2484 switch v := v.(*DropDatabaseRequest); i { 2485 case 0: 2486 return &v.state 2487 case 1: 2488 return &v.sizeCache 2489 case 2: 2490 return &v.unknownFields 2491 default: 2492 return nil 2493 } 2494 } 2495 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 2496 switch v := v.(*GetDatabaseDdlRequest); i { 2497 case 0: 2498 return &v.state 2499 case 1: 2500 return &v.sizeCache 2501 case 2: 2502 return &v.unknownFields 2503 default: 2504 return nil 2505 } 2506 } 2507 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 2508 switch v := v.(*GetDatabaseDdlResponse); i { 2509 case 0: 2510 return &v.state 2511 case 1: 2512 return &v.sizeCache 2513 case 2: 2514 return &v.unknownFields 2515 default: 2516 return nil 2517 } 2518 } 2519 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 2520 switch v := v.(*ListDatabaseOperationsRequest); i { 2521 case 0: 2522 return &v.state 2523 case 1: 2524 return &v.sizeCache 2525 case 2: 2526 return &v.unknownFields 2527 default: 2528 return nil 2529 } 2530 } 2531 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 2532 switch v := v.(*ListDatabaseOperationsResponse); i { 2533 case 0: 2534 return &v.state 2535 case 1: 2536 return &v.sizeCache 2537 case 2: 2538 return &v.unknownFields 2539 default: 2540 return nil 2541 } 2542 } 2543 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 2544 switch v := v.(*RestoreDatabaseRequest); i { 2545 case 0: 2546 return &v.state 2547 case 1: 2548 return &v.sizeCache 2549 case 2: 2550 return &v.unknownFields 2551 default: 2552 return nil 2553 } 2554 } 2555 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 2556 switch v := v.(*RestoreDatabaseEncryptionConfig); i { 2557 case 0: 2558 return &v.state 2559 case 1: 2560 return &v.sizeCache 2561 case 2: 2562 return &v.unknownFields 2563 default: 2564 return nil 2565 } 2566 } 2567 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 2568 switch v := v.(*RestoreDatabaseMetadata); i { 2569 case 0: 2570 return &v.state 2571 case 1: 2572 return &v.sizeCache 2573 case 2: 2574 return &v.unknownFields 2575 default: 2576 return nil 2577 } 2578 } 2579 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 2580 switch v := v.(*OptimizeRestoredDatabaseMetadata); i { 2581 case 0: 2582 return &v.state 2583 case 1: 2584 return &v.sizeCache 2585 case 2: 2586 return &v.unknownFields 2587 default: 2588 return nil 2589 } 2590 } 2591 } 2592 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[0].OneofWrappers = []interface{}{ 2593 (*RestoreInfo_BackupInfo)(nil), 2594 } 2595 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[14].OneofWrappers = []interface{}{ 2596 (*RestoreDatabaseRequest_Backup)(nil), 2597 } 2598 file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes[16].OneofWrappers = []interface{}{ 2599 (*RestoreDatabaseMetadata_BackupInfo)(nil), 2600 } 2601 type x struct{} 2602 out := protoimpl.TypeBuilder{ 2603 File: protoimpl.DescBuilder{ 2604 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 2605 RawDescriptor: file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDesc, 2606 NumEnums: 3, 2607 NumMessages: 18, 2608 NumExtensions: 0, 2609 NumServices: 1, 2610 }, 2611 GoTypes: file_google_spanner_admin_database_v1_spanner_database_admin_proto_goTypes, 2612 DependencyIndexes: file_google_spanner_admin_database_v1_spanner_database_admin_proto_depIdxs, 2613 EnumInfos: file_google_spanner_admin_database_v1_spanner_database_admin_proto_enumTypes, 2614 MessageInfos: file_google_spanner_admin_database_v1_spanner_database_admin_proto_msgTypes, 2615 }.Build() 2616 File_google_spanner_admin_database_v1_spanner_database_admin_proto = out.File 2617 file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDesc = nil 2618 file_google_spanner_admin_database_v1_spanner_database_admin_proto_goTypes = nil 2619 file_google_spanner_admin_database_v1_spanner_database_admin_proto_depIdxs = nil 2620} 2621 2622// Reference imports to suppress errors if they are not otherwise used. 2623var _ context.Context 2624var _ grpc.ClientConnInterface 2625 2626// This is a compile-time assertion to ensure that this generated file 2627// is compatible with the grpc package it is being compiled against. 2628const _ = grpc.SupportPackageIsVersion6 2629 2630// DatabaseAdminClient is the client API for DatabaseAdmin service. 2631// 2632// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 2633type DatabaseAdminClient interface { 2634 // Lists Cloud Spanner databases. 2635 ListDatabases(ctx context.Context, in *ListDatabasesRequest, opts ...grpc.CallOption) (*ListDatabasesResponse, error) 2636 // Creates a new Cloud Spanner database and starts to prepare it for serving. 2637 // The returned [long-running operation][google.longrunning.Operation] will 2638 // have a name of the format `<database_name>/operations/<operation_id>` and 2639 // can be used to track preparation of the database. The 2640 // [metadata][google.longrunning.Operation.metadata] field type is 2641 // [CreateDatabaseMetadata][google.spanner.admin.database.v1.CreateDatabaseMetadata]. The 2642 // [response][google.longrunning.Operation.response] field type is 2643 // [Database][google.spanner.admin.database.v1.Database], if successful. 2644 CreateDatabase(ctx context.Context, in *CreateDatabaseRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 2645 // Gets the state of a Cloud Spanner database. 2646 GetDatabase(ctx context.Context, in *GetDatabaseRequest, opts ...grpc.CallOption) (*Database, error) 2647 // Updates the schema of a Cloud Spanner database by 2648 // creating/altering/dropping tables, columns, indexes, etc. The returned 2649 // [long-running operation][google.longrunning.Operation] will have a name of 2650 // the format `<database_name>/operations/<operation_id>` and can be used to 2651 // track execution of the schema change(s). The 2652 // [metadata][google.longrunning.Operation.metadata] field type is 2653 // [UpdateDatabaseDdlMetadata][google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata]. The operation has no response. 2654 UpdateDatabaseDdl(ctx context.Context, in *UpdateDatabaseDdlRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 2655 // Drops (aka deletes) a Cloud Spanner database. 2656 // Completed backups for the database will be retained according to their 2657 // `expire_time`. 2658 DropDatabase(ctx context.Context, in *DropDatabaseRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 2659 // Returns the schema of a Cloud Spanner database as a list of formatted 2660 // DDL statements. This method does not show pending schema updates, those may 2661 // be queried using the [Operations][google.longrunning.Operations] API. 2662 GetDatabaseDdl(ctx context.Context, in *GetDatabaseDdlRequest, opts ...grpc.CallOption) (*GetDatabaseDdlResponse, error) 2663 // Sets the access control policy on a database or backup resource. 2664 // Replaces any existing policy. 2665 // 2666 // Authorization requires `spanner.databases.setIamPolicy` 2667 // permission on [resource][google.iam.v1.SetIamPolicyRequest.resource]. 2668 // For backups, authorization requires `spanner.backups.setIamPolicy` 2669 // permission on [resource][google.iam.v1.SetIamPolicyRequest.resource]. 2670 SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) 2671 // Gets the access control policy for a database or backup resource. 2672 // Returns an empty policy if a database or backup exists but does not have a 2673 // policy set. 2674 // 2675 // Authorization requires `spanner.databases.getIamPolicy` permission on 2676 // [resource][google.iam.v1.GetIamPolicyRequest.resource]. 2677 // For backups, authorization requires `spanner.backups.getIamPolicy` 2678 // permission on [resource][google.iam.v1.GetIamPolicyRequest.resource]. 2679 GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) 2680 // Returns permissions that the caller has on the specified database or backup 2681 // resource. 2682 // 2683 // Attempting this RPC on a non-existent Cloud Spanner database will 2684 // result in a NOT_FOUND error if the user has 2685 // `spanner.databases.list` permission on the containing Cloud 2686 // Spanner instance. Otherwise returns an empty set of permissions. 2687 // Calling this method on a backup that does not exist will 2688 // result in a NOT_FOUND error if the user has 2689 // `spanner.backups.list` permission on the containing instance. 2690 TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error) 2691 // Starts creating a new Cloud Spanner Backup. 2692 // The returned backup [long-running operation][google.longrunning.Operation] 2693 // will have a name of the format 2694 // `projects/<project>/instances/<instance>/backups/<backup>/operations/<operation_id>` 2695 // and can be used to track creation of the backup. The 2696 // [metadata][google.longrunning.Operation.metadata] field type is 2697 // [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata]. The 2698 // [response][google.longrunning.Operation.response] field type is 2699 // [Backup][google.spanner.admin.database.v1.Backup], if successful. Cancelling the returned operation will stop the 2700 // creation and delete the backup. 2701 // There can be only one pending backup creation per database. Backup creation 2702 // of different databases can run concurrently. 2703 CreateBackup(ctx context.Context, in *CreateBackupRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 2704 // Gets metadata on a pending or completed [Backup][google.spanner.admin.database.v1.Backup]. 2705 GetBackup(ctx context.Context, in *GetBackupRequest, opts ...grpc.CallOption) (*Backup, error) 2706 // Updates a pending or completed [Backup][google.spanner.admin.database.v1.Backup]. 2707 UpdateBackup(ctx context.Context, in *UpdateBackupRequest, opts ...grpc.CallOption) (*Backup, error) 2708 // Deletes a pending or completed [Backup][google.spanner.admin.database.v1.Backup]. 2709 DeleteBackup(ctx context.Context, in *DeleteBackupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 2710 // Lists completed and pending backups. 2711 // Backups returned are ordered by `create_time` in descending order, 2712 // starting from the most recent `create_time`. 2713 ListBackups(ctx context.Context, in *ListBackupsRequest, opts ...grpc.CallOption) (*ListBackupsResponse, error) 2714 // Create a new database by restoring from a completed backup. The new 2715 // database must be in the same project and in an instance with the same 2716 // instance configuration as the instance containing 2717 // the backup. The returned database [long-running 2718 // operation][google.longrunning.Operation] has a name of the format 2719 // `projects/<project>/instances/<instance>/databases/<database>/operations/<operation_id>`, 2720 // and can be used to track the progress of the operation, and to cancel it. 2721 // The [metadata][google.longrunning.Operation.metadata] field type is 2722 // [RestoreDatabaseMetadata][google.spanner.admin.database.v1.RestoreDatabaseMetadata]. 2723 // The [response][google.longrunning.Operation.response] type 2724 // is [Database][google.spanner.admin.database.v1.Database], if 2725 // successful. Cancelling the returned operation will stop the restore and 2726 // delete the database. 2727 // There can be only one database being restored into an instance at a time. 2728 // Once the restore operation completes, a new restore operation can be 2729 // initiated, without waiting for the optimize operation associated with the 2730 // first restore to complete. 2731 RestoreDatabase(ctx context.Context, in *RestoreDatabaseRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 2732 // Lists database [longrunning-operations][google.longrunning.Operation]. 2733 // A database operation has a name of the form 2734 // `projects/<project>/instances/<instance>/databases/<database>/operations/<operation>`. 2735 // The long-running operation 2736 // [metadata][google.longrunning.Operation.metadata] field type 2737 // `metadata.type_url` describes the type of the metadata. Operations returned 2738 // include those that have completed/failed/canceled within the last 7 days, 2739 // and pending operations. 2740 ListDatabaseOperations(ctx context.Context, in *ListDatabaseOperationsRequest, opts ...grpc.CallOption) (*ListDatabaseOperationsResponse, error) 2741 // Lists the backup [long-running operations][google.longrunning.Operation] in 2742 // the given instance. A backup operation has a name of the form 2743 // `projects/<project>/instances/<instance>/backups/<backup>/operations/<operation>`. 2744 // The long-running operation 2745 // [metadata][google.longrunning.Operation.metadata] field type 2746 // `metadata.type_url` describes the type of the metadata. Operations returned 2747 // include those that have completed/failed/canceled within the last 7 days, 2748 // and pending operations. Operations returned are ordered by 2749 // `operation.metadata.value.progress.start_time` in descending order starting 2750 // from the most recently started operation. 2751 ListBackupOperations(ctx context.Context, in *ListBackupOperationsRequest, opts ...grpc.CallOption) (*ListBackupOperationsResponse, error) 2752} 2753 2754type databaseAdminClient struct { 2755 cc grpc.ClientConnInterface 2756} 2757 2758func NewDatabaseAdminClient(cc grpc.ClientConnInterface) DatabaseAdminClient { 2759 return &databaseAdminClient{cc} 2760} 2761 2762func (c *databaseAdminClient) ListDatabases(ctx context.Context, in *ListDatabasesRequest, opts ...grpc.CallOption) (*ListDatabasesResponse, error) { 2763 out := new(ListDatabasesResponse) 2764 err := c.cc.Invoke(ctx, "/google.spanner.admin.database.v1.DatabaseAdmin/ListDatabases", in, out, opts...) 2765 if err != nil { 2766 return nil, err 2767 } 2768 return out, nil 2769} 2770 2771func (c *databaseAdminClient) CreateDatabase(ctx context.Context, in *CreateDatabaseRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 2772 out := new(longrunning.Operation) 2773 err := c.cc.Invoke(ctx, "/google.spanner.admin.database.v1.DatabaseAdmin/CreateDatabase", in, out, opts...) 2774 if err != nil { 2775 return nil, err 2776 } 2777 return out, nil 2778} 2779 2780func (c *databaseAdminClient) GetDatabase(ctx context.Context, in *GetDatabaseRequest, opts ...grpc.CallOption) (*Database, error) { 2781 out := new(Database) 2782 err := c.cc.Invoke(ctx, "/google.spanner.admin.database.v1.DatabaseAdmin/GetDatabase", in, out, opts...) 2783 if err != nil { 2784 return nil, err 2785 } 2786 return out, nil 2787} 2788 2789func (c *databaseAdminClient) UpdateDatabaseDdl(ctx context.Context, in *UpdateDatabaseDdlRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 2790 out := new(longrunning.Operation) 2791 err := c.cc.Invoke(ctx, "/google.spanner.admin.database.v1.DatabaseAdmin/UpdateDatabaseDdl", in, out, opts...) 2792 if err != nil { 2793 return nil, err 2794 } 2795 return out, nil 2796} 2797 2798func (c *databaseAdminClient) DropDatabase(ctx context.Context, in *DropDatabaseRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 2799 out := new(emptypb.Empty) 2800 err := c.cc.Invoke(ctx, "/google.spanner.admin.database.v1.DatabaseAdmin/DropDatabase", in, out, opts...) 2801 if err != nil { 2802 return nil, err 2803 } 2804 return out, nil 2805} 2806 2807func (c *databaseAdminClient) GetDatabaseDdl(ctx context.Context, in *GetDatabaseDdlRequest, opts ...grpc.CallOption) (*GetDatabaseDdlResponse, error) { 2808 out := new(GetDatabaseDdlResponse) 2809 err := c.cc.Invoke(ctx, "/google.spanner.admin.database.v1.DatabaseAdmin/GetDatabaseDdl", in, out, opts...) 2810 if err != nil { 2811 return nil, err 2812 } 2813 return out, nil 2814} 2815 2816func (c *databaseAdminClient) SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) { 2817 out := new(v1.Policy) 2818 err := c.cc.Invoke(ctx, "/google.spanner.admin.database.v1.DatabaseAdmin/SetIamPolicy", in, out, opts...) 2819 if err != nil { 2820 return nil, err 2821 } 2822 return out, nil 2823} 2824 2825func (c *databaseAdminClient) GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) { 2826 out := new(v1.Policy) 2827 err := c.cc.Invoke(ctx, "/google.spanner.admin.database.v1.DatabaseAdmin/GetIamPolicy", in, out, opts...) 2828 if err != nil { 2829 return nil, err 2830 } 2831 return out, nil 2832} 2833 2834func (c *databaseAdminClient) TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error) { 2835 out := new(v1.TestIamPermissionsResponse) 2836 err := c.cc.Invoke(ctx, "/google.spanner.admin.database.v1.DatabaseAdmin/TestIamPermissions", in, out, opts...) 2837 if err != nil { 2838 return nil, err 2839 } 2840 return out, nil 2841} 2842 2843func (c *databaseAdminClient) CreateBackup(ctx context.Context, in *CreateBackupRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 2844 out := new(longrunning.Operation) 2845 err := c.cc.Invoke(ctx, "/google.spanner.admin.database.v1.DatabaseAdmin/CreateBackup", in, out, opts...) 2846 if err != nil { 2847 return nil, err 2848 } 2849 return out, nil 2850} 2851 2852func (c *databaseAdminClient) GetBackup(ctx context.Context, in *GetBackupRequest, opts ...grpc.CallOption) (*Backup, error) { 2853 out := new(Backup) 2854 err := c.cc.Invoke(ctx, "/google.spanner.admin.database.v1.DatabaseAdmin/GetBackup", in, out, opts...) 2855 if err != nil { 2856 return nil, err 2857 } 2858 return out, nil 2859} 2860 2861func (c *databaseAdminClient) UpdateBackup(ctx context.Context, in *UpdateBackupRequest, opts ...grpc.CallOption) (*Backup, error) { 2862 out := new(Backup) 2863 err := c.cc.Invoke(ctx, "/google.spanner.admin.database.v1.DatabaseAdmin/UpdateBackup", in, out, opts...) 2864 if err != nil { 2865 return nil, err 2866 } 2867 return out, nil 2868} 2869 2870func (c *databaseAdminClient) DeleteBackup(ctx context.Context, in *DeleteBackupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 2871 out := new(emptypb.Empty) 2872 err := c.cc.Invoke(ctx, "/google.spanner.admin.database.v1.DatabaseAdmin/DeleteBackup", in, out, opts...) 2873 if err != nil { 2874 return nil, err 2875 } 2876 return out, nil 2877} 2878 2879func (c *databaseAdminClient) ListBackups(ctx context.Context, in *ListBackupsRequest, opts ...grpc.CallOption) (*ListBackupsResponse, error) { 2880 out := new(ListBackupsResponse) 2881 err := c.cc.Invoke(ctx, "/google.spanner.admin.database.v1.DatabaseAdmin/ListBackups", in, out, opts...) 2882 if err != nil { 2883 return nil, err 2884 } 2885 return out, nil 2886} 2887 2888func (c *databaseAdminClient) RestoreDatabase(ctx context.Context, in *RestoreDatabaseRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 2889 out := new(longrunning.Operation) 2890 err := c.cc.Invoke(ctx, "/google.spanner.admin.database.v1.DatabaseAdmin/RestoreDatabase", in, out, opts...) 2891 if err != nil { 2892 return nil, err 2893 } 2894 return out, nil 2895} 2896 2897func (c *databaseAdminClient) ListDatabaseOperations(ctx context.Context, in *ListDatabaseOperationsRequest, opts ...grpc.CallOption) (*ListDatabaseOperationsResponse, error) { 2898 out := new(ListDatabaseOperationsResponse) 2899 err := c.cc.Invoke(ctx, "/google.spanner.admin.database.v1.DatabaseAdmin/ListDatabaseOperations", in, out, opts...) 2900 if err != nil { 2901 return nil, err 2902 } 2903 return out, nil 2904} 2905 2906func (c *databaseAdminClient) ListBackupOperations(ctx context.Context, in *ListBackupOperationsRequest, opts ...grpc.CallOption) (*ListBackupOperationsResponse, error) { 2907 out := new(ListBackupOperationsResponse) 2908 err := c.cc.Invoke(ctx, "/google.spanner.admin.database.v1.DatabaseAdmin/ListBackupOperations", in, out, opts...) 2909 if err != nil { 2910 return nil, err 2911 } 2912 return out, nil 2913} 2914 2915// DatabaseAdminServer is the server API for DatabaseAdmin service. 2916type DatabaseAdminServer interface { 2917 // Lists Cloud Spanner databases. 2918 ListDatabases(context.Context, *ListDatabasesRequest) (*ListDatabasesResponse, error) 2919 // Creates a new Cloud Spanner database and starts to prepare it for serving. 2920 // The returned [long-running operation][google.longrunning.Operation] will 2921 // have a name of the format `<database_name>/operations/<operation_id>` and 2922 // can be used to track preparation of the database. The 2923 // [metadata][google.longrunning.Operation.metadata] field type is 2924 // [CreateDatabaseMetadata][google.spanner.admin.database.v1.CreateDatabaseMetadata]. The 2925 // [response][google.longrunning.Operation.response] field type is 2926 // [Database][google.spanner.admin.database.v1.Database], if successful. 2927 CreateDatabase(context.Context, *CreateDatabaseRequest) (*longrunning.Operation, error) 2928 // Gets the state of a Cloud Spanner database. 2929 GetDatabase(context.Context, *GetDatabaseRequest) (*Database, error) 2930 // Updates the schema of a Cloud Spanner database by 2931 // creating/altering/dropping tables, columns, indexes, etc. The returned 2932 // [long-running operation][google.longrunning.Operation] will have a name of 2933 // the format `<database_name>/operations/<operation_id>` and can be used to 2934 // track execution of the schema change(s). The 2935 // [metadata][google.longrunning.Operation.metadata] field type is 2936 // [UpdateDatabaseDdlMetadata][google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata]. The operation has no response. 2937 UpdateDatabaseDdl(context.Context, *UpdateDatabaseDdlRequest) (*longrunning.Operation, error) 2938 // Drops (aka deletes) a Cloud Spanner database. 2939 // Completed backups for the database will be retained according to their 2940 // `expire_time`. 2941 DropDatabase(context.Context, *DropDatabaseRequest) (*emptypb.Empty, error) 2942 // Returns the schema of a Cloud Spanner database as a list of formatted 2943 // DDL statements. This method does not show pending schema updates, those may 2944 // be queried using the [Operations][google.longrunning.Operations] API. 2945 GetDatabaseDdl(context.Context, *GetDatabaseDdlRequest) (*GetDatabaseDdlResponse, error) 2946 // Sets the access control policy on a database or backup resource. 2947 // Replaces any existing policy. 2948 // 2949 // Authorization requires `spanner.databases.setIamPolicy` 2950 // permission on [resource][google.iam.v1.SetIamPolicyRequest.resource]. 2951 // For backups, authorization requires `spanner.backups.setIamPolicy` 2952 // permission on [resource][google.iam.v1.SetIamPolicyRequest.resource]. 2953 SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error) 2954 // Gets the access control policy for a database or backup resource. 2955 // Returns an empty policy if a database or backup exists but does not have a 2956 // policy set. 2957 // 2958 // Authorization requires `spanner.databases.getIamPolicy` permission on 2959 // [resource][google.iam.v1.GetIamPolicyRequest.resource]. 2960 // For backups, authorization requires `spanner.backups.getIamPolicy` 2961 // permission on [resource][google.iam.v1.GetIamPolicyRequest.resource]. 2962 GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.Policy, error) 2963 // Returns permissions that the caller has on the specified database or backup 2964 // resource. 2965 // 2966 // Attempting this RPC on a non-existent Cloud Spanner database will 2967 // result in a NOT_FOUND error if the user has 2968 // `spanner.databases.list` permission on the containing Cloud 2969 // Spanner instance. Otherwise returns an empty set of permissions. 2970 // Calling this method on a backup that does not exist will 2971 // result in a NOT_FOUND error if the user has 2972 // `spanner.backups.list` permission on the containing instance. 2973 TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error) 2974 // Starts creating a new Cloud Spanner Backup. 2975 // The returned backup [long-running operation][google.longrunning.Operation] 2976 // will have a name of the format 2977 // `projects/<project>/instances/<instance>/backups/<backup>/operations/<operation_id>` 2978 // and can be used to track creation of the backup. The 2979 // [metadata][google.longrunning.Operation.metadata] field type is 2980 // [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata]. The 2981 // [response][google.longrunning.Operation.response] field type is 2982 // [Backup][google.spanner.admin.database.v1.Backup], if successful. Cancelling the returned operation will stop the 2983 // creation and delete the backup. 2984 // There can be only one pending backup creation per database. Backup creation 2985 // of different databases can run concurrently. 2986 CreateBackup(context.Context, *CreateBackupRequest) (*longrunning.Operation, error) 2987 // Gets metadata on a pending or completed [Backup][google.spanner.admin.database.v1.Backup]. 2988 GetBackup(context.Context, *GetBackupRequest) (*Backup, error) 2989 // Updates a pending or completed [Backup][google.spanner.admin.database.v1.Backup]. 2990 UpdateBackup(context.Context, *UpdateBackupRequest) (*Backup, error) 2991 // Deletes a pending or completed [Backup][google.spanner.admin.database.v1.Backup]. 2992 DeleteBackup(context.Context, *DeleteBackupRequest) (*emptypb.Empty, error) 2993 // Lists completed and pending backups. 2994 // Backups returned are ordered by `create_time` in descending order, 2995 // starting from the most recent `create_time`. 2996 ListBackups(context.Context, *ListBackupsRequest) (*ListBackupsResponse, error) 2997 // Create a new database by restoring from a completed backup. The new 2998 // database must be in the same project and in an instance with the same 2999 // instance configuration as the instance containing 3000 // the backup. The returned database [long-running 3001 // operation][google.longrunning.Operation] has a name of the format 3002 // `projects/<project>/instances/<instance>/databases/<database>/operations/<operation_id>`, 3003 // and can be used to track the progress of the operation, and to cancel it. 3004 // The [metadata][google.longrunning.Operation.metadata] field type is 3005 // [RestoreDatabaseMetadata][google.spanner.admin.database.v1.RestoreDatabaseMetadata]. 3006 // The [response][google.longrunning.Operation.response] type 3007 // is [Database][google.spanner.admin.database.v1.Database], if 3008 // successful. Cancelling the returned operation will stop the restore and 3009 // delete the database. 3010 // There can be only one database being restored into an instance at a time. 3011 // Once the restore operation completes, a new restore operation can be 3012 // initiated, without waiting for the optimize operation associated with the 3013 // first restore to complete. 3014 RestoreDatabase(context.Context, *RestoreDatabaseRequest) (*longrunning.Operation, error) 3015 // Lists database [longrunning-operations][google.longrunning.Operation]. 3016 // A database operation has a name of the form 3017 // `projects/<project>/instances/<instance>/databases/<database>/operations/<operation>`. 3018 // The long-running operation 3019 // [metadata][google.longrunning.Operation.metadata] field type 3020 // `metadata.type_url` describes the type of the metadata. Operations returned 3021 // include those that have completed/failed/canceled within the last 7 days, 3022 // and pending operations. 3023 ListDatabaseOperations(context.Context, *ListDatabaseOperationsRequest) (*ListDatabaseOperationsResponse, error) 3024 // Lists the backup [long-running operations][google.longrunning.Operation] in 3025 // the given instance. A backup operation has a name of the form 3026 // `projects/<project>/instances/<instance>/backups/<backup>/operations/<operation>`. 3027 // The long-running operation 3028 // [metadata][google.longrunning.Operation.metadata] field type 3029 // `metadata.type_url` describes the type of the metadata. Operations returned 3030 // include those that have completed/failed/canceled within the last 7 days, 3031 // and pending operations. Operations returned are ordered by 3032 // `operation.metadata.value.progress.start_time` in descending order starting 3033 // from the most recently started operation. 3034 ListBackupOperations(context.Context, *ListBackupOperationsRequest) (*ListBackupOperationsResponse, error) 3035} 3036 3037// UnimplementedDatabaseAdminServer can be embedded to have forward compatible implementations. 3038type UnimplementedDatabaseAdminServer struct { 3039} 3040 3041func (*UnimplementedDatabaseAdminServer) ListDatabases(context.Context, *ListDatabasesRequest) (*ListDatabasesResponse, error) { 3042 return nil, status.Errorf(codes.Unimplemented, "method ListDatabases not implemented") 3043} 3044func (*UnimplementedDatabaseAdminServer) CreateDatabase(context.Context, *CreateDatabaseRequest) (*longrunning.Operation, error) { 3045 return nil, status.Errorf(codes.Unimplemented, "method CreateDatabase not implemented") 3046} 3047func (*UnimplementedDatabaseAdminServer) GetDatabase(context.Context, *GetDatabaseRequest) (*Database, error) { 3048 return nil, status.Errorf(codes.Unimplemented, "method GetDatabase not implemented") 3049} 3050func (*UnimplementedDatabaseAdminServer) UpdateDatabaseDdl(context.Context, *UpdateDatabaseDdlRequest) (*longrunning.Operation, error) { 3051 return nil, status.Errorf(codes.Unimplemented, "method UpdateDatabaseDdl not implemented") 3052} 3053func (*UnimplementedDatabaseAdminServer) DropDatabase(context.Context, *DropDatabaseRequest) (*emptypb.Empty, error) { 3054 return nil, status.Errorf(codes.Unimplemented, "method DropDatabase not implemented") 3055} 3056func (*UnimplementedDatabaseAdminServer) GetDatabaseDdl(context.Context, *GetDatabaseDdlRequest) (*GetDatabaseDdlResponse, error) { 3057 return nil, status.Errorf(codes.Unimplemented, "method GetDatabaseDdl not implemented") 3058} 3059func (*UnimplementedDatabaseAdminServer) SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error) { 3060 return nil, status.Errorf(codes.Unimplemented, "method SetIamPolicy not implemented") 3061} 3062func (*UnimplementedDatabaseAdminServer) GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.Policy, error) { 3063 return nil, status.Errorf(codes.Unimplemented, "method GetIamPolicy not implemented") 3064} 3065func (*UnimplementedDatabaseAdminServer) TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error) { 3066 return nil, status.Errorf(codes.Unimplemented, "method TestIamPermissions not implemented") 3067} 3068func (*UnimplementedDatabaseAdminServer) CreateBackup(context.Context, *CreateBackupRequest) (*longrunning.Operation, error) { 3069 return nil, status.Errorf(codes.Unimplemented, "method CreateBackup not implemented") 3070} 3071func (*UnimplementedDatabaseAdminServer) GetBackup(context.Context, *GetBackupRequest) (*Backup, error) { 3072 return nil, status.Errorf(codes.Unimplemented, "method GetBackup not implemented") 3073} 3074func (*UnimplementedDatabaseAdminServer) UpdateBackup(context.Context, *UpdateBackupRequest) (*Backup, error) { 3075 return nil, status.Errorf(codes.Unimplemented, "method UpdateBackup not implemented") 3076} 3077func (*UnimplementedDatabaseAdminServer) DeleteBackup(context.Context, *DeleteBackupRequest) (*emptypb.Empty, error) { 3078 return nil, status.Errorf(codes.Unimplemented, "method DeleteBackup not implemented") 3079} 3080func (*UnimplementedDatabaseAdminServer) ListBackups(context.Context, *ListBackupsRequest) (*ListBackupsResponse, error) { 3081 return nil, status.Errorf(codes.Unimplemented, "method ListBackups not implemented") 3082} 3083func (*UnimplementedDatabaseAdminServer) RestoreDatabase(context.Context, *RestoreDatabaseRequest) (*longrunning.Operation, error) { 3084 return nil, status.Errorf(codes.Unimplemented, "method RestoreDatabase not implemented") 3085} 3086func (*UnimplementedDatabaseAdminServer) ListDatabaseOperations(context.Context, *ListDatabaseOperationsRequest) (*ListDatabaseOperationsResponse, error) { 3087 return nil, status.Errorf(codes.Unimplemented, "method ListDatabaseOperations not implemented") 3088} 3089func (*UnimplementedDatabaseAdminServer) ListBackupOperations(context.Context, *ListBackupOperationsRequest) (*ListBackupOperationsResponse, error) { 3090 return nil, status.Errorf(codes.Unimplemented, "method ListBackupOperations not implemented") 3091} 3092 3093func RegisterDatabaseAdminServer(s *grpc.Server, srv DatabaseAdminServer) { 3094 s.RegisterService(&_DatabaseAdmin_serviceDesc, srv) 3095} 3096 3097func _DatabaseAdmin_ListDatabases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3098 in := new(ListDatabasesRequest) 3099 if err := dec(in); err != nil { 3100 return nil, err 3101 } 3102 if interceptor == nil { 3103 return srv.(DatabaseAdminServer).ListDatabases(ctx, in) 3104 } 3105 info := &grpc.UnaryServerInfo{ 3106 Server: srv, 3107 FullMethod: "/google.spanner.admin.database.v1.DatabaseAdmin/ListDatabases", 3108 } 3109 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3110 return srv.(DatabaseAdminServer).ListDatabases(ctx, req.(*ListDatabasesRequest)) 3111 } 3112 return interceptor(ctx, in, info, handler) 3113} 3114 3115func _DatabaseAdmin_CreateDatabase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3116 in := new(CreateDatabaseRequest) 3117 if err := dec(in); err != nil { 3118 return nil, err 3119 } 3120 if interceptor == nil { 3121 return srv.(DatabaseAdminServer).CreateDatabase(ctx, in) 3122 } 3123 info := &grpc.UnaryServerInfo{ 3124 Server: srv, 3125 FullMethod: "/google.spanner.admin.database.v1.DatabaseAdmin/CreateDatabase", 3126 } 3127 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3128 return srv.(DatabaseAdminServer).CreateDatabase(ctx, req.(*CreateDatabaseRequest)) 3129 } 3130 return interceptor(ctx, in, info, handler) 3131} 3132 3133func _DatabaseAdmin_GetDatabase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3134 in := new(GetDatabaseRequest) 3135 if err := dec(in); err != nil { 3136 return nil, err 3137 } 3138 if interceptor == nil { 3139 return srv.(DatabaseAdminServer).GetDatabase(ctx, in) 3140 } 3141 info := &grpc.UnaryServerInfo{ 3142 Server: srv, 3143 FullMethod: "/google.spanner.admin.database.v1.DatabaseAdmin/GetDatabase", 3144 } 3145 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3146 return srv.(DatabaseAdminServer).GetDatabase(ctx, req.(*GetDatabaseRequest)) 3147 } 3148 return interceptor(ctx, in, info, handler) 3149} 3150 3151func _DatabaseAdmin_UpdateDatabaseDdl_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3152 in := new(UpdateDatabaseDdlRequest) 3153 if err := dec(in); err != nil { 3154 return nil, err 3155 } 3156 if interceptor == nil { 3157 return srv.(DatabaseAdminServer).UpdateDatabaseDdl(ctx, in) 3158 } 3159 info := &grpc.UnaryServerInfo{ 3160 Server: srv, 3161 FullMethod: "/google.spanner.admin.database.v1.DatabaseAdmin/UpdateDatabaseDdl", 3162 } 3163 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3164 return srv.(DatabaseAdminServer).UpdateDatabaseDdl(ctx, req.(*UpdateDatabaseDdlRequest)) 3165 } 3166 return interceptor(ctx, in, info, handler) 3167} 3168 3169func _DatabaseAdmin_DropDatabase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3170 in := new(DropDatabaseRequest) 3171 if err := dec(in); err != nil { 3172 return nil, err 3173 } 3174 if interceptor == nil { 3175 return srv.(DatabaseAdminServer).DropDatabase(ctx, in) 3176 } 3177 info := &grpc.UnaryServerInfo{ 3178 Server: srv, 3179 FullMethod: "/google.spanner.admin.database.v1.DatabaseAdmin/DropDatabase", 3180 } 3181 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3182 return srv.(DatabaseAdminServer).DropDatabase(ctx, req.(*DropDatabaseRequest)) 3183 } 3184 return interceptor(ctx, in, info, handler) 3185} 3186 3187func _DatabaseAdmin_GetDatabaseDdl_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3188 in := new(GetDatabaseDdlRequest) 3189 if err := dec(in); err != nil { 3190 return nil, err 3191 } 3192 if interceptor == nil { 3193 return srv.(DatabaseAdminServer).GetDatabaseDdl(ctx, in) 3194 } 3195 info := &grpc.UnaryServerInfo{ 3196 Server: srv, 3197 FullMethod: "/google.spanner.admin.database.v1.DatabaseAdmin/GetDatabaseDdl", 3198 } 3199 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3200 return srv.(DatabaseAdminServer).GetDatabaseDdl(ctx, req.(*GetDatabaseDdlRequest)) 3201 } 3202 return interceptor(ctx, in, info, handler) 3203} 3204 3205func _DatabaseAdmin_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3206 in := new(v1.SetIamPolicyRequest) 3207 if err := dec(in); err != nil { 3208 return nil, err 3209 } 3210 if interceptor == nil { 3211 return srv.(DatabaseAdminServer).SetIamPolicy(ctx, in) 3212 } 3213 info := &grpc.UnaryServerInfo{ 3214 Server: srv, 3215 FullMethod: "/google.spanner.admin.database.v1.DatabaseAdmin/SetIamPolicy", 3216 } 3217 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3218 return srv.(DatabaseAdminServer).SetIamPolicy(ctx, req.(*v1.SetIamPolicyRequest)) 3219 } 3220 return interceptor(ctx, in, info, handler) 3221} 3222 3223func _DatabaseAdmin_GetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3224 in := new(v1.GetIamPolicyRequest) 3225 if err := dec(in); err != nil { 3226 return nil, err 3227 } 3228 if interceptor == nil { 3229 return srv.(DatabaseAdminServer).GetIamPolicy(ctx, in) 3230 } 3231 info := &grpc.UnaryServerInfo{ 3232 Server: srv, 3233 FullMethod: "/google.spanner.admin.database.v1.DatabaseAdmin/GetIamPolicy", 3234 } 3235 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3236 return srv.(DatabaseAdminServer).GetIamPolicy(ctx, req.(*v1.GetIamPolicyRequest)) 3237 } 3238 return interceptor(ctx, in, info, handler) 3239} 3240 3241func _DatabaseAdmin_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3242 in := new(v1.TestIamPermissionsRequest) 3243 if err := dec(in); err != nil { 3244 return nil, err 3245 } 3246 if interceptor == nil { 3247 return srv.(DatabaseAdminServer).TestIamPermissions(ctx, in) 3248 } 3249 info := &grpc.UnaryServerInfo{ 3250 Server: srv, 3251 FullMethod: "/google.spanner.admin.database.v1.DatabaseAdmin/TestIamPermissions", 3252 } 3253 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3254 return srv.(DatabaseAdminServer).TestIamPermissions(ctx, req.(*v1.TestIamPermissionsRequest)) 3255 } 3256 return interceptor(ctx, in, info, handler) 3257} 3258 3259func _DatabaseAdmin_CreateBackup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3260 in := new(CreateBackupRequest) 3261 if err := dec(in); err != nil { 3262 return nil, err 3263 } 3264 if interceptor == nil { 3265 return srv.(DatabaseAdminServer).CreateBackup(ctx, in) 3266 } 3267 info := &grpc.UnaryServerInfo{ 3268 Server: srv, 3269 FullMethod: "/google.spanner.admin.database.v1.DatabaseAdmin/CreateBackup", 3270 } 3271 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3272 return srv.(DatabaseAdminServer).CreateBackup(ctx, req.(*CreateBackupRequest)) 3273 } 3274 return interceptor(ctx, in, info, handler) 3275} 3276 3277func _DatabaseAdmin_GetBackup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3278 in := new(GetBackupRequest) 3279 if err := dec(in); err != nil { 3280 return nil, err 3281 } 3282 if interceptor == nil { 3283 return srv.(DatabaseAdminServer).GetBackup(ctx, in) 3284 } 3285 info := &grpc.UnaryServerInfo{ 3286 Server: srv, 3287 FullMethod: "/google.spanner.admin.database.v1.DatabaseAdmin/GetBackup", 3288 } 3289 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3290 return srv.(DatabaseAdminServer).GetBackup(ctx, req.(*GetBackupRequest)) 3291 } 3292 return interceptor(ctx, in, info, handler) 3293} 3294 3295func _DatabaseAdmin_UpdateBackup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3296 in := new(UpdateBackupRequest) 3297 if err := dec(in); err != nil { 3298 return nil, err 3299 } 3300 if interceptor == nil { 3301 return srv.(DatabaseAdminServer).UpdateBackup(ctx, in) 3302 } 3303 info := &grpc.UnaryServerInfo{ 3304 Server: srv, 3305 FullMethod: "/google.spanner.admin.database.v1.DatabaseAdmin/UpdateBackup", 3306 } 3307 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3308 return srv.(DatabaseAdminServer).UpdateBackup(ctx, req.(*UpdateBackupRequest)) 3309 } 3310 return interceptor(ctx, in, info, handler) 3311} 3312 3313func _DatabaseAdmin_DeleteBackup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3314 in := new(DeleteBackupRequest) 3315 if err := dec(in); err != nil { 3316 return nil, err 3317 } 3318 if interceptor == nil { 3319 return srv.(DatabaseAdminServer).DeleteBackup(ctx, in) 3320 } 3321 info := &grpc.UnaryServerInfo{ 3322 Server: srv, 3323 FullMethod: "/google.spanner.admin.database.v1.DatabaseAdmin/DeleteBackup", 3324 } 3325 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3326 return srv.(DatabaseAdminServer).DeleteBackup(ctx, req.(*DeleteBackupRequest)) 3327 } 3328 return interceptor(ctx, in, info, handler) 3329} 3330 3331func _DatabaseAdmin_ListBackups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3332 in := new(ListBackupsRequest) 3333 if err := dec(in); err != nil { 3334 return nil, err 3335 } 3336 if interceptor == nil { 3337 return srv.(DatabaseAdminServer).ListBackups(ctx, in) 3338 } 3339 info := &grpc.UnaryServerInfo{ 3340 Server: srv, 3341 FullMethod: "/google.spanner.admin.database.v1.DatabaseAdmin/ListBackups", 3342 } 3343 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3344 return srv.(DatabaseAdminServer).ListBackups(ctx, req.(*ListBackupsRequest)) 3345 } 3346 return interceptor(ctx, in, info, handler) 3347} 3348 3349func _DatabaseAdmin_RestoreDatabase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3350 in := new(RestoreDatabaseRequest) 3351 if err := dec(in); err != nil { 3352 return nil, err 3353 } 3354 if interceptor == nil { 3355 return srv.(DatabaseAdminServer).RestoreDatabase(ctx, in) 3356 } 3357 info := &grpc.UnaryServerInfo{ 3358 Server: srv, 3359 FullMethod: "/google.spanner.admin.database.v1.DatabaseAdmin/RestoreDatabase", 3360 } 3361 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3362 return srv.(DatabaseAdminServer).RestoreDatabase(ctx, req.(*RestoreDatabaseRequest)) 3363 } 3364 return interceptor(ctx, in, info, handler) 3365} 3366 3367func _DatabaseAdmin_ListDatabaseOperations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3368 in := new(ListDatabaseOperationsRequest) 3369 if err := dec(in); err != nil { 3370 return nil, err 3371 } 3372 if interceptor == nil { 3373 return srv.(DatabaseAdminServer).ListDatabaseOperations(ctx, in) 3374 } 3375 info := &grpc.UnaryServerInfo{ 3376 Server: srv, 3377 FullMethod: "/google.spanner.admin.database.v1.DatabaseAdmin/ListDatabaseOperations", 3378 } 3379 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3380 return srv.(DatabaseAdminServer).ListDatabaseOperations(ctx, req.(*ListDatabaseOperationsRequest)) 3381 } 3382 return interceptor(ctx, in, info, handler) 3383} 3384 3385func _DatabaseAdmin_ListBackupOperations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3386 in := new(ListBackupOperationsRequest) 3387 if err := dec(in); err != nil { 3388 return nil, err 3389 } 3390 if interceptor == nil { 3391 return srv.(DatabaseAdminServer).ListBackupOperations(ctx, in) 3392 } 3393 info := &grpc.UnaryServerInfo{ 3394 Server: srv, 3395 FullMethod: "/google.spanner.admin.database.v1.DatabaseAdmin/ListBackupOperations", 3396 } 3397 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3398 return srv.(DatabaseAdminServer).ListBackupOperations(ctx, req.(*ListBackupOperationsRequest)) 3399 } 3400 return interceptor(ctx, in, info, handler) 3401} 3402 3403var _DatabaseAdmin_serviceDesc = grpc.ServiceDesc{ 3404 ServiceName: "google.spanner.admin.database.v1.DatabaseAdmin", 3405 HandlerType: (*DatabaseAdminServer)(nil), 3406 Methods: []grpc.MethodDesc{ 3407 { 3408 MethodName: "ListDatabases", 3409 Handler: _DatabaseAdmin_ListDatabases_Handler, 3410 }, 3411 { 3412 MethodName: "CreateDatabase", 3413 Handler: _DatabaseAdmin_CreateDatabase_Handler, 3414 }, 3415 { 3416 MethodName: "GetDatabase", 3417 Handler: _DatabaseAdmin_GetDatabase_Handler, 3418 }, 3419 { 3420 MethodName: "UpdateDatabaseDdl", 3421 Handler: _DatabaseAdmin_UpdateDatabaseDdl_Handler, 3422 }, 3423 { 3424 MethodName: "DropDatabase", 3425 Handler: _DatabaseAdmin_DropDatabase_Handler, 3426 }, 3427 { 3428 MethodName: "GetDatabaseDdl", 3429 Handler: _DatabaseAdmin_GetDatabaseDdl_Handler, 3430 }, 3431 { 3432 MethodName: "SetIamPolicy", 3433 Handler: _DatabaseAdmin_SetIamPolicy_Handler, 3434 }, 3435 { 3436 MethodName: "GetIamPolicy", 3437 Handler: _DatabaseAdmin_GetIamPolicy_Handler, 3438 }, 3439 { 3440 MethodName: "TestIamPermissions", 3441 Handler: _DatabaseAdmin_TestIamPermissions_Handler, 3442 }, 3443 { 3444 MethodName: "CreateBackup", 3445 Handler: _DatabaseAdmin_CreateBackup_Handler, 3446 }, 3447 { 3448 MethodName: "GetBackup", 3449 Handler: _DatabaseAdmin_GetBackup_Handler, 3450 }, 3451 { 3452 MethodName: "UpdateBackup", 3453 Handler: _DatabaseAdmin_UpdateBackup_Handler, 3454 }, 3455 { 3456 MethodName: "DeleteBackup", 3457 Handler: _DatabaseAdmin_DeleteBackup_Handler, 3458 }, 3459 { 3460 MethodName: "ListBackups", 3461 Handler: _DatabaseAdmin_ListBackups_Handler, 3462 }, 3463 { 3464 MethodName: "RestoreDatabase", 3465 Handler: _DatabaseAdmin_RestoreDatabase_Handler, 3466 }, 3467 { 3468 MethodName: "ListDatabaseOperations", 3469 Handler: _DatabaseAdmin_ListDatabaseOperations_Handler, 3470 }, 3471 { 3472 MethodName: "ListBackupOperations", 3473 Handler: _DatabaseAdmin_ListBackupOperations_Handler, 3474 }, 3475 }, 3476 Streams: []grpc.StreamDesc{}, 3477 Metadata: "google/spanner/admin/database/v1/spanner_database_admin.proto", 3478} 3479