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