1#![allow(unknown_lints)]
6#![allow(clippy::all)]
7
8#![allow(unused_attributes)]
9#![cfg_attr(rustfmt, rustfmt::skip)]
10
11#![allow(box_pointers)]
12#![allow(dead_code)]
13#![allow(missing_docs)]
14#![allow(non_camel_case_types)]
15#![allow(non_snake_case)]
16#![allow(non_upper_case_globals)]
17#![allow(trivial_casts)]
18#![allow(unused_imports)]
19#![allow(unused_results)]
20#[derive(PartialEq,Clone,Default)]
27pub struct RestoreInfo {
28 pub source_type: RestoreSourceType,
30 pub source_info: ::std::option::Option<RestoreInfo_oneof_source_info>,
32 pub unknown_fields: ::protobuf::UnknownFields,
34 pub cached_size: ::protobuf::CachedSize,
35}
36
37impl<'a> ::std::default::Default for &'a RestoreInfo {
38 fn default() -> &'a RestoreInfo {
39 <RestoreInfo as ::protobuf::Message>::default_instance()
40 }
41}
42
43#[derive(Clone,PartialEq,Debug)]
44pub enum RestoreInfo_oneof_source_info {
45 backup_info(super::backup::BackupInfo),
46}
47
48impl RestoreInfo {
49 pub fn new() -> RestoreInfo {
50 ::std::default::Default::default()
51 }
52
53 pub fn get_source_type(&self) -> RestoreSourceType {
57 self.source_type
58 }
59 pub fn clear_source_type(&mut self) {
60 self.source_type = RestoreSourceType::TYPE_UNSPECIFIED;
61 }
62
63 pub fn set_source_type(&mut self, v: RestoreSourceType) {
65 self.source_type = v;
66 }
67
68 pub fn get_backup_info(&self) -> &super::backup::BackupInfo {
72 match self.source_info {
73 ::std::option::Option::Some(RestoreInfo_oneof_source_info::backup_info(ref v)) => v,
74 _ => <super::backup::BackupInfo as ::protobuf::Message>::default_instance(),
75 }
76 }
77 pub fn clear_backup_info(&mut self) {
78 self.source_info = ::std::option::Option::None;
79 }
80
81 pub fn has_backup_info(&self) -> bool {
82 match self.source_info {
83 ::std::option::Option::Some(RestoreInfo_oneof_source_info::backup_info(..)) => true,
84 _ => false,
85 }
86 }
87
88 pub fn set_backup_info(&mut self, v: super::backup::BackupInfo) {
90 self.source_info = ::std::option::Option::Some(RestoreInfo_oneof_source_info::backup_info(v))
91 }
92
93 pub fn mut_backup_info(&mut self) -> &mut super::backup::BackupInfo {
95 if let ::std::option::Option::Some(RestoreInfo_oneof_source_info::backup_info(_)) = self.source_info {
96 } else {
97 self.source_info = ::std::option::Option::Some(RestoreInfo_oneof_source_info::backup_info(super::backup::BackupInfo::new()));
98 }
99 match self.source_info {
100 ::std::option::Option::Some(RestoreInfo_oneof_source_info::backup_info(ref mut v)) => v,
101 _ => panic!(),
102 }
103 }
104
105 pub fn take_backup_info(&mut self) -> super::backup::BackupInfo {
107 if self.has_backup_info() {
108 match self.source_info.take() {
109 ::std::option::Option::Some(RestoreInfo_oneof_source_info::backup_info(v)) => v,
110 _ => panic!(),
111 }
112 } else {
113 super::backup::BackupInfo::new()
114 }
115 }
116}
117
118impl ::protobuf::Message for RestoreInfo {
119 fn is_initialized(&self) -> bool {
120 if let Some(RestoreInfo_oneof_source_info::backup_info(ref v)) = self.source_info {
121 if !v.is_initialized() {
122 return false;
123 }
124 }
125 true
126 }
127
128 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
129 while !is.eof()? {
130 let (field_number, wire_type) = is.read_tag_unpack()?;
131 match field_number {
132 1 => {
133 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.source_type, 1, &mut self.unknown_fields)?
134 },
135 2 => {
136 if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
137 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
138 }
139 self.source_info = ::std::option::Option::Some(RestoreInfo_oneof_source_info::backup_info(is.read_message()?));
140 },
141 _ => {
142 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
143 },
144 };
145 }
146 ::std::result::Result::Ok(())
147 }
148
149 #[allow(unused_variables)]
151 fn compute_size(&self) -> u32 {
152 let mut my_size = 0;
153 if self.source_type != RestoreSourceType::TYPE_UNSPECIFIED {
154 my_size += ::protobuf::rt::enum_size(1, self.source_type);
155 }
156 if let ::std::option::Option::Some(ref v) = self.source_info {
157 match v {
158 &RestoreInfo_oneof_source_info::backup_info(ref v) => {
159 let len = v.compute_size();
160 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
161 },
162 };
163 }
164 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
165 self.cached_size.set(my_size);
166 my_size
167 }
168
169 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
170 if self.source_type != RestoreSourceType::TYPE_UNSPECIFIED {
171 os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.source_type))?;
172 }
173 if let ::std::option::Option::Some(ref v) = self.source_info {
174 match v {
175 &RestoreInfo_oneof_source_info::backup_info(ref v) => {
176 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
177 os.write_raw_varint32(v.get_cached_size())?;
178 v.write_to_with_cached_sizes(os)?;
179 },
180 };
181 }
182 os.write_unknown_fields(self.get_unknown_fields())?;
183 ::std::result::Result::Ok(())
184 }
185
186 fn get_cached_size(&self) -> u32 {
187 self.cached_size.get()
188 }
189
190 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
191 &self.unknown_fields
192 }
193
194 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
195 &mut self.unknown_fields
196 }
197
198 fn as_any(&self) -> &dyn (::std::any::Any) {
199 self as &dyn (::std::any::Any)
200 }
201 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
202 self as &mut dyn (::std::any::Any)
203 }
204 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
205 self
206 }
207
208 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
209 Self::descriptor_static()
210 }
211
212 fn new() -> RestoreInfo {
213 RestoreInfo::new()
214 }
215
216 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
217 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
218 descriptor.get(|| {
219 let mut fields = ::std::vec::Vec::new();
220 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<RestoreSourceType>>(
221 "source_type",
222 |m: &RestoreInfo| { &m.source_type },
223 |m: &mut RestoreInfo| { &mut m.source_type },
224 ));
225 fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, super::backup::BackupInfo>(
226 "backup_info",
227 RestoreInfo::has_backup_info,
228 RestoreInfo::get_backup_info,
229 ));
230 ::protobuf::reflect::MessageDescriptor::new_pb_name::<RestoreInfo>(
231 "RestoreInfo",
232 fields,
233 file_descriptor_proto()
234 )
235 })
236 }
237
238 fn default_instance() -> &'static RestoreInfo {
239 static instance: ::protobuf::rt::LazyV2<RestoreInfo> = ::protobuf::rt::LazyV2::INIT;
240 instance.get(RestoreInfo::new)
241 }
242}
243
244impl ::protobuf::Clear for RestoreInfo {
245 fn clear(&mut self) {
246 self.source_type = RestoreSourceType::TYPE_UNSPECIFIED;
247 self.source_info = ::std::option::Option::None;
248 self.unknown_fields.clear();
249 }
250}
251
252impl ::std::fmt::Debug for RestoreInfo {
253 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
254 ::protobuf::text_format::fmt(self, f)
255 }
256}
257
258impl ::protobuf::reflect::ProtobufValue for RestoreInfo {
259 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
260 ::protobuf::reflect::ReflectValueRef::Message(self)
261 }
262}
263
264#[derive(PartialEq,Clone,Default)]
265pub struct Database {
266 pub name: ::std::string::String,
268 pub state: Database_State,
269 pub create_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
270 pub restore_info: ::protobuf::SingularPtrField<RestoreInfo>,
271 pub encryption_config: ::protobuf::SingularPtrField<super::common::EncryptionConfig>,
272 pub encryption_info: ::protobuf::RepeatedField<super::common::EncryptionInfo>,
273 pub version_retention_period: ::std::string::String,
274 pub earliest_version_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
275 pub default_leader: ::std::string::String,
276 pub database_dialect: super::common::DatabaseDialect,
277 pub enable_drop_protection: bool,
278 pub reconciling: bool,
279 pub unknown_fields: ::protobuf::UnknownFields,
281 pub cached_size: ::protobuf::CachedSize,
282}
283
284impl<'a> ::std::default::Default for &'a Database {
285 fn default() -> &'a Database {
286 <Database as ::protobuf::Message>::default_instance()
287 }
288}
289
290impl Database {
291 pub fn new() -> Database {
292 ::std::default::Default::default()
293 }
294
295 pub fn get_name(&self) -> &str {
299 &self.name
300 }
301 pub fn clear_name(&mut self) {
302 self.name.clear();
303 }
304
305 pub fn set_name(&mut self, v: ::std::string::String) {
307 self.name = v;
308 }
309
310 pub fn mut_name(&mut self) -> &mut ::std::string::String {
313 &mut self.name
314 }
315
316 pub fn take_name(&mut self) -> ::std::string::String {
318 ::std::mem::replace(&mut self.name, ::std::string::String::new())
319 }
320
321 pub fn get_state(&self) -> Database_State {
325 self.state
326 }
327 pub fn clear_state(&mut self) {
328 self.state = Database_State::STATE_UNSPECIFIED;
329 }
330
331 pub fn set_state(&mut self, v: Database_State) {
333 self.state = v;
334 }
335
336 pub fn get_create_time(&self) -> &::protobuf::well_known_types::Timestamp {
340 self.create_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
341 }
342 pub fn clear_create_time(&mut self) {
343 self.create_time.clear();
344 }
345
346 pub fn has_create_time(&self) -> bool {
347 self.create_time.is_some()
348 }
349
350 pub fn set_create_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
352 self.create_time = ::protobuf::SingularPtrField::some(v);
353 }
354
355 pub fn mut_create_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
358 if self.create_time.is_none() {
359 self.create_time.set_default();
360 }
361 self.create_time.as_mut().unwrap()
362 }
363
364 pub fn take_create_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
366 self.create_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
367 }
368
369 pub fn get_restore_info(&self) -> &RestoreInfo {
373 self.restore_info.as_ref().unwrap_or_else(|| <RestoreInfo as ::protobuf::Message>::default_instance())
374 }
375 pub fn clear_restore_info(&mut self) {
376 self.restore_info.clear();
377 }
378
379 pub fn has_restore_info(&self) -> bool {
380 self.restore_info.is_some()
381 }
382
383 pub fn set_restore_info(&mut self, v: RestoreInfo) {
385 self.restore_info = ::protobuf::SingularPtrField::some(v);
386 }
387
388 pub fn mut_restore_info(&mut self) -> &mut RestoreInfo {
391 if self.restore_info.is_none() {
392 self.restore_info.set_default();
393 }
394 self.restore_info.as_mut().unwrap()
395 }
396
397 pub fn take_restore_info(&mut self) -> RestoreInfo {
399 self.restore_info.take().unwrap_or_else(|| RestoreInfo::new())
400 }
401
402 pub fn get_encryption_config(&self) -> &super::common::EncryptionConfig {
406 self.encryption_config.as_ref().unwrap_or_else(|| <super::common::EncryptionConfig as ::protobuf::Message>::default_instance())
407 }
408 pub fn clear_encryption_config(&mut self) {
409 self.encryption_config.clear();
410 }
411
412 pub fn has_encryption_config(&self) -> bool {
413 self.encryption_config.is_some()
414 }
415
416 pub fn set_encryption_config(&mut self, v: super::common::EncryptionConfig) {
418 self.encryption_config = ::protobuf::SingularPtrField::some(v);
419 }
420
421 pub fn mut_encryption_config(&mut self) -> &mut super::common::EncryptionConfig {
424 if self.encryption_config.is_none() {
425 self.encryption_config.set_default();
426 }
427 self.encryption_config.as_mut().unwrap()
428 }
429
430 pub fn take_encryption_config(&mut self) -> super::common::EncryptionConfig {
432 self.encryption_config.take().unwrap_or_else(|| super::common::EncryptionConfig::new())
433 }
434
435 pub fn get_encryption_info(&self) -> &[super::common::EncryptionInfo] {
439 &self.encryption_info
440 }
441 pub fn clear_encryption_info(&mut self) {
442 self.encryption_info.clear();
443 }
444
445 pub fn set_encryption_info(&mut self, v: ::protobuf::RepeatedField<super::common::EncryptionInfo>) {
447 self.encryption_info = v;
448 }
449
450 pub fn mut_encryption_info(&mut self) -> &mut ::protobuf::RepeatedField<super::common::EncryptionInfo> {
452 &mut self.encryption_info
453 }
454
455 pub fn take_encryption_info(&mut self) -> ::protobuf::RepeatedField<super::common::EncryptionInfo> {
457 ::std::mem::replace(&mut self.encryption_info, ::protobuf::RepeatedField::new())
458 }
459
460 pub fn get_version_retention_period(&self) -> &str {
464 &self.version_retention_period
465 }
466 pub fn clear_version_retention_period(&mut self) {
467 self.version_retention_period.clear();
468 }
469
470 pub fn set_version_retention_period(&mut self, v: ::std::string::String) {
472 self.version_retention_period = v;
473 }
474
475 pub fn mut_version_retention_period(&mut self) -> &mut ::std::string::String {
478 &mut self.version_retention_period
479 }
480
481 pub fn take_version_retention_period(&mut self) -> ::std::string::String {
483 ::std::mem::replace(&mut self.version_retention_period, ::std::string::String::new())
484 }
485
486 pub fn get_earliest_version_time(&self) -> &::protobuf::well_known_types::Timestamp {
490 self.earliest_version_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
491 }
492 pub fn clear_earliest_version_time(&mut self) {
493 self.earliest_version_time.clear();
494 }
495
496 pub fn has_earliest_version_time(&self) -> bool {
497 self.earliest_version_time.is_some()
498 }
499
500 pub fn set_earliest_version_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
502 self.earliest_version_time = ::protobuf::SingularPtrField::some(v);
503 }
504
505 pub fn mut_earliest_version_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
508 if self.earliest_version_time.is_none() {
509 self.earliest_version_time.set_default();
510 }
511 self.earliest_version_time.as_mut().unwrap()
512 }
513
514 pub fn take_earliest_version_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
516 self.earliest_version_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
517 }
518
519 pub fn get_default_leader(&self) -> &str {
523 &self.default_leader
524 }
525 pub fn clear_default_leader(&mut self) {
526 self.default_leader.clear();
527 }
528
529 pub fn set_default_leader(&mut self, v: ::std::string::String) {
531 self.default_leader = v;
532 }
533
534 pub fn mut_default_leader(&mut self) -> &mut ::std::string::String {
537 &mut self.default_leader
538 }
539
540 pub fn take_default_leader(&mut self) -> ::std::string::String {
542 ::std::mem::replace(&mut self.default_leader, ::std::string::String::new())
543 }
544
545 pub fn get_database_dialect(&self) -> super::common::DatabaseDialect {
549 self.database_dialect
550 }
551 pub fn clear_database_dialect(&mut self) {
552 self.database_dialect = super::common::DatabaseDialect::DATABASE_DIALECT_UNSPECIFIED;
553 }
554
555 pub fn set_database_dialect(&mut self, v: super::common::DatabaseDialect) {
557 self.database_dialect = v;
558 }
559
560 pub fn get_enable_drop_protection(&self) -> bool {
564 self.enable_drop_protection
565 }
566 pub fn clear_enable_drop_protection(&mut self) {
567 self.enable_drop_protection = false;
568 }
569
570 pub fn set_enable_drop_protection(&mut self, v: bool) {
572 self.enable_drop_protection = v;
573 }
574
575 pub fn get_reconciling(&self) -> bool {
579 self.reconciling
580 }
581 pub fn clear_reconciling(&mut self) {
582 self.reconciling = false;
583 }
584
585 pub fn set_reconciling(&mut self, v: bool) {
587 self.reconciling = v;
588 }
589}
590
591impl ::protobuf::Message for Database {
592 fn is_initialized(&self) -> bool {
593 for v in &self.create_time {
594 if !v.is_initialized() {
595 return false;
596 }
597 };
598 for v in &self.restore_info {
599 if !v.is_initialized() {
600 return false;
601 }
602 };
603 for v in &self.encryption_config {
604 if !v.is_initialized() {
605 return false;
606 }
607 };
608 for v in &self.encryption_info {
609 if !v.is_initialized() {
610 return false;
611 }
612 };
613 for v in &self.earliest_version_time {
614 if !v.is_initialized() {
615 return false;
616 }
617 };
618 true
619 }
620
621 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
622 while !is.eof()? {
623 let (field_number, wire_type) = is.read_tag_unpack()?;
624 match field_number {
625 1 => {
626 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
627 },
628 2 => {
629 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.state, 2, &mut self.unknown_fields)?
630 },
631 3 => {
632 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.create_time)?;
633 },
634 4 => {
635 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.restore_info)?;
636 },
637 5 => {
638 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.encryption_config)?;
639 },
640 8 => {
641 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.encryption_info)?;
642 },
643 6 => {
644 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.version_retention_period)?;
645 },
646 7 => {
647 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.earliest_version_time)?;
648 },
649 9 => {
650 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.default_leader)?;
651 },
652 10 => {
653 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.database_dialect, 10, &mut self.unknown_fields)?
654 },
655 11 => {
656 if wire_type != ::protobuf::wire_format::WireTypeVarint {
657 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
658 }
659 let tmp = is.read_bool()?;
660 self.enable_drop_protection = tmp;
661 },
662 12 => {
663 if wire_type != ::protobuf::wire_format::WireTypeVarint {
664 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
665 }
666 let tmp = is.read_bool()?;
667 self.reconciling = tmp;
668 },
669 _ => {
670 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
671 },
672 };
673 }
674 ::std::result::Result::Ok(())
675 }
676
677 #[allow(unused_variables)]
679 fn compute_size(&self) -> u32 {
680 let mut my_size = 0;
681 if !self.name.is_empty() {
682 my_size += ::protobuf::rt::string_size(1, &self.name);
683 }
684 if self.state != Database_State::STATE_UNSPECIFIED {
685 my_size += ::protobuf::rt::enum_size(2, self.state);
686 }
687 if let Some(ref v) = self.create_time.as_ref() {
688 let len = v.compute_size();
689 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
690 }
691 if let Some(ref v) = self.restore_info.as_ref() {
692 let len = v.compute_size();
693 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
694 }
695 if let Some(ref v) = self.encryption_config.as_ref() {
696 let len = v.compute_size();
697 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
698 }
699 for value in &self.encryption_info {
700 let len = value.compute_size();
701 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
702 };
703 if !self.version_retention_period.is_empty() {
704 my_size += ::protobuf::rt::string_size(6, &self.version_retention_period);
705 }
706 if let Some(ref v) = self.earliest_version_time.as_ref() {
707 let len = v.compute_size();
708 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
709 }
710 if !self.default_leader.is_empty() {
711 my_size += ::protobuf::rt::string_size(9, &self.default_leader);
712 }
713 if self.database_dialect != super::common::DatabaseDialect::DATABASE_DIALECT_UNSPECIFIED {
714 my_size += ::protobuf::rt::enum_size(10, self.database_dialect);
715 }
716 if self.enable_drop_protection != false {
717 my_size += 2;
718 }
719 if self.reconciling != false {
720 my_size += 2;
721 }
722 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
723 self.cached_size.set(my_size);
724 my_size
725 }
726
727 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
728 if !self.name.is_empty() {
729 os.write_string(1, &self.name)?;
730 }
731 if self.state != Database_State::STATE_UNSPECIFIED {
732 os.write_enum(2, ::protobuf::ProtobufEnum::value(&self.state))?;
733 }
734 if let Some(ref v) = self.create_time.as_ref() {
735 os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
736 os.write_raw_varint32(v.get_cached_size())?;
737 v.write_to_with_cached_sizes(os)?;
738 }
739 if let Some(ref v) = self.restore_info.as_ref() {
740 os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
741 os.write_raw_varint32(v.get_cached_size())?;
742 v.write_to_with_cached_sizes(os)?;
743 }
744 if let Some(ref v) = self.encryption_config.as_ref() {
745 os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
746 os.write_raw_varint32(v.get_cached_size())?;
747 v.write_to_with_cached_sizes(os)?;
748 }
749 for v in &self.encryption_info {
750 os.write_tag(8, ::protobuf::wire_format::WireTypeLengthDelimited)?;
751 os.write_raw_varint32(v.get_cached_size())?;
752 v.write_to_with_cached_sizes(os)?;
753 };
754 if !self.version_retention_period.is_empty() {
755 os.write_string(6, &self.version_retention_period)?;
756 }
757 if let Some(ref v) = self.earliest_version_time.as_ref() {
758 os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
759 os.write_raw_varint32(v.get_cached_size())?;
760 v.write_to_with_cached_sizes(os)?;
761 }
762 if !self.default_leader.is_empty() {
763 os.write_string(9, &self.default_leader)?;
764 }
765 if self.database_dialect != super::common::DatabaseDialect::DATABASE_DIALECT_UNSPECIFIED {
766 os.write_enum(10, ::protobuf::ProtobufEnum::value(&self.database_dialect))?;
767 }
768 if self.enable_drop_protection != false {
769 os.write_bool(11, self.enable_drop_protection)?;
770 }
771 if self.reconciling != false {
772 os.write_bool(12, self.reconciling)?;
773 }
774 os.write_unknown_fields(self.get_unknown_fields())?;
775 ::std::result::Result::Ok(())
776 }
777
778 fn get_cached_size(&self) -> u32 {
779 self.cached_size.get()
780 }
781
782 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
783 &self.unknown_fields
784 }
785
786 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
787 &mut self.unknown_fields
788 }
789
790 fn as_any(&self) -> &dyn (::std::any::Any) {
791 self as &dyn (::std::any::Any)
792 }
793 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
794 self as &mut dyn (::std::any::Any)
795 }
796 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
797 self
798 }
799
800 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
801 Self::descriptor_static()
802 }
803
804 fn new() -> Database {
805 Database::new()
806 }
807
808 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
809 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
810 descriptor.get(|| {
811 let mut fields = ::std::vec::Vec::new();
812 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
813 "name",
814 |m: &Database| { &m.name },
815 |m: &mut Database| { &mut m.name },
816 ));
817 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Database_State>>(
818 "state",
819 |m: &Database| { &m.state },
820 |m: &mut Database| { &mut m.state },
821 ));
822 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
823 "create_time",
824 |m: &Database| { &m.create_time },
825 |m: &mut Database| { &mut m.create_time },
826 ));
827 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<RestoreInfo>>(
828 "restore_info",
829 |m: &Database| { &m.restore_info },
830 |m: &mut Database| { &mut m.restore_info },
831 ));
832 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::common::EncryptionConfig>>(
833 "encryption_config",
834 |m: &Database| { &m.encryption_config },
835 |m: &mut Database| { &mut m.encryption_config },
836 ));
837 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::common::EncryptionInfo>>(
838 "encryption_info",
839 |m: &Database| { &m.encryption_info },
840 |m: &mut Database| { &mut m.encryption_info },
841 ));
842 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
843 "version_retention_period",
844 |m: &Database| { &m.version_retention_period },
845 |m: &mut Database| { &mut m.version_retention_period },
846 ));
847 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
848 "earliest_version_time",
849 |m: &Database| { &m.earliest_version_time },
850 |m: &mut Database| { &mut m.earliest_version_time },
851 ));
852 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
853 "default_leader",
854 |m: &Database| { &m.default_leader },
855 |m: &mut Database| { &mut m.default_leader },
856 ));
857 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<super::common::DatabaseDialect>>(
858 "database_dialect",
859 |m: &Database| { &m.database_dialect },
860 |m: &mut Database| { &mut m.database_dialect },
861 ));
862 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
863 "enable_drop_protection",
864 |m: &Database| { &m.enable_drop_protection },
865 |m: &mut Database| { &mut m.enable_drop_protection },
866 ));
867 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
868 "reconciling",
869 |m: &Database| { &m.reconciling },
870 |m: &mut Database| { &mut m.reconciling },
871 ));
872 ::protobuf::reflect::MessageDescriptor::new_pb_name::<Database>(
873 "Database",
874 fields,
875 file_descriptor_proto()
876 )
877 })
878 }
879
880 fn default_instance() -> &'static Database {
881 static instance: ::protobuf::rt::LazyV2<Database> = ::protobuf::rt::LazyV2::INIT;
882 instance.get(Database::new)
883 }
884}
885
886impl ::protobuf::Clear for Database {
887 fn clear(&mut self) {
888 self.name.clear();
889 self.state = Database_State::STATE_UNSPECIFIED;
890 self.create_time.clear();
891 self.restore_info.clear();
892 self.encryption_config.clear();
893 self.encryption_info.clear();
894 self.version_retention_period.clear();
895 self.earliest_version_time.clear();
896 self.default_leader.clear();
897 self.database_dialect = super::common::DatabaseDialect::DATABASE_DIALECT_UNSPECIFIED;
898 self.enable_drop_protection = false;
899 self.reconciling = false;
900 self.unknown_fields.clear();
901 }
902}
903
904impl ::std::fmt::Debug for Database {
905 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
906 ::protobuf::text_format::fmt(self, f)
907 }
908}
909
910impl ::protobuf::reflect::ProtobufValue for Database {
911 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
912 ::protobuf::reflect::ReflectValueRef::Message(self)
913 }
914}
915
916#[derive(Clone,PartialEq,Eq,Debug,Hash)]
917pub enum Database_State {
918 STATE_UNSPECIFIED = 0,
919 CREATING = 1,
920 READY = 2,
921 READY_OPTIMIZING = 3,
922}
923
924impl ::protobuf::ProtobufEnum for Database_State {
925 fn value(&self) -> i32 {
926 *self as i32
927 }
928
929 fn from_i32(value: i32) -> ::std::option::Option<Database_State> {
930 match value {
931 0 => ::std::option::Option::Some(Database_State::STATE_UNSPECIFIED),
932 1 => ::std::option::Option::Some(Database_State::CREATING),
933 2 => ::std::option::Option::Some(Database_State::READY),
934 3 => ::std::option::Option::Some(Database_State::READY_OPTIMIZING),
935 _ => ::std::option::Option::None
936 }
937 }
938
939 fn values() -> &'static [Self] {
940 static values: &'static [Database_State] = &[
941 Database_State::STATE_UNSPECIFIED,
942 Database_State::CREATING,
943 Database_State::READY,
944 Database_State::READY_OPTIMIZING,
945 ];
946 values
947 }
948
949 fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
950 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
951 descriptor.get(|| {
952 ::protobuf::reflect::EnumDescriptor::new_pb_name::<Database_State>("Database.State", file_descriptor_proto())
953 })
954 }
955}
956
957impl ::std::marker::Copy for Database_State {
958}
959
960impl ::std::default::Default for Database_State {
961 fn default() -> Self {
962 Database_State::STATE_UNSPECIFIED
963 }
964}
965
966impl ::protobuf::reflect::ProtobufValue for Database_State {
967 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
968 ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
969 }
970}
971
972#[derive(PartialEq,Clone,Default)]
973pub struct ListDatabasesRequest {
974 pub parent: ::std::string::String,
976 pub page_size: i32,
977 pub page_token: ::std::string::String,
978 pub unknown_fields: ::protobuf::UnknownFields,
980 pub cached_size: ::protobuf::CachedSize,
981}
982
983impl<'a> ::std::default::Default for &'a ListDatabasesRequest {
984 fn default() -> &'a ListDatabasesRequest {
985 <ListDatabasesRequest as ::protobuf::Message>::default_instance()
986 }
987}
988
989impl ListDatabasesRequest {
990 pub fn new() -> ListDatabasesRequest {
991 ::std::default::Default::default()
992 }
993
994 pub fn get_parent(&self) -> &str {
998 &self.parent
999 }
1000 pub fn clear_parent(&mut self) {
1001 self.parent.clear();
1002 }
1003
1004 pub fn set_parent(&mut self, v: ::std::string::String) {
1006 self.parent = v;
1007 }
1008
1009 pub fn mut_parent(&mut self) -> &mut ::std::string::String {
1012 &mut self.parent
1013 }
1014
1015 pub fn take_parent(&mut self) -> ::std::string::String {
1017 ::std::mem::replace(&mut self.parent, ::std::string::String::new())
1018 }
1019
1020 pub fn get_page_size(&self) -> i32 {
1024 self.page_size
1025 }
1026 pub fn clear_page_size(&mut self) {
1027 self.page_size = 0;
1028 }
1029
1030 pub fn set_page_size(&mut self, v: i32) {
1032 self.page_size = v;
1033 }
1034
1035 pub fn get_page_token(&self) -> &str {
1039 &self.page_token
1040 }
1041 pub fn clear_page_token(&mut self) {
1042 self.page_token.clear();
1043 }
1044
1045 pub fn set_page_token(&mut self, v: ::std::string::String) {
1047 self.page_token = v;
1048 }
1049
1050 pub fn mut_page_token(&mut self) -> &mut ::std::string::String {
1053 &mut self.page_token
1054 }
1055
1056 pub fn take_page_token(&mut self) -> ::std::string::String {
1058 ::std::mem::replace(&mut self.page_token, ::std::string::String::new())
1059 }
1060}
1061
1062impl ::protobuf::Message for ListDatabasesRequest {
1063 fn is_initialized(&self) -> bool {
1064 true
1065 }
1066
1067 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1068 while !is.eof()? {
1069 let (field_number, wire_type) = is.read_tag_unpack()?;
1070 match field_number {
1071 1 => {
1072 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
1073 },
1074 3 => {
1075 if wire_type != ::protobuf::wire_format::WireTypeVarint {
1076 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1077 }
1078 let tmp = is.read_int32()?;
1079 self.page_size = tmp;
1080 },
1081 4 => {
1082 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.page_token)?;
1083 },
1084 _ => {
1085 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1086 },
1087 };
1088 }
1089 ::std::result::Result::Ok(())
1090 }
1091
1092 #[allow(unused_variables)]
1094 fn compute_size(&self) -> u32 {
1095 let mut my_size = 0;
1096 if !self.parent.is_empty() {
1097 my_size += ::protobuf::rt::string_size(1, &self.parent);
1098 }
1099 if self.page_size != 0 {
1100 my_size += ::protobuf::rt::value_size(3, self.page_size, ::protobuf::wire_format::WireTypeVarint);
1101 }
1102 if !self.page_token.is_empty() {
1103 my_size += ::protobuf::rt::string_size(4, &self.page_token);
1104 }
1105 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1106 self.cached_size.set(my_size);
1107 my_size
1108 }
1109
1110 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1111 if !self.parent.is_empty() {
1112 os.write_string(1, &self.parent)?;
1113 }
1114 if self.page_size != 0 {
1115 os.write_int32(3, self.page_size)?;
1116 }
1117 if !self.page_token.is_empty() {
1118 os.write_string(4, &self.page_token)?;
1119 }
1120 os.write_unknown_fields(self.get_unknown_fields())?;
1121 ::std::result::Result::Ok(())
1122 }
1123
1124 fn get_cached_size(&self) -> u32 {
1125 self.cached_size.get()
1126 }
1127
1128 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1129 &self.unknown_fields
1130 }
1131
1132 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1133 &mut self.unknown_fields
1134 }
1135
1136 fn as_any(&self) -> &dyn (::std::any::Any) {
1137 self as &dyn (::std::any::Any)
1138 }
1139 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1140 self as &mut dyn (::std::any::Any)
1141 }
1142 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1143 self
1144 }
1145
1146 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1147 Self::descriptor_static()
1148 }
1149
1150 fn new() -> ListDatabasesRequest {
1151 ListDatabasesRequest::new()
1152 }
1153
1154 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1155 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1156 descriptor.get(|| {
1157 let mut fields = ::std::vec::Vec::new();
1158 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1159 "parent",
1160 |m: &ListDatabasesRequest| { &m.parent },
1161 |m: &mut ListDatabasesRequest| { &mut m.parent },
1162 ));
1163 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
1164 "page_size",
1165 |m: &ListDatabasesRequest| { &m.page_size },
1166 |m: &mut ListDatabasesRequest| { &mut m.page_size },
1167 ));
1168 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1169 "page_token",
1170 |m: &ListDatabasesRequest| { &m.page_token },
1171 |m: &mut ListDatabasesRequest| { &mut m.page_token },
1172 ));
1173 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListDatabasesRequest>(
1174 "ListDatabasesRequest",
1175 fields,
1176 file_descriptor_proto()
1177 )
1178 })
1179 }
1180
1181 fn default_instance() -> &'static ListDatabasesRequest {
1182 static instance: ::protobuf::rt::LazyV2<ListDatabasesRequest> = ::protobuf::rt::LazyV2::INIT;
1183 instance.get(ListDatabasesRequest::new)
1184 }
1185}
1186
1187impl ::protobuf::Clear for ListDatabasesRequest {
1188 fn clear(&mut self) {
1189 self.parent.clear();
1190 self.page_size = 0;
1191 self.page_token.clear();
1192 self.unknown_fields.clear();
1193 }
1194}
1195
1196impl ::std::fmt::Debug for ListDatabasesRequest {
1197 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1198 ::protobuf::text_format::fmt(self, f)
1199 }
1200}
1201
1202impl ::protobuf::reflect::ProtobufValue for ListDatabasesRequest {
1203 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1204 ::protobuf::reflect::ReflectValueRef::Message(self)
1205 }
1206}
1207
1208#[derive(PartialEq,Clone,Default)]
1209pub struct ListDatabasesResponse {
1210 pub databases: ::protobuf::RepeatedField<Database>,
1212 pub next_page_token: ::std::string::String,
1213 pub unknown_fields: ::protobuf::UnknownFields,
1215 pub cached_size: ::protobuf::CachedSize,
1216}
1217
1218impl<'a> ::std::default::Default for &'a ListDatabasesResponse {
1219 fn default() -> &'a ListDatabasesResponse {
1220 <ListDatabasesResponse as ::protobuf::Message>::default_instance()
1221 }
1222}
1223
1224impl ListDatabasesResponse {
1225 pub fn new() -> ListDatabasesResponse {
1226 ::std::default::Default::default()
1227 }
1228
1229 pub fn get_databases(&self) -> &[Database] {
1233 &self.databases
1234 }
1235 pub fn clear_databases(&mut self) {
1236 self.databases.clear();
1237 }
1238
1239 pub fn set_databases(&mut self, v: ::protobuf::RepeatedField<Database>) {
1241 self.databases = v;
1242 }
1243
1244 pub fn mut_databases(&mut self) -> &mut ::protobuf::RepeatedField<Database> {
1246 &mut self.databases
1247 }
1248
1249 pub fn take_databases(&mut self) -> ::protobuf::RepeatedField<Database> {
1251 ::std::mem::replace(&mut self.databases, ::protobuf::RepeatedField::new())
1252 }
1253
1254 pub fn get_next_page_token(&self) -> &str {
1258 &self.next_page_token
1259 }
1260 pub fn clear_next_page_token(&mut self) {
1261 self.next_page_token.clear();
1262 }
1263
1264 pub fn set_next_page_token(&mut self, v: ::std::string::String) {
1266 self.next_page_token = v;
1267 }
1268
1269 pub fn mut_next_page_token(&mut self) -> &mut ::std::string::String {
1272 &mut self.next_page_token
1273 }
1274
1275 pub fn take_next_page_token(&mut self) -> ::std::string::String {
1277 ::std::mem::replace(&mut self.next_page_token, ::std::string::String::new())
1278 }
1279}
1280
1281impl ::protobuf::Message for ListDatabasesResponse {
1282 fn is_initialized(&self) -> bool {
1283 for v in &self.databases {
1284 if !v.is_initialized() {
1285 return false;
1286 }
1287 };
1288 true
1289 }
1290
1291 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1292 while !is.eof()? {
1293 let (field_number, wire_type) = is.read_tag_unpack()?;
1294 match field_number {
1295 1 => {
1296 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.databases)?;
1297 },
1298 2 => {
1299 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.next_page_token)?;
1300 },
1301 _ => {
1302 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1303 },
1304 };
1305 }
1306 ::std::result::Result::Ok(())
1307 }
1308
1309 #[allow(unused_variables)]
1311 fn compute_size(&self) -> u32 {
1312 let mut my_size = 0;
1313 for value in &self.databases {
1314 let len = value.compute_size();
1315 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1316 };
1317 if !self.next_page_token.is_empty() {
1318 my_size += ::protobuf::rt::string_size(2, &self.next_page_token);
1319 }
1320 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1321 self.cached_size.set(my_size);
1322 my_size
1323 }
1324
1325 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1326 for v in &self.databases {
1327 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1328 os.write_raw_varint32(v.get_cached_size())?;
1329 v.write_to_with_cached_sizes(os)?;
1330 };
1331 if !self.next_page_token.is_empty() {
1332 os.write_string(2, &self.next_page_token)?;
1333 }
1334 os.write_unknown_fields(self.get_unknown_fields())?;
1335 ::std::result::Result::Ok(())
1336 }
1337
1338 fn get_cached_size(&self) -> u32 {
1339 self.cached_size.get()
1340 }
1341
1342 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1343 &self.unknown_fields
1344 }
1345
1346 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1347 &mut self.unknown_fields
1348 }
1349
1350 fn as_any(&self) -> &dyn (::std::any::Any) {
1351 self as &dyn (::std::any::Any)
1352 }
1353 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1354 self as &mut dyn (::std::any::Any)
1355 }
1356 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1357 self
1358 }
1359
1360 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1361 Self::descriptor_static()
1362 }
1363
1364 fn new() -> ListDatabasesResponse {
1365 ListDatabasesResponse::new()
1366 }
1367
1368 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1369 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1370 descriptor.get(|| {
1371 let mut fields = ::std::vec::Vec::new();
1372 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Database>>(
1373 "databases",
1374 |m: &ListDatabasesResponse| { &m.databases },
1375 |m: &mut ListDatabasesResponse| { &mut m.databases },
1376 ));
1377 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1378 "next_page_token",
1379 |m: &ListDatabasesResponse| { &m.next_page_token },
1380 |m: &mut ListDatabasesResponse| { &mut m.next_page_token },
1381 ));
1382 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListDatabasesResponse>(
1383 "ListDatabasesResponse",
1384 fields,
1385 file_descriptor_proto()
1386 )
1387 })
1388 }
1389
1390 fn default_instance() -> &'static ListDatabasesResponse {
1391 static instance: ::protobuf::rt::LazyV2<ListDatabasesResponse> = ::protobuf::rt::LazyV2::INIT;
1392 instance.get(ListDatabasesResponse::new)
1393 }
1394}
1395
1396impl ::protobuf::Clear for ListDatabasesResponse {
1397 fn clear(&mut self) {
1398 self.databases.clear();
1399 self.next_page_token.clear();
1400 self.unknown_fields.clear();
1401 }
1402}
1403
1404impl ::std::fmt::Debug for ListDatabasesResponse {
1405 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1406 ::protobuf::text_format::fmt(self, f)
1407 }
1408}
1409
1410impl ::protobuf::reflect::ProtobufValue for ListDatabasesResponse {
1411 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1412 ::protobuf::reflect::ReflectValueRef::Message(self)
1413 }
1414}
1415
1416#[derive(PartialEq,Clone,Default)]
1417pub struct CreateDatabaseRequest {
1418 pub parent: ::std::string::String,
1420 pub create_statement: ::std::string::String,
1421 pub extra_statements: ::protobuf::RepeatedField<::std::string::String>,
1422 pub encryption_config: ::protobuf::SingularPtrField<super::common::EncryptionConfig>,
1423 pub database_dialect: super::common::DatabaseDialect,
1424 pub unknown_fields: ::protobuf::UnknownFields,
1426 pub cached_size: ::protobuf::CachedSize,
1427}
1428
1429impl<'a> ::std::default::Default for &'a CreateDatabaseRequest {
1430 fn default() -> &'a CreateDatabaseRequest {
1431 <CreateDatabaseRequest as ::protobuf::Message>::default_instance()
1432 }
1433}
1434
1435impl CreateDatabaseRequest {
1436 pub fn new() -> CreateDatabaseRequest {
1437 ::std::default::Default::default()
1438 }
1439
1440 pub fn get_parent(&self) -> &str {
1444 &self.parent
1445 }
1446 pub fn clear_parent(&mut self) {
1447 self.parent.clear();
1448 }
1449
1450 pub fn set_parent(&mut self, v: ::std::string::String) {
1452 self.parent = v;
1453 }
1454
1455 pub fn mut_parent(&mut self) -> &mut ::std::string::String {
1458 &mut self.parent
1459 }
1460
1461 pub fn take_parent(&mut self) -> ::std::string::String {
1463 ::std::mem::replace(&mut self.parent, ::std::string::String::new())
1464 }
1465
1466 pub fn get_create_statement(&self) -> &str {
1470 &self.create_statement
1471 }
1472 pub fn clear_create_statement(&mut self) {
1473 self.create_statement.clear();
1474 }
1475
1476 pub fn set_create_statement(&mut self, v: ::std::string::String) {
1478 self.create_statement = v;
1479 }
1480
1481 pub fn mut_create_statement(&mut self) -> &mut ::std::string::String {
1484 &mut self.create_statement
1485 }
1486
1487 pub fn take_create_statement(&mut self) -> ::std::string::String {
1489 ::std::mem::replace(&mut self.create_statement, ::std::string::String::new())
1490 }
1491
1492 pub fn get_extra_statements(&self) -> &[::std::string::String] {
1496 &self.extra_statements
1497 }
1498 pub fn clear_extra_statements(&mut self) {
1499 self.extra_statements.clear();
1500 }
1501
1502 pub fn set_extra_statements(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
1504 self.extra_statements = v;
1505 }
1506
1507 pub fn mut_extra_statements(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
1509 &mut self.extra_statements
1510 }
1511
1512 pub fn take_extra_statements(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
1514 ::std::mem::replace(&mut self.extra_statements, ::protobuf::RepeatedField::new())
1515 }
1516
1517 pub fn get_encryption_config(&self) -> &super::common::EncryptionConfig {
1521 self.encryption_config.as_ref().unwrap_or_else(|| <super::common::EncryptionConfig as ::protobuf::Message>::default_instance())
1522 }
1523 pub fn clear_encryption_config(&mut self) {
1524 self.encryption_config.clear();
1525 }
1526
1527 pub fn has_encryption_config(&self) -> bool {
1528 self.encryption_config.is_some()
1529 }
1530
1531 pub fn set_encryption_config(&mut self, v: super::common::EncryptionConfig) {
1533 self.encryption_config = ::protobuf::SingularPtrField::some(v);
1534 }
1535
1536 pub fn mut_encryption_config(&mut self) -> &mut super::common::EncryptionConfig {
1539 if self.encryption_config.is_none() {
1540 self.encryption_config.set_default();
1541 }
1542 self.encryption_config.as_mut().unwrap()
1543 }
1544
1545 pub fn take_encryption_config(&mut self) -> super::common::EncryptionConfig {
1547 self.encryption_config.take().unwrap_or_else(|| super::common::EncryptionConfig::new())
1548 }
1549
1550 pub fn get_database_dialect(&self) -> super::common::DatabaseDialect {
1554 self.database_dialect
1555 }
1556 pub fn clear_database_dialect(&mut self) {
1557 self.database_dialect = super::common::DatabaseDialect::DATABASE_DIALECT_UNSPECIFIED;
1558 }
1559
1560 pub fn set_database_dialect(&mut self, v: super::common::DatabaseDialect) {
1562 self.database_dialect = v;
1563 }
1564}
1565
1566impl ::protobuf::Message for CreateDatabaseRequest {
1567 fn is_initialized(&self) -> bool {
1568 for v in &self.encryption_config {
1569 if !v.is_initialized() {
1570 return false;
1571 }
1572 };
1573 true
1574 }
1575
1576 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1577 while !is.eof()? {
1578 let (field_number, wire_type) = is.read_tag_unpack()?;
1579 match field_number {
1580 1 => {
1581 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
1582 },
1583 2 => {
1584 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.create_statement)?;
1585 },
1586 3 => {
1587 ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.extra_statements)?;
1588 },
1589 4 => {
1590 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.encryption_config)?;
1591 },
1592 5 => {
1593 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.database_dialect, 5, &mut self.unknown_fields)?
1594 },
1595 _ => {
1596 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1597 },
1598 };
1599 }
1600 ::std::result::Result::Ok(())
1601 }
1602
1603 #[allow(unused_variables)]
1605 fn compute_size(&self) -> u32 {
1606 let mut my_size = 0;
1607 if !self.parent.is_empty() {
1608 my_size += ::protobuf::rt::string_size(1, &self.parent);
1609 }
1610 if !self.create_statement.is_empty() {
1611 my_size += ::protobuf::rt::string_size(2, &self.create_statement);
1612 }
1613 for value in &self.extra_statements {
1614 my_size += ::protobuf::rt::string_size(3, &value);
1615 };
1616 if let Some(ref v) = self.encryption_config.as_ref() {
1617 let len = v.compute_size();
1618 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1619 }
1620 if self.database_dialect != super::common::DatabaseDialect::DATABASE_DIALECT_UNSPECIFIED {
1621 my_size += ::protobuf::rt::enum_size(5, self.database_dialect);
1622 }
1623 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1624 self.cached_size.set(my_size);
1625 my_size
1626 }
1627
1628 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1629 if !self.parent.is_empty() {
1630 os.write_string(1, &self.parent)?;
1631 }
1632 if !self.create_statement.is_empty() {
1633 os.write_string(2, &self.create_statement)?;
1634 }
1635 for v in &self.extra_statements {
1636 os.write_string(3, &v)?;
1637 };
1638 if let Some(ref v) = self.encryption_config.as_ref() {
1639 os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1640 os.write_raw_varint32(v.get_cached_size())?;
1641 v.write_to_with_cached_sizes(os)?;
1642 }
1643 if self.database_dialect != super::common::DatabaseDialect::DATABASE_DIALECT_UNSPECIFIED {
1644 os.write_enum(5, ::protobuf::ProtobufEnum::value(&self.database_dialect))?;
1645 }
1646 os.write_unknown_fields(self.get_unknown_fields())?;
1647 ::std::result::Result::Ok(())
1648 }
1649
1650 fn get_cached_size(&self) -> u32 {
1651 self.cached_size.get()
1652 }
1653
1654 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1655 &self.unknown_fields
1656 }
1657
1658 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1659 &mut self.unknown_fields
1660 }
1661
1662 fn as_any(&self) -> &dyn (::std::any::Any) {
1663 self as &dyn (::std::any::Any)
1664 }
1665 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1666 self as &mut dyn (::std::any::Any)
1667 }
1668 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1669 self
1670 }
1671
1672 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1673 Self::descriptor_static()
1674 }
1675
1676 fn new() -> CreateDatabaseRequest {
1677 CreateDatabaseRequest::new()
1678 }
1679
1680 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1681 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1682 descriptor.get(|| {
1683 let mut fields = ::std::vec::Vec::new();
1684 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1685 "parent",
1686 |m: &CreateDatabaseRequest| { &m.parent },
1687 |m: &mut CreateDatabaseRequest| { &mut m.parent },
1688 ));
1689 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1690 "create_statement",
1691 |m: &CreateDatabaseRequest| { &m.create_statement },
1692 |m: &mut CreateDatabaseRequest| { &mut m.create_statement },
1693 ));
1694 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1695 "extra_statements",
1696 |m: &CreateDatabaseRequest| { &m.extra_statements },
1697 |m: &mut CreateDatabaseRequest| { &mut m.extra_statements },
1698 ));
1699 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::common::EncryptionConfig>>(
1700 "encryption_config",
1701 |m: &CreateDatabaseRequest| { &m.encryption_config },
1702 |m: &mut CreateDatabaseRequest| { &mut m.encryption_config },
1703 ));
1704 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<super::common::DatabaseDialect>>(
1705 "database_dialect",
1706 |m: &CreateDatabaseRequest| { &m.database_dialect },
1707 |m: &mut CreateDatabaseRequest| { &mut m.database_dialect },
1708 ));
1709 ::protobuf::reflect::MessageDescriptor::new_pb_name::<CreateDatabaseRequest>(
1710 "CreateDatabaseRequest",
1711 fields,
1712 file_descriptor_proto()
1713 )
1714 })
1715 }
1716
1717 fn default_instance() -> &'static CreateDatabaseRequest {
1718 static instance: ::protobuf::rt::LazyV2<CreateDatabaseRequest> = ::protobuf::rt::LazyV2::INIT;
1719 instance.get(CreateDatabaseRequest::new)
1720 }
1721}
1722
1723impl ::protobuf::Clear for CreateDatabaseRequest {
1724 fn clear(&mut self) {
1725 self.parent.clear();
1726 self.create_statement.clear();
1727 self.extra_statements.clear();
1728 self.encryption_config.clear();
1729 self.database_dialect = super::common::DatabaseDialect::DATABASE_DIALECT_UNSPECIFIED;
1730 self.unknown_fields.clear();
1731 }
1732}
1733
1734impl ::std::fmt::Debug for CreateDatabaseRequest {
1735 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1736 ::protobuf::text_format::fmt(self, f)
1737 }
1738}
1739
1740impl ::protobuf::reflect::ProtobufValue for CreateDatabaseRequest {
1741 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1742 ::protobuf::reflect::ReflectValueRef::Message(self)
1743 }
1744}
1745
1746#[derive(PartialEq,Clone,Default)]
1747pub struct CreateDatabaseMetadata {
1748 pub database: ::std::string::String,
1750 pub unknown_fields: ::protobuf::UnknownFields,
1752 pub cached_size: ::protobuf::CachedSize,
1753}
1754
1755impl<'a> ::std::default::Default for &'a CreateDatabaseMetadata {
1756 fn default() -> &'a CreateDatabaseMetadata {
1757 <CreateDatabaseMetadata as ::protobuf::Message>::default_instance()
1758 }
1759}
1760
1761impl CreateDatabaseMetadata {
1762 pub fn new() -> CreateDatabaseMetadata {
1763 ::std::default::Default::default()
1764 }
1765
1766 pub fn get_database(&self) -> &str {
1770 &self.database
1771 }
1772 pub fn clear_database(&mut self) {
1773 self.database.clear();
1774 }
1775
1776 pub fn set_database(&mut self, v: ::std::string::String) {
1778 self.database = v;
1779 }
1780
1781 pub fn mut_database(&mut self) -> &mut ::std::string::String {
1784 &mut self.database
1785 }
1786
1787 pub fn take_database(&mut self) -> ::std::string::String {
1789 ::std::mem::replace(&mut self.database, ::std::string::String::new())
1790 }
1791}
1792
1793impl ::protobuf::Message for CreateDatabaseMetadata {
1794 fn is_initialized(&self) -> bool {
1795 true
1796 }
1797
1798 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1799 while !is.eof()? {
1800 let (field_number, wire_type) = is.read_tag_unpack()?;
1801 match field_number {
1802 1 => {
1803 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.database)?;
1804 },
1805 _ => {
1806 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1807 },
1808 };
1809 }
1810 ::std::result::Result::Ok(())
1811 }
1812
1813 #[allow(unused_variables)]
1815 fn compute_size(&self) -> u32 {
1816 let mut my_size = 0;
1817 if !self.database.is_empty() {
1818 my_size += ::protobuf::rt::string_size(1, &self.database);
1819 }
1820 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1821 self.cached_size.set(my_size);
1822 my_size
1823 }
1824
1825 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1826 if !self.database.is_empty() {
1827 os.write_string(1, &self.database)?;
1828 }
1829 os.write_unknown_fields(self.get_unknown_fields())?;
1830 ::std::result::Result::Ok(())
1831 }
1832
1833 fn get_cached_size(&self) -> u32 {
1834 self.cached_size.get()
1835 }
1836
1837 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1838 &self.unknown_fields
1839 }
1840
1841 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1842 &mut self.unknown_fields
1843 }
1844
1845 fn as_any(&self) -> &dyn (::std::any::Any) {
1846 self as &dyn (::std::any::Any)
1847 }
1848 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1849 self as &mut dyn (::std::any::Any)
1850 }
1851 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1852 self
1853 }
1854
1855 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1856 Self::descriptor_static()
1857 }
1858
1859 fn new() -> CreateDatabaseMetadata {
1860 CreateDatabaseMetadata::new()
1861 }
1862
1863 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1864 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1865 descriptor.get(|| {
1866 let mut fields = ::std::vec::Vec::new();
1867 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1868 "database",
1869 |m: &CreateDatabaseMetadata| { &m.database },
1870 |m: &mut CreateDatabaseMetadata| { &mut m.database },
1871 ));
1872 ::protobuf::reflect::MessageDescriptor::new_pb_name::<CreateDatabaseMetadata>(
1873 "CreateDatabaseMetadata",
1874 fields,
1875 file_descriptor_proto()
1876 )
1877 })
1878 }
1879
1880 fn default_instance() -> &'static CreateDatabaseMetadata {
1881 static instance: ::protobuf::rt::LazyV2<CreateDatabaseMetadata> = ::protobuf::rt::LazyV2::INIT;
1882 instance.get(CreateDatabaseMetadata::new)
1883 }
1884}
1885
1886impl ::protobuf::Clear for CreateDatabaseMetadata {
1887 fn clear(&mut self) {
1888 self.database.clear();
1889 self.unknown_fields.clear();
1890 }
1891}
1892
1893impl ::std::fmt::Debug for CreateDatabaseMetadata {
1894 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1895 ::protobuf::text_format::fmt(self, f)
1896 }
1897}
1898
1899impl ::protobuf::reflect::ProtobufValue for CreateDatabaseMetadata {
1900 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1901 ::protobuf::reflect::ReflectValueRef::Message(self)
1902 }
1903}
1904
1905#[derive(PartialEq,Clone,Default)]
1906pub struct GetDatabaseRequest {
1907 pub name: ::std::string::String,
1909 pub unknown_fields: ::protobuf::UnknownFields,
1911 pub cached_size: ::protobuf::CachedSize,
1912}
1913
1914impl<'a> ::std::default::Default for &'a GetDatabaseRequest {
1915 fn default() -> &'a GetDatabaseRequest {
1916 <GetDatabaseRequest as ::protobuf::Message>::default_instance()
1917 }
1918}
1919
1920impl GetDatabaseRequest {
1921 pub fn new() -> GetDatabaseRequest {
1922 ::std::default::Default::default()
1923 }
1924
1925 pub fn get_name(&self) -> &str {
1929 &self.name
1930 }
1931 pub fn clear_name(&mut self) {
1932 self.name.clear();
1933 }
1934
1935 pub fn set_name(&mut self, v: ::std::string::String) {
1937 self.name = v;
1938 }
1939
1940 pub fn mut_name(&mut self) -> &mut ::std::string::String {
1943 &mut self.name
1944 }
1945
1946 pub fn take_name(&mut self) -> ::std::string::String {
1948 ::std::mem::replace(&mut self.name, ::std::string::String::new())
1949 }
1950}
1951
1952impl ::protobuf::Message for GetDatabaseRequest {
1953 fn is_initialized(&self) -> bool {
1954 true
1955 }
1956
1957 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1958 while !is.eof()? {
1959 let (field_number, wire_type) = is.read_tag_unpack()?;
1960 match field_number {
1961 1 => {
1962 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
1963 },
1964 _ => {
1965 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1966 },
1967 };
1968 }
1969 ::std::result::Result::Ok(())
1970 }
1971
1972 #[allow(unused_variables)]
1974 fn compute_size(&self) -> u32 {
1975 let mut my_size = 0;
1976 if !self.name.is_empty() {
1977 my_size += ::protobuf::rt::string_size(1, &self.name);
1978 }
1979 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1980 self.cached_size.set(my_size);
1981 my_size
1982 }
1983
1984 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1985 if !self.name.is_empty() {
1986 os.write_string(1, &self.name)?;
1987 }
1988 os.write_unknown_fields(self.get_unknown_fields())?;
1989 ::std::result::Result::Ok(())
1990 }
1991
1992 fn get_cached_size(&self) -> u32 {
1993 self.cached_size.get()
1994 }
1995
1996 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1997 &self.unknown_fields
1998 }
1999
2000 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2001 &mut self.unknown_fields
2002 }
2003
2004 fn as_any(&self) -> &dyn (::std::any::Any) {
2005 self as &dyn (::std::any::Any)
2006 }
2007 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2008 self as &mut dyn (::std::any::Any)
2009 }
2010 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2011 self
2012 }
2013
2014 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2015 Self::descriptor_static()
2016 }
2017
2018 fn new() -> GetDatabaseRequest {
2019 GetDatabaseRequest::new()
2020 }
2021
2022 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2023 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2024 descriptor.get(|| {
2025 let mut fields = ::std::vec::Vec::new();
2026 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2027 "name",
2028 |m: &GetDatabaseRequest| { &m.name },
2029 |m: &mut GetDatabaseRequest| { &mut m.name },
2030 ));
2031 ::protobuf::reflect::MessageDescriptor::new_pb_name::<GetDatabaseRequest>(
2032 "GetDatabaseRequest",
2033 fields,
2034 file_descriptor_proto()
2035 )
2036 })
2037 }
2038
2039 fn default_instance() -> &'static GetDatabaseRequest {
2040 static instance: ::protobuf::rt::LazyV2<GetDatabaseRequest> = ::protobuf::rt::LazyV2::INIT;
2041 instance.get(GetDatabaseRequest::new)
2042 }
2043}
2044
2045impl ::protobuf::Clear for GetDatabaseRequest {
2046 fn clear(&mut self) {
2047 self.name.clear();
2048 self.unknown_fields.clear();
2049 }
2050}
2051
2052impl ::std::fmt::Debug for GetDatabaseRequest {
2053 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2054 ::protobuf::text_format::fmt(self, f)
2055 }
2056}
2057
2058impl ::protobuf::reflect::ProtobufValue for GetDatabaseRequest {
2059 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2060 ::protobuf::reflect::ReflectValueRef::Message(self)
2061 }
2062}
2063
2064#[derive(PartialEq,Clone,Default)]
2065pub struct UpdateDatabaseRequest {
2066 pub database: ::protobuf::SingularPtrField<Database>,
2068 pub update_mask: ::protobuf::SingularPtrField<::protobuf::well_known_types::FieldMask>,
2069 pub unknown_fields: ::protobuf::UnknownFields,
2071 pub cached_size: ::protobuf::CachedSize,
2072}
2073
2074impl<'a> ::std::default::Default for &'a UpdateDatabaseRequest {
2075 fn default() -> &'a UpdateDatabaseRequest {
2076 <UpdateDatabaseRequest as ::protobuf::Message>::default_instance()
2077 }
2078}
2079
2080impl UpdateDatabaseRequest {
2081 pub fn new() -> UpdateDatabaseRequest {
2082 ::std::default::Default::default()
2083 }
2084
2085 pub fn get_database(&self) -> &Database {
2089 self.database.as_ref().unwrap_or_else(|| <Database as ::protobuf::Message>::default_instance())
2090 }
2091 pub fn clear_database(&mut self) {
2092 self.database.clear();
2093 }
2094
2095 pub fn has_database(&self) -> bool {
2096 self.database.is_some()
2097 }
2098
2099 pub fn set_database(&mut self, v: Database) {
2101 self.database = ::protobuf::SingularPtrField::some(v);
2102 }
2103
2104 pub fn mut_database(&mut self) -> &mut Database {
2107 if self.database.is_none() {
2108 self.database.set_default();
2109 }
2110 self.database.as_mut().unwrap()
2111 }
2112
2113 pub fn take_database(&mut self) -> Database {
2115 self.database.take().unwrap_or_else(|| Database::new())
2116 }
2117
2118 pub fn get_update_mask(&self) -> &::protobuf::well_known_types::FieldMask {
2122 self.update_mask.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::FieldMask as ::protobuf::Message>::default_instance())
2123 }
2124 pub fn clear_update_mask(&mut self) {
2125 self.update_mask.clear();
2126 }
2127
2128 pub fn has_update_mask(&self) -> bool {
2129 self.update_mask.is_some()
2130 }
2131
2132 pub fn set_update_mask(&mut self, v: ::protobuf::well_known_types::FieldMask) {
2134 self.update_mask = ::protobuf::SingularPtrField::some(v);
2135 }
2136
2137 pub fn mut_update_mask(&mut self) -> &mut ::protobuf::well_known_types::FieldMask {
2140 if self.update_mask.is_none() {
2141 self.update_mask.set_default();
2142 }
2143 self.update_mask.as_mut().unwrap()
2144 }
2145
2146 pub fn take_update_mask(&mut self) -> ::protobuf::well_known_types::FieldMask {
2148 self.update_mask.take().unwrap_or_else(|| ::protobuf::well_known_types::FieldMask::new())
2149 }
2150}
2151
2152impl ::protobuf::Message for UpdateDatabaseRequest {
2153 fn is_initialized(&self) -> bool {
2154 for v in &self.database {
2155 if !v.is_initialized() {
2156 return false;
2157 }
2158 };
2159 for v in &self.update_mask {
2160 if !v.is_initialized() {
2161 return false;
2162 }
2163 };
2164 true
2165 }
2166
2167 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2168 while !is.eof()? {
2169 let (field_number, wire_type) = is.read_tag_unpack()?;
2170 match field_number {
2171 1 => {
2172 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.database)?;
2173 },
2174 2 => {
2175 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.update_mask)?;
2176 },
2177 _ => {
2178 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2179 },
2180 };
2181 }
2182 ::std::result::Result::Ok(())
2183 }
2184
2185 #[allow(unused_variables)]
2187 fn compute_size(&self) -> u32 {
2188 let mut my_size = 0;
2189 if let Some(ref v) = self.database.as_ref() {
2190 let len = v.compute_size();
2191 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2192 }
2193 if let Some(ref v) = self.update_mask.as_ref() {
2194 let len = v.compute_size();
2195 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2196 }
2197 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2198 self.cached_size.set(my_size);
2199 my_size
2200 }
2201
2202 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2203 if let Some(ref v) = self.database.as_ref() {
2204 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2205 os.write_raw_varint32(v.get_cached_size())?;
2206 v.write_to_with_cached_sizes(os)?;
2207 }
2208 if let Some(ref v) = self.update_mask.as_ref() {
2209 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2210 os.write_raw_varint32(v.get_cached_size())?;
2211 v.write_to_with_cached_sizes(os)?;
2212 }
2213 os.write_unknown_fields(self.get_unknown_fields())?;
2214 ::std::result::Result::Ok(())
2215 }
2216
2217 fn get_cached_size(&self) -> u32 {
2218 self.cached_size.get()
2219 }
2220
2221 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2222 &self.unknown_fields
2223 }
2224
2225 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2226 &mut self.unknown_fields
2227 }
2228
2229 fn as_any(&self) -> &dyn (::std::any::Any) {
2230 self as &dyn (::std::any::Any)
2231 }
2232 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2233 self as &mut dyn (::std::any::Any)
2234 }
2235 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2236 self
2237 }
2238
2239 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2240 Self::descriptor_static()
2241 }
2242
2243 fn new() -> UpdateDatabaseRequest {
2244 UpdateDatabaseRequest::new()
2245 }
2246
2247 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2248 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2249 descriptor.get(|| {
2250 let mut fields = ::std::vec::Vec::new();
2251 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Database>>(
2252 "database",
2253 |m: &UpdateDatabaseRequest| { &m.database },
2254 |m: &mut UpdateDatabaseRequest| { &mut m.database },
2255 ));
2256 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::FieldMask>>(
2257 "update_mask",
2258 |m: &UpdateDatabaseRequest| { &m.update_mask },
2259 |m: &mut UpdateDatabaseRequest| { &mut m.update_mask },
2260 ));
2261 ::protobuf::reflect::MessageDescriptor::new_pb_name::<UpdateDatabaseRequest>(
2262 "UpdateDatabaseRequest",
2263 fields,
2264 file_descriptor_proto()
2265 )
2266 })
2267 }
2268
2269 fn default_instance() -> &'static UpdateDatabaseRequest {
2270 static instance: ::protobuf::rt::LazyV2<UpdateDatabaseRequest> = ::protobuf::rt::LazyV2::INIT;
2271 instance.get(UpdateDatabaseRequest::new)
2272 }
2273}
2274
2275impl ::protobuf::Clear for UpdateDatabaseRequest {
2276 fn clear(&mut self) {
2277 self.database.clear();
2278 self.update_mask.clear();
2279 self.unknown_fields.clear();
2280 }
2281}
2282
2283impl ::std::fmt::Debug for UpdateDatabaseRequest {
2284 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2285 ::protobuf::text_format::fmt(self, f)
2286 }
2287}
2288
2289impl ::protobuf::reflect::ProtobufValue for UpdateDatabaseRequest {
2290 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2291 ::protobuf::reflect::ReflectValueRef::Message(self)
2292 }
2293}
2294
2295#[derive(PartialEq,Clone,Default)]
2296pub struct UpdateDatabaseMetadata {
2297 pub request: ::protobuf::SingularPtrField<UpdateDatabaseRequest>,
2299 pub progress: ::protobuf::SingularPtrField<super::common::OperationProgress>,
2300 pub cancel_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
2301 pub unknown_fields: ::protobuf::UnknownFields,
2303 pub cached_size: ::protobuf::CachedSize,
2304}
2305
2306impl<'a> ::std::default::Default for &'a UpdateDatabaseMetadata {
2307 fn default() -> &'a UpdateDatabaseMetadata {
2308 <UpdateDatabaseMetadata as ::protobuf::Message>::default_instance()
2309 }
2310}
2311
2312impl UpdateDatabaseMetadata {
2313 pub fn new() -> UpdateDatabaseMetadata {
2314 ::std::default::Default::default()
2315 }
2316
2317 pub fn get_request(&self) -> &UpdateDatabaseRequest {
2321 self.request.as_ref().unwrap_or_else(|| <UpdateDatabaseRequest as ::protobuf::Message>::default_instance())
2322 }
2323 pub fn clear_request(&mut self) {
2324 self.request.clear();
2325 }
2326
2327 pub fn has_request(&self) -> bool {
2328 self.request.is_some()
2329 }
2330
2331 pub fn set_request(&mut self, v: UpdateDatabaseRequest) {
2333 self.request = ::protobuf::SingularPtrField::some(v);
2334 }
2335
2336 pub fn mut_request(&mut self) -> &mut UpdateDatabaseRequest {
2339 if self.request.is_none() {
2340 self.request.set_default();
2341 }
2342 self.request.as_mut().unwrap()
2343 }
2344
2345 pub fn take_request(&mut self) -> UpdateDatabaseRequest {
2347 self.request.take().unwrap_or_else(|| UpdateDatabaseRequest::new())
2348 }
2349
2350 pub fn get_progress(&self) -> &super::common::OperationProgress {
2354 self.progress.as_ref().unwrap_or_else(|| <super::common::OperationProgress as ::protobuf::Message>::default_instance())
2355 }
2356 pub fn clear_progress(&mut self) {
2357 self.progress.clear();
2358 }
2359
2360 pub fn has_progress(&self) -> bool {
2361 self.progress.is_some()
2362 }
2363
2364 pub fn set_progress(&mut self, v: super::common::OperationProgress) {
2366 self.progress = ::protobuf::SingularPtrField::some(v);
2367 }
2368
2369 pub fn mut_progress(&mut self) -> &mut super::common::OperationProgress {
2372 if self.progress.is_none() {
2373 self.progress.set_default();
2374 }
2375 self.progress.as_mut().unwrap()
2376 }
2377
2378 pub fn take_progress(&mut self) -> super::common::OperationProgress {
2380 self.progress.take().unwrap_or_else(|| super::common::OperationProgress::new())
2381 }
2382
2383 pub fn get_cancel_time(&self) -> &::protobuf::well_known_types::Timestamp {
2387 self.cancel_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
2388 }
2389 pub fn clear_cancel_time(&mut self) {
2390 self.cancel_time.clear();
2391 }
2392
2393 pub fn has_cancel_time(&self) -> bool {
2394 self.cancel_time.is_some()
2395 }
2396
2397 pub fn set_cancel_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
2399 self.cancel_time = ::protobuf::SingularPtrField::some(v);
2400 }
2401
2402 pub fn mut_cancel_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
2405 if self.cancel_time.is_none() {
2406 self.cancel_time.set_default();
2407 }
2408 self.cancel_time.as_mut().unwrap()
2409 }
2410
2411 pub fn take_cancel_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
2413 self.cancel_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
2414 }
2415}
2416
2417impl ::protobuf::Message for UpdateDatabaseMetadata {
2418 fn is_initialized(&self) -> bool {
2419 for v in &self.request {
2420 if !v.is_initialized() {
2421 return false;
2422 }
2423 };
2424 for v in &self.progress {
2425 if !v.is_initialized() {
2426 return false;
2427 }
2428 };
2429 for v in &self.cancel_time {
2430 if !v.is_initialized() {
2431 return false;
2432 }
2433 };
2434 true
2435 }
2436
2437 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2438 while !is.eof()? {
2439 let (field_number, wire_type) = is.read_tag_unpack()?;
2440 match field_number {
2441 1 => {
2442 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.request)?;
2443 },
2444 2 => {
2445 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.progress)?;
2446 },
2447 3 => {
2448 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.cancel_time)?;
2449 },
2450 _ => {
2451 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2452 },
2453 };
2454 }
2455 ::std::result::Result::Ok(())
2456 }
2457
2458 #[allow(unused_variables)]
2460 fn compute_size(&self) -> u32 {
2461 let mut my_size = 0;
2462 if let Some(ref v) = self.request.as_ref() {
2463 let len = v.compute_size();
2464 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2465 }
2466 if let Some(ref v) = self.progress.as_ref() {
2467 let len = v.compute_size();
2468 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2469 }
2470 if let Some(ref v) = self.cancel_time.as_ref() {
2471 let len = v.compute_size();
2472 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2473 }
2474 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2475 self.cached_size.set(my_size);
2476 my_size
2477 }
2478
2479 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2480 if let Some(ref v) = self.request.as_ref() {
2481 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2482 os.write_raw_varint32(v.get_cached_size())?;
2483 v.write_to_with_cached_sizes(os)?;
2484 }
2485 if let Some(ref v) = self.progress.as_ref() {
2486 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2487 os.write_raw_varint32(v.get_cached_size())?;
2488 v.write_to_with_cached_sizes(os)?;
2489 }
2490 if let Some(ref v) = self.cancel_time.as_ref() {
2491 os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2492 os.write_raw_varint32(v.get_cached_size())?;
2493 v.write_to_with_cached_sizes(os)?;
2494 }
2495 os.write_unknown_fields(self.get_unknown_fields())?;
2496 ::std::result::Result::Ok(())
2497 }
2498
2499 fn get_cached_size(&self) -> u32 {
2500 self.cached_size.get()
2501 }
2502
2503 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2504 &self.unknown_fields
2505 }
2506
2507 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2508 &mut self.unknown_fields
2509 }
2510
2511 fn as_any(&self) -> &dyn (::std::any::Any) {
2512 self as &dyn (::std::any::Any)
2513 }
2514 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2515 self as &mut dyn (::std::any::Any)
2516 }
2517 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2518 self
2519 }
2520
2521 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2522 Self::descriptor_static()
2523 }
2524
2525 fn new() -> UpdateDatabaseMetadata {
2526 UpdateDatabaseMetadata::new()
2527 }
2528
2529 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2530 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2531 descriptor.get(|| {
2532 let mut fields = ::std::vec::Vec::new();
2533 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<UpdateDatabaseRequest>>(
2534 "request",
2535 |m: &UpdateDatabaseMetadata| { &m.request },
2536 |m: &mut UpdateDatabaseMetadata| { &mut m.request },
2537 ));
2538 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::common::OperationProgress>>(
2539 "progress",
2540 |m: &UpdateDatabaseMetadata| { &m.progress },
2541 |m: &mut UpdateDatabaseMetadata| { &mut m.progress },
2542 ));
2543 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
2544 "cancel_time",
2545 |m: &UpdateDatabaseMetadata| { &m.cancel_time },
2546 |m: &mut UpdateDatabaseMetadata| { &mut m.cancel_time },
2547 ));
2548 ::protobuf::reflect::MessageDescriptor::new_pb_name::<UpdateDatabaseMetadata>(
2549 "UpdateDatabaseMetadata",
2550 fields,
2551 file_descriptor_proto()
2552 )
2553 })
2554 }
2555
2556 fn default_instance() -> &'static UpdateDatabaseMetadata {
2557 static instance: ::protobuf::rt::LazyV2<UpdateDatabaseMetadata> = ::protobuf::rt::LazyV2::INIT;
2558 instance.get(UpdateDatabaseMetadata::new)
2559 }
2560}
2561
2562impl ::protobuf::Clear for UpdateDatabaseMetadata {
2563 fn clear(&mut self) {
2564 self.request.clear();
2565 self.progress.clear();
2566 self.cancel_time.clear();
2567 self.unknown_fields.clear();
2568 }
2569}
2570
2571impl ::std::fmt::Debug for UpdateDatabaseMetadata {
2572 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2573 ::protobuf::text_format::fmt(self, f)
2574 }
2575}
2576
2577impl ::protobuf::reflect::ProtobufValue for UpdateDatabaseMetadata {
2578 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2579 ::protobuf::reflect::ReflectValueRef::Message(self)
2580 }
2581}
2582
2583#[derive(PartialEq,Clone,Default)]
2584pub struct UpdateDatabaseDdlRequest {
2585 pub database: ::std::string::String,
2587 pub statements: ::protobuf::RepeatedField<::std::string::String>,
2588 pub operation_id: ::std::string::String,
2589 pub unknown_fields: ::protobuf::UnknownFields,
2591 pub cached_size: ::protobuf::CachedSize,
2592}
2593
2594impl<'a> ::std::default::Default for &'a UpdateDatabaseDdlRequest {
2595 fn default() -> &'a UpdateDatabaseDdlRequest {
2596 <UpdateDatabaseDdlRequest as ::protobuf::Message>::default_instance()
2597 }
2598}
2599
2600impl UpdateDatabaseDdlRequest {
2601 pub fn new() -> UpdateDatabaseDdlRequest {
2602 ::std::default::Default::default()
2603 }
2604
2605 pub fn get_database(&self) -> &str {
2609 &self.database
2610 }
2611 pub fn clear_database(&mut self) {
2612 self.database.clear();
2613 }
2614
2615 pub fn set_database(&mut self, v: ::std::string::String) {
2617 self.database = v;
2618 }
2619
2620 pub fn mut_database(&mut self) -> &mut ::std::string::String {
2623 &mut self.database
2624 }
2625
2626 pub fn take_database(&mut self) -> ::std::string::String {
2628 ::std::mem::replace(&mut self.database, ::std::string::String::new())
2629 }
2630
2631 pub fn get_statements(&self) -> &[::std::string::String] {
2635 &self.statements
2636 }
2637 pub fn clear_statements(&mut self) {
2638 self.statements.clear();
2639 }
2640
2641 pub fn set_statements(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
2643 self.statements = v;
2644 }
2645
2646 pub fn mut_statements(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
2648 &mut self.statements
2649 }
2650
2651 pub fn take_statements(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
2653 ::std::mem::replace(&mut self.statements, ::protobuf::RepeatedField::new())
2654 }
2655
2656 pub fn get_operation_id(&self) -> &str {
2660 &self.operation_id
2661 }
2662 pub fn clear_operation_id(&mut self) {
2663 self.operation_id.clear();
2664 }
2665
2666 pub fn set_operation_id(&mut self, v: ::std::string::String) {
2668 self.operation_id = v;
2669 }
2670
2671 pub fn mut_operation_id(&mut self) -> &mut ::std::string::String {
2674 &mut self.operation_id
2675 }
2676
2677 pub fn take_operation_id(&mut self) -> ::std::string::String {
2679 ::std::mem::replace(&mut self.operation_id, ::std::string::String::new())
2680 }
2681}
2682
2683impl ::protobuf::Message for UpdateDatabaseDdlRequest {
2684 fn is_initialized(&self) -> bool {
2685 true
2686 }
2687
2688 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2689 while !is.eof()? {
2690 let (field_number, wire_type) = is.read_tag_unpack()?;
2691 match field_number {
2692 1 => {
2693 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.database)?;
2694 },
2695 2 => {
2696 ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.statements)?;
2697 },
2698 3 => {
2699 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.operation_id)?;
2700 },
2701 _ => {
2702 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2703 },
2704 };
2705 }
2706 ::std::result::Result::Ok(())
2707 }
2708
2709 #[allow(unused_variables)]
2711 fn compute_size(&self) -> u32 {
2712 let mut my_size = 0;
2713 if !self.database.is_empty() {
2714 my_size += ::protobuf::rt::string_size(1, &self.database);
2715 }
2716 for value in &self.statements {
2717 my_size += ::protobuf::rt::string_size(2, &value);
2718 };
2719 if !self.operation_id.is_empty() {
2720 my_size += ::protobuf::rt::string_size(3, &self.operation_id);
2721 }
2722 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2723 self.cached_size.set(my_size);
2724 my_size
2725 }
2726
2727 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2728 if !self.database.is_empty() {
2729 os.write_string(1, &self.database)?;
2730 }
2731 for v in &self.statements {
2732 os.write_string(2, &v)?;
2733 };
2734 if !self.operation_id.is_empty() {
2735 os.write_string(3, &self.operation_id)?;
2736 }
2737 os.write_unknown_fields(self.get_unknown_fields())?;
2738 ::std::result::Result::Ok(())
2739 }
2740
2741 fn get_cached_size(&self) -> u32 {
2742 self.cached_size.get()
2743 }
2744
2745 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2746 &self.unknown_fields
2747 }
2748
2749 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2750 &mut self.unknown_fields
2751 }
2752
2753 fn as_any(&self) -> &dyn (::std::any::Any) {
2754 self as &dyn (::std::any::Any)
2755 }
2756 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2757 self as &mut dyn (::std::any::Any)
2758 }
2759 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2760 self
2761 }
2762
2763 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2764 Self::descriptor_static()
2765 }
2766
2767 fn new() -> UpdateDatabaseDdlRequest {
2768 UpdateDatabaseDdlRequest::new()
2769 }
2770
2771 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2772 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2773 descriptor.get(|| {
2774 let mut fields = ::std::vec::Vec::new();
2775 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2776 "database",
2777 |m: &UpdateDatabaseDdlRequest| { &m.database },
2778 |m: &mut UpdateDatabaseDdlRequest| { &mut m.database },
2779 ));
2780 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2781 "statements",
2782 |m: &UpdateDatabaseDdlRequest| { &m.statements },
2783 |m: &mut UpdateDatabaseDdlRequest| { &mut m.statements },
2784 ));
2785 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2786 "operation_id",
2787 |m: &UpdateDatabaseDdlRequest| { &m.operation_id },
2788 |m: &mut UpdateDatabaseDdlRequest| { &mut m.operation_id },
2789 ));
2790 ::protobuf::reflect::MessageDescriptor::new_pb_name::<UpdateDatabaseDdlRequest>(
2791 "UpdateDatabaseDdlRequest",
2792 fields,
2793 file_descriptor_proto()
2794 )
2795 })
2796 }
2797
2798 fn default_instance() -> &'static UpdateDatabaseDdlRequest {
2799 static instance: ::protobuf::rt::LazyV2<UpdateDatabaseDdlRequest> = ::protobuf::rt::LazyV2::INIT;
2800 instance.get(UpdateDatabaseDdlRequest::new)
2801 }
2802}
2803
2804impl ::protobuf::Clear for UpdateDatabaseDdlRequest {
2805 fn clear(&mut self) {
2806 self.database.clear();
2807 self.statements.clear();
2808 self.operation_id.clear();
2809 self.unknown_fields.clear();
2810 }
2811}
2812
2813impl ::std::fmt::Debug for UpdateDatabaseDdlRequest {
2814 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2815 ::protobuf::text_format::fmt(self, f)
2816 }
2817}
2818
2819impl ::protobuf::reflect::ProtobufValue for UpdateDatabaseDdlRequest {
2820 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2821 ::protobuf::reflect::ReflectValueRef::Message(self)
2822 }
2823}
2824
2825#[derive(PartialEq,Clone,Default)]
2826pub struct DdlStatementActionInfo {
2827 pub action: ::std::string::String,
2829 pub entity_type: ::std::string::String,
2830 pub entity_names: ::protobuf::RepeatedField<::std::string::String>,
2831 pub unknown_fields: ::protobuf::UnknownFields,
2833 pub cached_size: ::protobuf::CachedSize,
2834}
2835
2836impl<'a> ::std::default::Default for &'a DdlStatementActionInfo {
2837 fn default() -> &'a DdlStatementActionInfo {
2838 <DdlStatementActionInfo as ::protobuf::Message>::default_instance()
2839 }
2840}
2841
2842impl DdlStatementActionInfo {
2843 pub fn new() -> DdlStatementActionInfo {
2844 ::std::default::Default::default()
2845 }
2846
2847 pub fn get_action(&self) -> &str {
2851 &self.action
2852 }
2853 pub fn clear_action(&mut self) {
2854 self.action.clear();
2855 }
2856
2857 pub fn set_action(&mut self, v: ::std::string::String) {
2859 self.action = v;
2860 }
2861
2862 pub fn mut_action(&mut self) -> &mut ::std::string::String {
2865 &mut self.action
2866 }
2867
2868 pub fn take_action(&mut self) -> ::std::string::String {
2870 ::std::mem::replace(&mut self.action, ::std::string::String::new())
2871 }
2872
2873 pub fn get_entity_type(&self) -> &str {
2877 &self.entity_type
2878 }
2879 pub fn clear_entity_type(&mut self) {
2880 self.entity_type.clear();
2881 }
2882
2883 pub fn set_entity_type(&mut self, v: ::std::string::String) {
2885 self.entity_type = v;
2886 }
2887
2888 pub fn mut_entity_type(&mut self) -> &mut ::std::string::String {
2891 &mut self.entity_type
2892 }
2893
2894 pub fn take_entity_type(&mut self) -> ::std::string::String {
2896 ::std::mem::replace(&mut self.entity_type, ::std::string::String::new())
2897 }
2898
2899 pub fn get_entity_names(&self) -> &[::std::string::String] {
2903 &self.entity_names
2904 }
2905 pub fn clear_entity_names(&mut self) {
2906 self.entity_names.clear();
2907 }
2908
2909 pub fn set_entity_names(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
2911 self.entity_names = v;
2912 }
2913
2914 pub fn mut_entity_names(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
2916 &mut self.entity_names
2917 }
2918
2919 pub fn take_entity_names(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
2921 ::std::mem::replace(&mut self.entity_names, ::protobuf::RepeatedField::new())
2922 }
2923}
2924
2925impl ::protobuf::Message for DdlStatementActionInfo {
2926 fn is_initialized(&self) -> bool {
2927 true
2928 }
2929
2930 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2931 while !is.eof()? {
2932 let (field_number, wire_type) = is.read_tag_unpack()?;
2933 match field_number {
2934 1 => {
2935 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.action)?;
2936 },
2937 2 => {
2938 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.entity_type)?;
2939 },
2940 3 => {
2941 ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.entity_names)?;
2942 },
2943 _ => {
2944 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2945 },
2946 };
2947 }
2948 ::std::result::Result::Ok(())
2949 }
2950
2951 #[allow(unused_variables)]
2953 fn compute_size(&self) -> u32 {
2954 let mut my_size = 0;
2955 if !self.action.is_empty() {
2956 my_size += ::protobuf::rt::string_size(1, &self.action);
2957 }
2958 if !self.entity_type.is_empty() {
2959 my_size += ::protobuf::rt::string_size(2, &self.entity_type);
2960 }
2961 for value in &self.entity_names {
2962 my_size += ::protobuf::rt::string_size(3, &value);
2963 };
2964 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2965 self.cached_size.set(my_size);
2966 my_size
2967 }
2968
2969 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2970 if !self.action.is_empty() {
2971 os.write_string(1, &self.action)?;
2972 }
2973 if !self.entity_type.is_empty() {
2974 os.write_string(2, &self.entity_type)?;
2975 }
2976 for v in &self.entity_names {
2977 os.write_string(3, &v)?;
2978 };
2979 os.write_unknown_fields(self.get_unknown_fields())?;
2980 ::std::result::Result::Ok(())
2981 }
2982
2983 fn get_cached_size(&self) -> u32 {
2984 self.cached_size.get()
2985 }
2986
2987 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2988 &self.unknown_fields
2989 }
2990
2991 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2992 &mut self.unknown_fields
2993 }
2994
2995 fn as_any(&self) -> &dyn (::std::any::Any) {
2996 self as &dyn (::std::any::Any)
2997 }
2998 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2999 self as &mut dyn (::std::any::Any)
3000 }
3001 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3002 self
3003 }
3004
3005 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3006 Self::descriptor_static()
3007 }
3008
3009 fn new() -> DdlStatementActionInfo {
3010 DdlStatementActionInfo::new()
3011 }
3012
3013 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3014 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3015 descriptor.get(|| {
3016 let mut fields = ::std::vec::Vec::new();
3017 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3018 "action",
3019 |m: &DdlStatementActionInfo| { &m.action },
3020 |m: &mut DdlStatementActionInfo| { &mut m.action },
3021 ));
3022 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3023 "entity_type",
3024 |m: &DdlStatementActionInfo| { &m.entity_type },
3025 |m: &mut DdlStatementActionInfo| { &mut m.entity_type },
3026 ));
3027 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3028 "entity_names",
3029 |m: &DdlStatementActionInfo| { &m.entity_names },
3030 |m: &mut DdlStatementActionInfo| { &mut m.entity_names },
3031 ));
3032 ::protobuf::reflect::MessageDescriptor::new_pb_name::<DdlStatementActionInfo>(
3033 "DdlStatementActionInfo",
3034 fields,
3035 file_descriptor_proto()
3036 )
3037 })
3038 }
3039
3040 fn default_instance() -> &'static DdlStatementActionInfo {
3041 static instance: ::protobuf::rt::LazyV2<DdlStatementActionInfo> = ::protobuf::rt::LazyV2::INIT;
3042 instance.get(DdlStatementActionInfo::new)
3043 }
3044}
3045
3046impl ::protobuf::Clear for DdlStatementActionInfo {
3047 fn clear(&mut self) {
3048 self.action.clear();
3049 self.entity_type.clear();
3050 self.entity_names.clear();
3051 self.unknown_fields.clear();
3052 }
3053}
3054
3055impl ::std::fmt::Debug for DdlStatementActionInfo {
3056 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3057 ::protobuf::text_format::fmt(self, f)
3058 }
3059}
3060
3061impl ::protobuf::reflect::ProtobufValue for DdlStatementActionInfo {
3062 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3063 ::protobuf::reflect::ReflectValueRef::Message(self)
3064 }
3065}
3066
3067#[derive(PartialEq,Clone,Default)]
3068pub struct UpdateDatabaseDdlMetadata {
3069 pub database: ::std::string::String,
3071 pub statements: ::protobuf::RepeatedField<::std::string::String>,
3072 pub commit_timestamps: ::protobuf::RepeatedField<::protobuf::well_known_types::Timestamp>,
3073 pub throttled: bool,
3074 pub progress: ::protobuf::RepeatedField<super::common::OperationProgress>,
3075 pub actions: ::protobuf::RepeatedField<DdlStatementActionInfo>,
3076 pub unknown_fields: ::protobuf::UnknownFields,
3078 pub cached_size: ::protobuf::CachedSize,
3079}
3080
3081impl<'a> ::std::default::Default for &'a UpdateDatabaseDdlMetadata {
3082 fn default() -> &'a UpdateDatabaseDdlMetadata {
3083 <UpdateDatabaseDdlMetadata as ::protobuf::Message>::default_instance()
3084 }
3085}
3086
3087impl UpdateDatabaseDdlMetadata {
3088 pub fn new() -> UpdateDatabaseDdlMetadata {
3089 ::std::default::Default::default()
3090 }
3091
3092 pub fn get_database(&self) -> &str {
3096 &self.database
3097 }
3098 pub fn clear_database(&mut self) {
3099 self.database.clear();
3100 }
3101
3102 pub fn set_database(&mut self, v: ::std::string::String) {
3104 self.database = v;
3105 }
3106
3107 pub fn mut_database(&mut self) -> &mut ::std::string::String {
3110 &mut self.database
3111 }
3112
3113 pub fn take_database(&mut self) -> ::std::string::String {
3115 ::std::mem::replace(&mut self.database, ::std::string::String::new())
3116 }
3117
3118 pub fn get_statements(&self) -> &[::std::string::String] {
3122 &self.statements
3123 }
3124 pub fn clear_statements(&mut self) {
3125 self.statements.clear();
3126 }
3127
3128 pub fn set_statements(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
3130 self.statements = v;
3131 }
3132
3133 pub fn mut_statements(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
3135 &mut self.statements
3136 }
3137
3138 pub fn take_statements(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
3140 ::std::mem::replace(&mut self.statements, ::protobuf::RepeatedField::new())
3141 }
3142
3143 pub fn get_commit_timestamps(&self) -> &[::protobuf::well_known_types::Timestamp] {
3147 &self.commit_timestamps
3148 }
3149 pub fn clear_commit_timestamps(&mut self) {
3150 self.commit_timestamps.clear();
3151 }
3152
3153 pub fn set_commit_timestamps(&mut self, v: ::protobuf::RepeatedField<::protobuf::well_known_types::Timestamp>) {
3155 self.commit_timestamps = v;
3156 }
3157
3158 pub fn mut_commit_timestamps(&mut self) -> &mut ::protobuf::RepeatedField<::protobuf::well_known_types::Timestamp> {
3160 &mut self.commit_timestamps
3161 }
3162
3163 pub fn take_commit_timestamps(&mut self) -> ::protobuf::RepeatedField<::protobuf::well_known_types::Timestamp> {
3165 ::std::mem::replace(&mut self.commit_timestamps, ::protobuf::RepeatedField::new())
3166 }
3167
3168 pub fn get_throttled(&self) -> bool {
3172 self.throttled
3173 }
3174 pub fn clear_throttled(&mut self) {
3175 self.throttled = false;
3176 }
3177
3178 pub fn set_throttled(&mut self, v: bool) {
3180 self.throttled = v;
3181 }
3182
3183 pub fn get_progress(&self) -> &[super::common::OperationProgress] {
3187 &self.progress
3188 }
3189 pub fn clear_progress(&mut self) {
3190 self.progress.clear();
3191 }
3192
3193 pub fn set_progress(&mut self, v: ::protobuf::RepeatedField<super::common::OperationProgress>) {
3195 self.progress = v;
3196 }
3197
3198 pub fn mut_progress(&mut self) -> &mut ::protobuf::RepeatedField<super::common::OperationProgress> {
3200 &mut self.progress
3201 }
3202
3203 pub fn take_progress(&mut self) -> ::protobuf::RepeatedField<super::common::OperationProgress> {
3205 ::std::mem::replace(&mut self.progress, ::protobuf::RepeatedField::new())
3206 }
3207
3208 pub fn get_actions(&self) -> &[DdlStatementActionInfo] {
3212 &self.actions
3213 }
3214 pub fn clear_actions(&mut self) {
3215 self.actions.clear();
3216 }
3217
3218 pub fn set_actions(&mut self, v: ::protobuf::RepeatedField<DdlStatementActionInfo>) {
3220 self.actions = v;
3221 }
3222
3223 pub fn mut_actions(&mut self) -> &mut ::protobuf::RepeatedField<DdlStatementActionInfo> {
3225 &mut self.actions
3226 }
3227
3228 pub fn take_actions(&mut self) -> ::protobuf::RepeatedField<DdlStatementActionInfo> {
3230 ::std::mem::replace(&mut self.actions, ::protobuf::RepeatedField::new())
3231 }
3232}
3233
3234impl ::protobuf::Message for UpdateDatabaseDdlMetadata {
3235 fn is_initialized(&self) -> bool {
3236 for v in &self.commit_timestamps {
3237 if !v.is_initialized() {
3238 return false;
3239 }
3240 };
3241 for v in &self.progress {
3242 if !v.is_initialized() {
3243 return false;
3244 }
3245 };
3246 for v in &self.actions {
3247 if !v.is_initialized() {
3248 return false;
3249 }
3250 };
3251 true
3252 }
3253
3254 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3255 while !is.eof()? {
3256 let (field_number, wire_type) = is.read_tag_unpack()?;
3257 match field_number {
3258 1 => {
3259 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.database)?;
3260 },
3261 2 => {
3262 ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.statements)?;
3263 },
3264 3 => {
3265 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.commit_timestamps)?;
3266 },
3267 4 => {
3268 if wire_type != ::protobuf::wire_format::WireTypeVarint {
3269 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3270 }
3271 let tmp = is.read_bool()?;
3272 self.throttled = tmp;
3273 },
3274 5 => {
3275 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.progress)?;
3276 },
3277 6 => {
3278 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.actions)?;
3279 },
3280 _ => {
3281 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3282 },
3283 };
3284 }
3285 ::std::result::Result::Ok(())
3286 }
3287
3288 #[allow(unused_variables)]
3290 fn compute_size(&self) -> u32 {
3291 let mut my_size = 0;
3292 if !self.database.is_empty() {
3293 my_size += ::protobuf::rt::string_size(1, &self.database);
3294 }
3295 for value in &self.statements {
3296 my_size += ::protobuf::rt::string_size(2, &value);
3297 };
3298 for value in &self.commit_timestamps {
3299 let len = value.compute_size();
3300 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3301 };
3302 if self.throttled != false {
3303 my_size += 2;
3304 }
3305 for value in &self.progress {
3306 let len = value.compute_size();
3307 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3308 };
3309 for value in &self.actions {
3310 let len = value.compute_size();
3311 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3312 };
3313 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3314 self.cached_size.set(my_size);
3315 my_size
3316 }
3317
3318 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3319 if !self.database.is_empty() {
3320 os.write_string(1, &self.database)?;
3321 }
3322 for v in &self.statements {
3323 os.write_string(2, &v)?;
3324 };
3325 for v in &self.commit_timestamps {
3326 os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3327 os.write_raw_varint32(v.get_cached_size())?;
3328 v.write_to_with_cached_sizes(os)?;
3329 };
3330 if self.throttled != false {
3331 os.write_bool(4, self.throttled)?;
3332 }
3333 for v in &self.progress {
3334 os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3335 os.write_raw_varint32(v.get_cached_size())?;
3336 v.write_to_with_cached_sizes(os)?;
3337 };
3338 for v in &self.actions {
3339 os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3340 os.write_raw_varint32(v.get_cached_size())?;
3341 v.write_to_with_cached_sizes(os)?;
3342 };
3343 os.write_unknown_fields(self.get_unknown_fields())?;
3344 ::std::result::Result::Ok(())
3345 }
3346
3347 fn get_cached_size(&self) -> u32 {
3348 self.cached_size.get()
3349 }
3350
3351 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3352 &self.unknown_fields
3353 }
3354
3355 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3356 &mut self.unknown_fields
3357 }
3358
3359 fn as_any(&self) -> &dyn (::std::any::Any) {
3360 self as &dyn (::std::any::Any)
3361 }
3362 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3363 self as &mut dyn (::std::any::Any)
3364 }
3365 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3366 self
3367 }
3368
3369 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3370 Self::descriptor_static()
3371 }
3372
3373 fn new() -> UpdateDatabaseDdlMetadata {
3374 UpdateDatabaseDdlMetadata::new()
3375 }
3376
3377 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3378 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3379 descriptor.get(|| {
3380 let mut fields = ::std::vec::Vec::new();
3381 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3382 "database",
3383 |m: &UpdateDatabaseDdlMetadata| { &m.database },
3384 |m: &mut UpdateDatabaseDdlMetadata| { &mut m.database },
3385 ));
3386 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3387 "statements",
3388 |m: &UpdateDatabaseDdlMetadata| { &m.statements },
3389 |m: &mut UpdateDatabaseDdlMetadata| { &mut m.statements },
3390 ));
3391 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
3392 "commit_timestamps",
3393 |m: &UpdateDatabaseDdlMetadata| { &m.commit_timestamps },
3394 |m: &mut UpdateDatabaseDdlMetadata| { &mut m.commit_timestamps },
3395 ));
3396 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
3397 "throttled",
3398 |m: &UpdateDatabaseDdlMetadata| { &m.throttled },
3399 |m: &mut UpdateDatabaseDdlMetadata| { &mut m.throttled },
3400 ));
3401 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::common::OperationProgress>>(
3402 "progress",
3403 |m: &UpdateDatabaseDdlMetadata| { &m.progress },
3404 |m: &mut UpdateDatabaseDdlMetadata| { &mut m.progress },
3405 ));
3406 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<DdlStatementActionInfo>>(
3407 "actions",
3408 |m: &UpdateDatabaseDdlMetadata| { &m.actions },
3409 |m: &mut UpdateDatabaseDdlMetadata| { &mut m.actions },
3410 ));
3411 ::protobuf::reflect::MessageDescriptor::new_pb_name::<UpdateDatabaseDdlMetadata>(
3412 "UpdateDatabaseDdlMetadata",
3413 fields,
3414 file_descriptor_proto()
3415 )
3416 })
3417 }
3418
3419 fn default_instance() -> &'static UpdateDatabaseDdlMetadata {
3420 static instance: ::protobuf::rt::LazyV2<UpdateDatabaseDdlMetadata> = ::protobuf::rt::LazyV2::INIT;
3421 instance.get(UpdateDatabaseDdlMetadata::new)
3422 }
3423}
3424
3425impl ::protobuf::Clear for UpdateDatabaseDdlMetadata {
3426 fn clear(&mut self) {
3427 self.database.clear();
3428 self.statements.clear();
3429 self.commit_timestamps.clear();
3430 self.throttled = false;
3431 self.progress.clear();
3432 self.actions.clear();
3433 self.unknown_fields.clear();
3434 }
3435}
3436
3437impl ::std::fmt::Debug for UpdateDatabaseDdlMetadata {
3438 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3439 ::protobuf::text_format::fmt(self, f)
3440 }
3441}
3442
3443impl ::protobuf::reflect::ProtobufValue for UpdateDatabaseDdlMetadata {
3444 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3445 ::protobuf::reflect::ReflectValueRef::Message(self)
3446 }
3447}
3448
3449#[derive(PartialEq,Clone,Default)]
3450pub struct DropDatabaseRequest {
3451 pub database: ::std::string::String,
3453 pub unknown_fields: ::protobuf::UnknownFields,
3455 pub cached_size: ::protobuf::CachedSize,
3456}
3457
3458impl<'a> ::std::default::Default for &'a DropDatabaseRequest {
3459 fn default() -> &'a DropDatabaseRequest {
3460 <DropDatabaseRequest as ::protobuf::Message>::default_instance()
3461 }
3462}
3463
3464impl DropDatabaseRequest {
3465 pub fn new() -> DropDatabaseRequest {
3466 ::std::default::Default::default()
3467 }
3468
3469 pub fn get_database(&self) -> &str {
3473 &self.database
3474 }
3475 pub fn clear_database(&mut self) {
3476 self.database.clear();
3477 }
3478
3479 pub fn set_database(&mut self, v: ::std::string::String) {
3481 self.database = v;
3482 }
3483
3484 pub fn mut_database(&mut self) -> &mut ::std::string::String {
3487 &mut self.database
3488 }
3489
3490 pub fn take_database(&mut self) -> ::std::string::String {
3492 ::std::mem::replace(&mut self.database, ::std::string::String::new())
3493 }
3494}
3495
3496impl ::protobuf::Message for DropDatabaseRequest {
3497 fn is_initialized(&self) -> bool {
3498 true
3499 }
3500
3501 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3502 while !is.eof()? {
3503 let (field_number, wire_type) = is.read_tag_unpack()?;
3504 match field_number {
3505 1 => {
3506 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.database)?;
3507 },
3508 _ => {
3509 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3510 },
3511 };
3512 }
3513 ::std::result::Result::Ok(())
3514 }
3515
3516 #[allow(unused_variables)]
3518 fn compute_size(&self) -> u32 {
3519 let mut my_size = 0;
3520 if !self.database.is_empty() {
3521 my_size += ::protobuf::rt::string_size(1, &self.database);
3522 }
3523 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3524 self.cached_size.set(my_size);
3525 my_size
3526 }
3527
3528 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3529 if !self.database.is_empty() {
3530 os.write_string(1, &self.database)?;
3531 }
3532 os.write_unknown_fields(self.get_unknown_fields())?;
3533 ::std::result::Result::Ok(())
3534 }
3535
3536 fn get_cached_size(&self) -> u32 {
3537 self.cached_size.get()
3538 }
3539
3540 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3541 &self.unknown_fields
3542 }
3543
3544 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3545 &mut self.unknown_fields
3546 }
3547
3548 fn as_any(&self) -> &dyn (::std::any::Any) {
3549 self as &dyn (::std::any::Any)
3550 }
3551 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3552 self as &mut dyn (::std::any::Any)
3553 }
3554 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3555 self
3556 }
3557
3558 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3559 Self::descriptor_static()
3560 }
3561
3562 fn new() -> DropDatabaseRequest {
3563 DropDatabaseRequest::new()
3564 }
3565
3566 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3567 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3568 descriptor.get(|| {
3569 let mut fields = ::std::vec::Vec::new();
3570 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3571 "database",
3572 |m: &DropDatabaseRequest| { &m.database },
3573 |m: &mut DropDatabaseRequest| { &mut m.database },
3574 ));
3575 ::protobuf::reflect::MessageDescriptor::new_pb_name::<DropDatabaseRequest>(
3576 "DropDatabaseRequest",
3577 fields,
3578 file_descriptor_proto()
3579 )
3580 })
3581 }
3582
3583 fn default_instance() -> &'static DropDatabaseRequest {
3584 static instance: ::protobuf::rt::LazyV2<DropDatabaseRequest> = ::protobuf::rt::LazyV2::INIT;
3585 instance.get(DropDatabaseRequest::new)
3586 }
3587}
3588
3589impl ::protobuf::Clear for DropDatabaseRequest {
3590 fn clear(&mut self) {
3591 self.database.clear();
3592 self.unknown_fields.clear();
3593 }
3594}
3595
3596impl ::std::fmt::Debug for DropDatabaseRequest {
3597 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3598 ::protobuf::text_format::fmt(self, f)
3599 }
3600}
3601
3602impl ::protobuf::reflect::ProtobufValue for DropDatabaseRequest {
3603 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3604 ::protobuf::reflect::ReflectValueRef::Message(self)
3605 }
3606}
3607
3608#[derive(PartialEq,Clone,Default)]
3609pub struct GetDatabaseDdlRequest {
3610 pub database: ::std::string::String,
3612 pub unknown_fields: ::protobuf::UnknownFields,
3614 pub cached_size: ::protobuf::CachedSize,
3615}
3616
3617impl<'a> ::std::default::Default for &'a GetDatabaseDdlRequest {
3618 fn default() -> &'a GetDatabaseDdlRequest {
3619 <GetDatabaseDdlRequest as ::protobuf::Message>::default_instance()
3620 }
3621}
3622
3623impl GetDatabaseDdlRequest {
3624 pub fn new() -> GetDatabaseDdlRequest {
3625 ::std::default::Default::default()
3626 }
3627
3628 pub fn get_database(&self) -> &str {
3632 &self.database
3633 }
3634 pub fn clear_database(&mut self) {
3635 self.database.clear();
3636 }
3637
3638 pub fn set_database(&mut self, v: ::std::string::String) {
3640 self.database = v;
3641 }
3642
3643 pub fn mut_database(&mut self) -> &mut ::std::string::String {
3646 &mut self.database
3647 }
3648
3649 pub fn take_database(&mut self) -> ::std::string::String {
3651 ::std::mem::replace(&mut self.database, ::std::string::String::new())
3652 }
3653}
3654
3655impl ::protobuf::Message for GetDatabaseDdlRequest {
3656 fn is_initialized(&self) -> bool {
3657 true
3658 }
3659
3660 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3661 while !is.eof()? {
3662 let (field_number, wire_type) = is.read_tag_unpack()?;
3663 match field_number {
3664 1 => {
3665 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.database)?;
3666 },
3667 _ => {
3668 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3669 },
3670 };
3671 }
3672 ::std::result::Result::Ok(())
3673 }
3674
3675 #[allow(unused_variables)]
3677 fn compute_size(&self) -> u32 {
3678 let mut my_size = 0;
3679 if !self.database.is_empty() {
3680 my_size += ::protobuf::rt::string_size(1, &self.database);
3681 }
3682 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3683 self.cached_size.set(my_size);
3684 my_size
3685 }
3686
3687 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3688 if !self.database.is_empty() {
3689 os.write_string(1, &self.database)?;
3690 }
3691 os.write_unknown_fields(self.get_unknown_fields())?;
3692 ::std::result::Result::Ok(())
3693 }
3694
3695 fn get_cached_size(&self) -> u32 {
3696 self.cached_size.get()
3697 }
3698
3699 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3700 &self.unknown_fields
3701 }
3702
3703 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3704 &mut self.unknown_fields
3705 }
3706
3707 fn as_any(&self) -> &dyn (::std::any::Any) {
3708 self as &dyn (::std::any::Any)
3709 }
3710 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3711 self as &mut dyn (::std::any::Any)
3712 }
3713 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3714 self
3715 }
3716
3717 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3718 Self::descriptor_static()
3719 }
3720
3721 fn new() -> GetDatabaseDdlRequest {
3722 GetDatabaseDdlRequest::new()
3723 }
3724
3725 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3726 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3727 descriptor.get(|| {
3728 let mut fields = ::std::vec::Vec::new();
3729 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3730 "database",
3731 |m: &GetDatabaseDdlRequest| { &m.database },
3732 |m: &mut GetDatabaseDdlRequest| { &mut m.database },
3733 ));
3734 ::protobuf::reflect::MessageDescriptor::new_pb_name::<GetDatabaseDdlRequest>(
3735 "GetDatabaseDdlRequest",
3736 fields,
3737 file_descriptor_proto()
3738 )
3739 })
3740 }
3741
3742 fn default_instance() -> &'static GetDatabaseDdlRequest {
3743 static instance: ::protobuf::rt::LazyV2<GetDatabaseDdlRequest> = ::protobuf::rt::LazyV2::INIT;
3744 instance.get(GetDatabaseDdlRequest::new)
3745 }
3746}
3747
3748impl ::protobuf::Clear for GetDatabaseDdlRequest {
3749 fn clear(&mut self) {
3750 self.database.clear();
3751 self.unknown_fields.clear();
3752 }
3753}
3754
3755impl ::std::fmt::Debug for GetDatabaseDdlRequest {
3756 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3757 ::protobuf::text_format::fmt(self, f)
3758 }
3759}
3760
3761impl ::protobuf::reflect::ProtobufValue for GetDatabaseDdlRequest {
3762 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3763 ::protobuf::reflect::ReflectValueRef::Message(self)
3764 }
3765}
3766
3767#[derive(PartialEq,Clone,Default)]
3768pub struct GetDatabaseDdlResponse {
3769 pub statements: ::protobuf::RepeatedField<::std::string::String>,
3771 pub unknown_fields: ::protobuf::UnknownFields,
3773 pub cached_size: ::protobuf::CachedSize,
3774}
3775
3776impl<'a> ::std::default::Default for &'a GetDatabaseDdlResponse {
3777 fn default() -> &'a GetDatabaseDdlResponse {
3778 <GetDatabaseDdlResponse as ::protobuf::Message>::default_instance()
3779 }
3780}
3781
3782impl GetDatabaseDdlResponse {
3783 pub fn new() -> GetDatabaseDdlResponse {
3784 ::std::default::Default::default()
3785 }
3786
3787 pub fn get_statements(&self) -> &[::std::string::String] {
3791 &self.statements
3792 }
3793 pub fn clear_statements(&mut self) {
3794 self.statements.clear();
3795 }
3796
3797 pub fn set_statements(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
3799 self.statements = v;
3800 }
3801
3802 pub fn mut_statements(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
3804 &mut self.statements
3805 }
3806
3807 pub fn take_statements(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
3809 ::std::mem::replace(&mut self.statements, ::protobuf::RepeatedField::new())
3810 }
3811}
3812
3813impl ::protobuf::Message for GetDatabaseDdlResponse {
3814 fn is_initialized(&self) -> bool {
3815 true
3816 }
3817
3818 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3819 while !is.eof()? {
3820 let (field_number, wire_type) = is.read_tag_unpack()?;
3821 match field_number {
3822 1 => {
3823 ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.statements)?;
3824 },
3825 _ => {
3826 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3827 },
3828 };
3829 }
3830 ::std::result::Result::Ok(())
3831 }
3832
3833 #[allow(unused_variables)]
3835 fn compute_size(&self) -> u32 {
3836 let mut my_size = 0;
3837 for value in &self.statements {
3838 my_size += ::protobuf::rt::string_size(1, &value);
3839 };
3840 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3841 self.cached_size.set(my_size);
3842 my_size
3843 }
3844
3845 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3846 for v in &self.statements {
3847 os.write_string(1, &v)?;
3848 };
3849 os.write_unknown_fields(self.get_unknown_fields())?;
3850 ::std::result::Result::Ok(())
3851 }
3852
3853 fn get_cached_size(&self) -> u32 {
3854 self.cached_size.get()
3855 }
3856
3857 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3858 &self.unknown_fields
3859 }
3860
3861 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3862 &mut self.unknown_fields
3863 }
3864
3865 fn as_any(&self) -> &dyn (::std::any::Any) {
3866 self as &dyn (::std::any::Any)
3867 }
3868 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3869 self as &mut dyn (::std::any::Any)
3870 }
3871 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3872 self
3873 }
3874
3875 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3876 Self::descriptor_static()
3877 }
3878
3879 fn new() -> GetDatabaseDdlResponse {
3880 GetDatabaseDdlResponse::new()
3881 }
3882
3883 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3884 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3885 descriptor.get(|| {
3886 let mut fields = ::std::vec::Vec::new();
3887 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3888 "statements",
3889 |m: &GetDatabaseDdlResponse| { &m.statements },
3890 |m: &mut GetDatabaseDdlResponse| { &mut m.statements },
3891 ));
3892 ::protobuf::reflect::MessageDescriptor::new_pb_name::<GetDatabaseDdlResponse>(
3893 "GetDatabaseDdlResponse",
3894 fields,
3895 file_descriptor_proto()
3896 )
3897 })
3898 }
3899
3900 fn default_instance() -> &'static GetDatabaseDdlResponse {
3901 static instance: ::protobuf::rt::LazyV2<GetDatabaseDdlResponse> = ::protobuf::rt::LazyV2::INIT;
3902 instance.get(GetDatabaseDdlResponse::new)
3903 }
3904}
3905
3906impl ::protobuf::Clear for GetDatabaseDdlResponse {
3907 fn clear(&mut self) {
3908 self.statements.clear();
3909 self.unknown_fields.clear();
3910 }
3911}
3912
3913impl ::std::fmt::Debug for GetDatabaseDdlResponse {
3914 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3915 ::protobuf::text_format::fmt(self, f)
3916 }
3917}
3918
3919impl ::protobuf::reflect::ProtobufValue for GetDatabaseDdlResponse {
3920 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3921 ::protobuf::reflect::ReflectValueRef::Message(self)
3922 }
3923}
3924
3925#[derive(PartialEq,Clone,Default)]
3926pub struct ListDatabaseOperationsRequest {
3927 pub parent: ::std::string::String,
3929 pub filter: ::std::string::String,
3930 pub page_size: i32,
3931 pub page_token: ::std::string::String,
3932 pub unknown_fields: ::protobuf::UnknownFields,
3934 pub cached_size: ::protobuf::CachedSize,
3935}
3936
3937impl<'a> ::std::default::Default for &'a ListDatabaseOperationsRequest {
3938 fn default() -> &'a ListDatabaseOperationsRequest {
3939 <ListDatabaseOperationsRequest as ::protobuf::Message>::default_instance()
3940 }
3941}
3942
3943impl ListDatabaseOperationsRequest {
3944 pub fn new() -> ListDatabaseOperationsRequest {
3945 ::std::default::Default::default()
3946 }
3947
3948 pub fn get_parent(&self) -> &str {
3952 &self.parent
3953 }
3954 pub fn clear_parent(&mut self) {
3955 self.parent.clear();
3956 }
3957
3958 pub fn set_parent(&mut self, v: ::std::string::String) {
3960 self.parent = v;
3961 }
3962
3963 pub fn mut_parent(&mut self) -> &mut ::std::string::String {
3966 &mut self.parent
3967 }
3968
3969 pub fn take_parent(&mut self) -> ::std::string::String {
3971 ::std::mem::replace(&mut self.parent, ::std::string::String::new())
3972 }
3973
3974 pub fn get_filter(&self) -> &str {
3978 &self.filter
3979 }
3980 pub fn clear_filter(&mut self) {
3981 self.filter.clear();
3982 }
3983
3984 pub fn set_filter(&mut self, v: ::std::string::String) {
3986 self.filter = v;
3987 }
3988
3989 pub fn mut_filter(&mut self) -> &mut ::std::string::String {
3992 &mut self.filter
3993 }
3994
3995 pub fn take_filter(&mut self) -> ::std::string::String {
3997 ::std::mem::replace(&mut self.filter, ::std::string::String::new())
3998 }
3999
4000 pub fn get_page_size(&self) -> i32 {
4004 self.page_size
4005 }
4006 pub fn clear_page_size(&mut self) {
4007 self.page_size = 0;
4008 }
4009
4010 pub fn set_page_size(&mut self, v: i32) {
4012 self.page_size = v;
4013 }
4014
4015 pub fn get_page_token(&self) -> &str {
4019 &self.page_token
4020 }
4021 pub fn clear_page_token(&mut self) {
4022 self.page_token.clear();
4023 }
4024
4025 pub fn set_page_token(&mut self, v: ::std::string::String) {
4027 self.page_token = v;
4028 }
4029
4030 pub fn mut_page_token(&mut self) -> &mut ::std::string::String {
4033 &mut self.page_token
4034 }
4035
4036 pub fn take_page_token(&mut self) -> ::std::string::String {
4038 ::std::mem::replace(&mut self.page_token, ::std::string::String::new())
4039 }
4040}
4041
4042impl ::protobuf::Message for ListDatabaseOperationsRequest {
4043 fn is_initialized(&self) -> bool {
4044 true
4045 }
4046
4047 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4048 while !is.eof()? {
4049 let (field_number, wire_type) = is.read_tag_unpack()?;
4050 match field_number {
4051 1 => {
4052 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
4053 },
4054 2 => {
4055 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.filter)?;
4056 },
4057 3 => {
4058 if wire_type != ::protobuf::wire_format::WireTypeVarint {
4059 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4060 }
4061 let tmp = is.read_int32()?;
4062 self.page_size = tmp;
4063 },
4064 4 => {
4065 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.page_token)?;
4066 },
4067 _ => {
4068 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4069 },
4070 };
4071 }
4072 ::std::result::Result::Ok(())
4073 }
4074
4075 #[allow(unused_variables)]
4077 fn compute_size(&self) -> u32 {
4078 let mut my_size = 0;
4079 if !self.parent.is_empty() {
4080 my_size += ::protobuf::rt::string_size(1, &self.parent);
4081 }
4082 if !self.filter.is_empty() {
4083 my_size += ::protobuf::rt::string_size(2, &self.filter);
4084 }
4085 if self.page_size != 0 {
4086 my_size += ::protobuf::rt::value_size(3, self.page_size, ::protobuf::wire_format::WireTypeVarint);
4087 }
4088 if !self.page_token.is_empty() {
4089 my_size += ::protobuf::rt::string_size(4, &self.page_token);
4090 }
4091 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4092 self.cached_size.set(my_size);
4093 my_size
4094 }
4095
4096 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4097 if !self.parent.is_empty() {
4098 os.write_string(1, &self.parent)?;
4099 }
4100 if !self.filter.is_empty() {
4101 os.write_string(2, &self.filter)?;
4102 }
4103 if self.page_size != 0 {
4104 os.write_int32(3, self.page_size)?;
4105 }
4106 if !self.page_token.is_empty() {
4107 os.write_string(4, &self.page_token)?;
4108 }
4109 os.write_unknown_fields(self.get_unknown_fields())?;
4110 ::std::result::Result::Ok(())
4111 }
4112
4113 fn get_cached_size(&self) -> u32 {
4114 self.cached_size.get()
4115 }
4116
4117 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4118 &self.unknown_fields
4119 }
4120
4121 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4122 &mut self.unknown_fields
4123 }
4124
4125 fn as_any(&self) -> &dyn (::std::any::Any) {
4126 self as &dyn (::std::any::Any)
4127 }
4128 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4129 self as &mut dyn (::std::any::Any)
4130 }
4131 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4132 self
4133 }
4134
4135 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4136 Self::descriptor_static()
4137 }
4138
4139 fn new() -> ListDatabaseOperationsRequest {
4140 ListDatabaseOperationsRequest::new()
4141 }
4142
4143 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4144 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4145 descriptor.get(|| {
4146 let mut fields = ::std::vec::Vec::new();
4147 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4148 "parent",
4149 |m: &ListDatabaseOperationsRequest| { &m.parent },
4150 |m: &mut ListDatabaseOperationsRequest| { &mut m.parent },
4151 ));
4152 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4153 "filter",
4154 |m: &ListDatabaseOperationsRequest| { &m.filter },
4155 |m: &mut ListDatabaseOperationsRequest| { &mut m.filter },
4156 ));
4157 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
4158 "page_size",
4159 |m: &ListDatabaseOperationsRequest| { &m.page_size },
4160 |m: &mut ListDatabaseOperationsRequest| { &mut m.page_size },
4161 ));
4162 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4163 "page_token",
4164 |m: &ListDatabaseOperationsRequest| { &m.page_token },
4165 |m: &mut ListDatabaseOperationsRequest| { &mut m.page_token },
4166 ));
4167 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListDatabaseOperationsRequest>(
4168 "ListDatabaseOperationsRequest",
4169 fields,
4170 file_descriptor_proto()
4171 )
4172 })
4173 }
4174
4175 fn default_instance() -> &'static ListDatabaseOperationsRequest {
4176 static instance: ::protobuf::rt::LazyV2<ListDatabaseOperationsRequest> = ::protobuf::rt::LazyV2::INIT;
4177 instance.get(ListDatabaseOperationsRequest::new)
4178 }
4179}
4180
4181impl ::protobuf::Clear for ListDatabaseOperationsRequest {
4182 fn clear(&mut self) {
4183 self.parent.clear();
4184 self.filter.clear();
4185 self.page_size = 0;
4186 self.page_token.clear();
4187 self.unknown_fields.clear();
4188 }
4189}
4190
4191impl ::std::fmt::Debug for ListDatabaseOperationsRequest {
4192 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4193 ::protobuf::text_format::fmt(self, f)
4194 }
4195}
4196
4197impl ::protobuf::reflect::ProtobufValue for ListDatabaseOperationsRequest {
4198 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4199 ::protobuf::reflect::ReflectValueRef::Message(self)
4200 }
4201}
4202
4203#[derive(PartialEq,Clone,Default)]
4204pub struct ListDatabaseOperationsResponse {
4205 pub operations: ::protobuf::RepeatedField<super::operations::Operation>,
4207 pub next_page_token: ::std::string::String,
4208 pub unknown_fields: ::protobuf::UnknownFields,
4210 pub cached_size: ::protobuf::CachedSize,
4211}
4212
4213impl<'a> ::std::default::Default for &'a ListDatabaseOperationsResponse {
4214 fn default() -> &'a ListDatabaseOperationsResponse {
4215 <ListDatabaseOperationsResponse as ::protobuf::Message>::default_instance()
4216 }
4217}
4218
4219impl ListDatabaseOperationsResponse {
4220 pub fn new() -> ListDatabaseOperationsResponse {
4221 ::std::default::Default::default()
4222 }
4223
4224 pub fn get_operations(&self) -> &[super::operations::Operation] {
4228 &self.operations
4229 }
4230 pub fn clear_operations(&mut self) {
4231 self.operations.clear();
4232 }
4233
4234 pub fn set_operations(&mut self, v: ::protobuf::RepeatedField<super::operations::Operation>) {
4236 self.operations = v;
4237 }
4238
4239 pub fn mut_operations(&mut self) -> &mut ::protobuf::RepeatedField<super::operations::Operation> {
4241 &mut self.operations
4242 }
4243
4244 pub fn take_operations(&mut self) -> ::protobuf::RepeatedField<super::operations::Operation> {
4246 ::std::mem::replace(&mut self.operations, ::protobuf::RepeatedField::new())
4247 }
4248
4249 pub fn get_next_page_token(&self) -> &str {
4253 &self.next_page_token
4254 }
4255 pub fn clear_next_page_token(&mut self) {
4256 self.next_page_token.clear();
4257 }
4258
4259 pub fn set_next_page_token(&mut self, v: ::std::string::String) {
4261 self.next_page_token = v;
4262 }
4263
4264 pub fn mut_next_page_token(&mut self) -> &mut ::std::string::String {
4267 &mut self.next_page_token
4268 }
4269
4270 pub fn take_next_page_token(&mut self) -> ::std::string::String {
4272 ::std::mem::replace(&mut self.next_page_token, ::std::string::String::new())
4273 }
4274}
4275
4276impl ::protobuf::Message for ListDatabaseOperationsResponse {
4277 fn is_initialized(&self) -> bool {
4278 for v in &self.operations {
4279 if !v.is_initialized() {
4280 return false;
4281 }
4282 };
4283 true
4284 }
4285
4286 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4287 while !is.eof()? {
4288 let (field_number, wire_type) = is.read_tag_unpack()?;
4289 match field_number {
4290 1 => {
4291 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.operations)?;
4292 },
4293 2 => {
4294 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.next_page_token)?;
4295 },
4296 _ => {
4297 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4298 },
4299 };
4300 }
4301 ::std::result::Result::Ok(())
4302 }
4303
4304 #[allow(unused_variables)]
4306 fn compute_size(&self) -> u32 {
4307 let mut my_size = 0;
4308 for value in &self.operations {
4309 let len = value.compute_size();
4310 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4311 };
4312 if !self.next_page_token.is_empty() {
4313 my_size += ::protobuf::rt::string_size(2, &self.next_page_token);
4314 }
4315 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4316 self.cached_size.set(my_size);
4317 my_size
4318 }
4319
4320 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4321 for v in &self.operations {
4322 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4323 os.write_raw_varint32(v.get_cached_size())?;
4324 v.write_to_with_cached_sizes(os)?;
4325 };
4326 if !self.next_page_token.is_empty() {
4327 os.write_string(2, &self.next_page_token)?;
4328 }
4329 os.write_unknown_fields(self.get_unknown_fields())?;
4330 ::std::result::Result::Ok(())
4331 }
4332
4333 fn get_cached_size(&self) -> u32 {
4334 self.cached_size.get()
4335 }
4336
4337 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4338 &self.unknown_fields
4339 }
4340
4341 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4342 &mut self.unknown_fields
4343 }
4344
4345 fn as_any(&self) -> &dyn (::std::any::Any) {
4346 self as &dyn (::std::any::Any)
4347 }
4348 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4349 self as &mut dyn (::std::any::Any)
4350 }
4351 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4352 self
4353 }
4354
4355 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4356 Self::descriptor_static()
4357 }
4358
4359 fn new() -> ListDatabaseOperationsResponse {
4360 ListDatabaseOperationsResponse::new()
4361 }
4362
4363 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4364 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4365 descriptor.get(|| {
4366 let mut fields = ::std::vec::Vec::new();
4367 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::operations::Operation>>(
4368 "operations",
4369 |m: &ListDatabaseOperationsResponse| { &m.operations },
4370 |m: &mut ListDatabaseOperationsResponse| { &mut m.operations },
4371 ));
4372 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4373 "next_page_token",
4374 |m: &ListDatabaseOperationsResponse| { &m.next_page_token },
4375 |m: &mut ListDatabaseOperationsResponse| { &mut m.next_page_token },
4376 ));
4377 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListDatabaseOperationsResponse>(
4378 "ListDatabaseOperationsResponse",
4379 fields,
4380 file_descriptor_proto()
4381 )
4382 })
4383 }
4384
4385 fn default_instance() -> &'static ListDatabaseOperationsResponse {
4386 static instance: ::protobuf::rt::LazyV2<ListDatabaseOperationsResponse> = ::protobuf::rt::LazyV2::INIT;
4387 instance.get(ListDatabaseOperationsResponse::new)
4388 }
4389}
4390
4391impl ::protobuf::Clear for ListDatabaseOperationsResponse {
4392 fn clear(&mut self) {
4393 self.operations.clear();
4394 self.next_page_token.clear();
4395 self.unknown_fields.clear();
4396 }
4397}
4398
4399impl ::std::fmt::Debug for ListDatabaseOperationsResponse {
4400 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4401 ::protobuf::text_format::fmt(self, f)
4402 }
4403}
4404
4405impl ::protobuf::reflect::ProtobufValue for ListDatabaseOperationsResponse {
4406 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4407 ::protobuf::reflect::ReflectValueRef::Message(self)
4408 }
4409}
4410
4411#[derive(PartialEq,Clone,Default)]
4412pub struct RestoreDatabaseRequest {
4413 pub parent: ::std::string::String,
4415 pub database_id: ::std::string::String,
4416 pub encryption_config: ::protobuf::SingularPtrField<RestoreDatabaseEncryptionConfig>,
4417 pub source: ::std::option::Option<RestoreDatabaseRequest_oneof_source>,
4419 pub unknown_fields: ::protobuf::UnknownFields,
4421 pub cached_size: ::protobuf::CachedSize,
4422}
4423
4424impl<'a> ::std::default::Default for &'a RestoreDatabaseRequest {
4425 fn default() -> &'a RestoreDatabaseRequest {
4426 <RestoreDatabaseRequest as ::protobuf::Message>::default_instance()
4427 }
4428}
4429
4430#[derive(Clone,PartialEq,Debug)]
4431pub enum RestoreDatabaseRequest_oneof_source {
4432 backup(::std::string::String),
4433}
4434
4435impl RestoreDatabaseRequest {
4436 pub fn new() -> RestoreDatabaseRequest {
4437 ::std::default::Default::default()
4438 }
4439
4440 pub fn get_parent(&self) -> &str {
4444 &self.parent
4445 }
4446 pub fn clear_parent(&mut self) {
4447 self.parent.clear();
4448 }
4449
4450 pub fn set_parent(&mut self, v: ::std::string::String) {
4452 self.parent = v;
4453 }
4454
4455 pub fn mut_parent(&mut self) -> &mut ::std::string::String {
4458 &mut self.parent
4459 }
4460
4461 pub fn take_parent(&mut self) -> ::std::string::String {
4463 ::std::mem::replace(&mut self.parent, ::std::string::String::new())
4464 }
4465
4466 pub fn get_database_id(&self) -> &str {
4470 &self.database_id
4471 }
4472 pub fn clear_database_id(&mut self) {
4473 self.database_id.clear();
4474 }
4475
4476 pub fn set_database_id(&mut self, v: ::std::string::String) {
4478 self.database_id = v;
4479 }
4480
4481 pub fn mut_database_id(&mut self) -> &mut ::std::string::String {
4484 &mut self.database_id
4485 }
4486
4487 pub fn take_database_id(&mut self) -> ::std::string::String {
4489 ::std::mem::replace(&mut self.database_id, ::std::string::String::new())
4490 }
4491
4492 pub fn get_backup(&self) -> &str {
4496 match self.source {
4497 ::std::option::Option::Some(RestoreDatabaseRequest_oneof_source::backup(ref v)) => v,
4498 _ => "",
4499 }
4500 }
4501 pub fn clear_backup(&mut self) {
4502 self.source = ::std::option::Option::None;
4503 }
4504
4505 pub fn has_backup(&self) -> bool {
4506 match self.source {
4507 ::std::option::Option::Some(RestoreDatabaseRequest_oneof_source::backup(..)) => true,
4508 _ => false,
4509 }
4510 }
4511
4512 pub fn set_backup(&mut self, v: ::std::string::String) {
4514 self.source = ::std::option::Option::Some(RestoreDatabaseRequest_oneof_source::backup(v))
4515 }
4516
4517 pub fn mut_backup(&mut self) -> &mut ::std::string::String {
4519 if let ::std::option::Option::Some(RestoreDatabaseRequest_oneof_source::backup(_)) = self.source {
4520 } else {
4521 self.source = ::std::option::Option::Some(RestoreDatabaseRequest_oneof_source::backup(::std::string::String::new()));
4522 }
4523 match self.source {
4524 ::std::option::Option::Some(RestoreDatabaseRequest_oneof_source::backup(ref mut v)) => v,
4525 _ => panic!(),
4526 }
4527 }
4528
4529 pub fn take_backup(&mut self) -> ::std::string::String {
4531 if self.has_backup() {
4532 match self.source.take() {
4533 ::std::option::Option::Some(RestoreDatabaseRequest_oneof_source::backup(v)) => v,
4534 _ => panic!(),
4535 }
4536 } else {
4537 ::std::string::String::new()
4538 }
4539 }
4540
4541 pub fn get_encryption_config(&self) -> &RestoreDatabaseEncryptionConfig {
4545 self.encryption_config.as_ref().unwrap_or_else(|| <RestoreDatabaseEncryptionConfig as ::protobuf::Message>::default_instance())
4546 }
4547 pub fn clear_encryption_config(&mut self) {
4548 self.encryption_config.clear();
4549 }
4550
4551 pub fn has_encryption_config(&self) -> bool {
4552 self.encryption_config.is_some()
4553 }
4554
4555 pub fn set_encryption_config(&mut self, v: RestoreDatabaseEncryptionConfig) {
4557 self.encryption_config = ::protobuf::SingularPtrField::some(v);
4558 }
4559
4560 pub fn mut_encryption_config(&mut self) -> &mut RestoreDatabaseEncryptionConfig {
4563 if self.encryption_config.is_none() {
4564 self.encryption_config.set_default();
4565 }
4566 self.encryption_config.as_mut().unwrap()
4567 }
4568
4569 pub fn take_encryption_config(&mut self) -> RestoreDatabaseEncryptionConfig {
4571 self.encryption_config.take().unwrap_or_else(|| RestoreDatabaseEncryptionConfig::new())
4572 }
4573}
4574
4575impl ::protobuf::Message for RestoreDatabaseRequest {
4576 fn is_initialized(&self) -> bool {
4577 for v in &self.encryption_config {
4578 if !v.is_initialized() {
4579 return false;
4580 }
4581 };
4582 true
4583 }
4584
4585 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4586 while !is.eof()? {
4587 let (field_number, wire_type) = is.read_tag_unpack()?;
4588 match field_number {
4589 1 => {
4590 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
4591 },
4592 2 => {
4593 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.database_id)?;
4594 },
4595 3 => {
4596 if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
4597 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4598 }
4599 self.source = ::std::option::Option::Some(RestoreDatabaseRequest_oneof_source::backup(is.read_string()?));
4600 },
4601 4 => {
4602 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.encryption_config)?;
4603 },
4604 _ => {
4605 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4606 },
4607 };
4608 }
4609 ::std::result::Result::Ok(())
4610 }
4611
4612 #[allow(unused_variables)]
4614 fn compute_size(&self) -> u32 {
4615 let mut my_size = 0;
4616 if !self.parent.is_empty() {
4617 my_size += ::protobuf::rt::string_size(1, &self.parent);
4618 }
4619 if !self.database_id.is_empty() {
4620 my_size += ::protobuf::rt::string_size(2, &self.database_id);
4621 }
4622 if let Some(ref v) = self.encryption_config.as_ref() {
4623 let len = v.compute_size();
4624 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4625 }
4626 if let ::std::option::Option::Some(ref v) = self.source {
4627 match v {
4628 &RestoreDatabaseRequest_oneof_source::backup(ref v) => {
4629 my_size += ::protobuf::rt::string_size(3, &v);
4630 },
4631 };
4632 }
4633 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4634 self.cached_size.set(my_size);
4635 my_size
4636 }
4637
4638 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4639 if !self.parent.is_empty() {
4640 os.write_string(1, &self.parent)?;
4641 }
4642 if !self.database_id.is_empty() {
4643 os.write_string(2, &self.database_id)?;
4644 }
4645 if let Some(ref v) = self.encryption_config.as_ref() {
4646 os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4647 os.write_raw_varint32(v.get_cached_size())?;
4648 v.write_to_with_cached_sizes(os)?;
4649 }
4650 if let ::std::option::Option::Some(ref v) = self.source {
4651 match v {
4652 &RestoreDatabaseRequest_oneof_source::backup(ref v) => {
4653 os.write_string(3, v)?;
4654 },
4655 };
4656 }
4657 os.write_unknown_fields(self.get_unknown_fields())?;
4658 ::std::result::Result::Ok(())
4659 }
4660
4661 fn get_cached_size(&self) -> u32 {
4662 self.cached_size.get()
4663 }
4664
4665 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4666 &self.unknown_fields
4667 }
4668
4669 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4670 &mut self.unknown_fields
4671 }
4672
4673 fn as_any(&self) -> &dyn (::std::any::Any) {
4674 self as &dyn (::std::any::Any)
4675 }
4676 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4677 self as &mut dyn (::std::any::Any)
4678 }
4679 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4680 self
4681 }
4682
4683 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4684 Self::descriptor_static()
4685 }
4686
4687 fn new() -> RestoreDatabaseRequest {
4688 RestoreDatabaseRequest::new()
4689 }
4690
4691 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4692 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4693 descriptor.get(|| {
4694 let mut fields = ::std::vec::Vec::new();
4695 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4696 "parent",
4697 |m: &RestoreDatabaseRequest| { &m.parent },
4698 |m: &mut RestoreDatabaseRequest| { &mut m.parent },
4699 ));
4700 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4701 "database_id",
4702 |m: &RestoreDatabaseRequest| { &m.database_id },
4703 |m: &mut RestoreDatabaseRequest| { &mut m.database_id },
4704 ));
4705 fields.push(::protobuf::reflect::accessor::make_singular_string_accessor::<_>(
4706 "backup",
4707 RestoreDatabaseRequest::has_backup,
4708 RestoreDatabaseRequest::get_backup,
4709 ));
4710 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<RestoreDatabaseEncryptionConfig>>(
4711 "encryption_config",
4712 |m: &RestoreDatabaseRequest| { &m.encryption_config },
4713 |m: &mut RestoreDatabaseRequest| { &mut m.encryption_config },
4714 ));
4715 ::protobuf::reflect::MessageDescriptor::new_pb_name::<RestoreDatabaseRequest>(
4716 "RestoreDatabaseRequest",
4717 fields,
4718 file_descriptor_proto()
4719 )
4720 })
4721 }
4722
4723 fn default_instance() -> &'static RestoreDatabaseRequest {
4724 static instance: ::protobuf::rt::LazyV2<RestoreDatabaseRequest> = ::protobuf::rt::LazyV2::INIT;
4725 instance.get(RestoreDatabaseRequest::new)
4726 }
4727}
4728
4729impl ::protobuf::Clear for RestoreDatabaseRequest {
4730 fn clear(&mut self) {
4731 self.parent.clear();
4732 self.database_id.clear();
4733 self.source = ::std::option::Option::None;
4734 self.encryption_config.clear();
4735 self.unknown_fields.clear();
4736 }
4737}
4738
4739impl ::std::fmt::Debug for RestoreDatabaseRequest {
4740 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4741 ::protobuf::text_format::fmt(self, f)
4742 }
4743}
4744
4745impl ::protobuf::reflect::ProtobufValue for RestoreDatabaseRequest {
4746 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4747 ::protobuf::reflect::ReflectValueRef::Message(self)
4748 }
4749}
4750
4751#[derive(PartialEq,Clone,Default)]
4752pub struct RestoreDatabaseEncryptionConfig {
4753 pub encryption_type: RestoreDatabaseEncryptionConfig_EncryptionType,
4755 pub kms_key_name: ::std::string::String,
4756 pub unknown_fields: ::protobuf::UnknownFields,
4758 pub cached_size: ::protobuf::CachedSize,
4759}
4760
4761impl<'a> ::std::default::Default for &'a RestoreDatabaseEncryptionConfig {
4762 fn default() -> &'a RestoreDatabaseEncryptionConfig {
4763 <RestoreDatabaseEncryptionConfig as ::protobuf::Message>::default_instance()
4764 }
4765}
4766
4767impl RestoreDatabaseEncryptionConfig {
4768 pub fn new() -> RestoreDatabaseEncryptionConfig {
4769 ::std::default::Default::default()
4770 }
4771
4772 pub fn get_encryption_type(&self) -> RestoreDatabaseEncryptionConfig_EncryptionType {
4776 self.encryption_type
4777 }
4778 pub fn clear_encryption_type(&mut self) {
4779 self.encryption_type = RestoreDatabaseEncryptionConfig_EncryptionType::ENCRYPTION_TYPE_UNSPECIFIED;
4780 }
4781
4782 pub fn set_encryption_type(&mut self, v: RestoreDatabaseEncryptionConfig_EncryptionType) {
4784 self.encryption_type = v;
4785 }
4786
4787 pub fn get_kms_key_name(&self) -> &str {
4791 &self.kms_key_name
4792 }
4793 pub fn clear_kms_key_name(&mut self) {
4794 self.kms_key_name.clear();
4795 }
4796
4797 pub fn set_kms_key_name(&mut self, v: ::std::string::String) {
4799 self.kms_key_name = v;
4800 }
4801
4802 pub fn mut_kms_key_name(&mut self) -> &mut ::std::string::String {
4805 &mut self.kms_key_name
4806 }
4807
4808 pub fn take_kms_key_name(&mut self) -> ::std::string::String {
4810 ::std::mem::replace(&mut self.kms_key_name, ::std::string::String::new())
4811 }
4812}
4813
4814impl ::protobuf::Message for RestoreDatabaseEncryptionConfig {
4815 fn is_initialized(&self) -> bool {
4816 true
4817 }
4818
4819 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4820 while !is.eof()? {
4821 let (field_number, wire_type) = is.read_tag_unpack()?;
4822 match field_number {
4823 1 => {
4824 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.encryption_type, 1, &mut self.unknown_fields)?
4825 },
4826 2 => {
4827 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.kms_key_name)?;
4828 },
4829 _ => {
4830 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4831 },
4832 };
4833 }
4834 ::std::result::Result::Ok(())
4835 }
4836
4837 #[allow(unused_variables)]
4839 fn compute_size(&self) -> u32 {
4840 let mut my_size = 0;
4841 if self.encryption_type != RestoreDatabaseEncryptionConfig_EncryptionType::ENCRYPTION_TYPE_UNSPECIFIED {
4842 my_size += ::protobuf::rt::enum_size(1, self.encryption_type);
4843 }
4844 if !self.kms_key_name.is_empty() {
4845 my_size += ::protobuf::rt::string_size(2, &self.kms_key_name);
4846 }
4847 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4848 self.cached_size.set(my_size);
4849 my_size
4850 }
4851
4852 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4853 if self.encryption_type != RestoreDatabaseEncryptionConfig_EncryptionType::ENCRYPTION_TYPE_UNSPECIFIED {
4854 os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.encryption_type))?;
4855 }
4856 if !self.kms_key_name.is_empty() {
4857 os.write_string(2, &self.kms_key_name)?;
4858 }
4859 os.write_unknown_fields(self.get_unknown_fields())?;
4860 ::std::result::Result::Ok(())
4861 }
4862
4863 fn get_cached_size(&self) -> u32 {
4864 self.cached_size.get()
4865 }
4866
4867 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4868 &self.unknown_fields
4869 }
4870
4871 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4872 &mut self.unknown_fields
4873 }
4874
4875 fn as_any(&self) -> &dyn (::std::any::Any) {
4876 self as &dyn (::std::any::Any)
4877 }
4878 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4879 self as &mut dyn (::std::any::Any)
4880 }
4881 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4882 self
4883 }
4884
4885 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4886 Self::descriptor_static()
4887 }
4888
4889 fn new() -> RestoreDatabaseEncryptionConfig {
4890 RestoreDatabaseEncryptionConfig::new()
4891 }
4892
4893 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4894 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4895 descriptor.get(|| {
4896 let mut fields = ::std::vec::Vec::new();
4897 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<RestoreDatabaseEncryptionConfig_EncryptionType>>(
4898 "encryption_type",
4899 |m: &RestoreDatabaseEncryptionConfig| { &m.encryption_type },
4900 |m: &mut RestoreDatabaseEncryptionConfig| { &mut m.encryption_type },
4901 ));
4902 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4903 "kms_key_name",
4904 |m: &RestoreDatabaseEncryptionConfig| { &m.kms_key_name },
4905 |m: &mut RestoreDatabaseEncryptionConfig| { &mut m.kms_key_name },
4906 ));
4907 ::protobuf::reflect::MessageDescriptor::new_pb_name::<RestoreDatabaseEncryptionConfig>(
4908 "RestoreDatabaseEncryptionConfig",
4909 fields,
4910 file_descriptor_proto()
4911 )
4912 })
4913 }
4914
4915 fn default_instance() -> &'static RestoreDatabaseEncryptionConfig {
4916 static instance: ::protobuf::rt::LazyV2<RestoreDatabaseEncryptionConfig> = ::protobuf::rt::LazyV2::INIT;
4917 instance.get(RestoreDatabaseEncryptionConfig::new)
4918 }
4919}
4920
4921impl ::protobuf::Clear for RestoreDatabaseEncryptionConfig {
4922 fn clear(&mut self) {
4923 self.encryption_type = RestoreDatabaseEncryptionConfig_EncryptionType::ENCRYPTION_TYPE_UNSPECIFIED;
4924 self.kms_key_name.clear();
4925 self.unknown_fields.clear();
4926 }
4927}
4928
4929impl ::std::fmt::Debug for RestoreDatabaseEncryptionConfig {
4930 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4931 ::protobuf::text_format::fmt(self, f)
4932 }
4933}
4934
4935impl ::protobuf::reflect::ProtobufValue for RestoreDatabaseEncryptionConfig {
4936 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4937 ::protobuf::reflect::ReflectValueRef::Message(self)
4938 }
4939}
4940
4941#[derive(Clone,PartialEq,Eq,Debug,Hash)]
4942pub enum RestoreDatabaseEncryptionConfig_EncryptionType {
4943 ENCRYPTION_TYPE_UNSPECIFIED = 0,
4944 USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION = 1,
4945 GOOGLE_DEFAULT_ENCRYPTION = 2,
4946 CUSTOMER_MANAGED_ENCRYPTION = 3,
4947}
4948
4949impl ::protobuf::ProtobufEnum for RestoreDatabaseEncryptionConfig_EncryptionType {
4950 fn value(&self) -> i32 {
4951 *self as i32
4952 }
4953
4954 fn from_i32(value: i32) -> ::std::option::Option<RestoreDatabaseEncryptionConfig_EncryptionType> {
4955 match value {
4956 0 => ::std::option::Option::Some(RestoreDatabaseEncryptionConfig_EncryptionType::ENCRYPTION_TYPE_UNSPECIFIED),
4957 1 => ::std::option::Option::Some(RestoreDatabaseEncryptionConfig_EncryptionType::USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION),
4958 2 => ::std::option::Option::Some(RestoreDatabaseEncryptionConfig_EncryptionType::GOOGLE_DEFAULT_ENCRYPTION),
4959 3 => ::std::option::Option::Some(RestoreDatabaseEncryptionConfig_EncryptionType::CUSTOMER_MANAGED_ENCRYPTION),
4960 _ => ::std::option::Option::None
4961 }
4962 }
4963
4964 fn values() -> &'static [Self] {
4965 static values: &'static [RestoreDatabaseEncryptionConfig_EncryptionType] = &[
4966 RestoreDatabaseEncryptionConfig_EncryptionType::ENCRYPTION_TYPE_UNSPECIFIED,
4967 RestoreDatabaseEncryptionConfig_EncryptionType::USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION,
4968 RestoreDatabaseEncryptionConfig_EncryptionType::GOOGLE_DEFAULT_ENCRYPTION,
4969 RestoreDatabaseEncryptionConfig_EncryptionType::CUSTOMER_MANAGED_ENCRYPTION,
4970 ];
4971 values
4972 }
4973
4974 fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
4975 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
4976 descriptor.get(|| {
4977 ::protobuf::reflect::EnumDescriptor::new_pb_name::<RestoreDatabaseEncryptionConfig_EncryptionType>("RestoreDatabaseEncryptionConfig.EncryptionType", file_descriptor_proto())
4978 })
4979 }
4980}
4981
4982impl ::std::marker::Copy for RestoreDatabaseEncryptionConfig_EncryptionType {
4983}
4984
4985impl ::std::default::Default for RestoreDatabaseEncryptionConfig_EncryptionType {
4986 fn default() -> Self {
4987 RestoreDatabaseEncryptionConfig_EncryptionType::ENCRYPTION_TYPE_UNSPECIFIED
4988 }
4989}
4990
4991impl ::protobuf::reflect::ProtobufValue for RestoreDatabaseEncryptionConfig_EncryptionType {
4992 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4993 ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
4994 }
4995}
4996
4997#[derive(PartialEq,Clone,Default)]
4998pub struct RestoreDatabaseMetadata {
4999 pub name: ::std::string::String,
5001 pub source_type: RestoreSourceType,
5002 pub progress: ::protobuf::SingularPtrField<super::common::OperationProgress>,
5003 pub cancel_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
5004 pub optimize_database_operation_name: ::std::string::String,
5005 pub source_info: ::std::option::Option<RestoreDatabaseMetadata_oneof_source_info>,
5007 pub unknown_fields: ::protobuf::UnknownFields,
5009 pub cached_size: ::protobuf::CachedSize,
5010}
5011
5012impl<'a> ::std::default::Default for &'a RestoreDatabaseMetadata {
5013 fn default() -> &'a RestoreDatabaseMetadata {
5014 <RestoreDatabaseMetadata as ::protobuf::Message>::default_instance()
5015 }
5016}
5017
5018#[derive(Clone,PartialEq,Debug)]
5019pub enum RestoreDatabaseMetadata_oneof_source_info {
5020 backup_info(super::backup::BackupInfo),
5021}
5022
5023impl RestoreDatabaseMetadata {
5024 pub fn new() -> RestoreDatabaseMetadata {
5025 ::std::default::Default::default()
5026 }
5027
5028 pub fn get_name(&self) -> &str {
5032 &self.name
5033 }
5034 pub fn clear_name(&mut self) {
5035 self.name.clear();
5036 }
5037
5038 pub fn set_name(&mut self, v: ::std::string::String) {
5040 self.name = v;
5041 }
5042
5043 pub fn mut_name(&mut self) -> &mut ::std::string::String {
5046 &mut self.name
5047 }
5048
5049 pub fn take_name(&mut self) -> ::std::string::String {
5051 ::std::mem::replace(&mut self.name, ::std::string::String::new())
5052 }
5053
5054 pub fn get_source_type(&self) -> RestoreSourceType {
5058 self.source_type
5059 }
5060 pub fn clear_source_type(&mut self) {
5061 self.source_type = RestoreSourceType::TYPE_UNSPECIFIED;
5062 }
5063
5064 pub fn set_source_type(&mut self, v: RestoreSourceType) {
5066 self.source_type = v;
5067 }
5068
5069 pub fn get_backup_info(&self) -> &super::backup::BackupInfo {
5073 match self.source_info {
5074 ::std::option::Option::Some(RestoreDatabaseMetadata_oneof_source_info::backup_info(ref v)) => v,
5075 _ => <super::backup::BackupInfo as ::protobuf::Message>::default_instance(),
5076 }
5077 }
5078 pub fn clear_backup_info(&mut self) {
5079 self.source_info = ::std::option::Option::None;
5080 }
5081
5082 pub fn has_backup_info(&self) -> bool {
5083 match self.source_info {
5084 ::std::option::Option::Some(RestoreDatabaseMetadata_oneof_source_info::backup_info(..)) => true,
5085 _ => false,
5086 }
5087 }
5088
5089 pub fn set_backup_info(&mut self, v: super::backup::BackupInfo) {
5091 self.source_info = ::std::option::Option::Some(RestoreDatabaseMetadata_oneof_source_info::backup_info(v))
5092 }
5093
5094 pub fn mut_backup_info(&mut self) -> &mut super::backup::BackupInfo {
5096 if let ::std::option::Option::Some(RestoreDatabaseMetadata_oneof_source_info::backup_info(_)) = self.source_info {
5097 } else {
5098 self.source_info = ::std::option::Option::Some(RestoreDatabaseMetadata_oneof_source_info::backup_info(super::backup::BackupInfo::new()));
5099 }
5100 match self.source_info {
5101 ::std::option::Option::Some(RestoreDatabaseMetadata_oneof_source_info::backup_info(ref mut v)) => v,
5102 _ => panic!(),
5103 }
5104 }
5105
5106 pub fn take_backup_info(&mut self) -> super::backup::BackupInfo {
5108 if self.has_backup_info() {
5109 match self.source_info.take() {
5110 ::std::option::Option::Some(RestoreDatabaseMetadata_oneof_source_info::backup_info(v)) => v,
5111 _ => panic!(),
5112 }
5113 } else {
5114 super::backup::BackupInfo::new()
5115 }
5116 }
5117
5118 pub fn get_progress(&self) -> &super::common::OperationProgress {
5122 self.progress.as_ref().unwrap_or_else(|| <super::common::OperationProgress as ::protobuf::Message>::default_instance())
5123 }
5124 pub fn clear_progress(&mut self) {
5125 self.progress.clear();
5126 }
5127
5128 pub fn has_progress(&self) -> bool {
5129 self.progress.is_some()
5130 }
5131
5132 pub fn set_progress(&mut self, v: super::common::OperationProgress) {
5134 self.progress = ::protobuf::SingularPtrField::some(v);
5135 }
5136
5137 pub fn mut_progress(&mut self) -> &mut super::common::OperationProgress {
5140 if self.progress.is_none() {
5141 self.progress.set_default();
5142 }
5143 self.progress.as_mut().unwrap()
5144 }
5145
5146 pub fn take_progress(&mut self) -> super::common::OperationProgress {
5148 self.progress.take().unwrap_or_else(|| super::common::OperationProgress::new())
5149 }
5150
5151 pub fn get_cancel_time(&self) -> &::protobuf::well_known_types::Timestamp {
5155 self.cancel_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
5156 }
5157 pub fn clear_cancel_time(&mut self) {
5158 self.cancel_time.clear();
5159 }
5160
5161 pub fn has_cancel_time(&self) -> bool {
5162 self.cancel_time.is_some()
5163 }
5164
5165 pub fn set_cancel_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
5167 self.cancel_time = ::protobuf::SingularPtrField::some(v);
5168 }
5169
5170 pub fn mut_cancel_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
5173 if self.cancel_time.is_none() {
5174 self.cancel_time.set_default();
5175 }
5176 self.cancel_time.as_mut().unwrap()
5177 }
5178
5179 pub fn take_cancel_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
5181 self.cancel_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
5182 }
5183
5184 pub fn get_optimize_database_operation_name(&self) -> &str {
5188 &self.optimize_database_operation_name
5189 }
5190 pub fn clear_optimize_database_operation_name(&mut self) {
5191 self.optimize_database_operation_name.clear();
5192 }
5193
5194 pub fn set_optimize_database_operation_name(&mut self, v: ::std::string::String) {
5196 self.optimize_database_operation_name = v;
5197 }
5198
5199 pub fn mut_optimize_database_operation_name(&mut self) -> &mut ::std::string::String {
5202 &mut self.optimize_database_operation_name
5203 }
5204
5205 pub fn take_optimize_database_operation_name(&mut self) -> ::std::string::String {
5207 ::std::mem::replace(&mut self.optimize_database_operation_name, ::std::string::String::new())
5208 }
5209}
5210
5211impl ::protobuf::Message for RestoreDatabaseMetadata {
5212 fn is_initialized(&self) -> bool {
5213 if let Some(RestoreDatabaseMetadata_oneof_source_info::backup_info(ref v)) = self.source_info {
5214 if !v.is_initialized() {
5215 return false;
5216 }
5217 }
5218 for v in &self.progress {
5219 if !v.is_initialized() {
5220 return false;
5221 }
5222 };
5223 for v in &self.cancel_time {
5224 if !v.is_initialized() {
5225 return false;
5226 }
5227 };
5228 true
5229 }
5230
5231 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5232 while !is.eof()? {
5233 let (field_number, wire_type) = is.read_tag_unpack()?;
5234 match field_number {
5235 1 => {
5236 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
5237 },
5238 2 => {
5239 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.source_type, 2, &mut self.unknown_fields)?
5240 },
5241 3 => {
5242 if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
5243 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5244 }
5245 self.source_info = ::std::option::Option::Some(RestoreDatabaseMetadata_oneof_source_info::backup_info(is.read_message()?));
5246 },
5247 4 => {
5248 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.progress)?;
5249 },
5250 5 => {
5251 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.cancel_time)?;
5252 },
5253 6 => {
5254 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.optimize_database_operation_name)?;
5255 },
5256 _ => {
5257 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5258 },
5259 };
5260 }
5261 ::std::result::Result::Ok(())
5262 }
5263
5264 #[allow(unused_variables)]
5266 fn compute_size(&self) -> u32 {
5267 let mut my_size = 0;
5268 if !self.name.is_empty() {
5269 my_size += ::protobuf::rt::string_size(1, &self.name);
5270 }
5271 if self.source_type != RestoreSourceType::TYPE_UNSPECIFIED {
5272 my_size += ::protobuf::rt::enum_size(2, self.source_type);
5273 }
5274 if let Some(ref v) = self.progress.as_ref() {
5275 let len = v.compute_size();
5276 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5277 }
5278 if let Some(ref v) = self.cancel_time.as_ref() {
5279 let len = v.compute_size();
5280 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5281 }
5282 if !self.optimize_database_operation_name.is_empty() {
5283 my_size += ::protobuf::rt::string_size(6, &self.optimize_database_operation_name);
5284 }
5285 if let ::std::option::Option::Some(ref v) = self.source_info {
5286 match v {
5287 &RestoreDatabaseMetadata_oneof_source_info::backup_info(ref v) => {
5288 let len = v.compute_size();
5289 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5290 },
5291 };
5292 }
5293 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5294 self.cached_size.set(my_size);
5295 my_size
5296 }
5297
5298 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5299 if !self.name.is_empty() {
5300 os.write_string(1, &self.name)?;
5301 }
5302 if self.source_type != RestoreSourceType::TYPE_UNSPECIFIED {
5303 os.write_enum(2, ::protobuf::ProtobufEnum::value(&self.source_type))?;
5304 }
5305 if let Some(ref v) = self.progress.as_ref() {
5306 os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5307 os.write_raw_varint32(v.get_cached_size())?;
5308 v.write_to_with_cached_sizes(os)?;
5309 }
5310 if let Some(ref v) = self.cancel_time.as_ref() {
5311 os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5312 os.write_raw_varint32(v.get_cached_size())?;
5313 v.write_to_with_cached_sizes(os)?;
5314 }
5315 if !self.optimize_database_operation_name.is_empty() {
5316 os.write_string(6, &self.optimize_database_operation_name)?;
5317 }
5318 if let ::std::option::Option::Some(ref v) = self.source_info {
5319 match v {
5320 &RestoreDatabaseMetadata_oneof_source_info::backup_info(ref v) => {
5321 os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5322 os.write_raw_varint32(v.get_cached_size())?;
5323 v.write_to_with_cached_sizes(os)?;
5324 },
5325 };
5326 }
5327 os.write_unknown_fields(self.get_unknown_fields())?;
5328 ::std::result::Result::Ok(())
5329 }
5330
5331 fn get_cached_size(&self) -> u32 {
5332 self.cached_size.get()
5333 }
5334
5335 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5336 &self.unknown_fields
5337 }
5338
5339 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5340 &mut self.unknown_fields
5341 }
5342
5343 fn as_any(&self) -> &dyn (::std::any::Any) {
5344 self as &dyn (::std::any::Any)
5345 }
5346 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5347 self as &mut dyn (::std::any::Any)
5348 }
5349 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5350 self
5351 }
5352
5353 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5354 Self::descriptor_static()
5355 }
5356
5357 fn new() -> RestoreDatabaseMetadata {
5358 RestoreDatabaseMetadata::new()
5359 }
5360
5361 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5362 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5363 descriptor.get(|| {
5364 let mut fields = ::std::vec::Vec::new();
5365 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5366 "name",
5367 |m: &RestoreDatabaseMetadata| { &m.name },
5368 |m: &mut RestoreDatabaseMetadata| { &mut m.name },
5369 ));
5370 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<RestoreSourceType>>(
5371 "source_type",
5372 |m: &RestoreDatabaseMetadata| { &m.source_type },
5373 |m: &mut RestoreDatabaseMetadata| { &mut m.source_type },
5374 ));
5375 fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, super::backup::BackupInfo>(
5376 "backup_info",
5377 RestoreDatabaseMetadata::has_backup_info,
5378 RestoreDatabaseMetadata::get_backup_info,
5379 ));
5380 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::common::OperationProgress>>(
5381 "progress",
5382 |m: &RestoreDatabaseMetadata| { &m.progress },
5383 |m: &mut RestoreDatabaseMetadata| { &mut m.progress },
5384 ));
5385 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
5386 "cancel_time",
5387 |m: &RestoreDatabaseMetadata| { &m.cancel_time },
5388 |m: &mut RestoreDatabaseMetadata| { &mut m.cancel_time },
5389 ));
5390 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5391 "optimize_database_operation_name",
5392 |m: &RestoreDatabaseMetadata| { &m.optimize_database_operation_name },
5393 |m: &mut RestoreDatabaseMetadata| { &mut m.optimize_database_operation_name },
5394 ));
5395 ::protobuf::reflect::MessageDescriptor::new_pb_name::<RestoreDatabaseMetadata>(
5396 "RestoreDatabaseMetadata",
5397 fields,
5398 file_descriptor_proto()
5399 )
5400 })
5401 }
5402
5403 fn default_instance() -> &'static RestoreDatabaseMetadata {
5404 static instance: ::protobuf::rt::LazyV2<RestoreDatabaseMetadata> = ::protobuf::rt::LazyV2::INIT;
5405 instance.get(RestoreDatabaseMetadata::new)
5406 }
5407}
5408
5409impl ::protobuf::Clear for RestoreDatabaseMetadata {
5410 fn clear(&mut self) {
5411 self.name.clear();
5412 self.source_type = RestoreSourceType::TYPE_UNSPECIFIED;
5413 self.source_info = ::std::option::Option::None;
5414 self.progress.clear();
5415 self.cancel_time.clear();
5416 self.optimize_database_operation_name.clear();
5417 self.unknown_fields.clear();
5418 }
5419}
5420
5421impl ::std::fmt::Debug for RestoreDatabaseMetadata {
5422 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5423 ::protobuf::text_format::fmt(self, f)
5424 }
5425}
5426
5427impl ::protobuf::reflect::ProtobufValue for RestoreDatabaseMetadata {
5428 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5429 ::protobuf::reflect::ReflectValueRef::Message(self)
5430 }
5431}
5432
5433#[derive(PartialEq,Clone,Default)]
5434pub struct OptimizeRestoredDatabaseMetadata {
5435 pub name: ::std::string::String,
5437 pub progress: ::protobuf::SingularPtrField<super::common::OperationProgress>,
5438 pub unknown_fields: ::protobuf::UnknownFields,
5440 pub cached_size: ::protobuf::CachedSize,
5441}
5442
5443impl<'a> ::std::default::Default for &'a OptimizeRestoredDatabaseMetadata {
5444 fn default() -> &'a OptimizeRestoredDatabaseMetadata {
5445 <OptimizeRestoredDatabaseMetadata as ::protobuf::Message>::default_instance()
5446 }
5447}
5448
5449impl OptimizeRestoredDatabaseMetadata {
5450 pub fn new() -> OptimizeRestoredDatabaseMetadata {
5451 ::std::default::Default::default()
5452 }
5453
5454 pub fn get_name(&self) -> &str {
5458 &self.name
5459 }
5460 pub fn clear_name(&mut self) {
5461 self.name.clear();
5462 }
5463
5464 pub fn set_name(&mut self, v: ::std::string::String) {
5466 self.name = v;
5467 }
5468
5469 pub fn mut_name(&mut self) -> &mut ::std::string::String {
5472 &mut self.name
5473 }
5474
5475 pub fn take_name(&mut self) -> ::std::string::String {
5477 ::std::mem::replace(&mut self.name, ::std::string::String::new())
5478 }
5479
5480 pub fn get_progress(&self) -> &super::common::OperationProgress {
5484 self.progress.as_ref().unwrap_or_else(|| <super::common::OperationProgress as ::protobuf::Message>::default_instance())
5485 }
5486 pub fn clear_progress(&mut self) {
5487 self.progress.clear();
5488 }
5489
5490 pub fn has_progress(&self) -> bool {
5491 self.progress.is_some()
5492 }
5493
5494 pub fn set_progress(&mut self, v: super::common::OperationProgress) {
5496 self.progress = ::protobuf::SingularPtrField::some(v);
5497 }
5498
5499 pub fn mut_progress(&mut self) -> &mut super::common::OperationProgress {
5502 if self.progress.is_none() {
5503 self.progress.set_default();
5504 }
5505 self.progress.as_mut().unwrap()
5506 }
5507
5508 pub fn take_progress(&mut self) -> super::common::OperationProgress {
5510 self.progress.take().unwrap_or_else(|| super::common::OperationProgress::new())
5511 }
5512}
5513
5514impl ::protobuf::Message for OptimizeRestoredDatabaseMetadata {
5515 fn is_initialized(&self) -> bool {
5516 for v in &self.progress {
5517 if !v.is_initialized() {
5518 return false;
5519 }
5520 };
5521 true
5522 }
5523
5524 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5525 while !is.eof()? {
5526 let (field_number, wire_type) = is.read_tag_unpack()?;
5527 match field_number {
5528 1 => {
5529 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
5530 },
5531 2 => {
5532 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.progress)?;
5533 },
5534 _ => {
5535 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5536 },
5537 };
5538 }
5539 ::std::result::Result::Ok(())
5540 }
5541
5542 #[allow(unused_variables)]
5544 fn compute_size(&self) -> u32 {
5545 let mut my_size = 0;
5546 if !self.name.is_empty() {
5547 my_size += ::protobuf::rt::string_size(1, &self.name);
5548 }
5549 if let Some(ref v) = self.progress.as_ref() {
5550 let len = v.compute_size();
5551 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5552 }
5553 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5554 self.cached_size.set(my_size);
5555 my_size
5556 }
5557
5558 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5559 if !self.name.is_empty() {
5560 os.write_string(1, &self.name)?;
5561 }
5562 if let Some(ref v) = self.progress.as_ref() {
5563 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5564 os.write_raw_varint32(v.get_cached_size())?;
5565 v.write_to_with_cached_sizes(os)?;
5566 }
5567 os.write_unknown_fields(self.get_unknown_fields())?;
5568 ::std::result::Result::Ok(())
5569 }
5570
5571 fn get_cached_size(&self) -> u32 {
5572 self.cached_size.get()
5573 }
5574
5575 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5576 &self.unknown_fields
5577 }
5578
5579 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5580 &mut self.unknown_fields
5581 }
5582
5583 fn as_any(&self) -> &dyn (::std::any::Any) {
5584 self as &dyn (::std::any::Any)
5585 }
5586 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5587 self as &mut dyn (::std::any::Any)
5588 }
5589 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5590 self
5591 }
5592
5593 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5594 Self::descriptor_static()
5595 }
5596
5597 fn new() -> OptimizeRestoredDatabaseMetadata {
5598 OptimizeRestoredDatabaseMetadata::new()
5599 }
5600
5601 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5602 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5603 descriptor.get(|| {
5604 let mut fields = ::std::vec::Vec::new();
5605 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5606 "name",
5607 |m: &OptimizeRestoredDatabaseMetadata| { &m.name },
5608 |m: &mut OptimizeRestoredDatabaseMetadata| { &mut m.name },
5609 ));
5610 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::common::OperationProgress>>(
5611 "progress",
5612 |m: &OptimizeRestoredDatabaseMetadata| { &m.progress },
5613 |m: &mut OptimizeRestoredDatabaseMetadata| { &mut m.progress },
5614 ));
5615 ::protobuf::reflect::MessageDescriptor::new_pb_name::<OptimizeRestoredDatabaseMetadata>(
5616 "OptimizeRestoredDatabaseMetadata",
5617 fields,
5618 file_descriptor_proto()
5619 )
5620 })
5621 }
5622
5623 fn default_instance() -> &'static OptimizeRestoredDatabaseMetadata {
5624 static instance: ::protobuf::rt::LazyV2<OptimizeRestoredDatabaseMetadata> = ::protobuf::rt::LazyV2::INIT;
5625 instance.get(OptimizeRestoredDatabaseMetadata::new)
5626 }
5627}
5628
5629impl ::protobuf::Clear for OptimizeRestoredDatabaseMetadata {
5630 fn clear(&mut self) {
5631 self.name.clear();
5632 self.progress.clear();
5633 self.unknown_fields.clear();
5634 }
5635}
5636
5637impl ::std::fmt::Debug for OptimizeRestoredDatabaseMetadata {
5638 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5639 ::protobuf::text_format::fmt(self, f)
5640 }
5641}
5642
5643impl ::protobuf::reflect::ProtobufValue for OptimizeRestoredDatabaseMetadata {
5644 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5645 ::protobuf::reflect::ReflectValueRef::Message(self)
5646 }
5647}
5648
5649#[derive(PartialEq,Clone,Default)]
5650pub struct DatabaseRole {
5651 pub name: ::std::string::String,
5653 pub unknown_fields: ::protobuf::UnknownFields,
5655 pub cached_size: ::protobuf::CachedSize,
5656}
5657
5658impl<'a> ::std::default::Default for &'a DatabaseRole {
5659 fn default() -> &'a DatabaseRole {
5660 <DatabaseRole as ::protobuf::Message>::default_instance()
5661 }
5662}
5663
5664impl DatabaseRole {
5665 pub fn new() -> DatabaseRole {
5666 ::std::default::Default::default()
5667 }
5668
5669 pub fn get_name(&self) -> &str {
5673 &self.name
5674 }
5675 pub fn clear_name(&mut self) {
5676 self.name.clear();
5677 }
5678
5679 pub fn set_name(&mut self, v: ::std::string::String) {
5681 self.name = v;
5682 }
5683
5684 pub fn mut_name(&mut self) -> &mut ::std::string::String {
5687 &mut self.name
5688 }
5689
5690 pub fn take_name(&mut self) -> ::std::string::String {
5692 ::std::mem::replace(&mut self.name, ::std::string::String::new())
5693 }
5694}
5695
5696impl ::protobuf::Message for DatabaseRole {
5697 fn is_initialized(&self) -> bool {
5698 true
5699 }
5700
5701 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5702 while !is.eof()? {
5703 let (field_number, wire_type) = is.read_tag_unpack()?;
5704 match field_number {
5705 1 => {
5706 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
5707 },
5708 _ => {
5709 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5710 },
5711 };
5712 }
5713 ::std::result::Result::Ok(())
5714 }
5715
5716 #[allow(unused_variables)]
5718 fn compute_size(&self) -> u32 {
5719 let mut my_size = 0;
5720 if !self.name.is_empty() {
5721 my_size += ::protobuf::rt::string_size(1, &self.name);
5722 }
5723 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5724 self.cached_size.set(my_size);
5725 my_size
5726 }
5727
5728 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5729 if !self.name.is_empty() {
5730 os.write_string(1, &self.name)?;
5731 }
5732 os.write_unknown_fields(self.get_unknown_fields())?;
5733 ::std::result::Result::Ok(())
5734 }
5735
5736 fn get_cached_size(&self) -> u32 {
5737 self.cached_size.get()
5738 }
5739
5740 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5741 &self.unknown_fields
5742 }
5743
5744 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5745 &mut self.unknown_fields
5746 }
5747
5748 fn as_any(&self) -> &dyn (::std::any::Any) {
5749 self as &dyn (::std::any::Any)
5750 }
5751 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5752 self as &mut dyn (::std::any::Any)
5753 }
5754 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5755 self
5756 }
5757
5758 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5759 Self::descriptor_static()
5760 }
5761
5762 fn new() -> DatabaseRole {
5763 DatabaseRole::new()
5764 }
5765
5766 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5767 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5768 descriptor.get(|| {
5769 let mut fields = ::std::vec::Vec::new();
5770 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5771 "name",
5772 |m: &DatabaseRole| { &m.name },
5773 |m: &mut DatabaseRole| { &mut m.name },
5774 ));
5775 ::protobuf::reflect::MessageDescriptor::new_pb_name::<DatabaseRole>(
5776 "DatabaseRole",
5777 fields,
5778 file_descriptor_proto()
5779 )
5780 })
5781 }
5782
5783 fn default_instance() -> &'static DatabaseRole {
5784 static instance: ::protobuf::rt::LazyV2<DatabaseRole> = ::protobuf::rt::LazyV2::INIT;
5785 instance.get(DatabaseRole::new)
5786 }
5787}
5788
5789impl ::protobuf::Clear for DatabaseRole {
5790 fn clear(&mut self) {
5791 self.name.clear();
5792 self.unknown_fields.clear();
5793 }
5794}
5795
5796impl ::std::fmt::Debug for DatabaseRole {
5797 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5798 ::protobuf::text_format::fmt(self, f)
5799 }
5800}
5801
5802impl ::protobuf::reflect::ProtobufValue for DatabaseRole {
5803 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5804 ::protobuf::reflect::ReflectValueRef::Message(self)
5805 }
5806}
5807
5808#[derive(PartialEq,Clone,Default)]
5809pub struct ListDatabaseRolesRequest {
5810 pub parent: ::std::string::String,
5812 pub page_size: i32,
5813 pub page_token: ::std::string::String,
5814 pub unknown_fields: ::protobuf::UnknownFields,
5816 pub cached_size: ::protobuf::CachedSize,
5817}
5818
5819impl<'a> ::std::default::Default for &'a ListDatabaseRolesRequest {
5820 fn default() -> &'a ListDatabaseRolesRequest {
5821 <ListDatabaseRolesRequest as ::protobuf::Message>::default_instance()
5822 }
5823}
5824
5825impl ListDatabaseRolesRequest {
5826 pub fn new() -> ListDatabaseRolesRequest {
5827 ::std::default::Default::default()
5828 }
5829
5830 pub fn get_parent(&self) -> &str {
5834 &self.parent
5835 }
5836 pub fn clear_parent(&mut self) {
5837 self.parent.clear();
5838 }
5839
5840 pub fn set_parent(&mut self, v: ::std::string::String) {
5842 self.parent = v;
5843 }
5844
5845 pub fn mut_parent(&mut self) -> &mut ::std::string::String {
5848 &mut self.parent
5849 }
5850
5851 pub fn take_parent(&mut self) -> ::std::string::String {
5853 ::std::mem::replace(&mut self.parent, ::std::string::String::new())
5854 }
5855
5856 pub fn get_page_size(&self) -> i32 {
5860 self.page_size
5861 }
5862 pub fn clear_page_size(&mut self) {
5863 self.page_size = 0;
5864 }
5865
5866 pub fn set_page_size(&mut self, v: i32) {
5868 self.page_size = v;
5869 }
5870
5871 pub fn get_page_token(&self) -> &str {
5875 &self.page_token
5876 }
5877 pub fn clear_page_token(&mut self) {
5878 self.page_token.clear();
5879 }
5880
5881 pub fn set_page_token(&mut self, v: ::std::string::String) {
5883 self.page_token = v;
5884 }
5885
5886 pub fn mut_page_token(&mut self) -> &mut ::std::string::String {
5889 &mut self.page_token
5890 }
5891
5892 pub fn take_page_token(&mut self) -> ::std::string::String {
5894 ::std::mem::replace(&mut self.page_token, ::std::string::String::new())
5895 }
5896}
5897
5898impl ::protobuf::Message for ListDatabaseRolesRequest {
5899 fn is_initialized(&self) -> bool {
5900 true
5901 }
5902
5903 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5904 while !is.eof()? {
5905 let (field_number, wire_type) = is.read_tag_unpack()?;
5906 match field_number {
5907 1 => {
5908 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
5909 },
5910 2 => {
5911 if wire_type != ::protobuf::wire_format::WireTypeVarint {
5912 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5913 }
5914 let tmp = is.read_int32()?;
5915 self.page_size = tmp;
5916 },
5917 3 => {
5918 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.page_token)?;
5919 },
5920 _ => {
5921 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5922 },
5923 };
5924 }
5925 ::std::result::Result::Ok(())
5926 }
5927
5928 #[allow(unused_variables)]
5930 fn compute_size(&self) -> u32 {
5931 let mut my_size = 0;
5932 if !self.parent.is_empty() {
5933 my_size += ::protobuf::rt::string_size(1, &self.parent);
5934 }
5935 if self.page_size != 0 {
5936 my_size += ::protobuf::rt::value_size(2, self.page_size, ::protobuf::wire_format::WireTypeVarint);
5937 }
5938 if !self.page_token.is_empty() {
5939 my_size += ::protobuf::rt::string_size(3, &self.page_token);
5940 }
5941 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5942 self.cached_size.set(my_size);
5943 my_size
5944 }
5945
5946 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5947 if !self.parent.is_empty() {
5948 os.write_string(1, &self.parent)?;
5949 }
5950 if self.page_size != 0 {
5951 os.write_int32(2, self.page_size)?;
5952 }
5953 if !self.page_token.is_empty() {
5954 os.write_string(3, &self.page_token)?;
5955 }
5956 os.write_unknown_fields(self.get_unknown_fields())?;
5957 ::std::result::Result::Ok(())
5958 }
5959
5960 fn get_cached_size(&self) -> u32 {
5961 self.cached_size.get()
5962 }
5963
5964 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5965 &self.unknown_fields
5966 }
5967
5968 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5969 &mut self.unknown_fields
5970 }
5971
5972 fn as_any(&self) -> &dyn (::std::any::Any) {
5973 self as &dyn (::std::any::Any)
5974 }
5975 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5976 self as &mut dyn (::std::any::Any)
5977 }
5978 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5979 self
5980 }
5981
5982 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5983 Self::descriptor_static()
5984 }
5985
5986 fn new() -> ListDatabaseRolesRequest {
5987 ListDatabaseRolesRequest::new()
5988 }
5989
5990 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5991 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5992 descriptor.get(|| {
5993 let mut fields = ::std::vec::Vec::new();
5994 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5995 "parent",
5996 |m: &ListDatabaseRolesRequest| { &m.parent },
5997 |m: &mut ListDatabaseRolesRequest| { &mut m.parent },
5998 ));
5999 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
6000 "page_size",
6001 |m: &ListDatabaseRolesRequest| { &m.page_size },
6002 |m: &mut ListDatabaseRolesRequest| { &mut m.page_size },
6003 ));
6004 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
6005 "page_token",
6006 |m: &ListDatabaseRolesRequest| { &m.page_token },
6007 |m: &mut ListDatabaseRolesRequest| { &mut m.page_token },
6008 ));
6009 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListDatabaseRolesRequest>(
6010 "ListDatabaseRolesRequest",
6011 fields,
6012 file_descriptor_proto()
6013 )
6014 })
6015 }
6016
6017 fn default_instance() -> &'static ListDatabaseRolesRequest {
6018 static instance: ::protobuf::rt::LazyV2<ListDatabaseRolesRequest> = ::protobuf::rt::LazyV2::INIT;
6019 instance.get(ListDatabaseRolesRequest::new)
6020 }
6021}
6022
6023impl ::protobuf::Clear for ListDatabaseRolesRequest {
6024 fn clear(&mut self) {
6025 self.parent.clear();
6026 self.page_size = 0;
6027 self.page_token.clear();
6028 self.unknown_fields.clear();
6029 }
6030}
6031
6032impl ::std::fmt::Debug for ListDatabaseRolesRequest {
6033 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6034 ::protobuf::text_format::fmt(self, f)
6035 }
6036}
6037
6038impl ::protobuf::reflect::ProtobufValue for ListDatabaseRolesRequest {
6039 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6040 ::protobuf::reflect::ReflectValueRef::Message(self)
6041 }
6042}
6043
6044#[derive(PartialEq,Clone,Default)]
6045pub struct ListDatabaseRolesResponse {
6046 pub database_roles: ::protobuf::RepeatedField<DatabaseRole>,
6048 pub next_page_token: ::std::string::String,
6049 pub unknown_fields: ::protobuf::UnknownFields,
6051 pub cached_size: ::protobuf::CachedSize,
6052}
6053
6054impl<'a> ::std::default::Default for &'a ListDatabaseRolesResponse {
6055 fn default() -> &'a ListDatabaseRolesResponse {
6056 <ListDatabaseRolesResponse as ::protobuf::Message>::default_instance()
6057 }
6058}
6059
6060impl ListDatabaseRolesResponse {
6061 pub fn new() -> ListDatabaseRolesResponse {
6062 ::std::default::Default::default()
6063 }
6064
6065 pub fn get_database_roles(&self) -> &[DatabaseRole] {
6069 &self.database_roles
6070 }
6071 pub fn clear_database_roles(&mut self) {
6072 self.database_roles.clear();
6073 }
6074
6075 pub fn set_database_roles(&mut self, v: ::protobuf::RepeatedField<DatabaseRole>) {
6077 self.database_roles = v;
6078 }
6079
6080 pub fn mut_database_roles(&mut self) -> &mut ::protobuf::RepeatedField<DatabaseRole> {
6082 &mut self.database_roles
6083 }
6084
6085 pub fn take_database_roles(&mut self) -> ::protobuf::RepeatedField<DatabaseRole> {
6087 ::std::mem::replace(&mut self.database_roles, ::protobuf::RepeatedField::new())
6088 }
6089
6090 pub fn get_next_page_token(&self) -> &str {
6094 &self.next_page_token
6095 }
6096 pub fn clear_next_page_token(&mut self) {
6097 self.next_page_token.clear();
6098 }
6099
6100 pub fn set_next_page_token(&mut self, v: ::std::string::String) {
6102 self.next_page_token = v;
6103 }
6104
6105 pub fn mut_next_page_token(&mut self) -> &mut ::std::string::String {
6108 &mut self.next_page_token
6109 }
6110
6111 pub fn take_next_page_token(&mut self) -> ::std::string::String {
6113 ::std::mem::replace(&mut self.next_page_token, ::std::string::String::new())
6114 }
6115}
6116
6117impl ::protobuf::Message for ListDatabaseRolesResponse {
6118 fn is_initialized(&self) -> bool {
6119 for v in &self.database_roles {
6120 if !v.is_initialized() {
6121 return false;
6122 }
6123 };
6124 true
6125 }
6126
6127 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6128 while !is.eof()? {
6129 let (field_number, wire_type) = is.read_tag_unpack()?;
6130 match field_number {
6131 1 => {
6132 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.database_roles)?;
6133 },
6134 2 => {
6135 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.next_page_token)?;
6136 },
6137 _ => {
6138 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
6139 },
6140 };
6141 }
6142 ::std::result::Result::Ok(())
6143 }
6144
6145 #[allow(unused_variables)]
6147 fn compute_size(&self) -> u32 {
6148 let mut my_size = 0;
6149 for value in &self.database_roles {
6150 let len = value.compute_size();
6151 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
6152 };
6153 if !self.next_page_token.is_empty() {
6154 my_size += ::protobuf::rt::string_size(2, &self.next_page_token);
6155 }
6156 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
6157 self.cached_size.set(my_size);
6158 my_size
6159 }
6160
6161 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6162 for v in &self.database_roles {
6163 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
6164 os.write_raw_varint32(v.get_cached_size())?;
6165 v.write_to_with_cached_sizes(os)?;
6166 };
6167 if !self.next_page_token.is_empty() {
6168 os.write_string(2, &self.next_page_token)?;
6169 }
6170 os.write_unknown_fields(self.get_unknown_fields())?;
6171 ::std::result::Result::Ok(())
6172 }
6173
6174 fn get_cached_size(&self) -> u32 {
6175 self.cached_size.get()
6176 }
6177
6178 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
6179 &self.unknown_fields
6180 }
6181
6182 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
6183 &mut self.unknown_fields
6184 }
6185
6186 fn as_any(&self) -> &dyn (::std::any::Any) {
6187 self as &dyn (::std::any::Any)
6188 }
6189 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
6190 self as &mut dyn (::std::any::Any)
6191 }
6192 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
6193 self
6194 }
6195
6196 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
6197 Self::descriptor_static()
6198 }
6199
6200 fn new() -> ListDatabaseRolesResponse {
6201 ListDatabaseRolesResponse::new()
6202 }
6203
6204 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
6205 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
6206 descriptor.get(|| {
6207 let mut fields = ::std::vec::Vec::new();
6208 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<DatabaseRole>>(
6209 "database_roles",
6210 |m: &ListDatabaseRolesResponse| { &m.database_roles },
6211 |m: &mut ListDatabaseRolesResponse| { &mut m.database_roles },
6212 ));
6213 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
6214 "next_page_token",
6215 |m: &ListDatabaseRolesResponse| { &m.next_page_token },
6216 |m: &mut ListDatabaseRolesResponse| { &mut m.next_page_token },
6217 ));
6218 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListDatabaseRolesResponse>(
6219 "ListDatabaseRolesResponse",
6220 fields,
6221 file_descriptor_proto()
6222 )
6223 })
6224 }
6225
6226 fn default_instance() -> &'static ListDatabaseRolesResponse {
6227 static instance: ::protobuf::rt::LazyV2<ListDatabaseRolesResponse> = ::protobuf::rt::LazyV2::INIT;
6228 instance.get(ListDatabaseRolesResponse::new)
6229 }
6230}
6231
6232impl ::protobuf::Clear for ListDatabaseRolesResponse {
6233 fn clear(&mut self) {
6234 self.database_roles.clear();
6235 self.next_page_token.clear();
6236 self.unknown_fields.clear();
6237 }
6238}
6239
6240impl ::std::fmt::Debug for ListDatabaseRolesResponse {
6241 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6242 ::protobuf::text_format::fmt(self, f)
6243 }
6244}
6245
6246impl ::protobuf::reflect::ProtobufValue for ListDatabaseRolesResponse {
6247 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6248 ::protobuf::reflect::ReflectValueRef::Message(self)
6249 }
6250}
6251
6252#[derive(Clone,PartialEq,Eq,Debug,Hash)]
6253pub enum RestoreSourceType {
6254 TYPE_UNSPECIFIED = 0,
6255 BACKUP = 1,
6256}
6257
6258impl ::protobuf::ProtobufEnum for RestoreSourceType {
6259 fn value(&self) -> i32 {
6260 *self as i32
6261 }
6262
6263 fn from_i32(value: i32) -> ::std::option::Option<RestoreSourceType> {
6264 match value {
6265 0 => ::std::option::Option::Some(RestoreSourceType::TYPE_UNSPECIFIED),
6266 1 => ::std::option::Option::Some(RestoreSourceType::BACKUP),
6267 _ => ::std::option::Option::None
6268 }
6269 }
6270
6271 fn values() -> &'static [Self] {
6272 static values: &'static [RestoreSourceType] = &[
6273 RestoreSourceType::TYPE_UNSPECIFIED,
6274 RestoreSourceType::BACKUP,
6275 ];
6276 values
6277 }
6278
6279 fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
6280 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
6281 descriptor.get(|| {
6282 ::protobuf::reflect::EnumDescriptor::new_pb_name::<RestoreSourceType>("RestoreSourceType", file_descriptor_proto())
6283 })
6284 }
6285}
6286
6287impl ::std::marker::Copy for RestoreSourceType {
6288}
6289
6290impl ::std::default::Default for RestoreSourceType {
6291 fn default() -> Self {
6292 RestoreSourceType::TYPE_UNSPECIFIED
6293 }
6294}
6295
6296impl ::protobuf::reflect::ProtobufValue for RestoreSourceType {
6297 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6298 ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
6299 }
6300}
6301
6302static file_descriptor_proto_data: &'static [u8] = b"\
6303 \n=google/spanner/admin/database/v1/spanner_database_admin.proto\x12\x20\
6304 google.spanner.admin.database.v1\x1a\x1cgoogle/api/annotations.proto\x1a\
6305 \x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\
6306 \x19google/api/resource.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\
6307 \x1agoogle/iam/v1/policy.proto\x1a#google/longrunning/operations.proto\
6308 \x1a\x1bgoogle/protobuf/empty.proto\x1a\x20google/protobuf/field_mask.pr\
6309 oto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a-google/spanner/admin/data\
6310 base/v1/backup.proto\x1a-google/spanner/admin/database/v1/common.proto\"\
6311 \xc3\x01\n\x0bRestoreInfo\x12T\n\x0bsource_type\x18\x01\x20\x01(\x0e23.g\
6312 oogle.spanner.admin.database.v1.RestoreSourceTypeR\nsourceType\x12O\n\
6313 \x0bbackup_info\x18\x02\x20\x01(\x0b2,.google.spanner.admin.database.v1.\
6314 BackupInfoH\0R\nbackupInfoB\r\n\x0bsource_info\"\x82\x08\n\x08Database\
6315 \x12\x17\n\x04name\x18\x01\x20\x01(\tR\x04nameB\x03\xe0A\x02\x12K\n\x05s\
6316 tate\x18\x02\x20\x01(\x0e20.google.spanner.admin.database.v1.Database.St\
6317 ateR\x05stateB\x03\xe0A\x03\x12@\n\x0bcreate_time\x18\x03\x20\x01(\x0b2\
6318 \x1a.google.protobuf.TimestampR\ncreateTimeB\x03\xe0A\x03\x12U\n\x0crest\
6319 ore_info\x18\x04\x20\x01(\x0b2-.google.spanner.admin.database.v1.Restore\
6320 InfoR\x0brestoreInfoB\x03\xe0A\x03\x12d\n\x11encryption_config\x18\x05\
6321 \x20\x01(\x0b22.google.spanner.admin.database.v1.EncryptionConfigR\x10en\
6322 cryptionConfigB\x03\xe0A\x03\x12^\n\x0fencryption_info\x18\x08\x20\x03(\
6323 \x0b20.google.spanner.admin.database.v1.EncryptionInfoR\x0eencryptionInf\
6324 oB\x03\xe0A\x03\x12=\n\x18version_retention_period\x18\x06\x20\x01(\tR\
6325 \x16versionRetentionPeriodB\x03\xe0A\x03\x12S\n\x15earliest_version_time\
6326 \x18\x07\x20\x01(\x0b2\x1a.google.protobuf.TimestampR\x13earliestVersion\
6327 TimeB\x03\xe0A\x03\x12*\n\x0edefault_leader\x18\t\x20\x01(\tR\rdefaultLe\
6328 aderB\x03\xe0A\x03\x12a\n\x10database_dialect\x18\n\x20\x01(\x0e21.googl\
6329 e.spanner.admin.database.v1.DatabaseDialectR\x0fdatabaseDialectB\x03\xe0\
6330 A\x03\x124\n\x16enable_drop_protection\x18\x0b\x20\x01(\x08R\x14enableDr\
6331 opProtection\x12%\n\x0breconciling\x18\x0c\x20\x01(\x08R\x0breconcilingB\
6332 \x03\xe0A\x03\"M\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\0\x12\x0c\
6333 \n\x08CREATING\x10\x01\x12\t\n\x05READY\x10\x02\x12\x14\n\x10READY_OPTIM\
6334 IZING\x10\x03:b\xeaA_\n\x1fspanner.googleapis.com/Database\x12<projects/\
6335 {project}/instances/{instance}/databases/{database}\"\x93\x01\n\x14ListD\
6336 atabasesRequest\x12?\n\x06parent\x18\x01\x20\x01(\tR\x06parentB'\xfaA!\n\
6337 \x1fspanner.googleapis.com/Instance\xe0A\x02\x12\x1b\n\tpage_size\x18\
6338 \x03\x20\x01(\x05R\x08pageSize\x12\x1d\n\npage_token\x18\x04\x20\x01(\tR\
6339 \tpageToken\"\x89\x01\n\x15ListDatabasesResponse\x12H\n\tdatabases\x18\
6340 \x01\x20\x03(\x0b2*.google.spanner.admin.database.v1.DatabaseR\tdatabase\
6341 s\x12&\n\x0fnext_page_token\x18\x02\x20\x01(\tR\rnextPageToken\"\x81\x03\
6342 \n\x15CreateDatabaseRequest\x12?\n\x06parent\x18\x01\x20\x01(\tR\x06pare\
6343 ntB'\xfaA!\n\x1fspanner.googleapis.com/Instance\xe0A\x02\x12.\n\x10creat\
6344 e_statement\x18\x02\x20\x01(\tR\x0fcreateStatementB\x03\xe0A\x02\x12.\n\
6345 \x10extra_statements\x18\x03\x20\x03(\tR\x0fextraStatementsB\x03\xe0A\
6346 \x01\x12d\n\x11encryption_config\x18\x04\x20\x01(\x0b22.google.spanner.a\
6347 dmin.database.v1.EncryptionConfigR\x10encryptionConfigB\x03\xe0A\x01\x12\
6348 a\n\x10database_dialect\x18\x05\x20\x01(\x0e21.google.spanner.admin.data\
6349 base.v1.DatabaseDialectR\x0fdatabaseDialectB\x03\xe0A\x01\"Z\n\x16Create\
6350 DatabaseMetadata\x12@\n\x08database\x18\x01\x20\x01(\tR\x08databaseB$\
6351 \xfaA!\n\x1fspanner.googleapis.com/Database\"Q\n\x12GetDatabaseRequest\
6352 \x12;\n\x04name\x18\x01\x20\x01(\tR\x04nameB'\xfaA!\n\x1fspanner.googlea\
6353 pis.com/Database\xe0A\x02\"\xa6\x01\n\x15UpdateDatabaseRequest\x12K\n\
6354 \x08database\x18\x01\x20\x01(\x0b2*.google.spanner.admin.database.v1.Dat\
6355 abaseR\x08databaseB\x03\xe0A\x02\x12@\n\x0bupdate_mask\x18\x02\x20\x01(\
6356 \x0b2\x1a.google.protobuf.FieldMaskR\nupdateMaskB\x03\xe0A\x02\"\xf9\x01\
6357 \n\x16UpdateDatabaseMetadata\x12Q\n\x07request\x18\x01\x20\x01(\x0b27.go\
6358 ogle.spanner.admin.database.v1.UpdateDatabaseRequestR\x07request\x12O\n\
6359 \x08progress\x18\x02\x20\x01(\x0b23.google.spanner.admin.database.v1.Ope\
6360 rationProgressR\x08progress\x12;\n\x0bcancel_time\x18\x03\x20\x01(\x0b2\
6361 \x1a.google.protobuf.TimestampR\ncancelTime\"\xa7\x01\n\x18UpdateDatabas\
6362 eDdlRequest\x12C\n\x08database\x18\x01\x20\x01(\tR\x08databaseB'\xfaA!\n\
6363 \x1fspanner.googleapis.com/Database\xe0A\x02\x12#\n\nstatements\x18\x02\
6364 \x20\x03(\tR\nstatementsB\x03\xe0A\x02\x12!\n\x0coperation_id\x18\x03\
6365 \x20\x01(\tR\x0boperationId\"t\n\x16DdlStatementActionInfo\x12\x16\n\x06\
6366 action\x18\x01\x20\x01(\tR\x06action\x12\x1f\n\x0bentity_type\x18\x02\
6367 \x20\x01(\tR\nentityType\x12!\n\x0centity_names\x18\x03\x20\x03(\tR\x0be\
6368 ntityNames\"\x8e\x03\n\x19UpdateDatabaseDdlMetadata\x12@\n\x08database\
6369 \x18\x01\x20\x01(\tR\x08databaseB$\xfaA!\n\x1fspanner.googleapis.com/Dat\
6370 abase\x12\x1e\n\nstatements\x18\x02\x20\x03(\tR\nstatements\x12G\n\x11co\
6371 mmit_timestamps\x18\x03\x20\x03(\x0b2\x1a.google.protobuf.TimestampR\x10\
6372 commitTimestamps\x12!\n\tthrottled\x18\x04\x20\x01(\x08R\tthrottledB\x03\
6373 \xe0A\x03\x12O\n\x08progress\x18\x05\x20\x03(\x0b23.google.spanner.admin\
6374 .database.v1.OperationProgressR\x08progress\x12R\n\x07actions\x18\x06\
6375 \x20\x03(\x0b28.google.spanner.admin.database.v1.DdlStatementActionInfoR\
6376 \x07actions\"Z\n\x13DropDatabaseRequest\x12C\n\x08database\x18\x01\x20\
6377 \x01(\tR\x08databaseB'\xfaA!\n\x1fspanner.googleapis.com/Database\xe0A\
6378 \x02\"\\\n\x15GetDatabaseDdlRequest\x12C\n\x08database\x18\x01\x20\x01(\
6379 \tR\x08databaseB'\xfaA!\n\x1fspanner.googleapis.com/Database\xe0A\x02\"8\
6380 \n\x16GetDatabaseDdlResponse\x12\x1e\n\nstatements\x18\x01\x20\x03(\tR\n\
6381 statements\"\xb4\x01\n\x1dListDatabaseOperationsRequest\x12?\n\x06parent\
6382 \x18\x01\x20\x01(\tR\x06parentB'\xfaA!\n\x1fspanner.googleapis.com/Insta\
6383 nce\xe0A\x02\x12\x16\n\x06filter\x18\x02\x20\x01(\tR\x06filter\x12\x1b\n\
6384 \tpage_size\x18\x03\x20\x01(\x05R\x08pageSize\x12\x1d\n\npage_token\x18\
6385 \x04\x20\x01(\tR\tpageToken\"\x87\x01\n\x1eListDatabaseOperationsRespons\
6386 e\x12=\n\noperations\x18\x01\x20\x03(\x0b2\x1d.google.longrunning.Operat\
6387 ionR\noperations\x12&\n\x0fnext_page_token\x18\x02\x20\x01(\tR\rnextPage\
6388 Token\"\xbc\x02\n\x16RestoreDatabaseRequest\x12?\n\x06parent\x18\x01\x20\
6389 \x01(\tR\x06parentB'\xfaA!\n\x1fspanner.googleapis.com/Instance\xe0A\x02\
6390 \x12$\n\x0bdatabase_id\x18\x02\x20\x01(\tR\ndatabaseIdB\x03\xe0A\x02\x12\
6391 <\n\x06backup\x18\x03\x20\x01(\tH\0R\x06backupB\"\xfaA\x1f\n\x1dspanner.\
6392 googleapis.com/Backup\x12s\n\x11encryption_config\x18\x04\x20\x01(\x0b2A\
6393 .google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfigR\x10en\
6394 cryptionConfigB\x03\xe0A\x01B\x08\n\x06source\"\x8f\x03\n\x1fRestoreData\
6395 baseEncryptionConfig\x12~\n\x0fencryption_type\x18\x01\x20\x01(\x0e2P.go\
6396 ogle.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig.Encryptio\
6397 nTypeR\x0eencryptionTypeB\x03\xe0A\x02\x12K\n\x0ckms_key_name\x18\x02\
6398 \x20\x01(\tR\nkmsKeyNameB)\xfaA#\n!cloudkms.googleapis.com/CryptoKey\xe0\
6399 A\x01\"\x9e\x01\n\x0eEncryptionType\x12\x1f\n\x1bENCRYPTION_TYPE_UNSPECI\
6400 FIED\x10\0\x12+\n'USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION\x10\x01\x12\
6401 \x1d\n\x19GOOGLE_DEFAULT_ENCRYPTION\x10\x02\x12\x1f\n\x1bCUSTOMER_MANAGE\
6402 D_ENCRYPTION\x10\x03\"\xe0\x03\n\x17RestoreDatabaseMetadata\x128\n\x04na\
6403 me\x18\x01\x20\x01(\tR\x04nameB$\xfaA!\n\x1fspanner.googleapis.com/Datab\
6404 ase\x12T\n\x0bsource_type\x18\x02\x20\x01(\x0e23.google.spanner.admin.da\
6405 tabase.v1.RestoreSourceTypeR\nsourceType\x12O\n\x0bbackup_info\x18\x03\
6406 \x20\x01(\x0b2,.google.spanner.admin.database.v1.BackupInfoH\0R\nbackupI\
6407 nfo\x12O\n\x08progress\x18\x04\x20\x01(\x0b23.google.spanner.admin.datab\
6408 ase.v1.OperationProgressR\x08progress\x12;\n\x0bcancel_time\x18\x05\x20\
6409 \x01(\x0b2\x1a.google.protobuf.TimestampR\ncancelTime\x12G\n\x20optimize\
6410 _database_operation_name\x18\x06\x20\x01(\tR\x1doptimizeDatabaseOperatio\
6411 nNameB\r\n\x0bsource_info\"\xad\x01\n\x20OptimizeRestoredDatabaseMetadat\
6412 a\x128\n\x04name\x18\x01\x20\x01(\tR\x04nameB$\xfaA!\n\x1fspanner.google\
6413 apis.com/Database\x12O\n\x08progress\x18\x02\x20\x01(\x0b23.google.spann\
6414 er.admin.database.v1.OperationProgressR\x08progress\"\xa4\x01\n\x0cDatab\
6415 aseRole\x12\x17\n\x04name\x18\x01\x20\x01(\tR\x04nameB\x03\xe0A\x02:{\
6416 \xeaAx\n#spanner.googleapis.com/DatabaseRole\x12Qprojects/{project}/inst\
6417 ances/{instance}/databases/{database}/databaseRoles/{role}\"\x97\x01\n\
6418 \x18ListDatabaseRolesRequest\x12?\n\x06parent\x18\x01\x20\x01(\tR\x06par\
6419 entB'\xfaA!\n\x1fspanner.googleapis.com/Database\xe0A\x02\x12\x1b\n\tpag\
6420 e_size\x18\x02\x20\x01(\x05R\x08pageSize\x12\x1d\n\npage_token\x18\x03\
6421 \x20\x01(\tR\tpageToken\"\x9a\x01\n\x19ListDatabaseRolesResponse\x12U\n\
6422 \x0edatabase_roles\x18\x01\x20\x03(\x0b2..google.spanner.admin.database.\
6423 v1.DatabaseRoleR\rdatabaseRoles\x12&\n\x0fnext_page_token\x18\x02\x20\
6424 \x01(\tR\rnextPageToken*5\n\x11RestoreSourceType\x12\x14\n\x10TYPE_UNSPE\
6425 CIFIED\x10\0\x12\n\n\x06BACKUP\x10\x012\xee%\n\rDatabaseAdmin\x12\xc0\
6426 \x01\n\rListDatabases\x126.google.spanner.admin.database.v1.ListDatabase\
6427 sRequest\x1a7.google.spanner.admin.database.v1.ListDatabasesResponse\">\
6428 \x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/instances/*}/databases\
6429 \xdaA\x06parent\x12\xa4\x02\n\x0eCreateDatabase\x127.google.spanner.admi\
6430 n.database.v1.CreateDatabaseRequest\x1a\x1d.google.longrunning.Operation\
6431 \"\xb9\x01\xcaAd\n)google.spanner.admin.database.v1.Database\x127google.\
6432 spanner.admin.database.v1.CreateDatabaseMetadata\x82\xd3\xe4\x93\x022\"-\
6433 /v1/{parent=projects/*/instances/*}/databases:\x01*\xdaA\x17parent,creat\
6434 e_statement\x12\xad\x01\n\x0bGetDatabase\x124.google.spanner.admin.datab\
6435 ase.v1.GetDatabaseRequest\x1a*.google.spanner.admin.database.v1.Database\
6436 \"<\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/instances/*/databases/\
6437 *}\xdaA\x04name\x12\xef\x01\n\x0eUpdateDatabase\x127.google.spanner.admi\
6438 n.database.v1.UpdateDatabaseRequest\x1a\x1d.google.longrunning.Operation\
6439 \"\x84\x01\xcaA\"\n\x08Database\x12\x16UpdateDatabaseMetadata\x82\xd3\
6440 \xe4\x93\x02B26/v1/{database.name=projects/*/instances/*/databases/*}:\
6441 \x08database\xdaA\x14database,update_mask\x12\x9d\x02\n\x11UpdateDatabas\
6442 eDdl\x12:.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest\x1a\
6443 \x1d.google.longrunning.Operation\"\xac\x01\xcaAS\n\x15google.protobuf.E\
6444 mpty\x12:google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata\x82\
6445 \xd3\xe4\x93\x02:25/v1/{database=projects/*/instances/*/databases/*}/ddl\
6446 :\x01*\xdaA\x13database,statements\x12\xa3\x01\n\x0cDropDatabase\x125.go\
6447 ogle.spanner.admin.database.v1.DropDatabaseRequest\x1a\x16.google.protob\
6448 uf.Empty\"D\x82\xd3\xe4\x93\x023*1/v1/{database=projects/*/instances/*/d\
6449 atabases/*}\xdaA\x08database\x12\xcd\x01\n\x0eGetDatabaseDdl\x127.google\
6450 .spanner.admin.database.v1.GetDatabaseDdlRequest\x1a8.google.spanner.adm\
6451 in.database.v1.GetDatabaseDdlResponse\"H\x82\xd3\xe4\x93\x027\x125/v1/{d\
6452 atabase=projects/*/instances/*/databases/*}/ddl\xdaA\x08database\x12\xeb\
6453 \x01\n\x0cSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1a\x15.g\
6454 oogle.iam.v1.Policy\"\x9f\x01\x82\xd3\xe4\x93\x02\x86\x01\">/v1/{resourc\
6455 e=projects/*/instances/*/databases/*}:setIamPolicy:\x01*ZA\"</v1/{resour\
6456 ce=projects/*/instances/*/backups/*}:setIamPolicy:\x01*\xdaA\x0fresource\
6457 ,policy\x12\xe4\x01\n\x0cGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRe\
6458 quest\x1a\x15.google.iam.v1.Policy\"\x98\x01\x82\xd3\xe4\x93\x02\x86\x01\
6459 \">/v1/{resource=projects/*/instances/*/databases/*}:getIamPolicy:\x01*Z\
6460 A\"</v1/{resource=projects/*/instances/*/backups/*}:getIamPolicy:\x01*\
6461 \xdaA\x08resource\x12\xf7\x02\n\x12TestIamPermissions\x12(.google.iam.v1\
6462 .TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse\
6463 \"\x8b\x02\x82\xd3\xe4\x93\x02\xed\x01\"D/v1/{resource=projects/*/instan\
6464 ces/*/databases/*}:testIamPermissions:\x01*ZG\"B/v1/{resource=projects/*\
6465 /instances/*/backups/*}:testIamPermissions:\x01*ZY\"T/v1/{resource=proje\
6466 cts/*/instances/*/databases/*/databaseRoles/*}:testIamPermissions:\x01*\
6467 \xdaA\x14resource,permissions\x12\x9f\x02\n\x0cCreateBackup\x125.google.\
6468 spanner.admin.database.v1.CreateBackupRequest\x1a\x1d.google.longrunning\
6469 .Operation\"\xb8\x01\xcaA`\n'google.spanner.admin.database.v1.Backup\x12\
6470 5google.spanner.admin.database.v1.CreateBackupMetadata\x82\xd3\xe4\x93\
6471 \x025\"+/v1/{parent=projects/*/instances/*}/backups:\x06backup\xdaA\x17p\
6472 arent,backup,backup_id\x12\xac\x02\n\nCopyBackup\x123.google.spanner.adm\
6473 in.database.v1.CopyBackupRequest\x1a\x1d.google.longrunning.Operation\"\
6474 \xc9\x01\xcaA^\n'google.spanner.admin.database.v1.Backup\x123google.span\
6475 ner.admin.database.v1.CopyBackupMetadata\x82\xd3\xe4\x93\x025\"0/v1/{par\
6476 ent=projects/*/instances/*}/backups:copy:\x01*\xdaA*parent,backup_id,sou\
6477 rce_backup,expire_time\x12\xa5\x01\n\tGetBackup\x122.google.spanner.admi\
6478 n.database.v1.GetBackupRequest\x1a(.google.spanner.admin.database.v1.Bac\
6479 kup\":\x82\xd3\xe4\x93\x02-\x12+/v1/{name=projects/*/instances/*/backups\
6480 /*}\xdaA\x04name\x12\xc8\x01\n\x0cUpdateBackup\x125.google.spanner.admin\
6481 .database.v1.UpdateBackupRequest\x1a(.google.spanner.admin.database.v1.B\
6482 ackup\"W\x82\xd3\xe4\x93\x02<22/v1/{backup.name=projects/*/instances/*/b\
6483 ackups/*}:\x06backup\xdaA\x12backup,update_mask\x12\x99\x01\n\x0cDeleteB\
6484 ackup\x125.google.spanner.admin.database.v1.DeleteBackupRequest\x1a\x16.\
6485 google.protobuf.Empty\":\x82\xd3\xe4\x93\x02-*+/v1/{name=projects/*/inst\
6486 ances/*/backups/*}\xdaA\x04name\x12\xb8\x01\n\x0bListBackups\x124.google\
6487 .spanner.admin.database.v1.ListBackupsRequest\x1a5.google.spanner.admin.\
6488 database.v1.ListBackupsResponse\"<\x82\xd3\xe4\x93\x02-\x12+/v1/{parent=\
6489 projects/*/instances/*}/backups\xdaA\x06parent\x12\xb1\x02\n\x0fRestoreD\
6490 atabase\x128.google.spanner.admin.database.v1.RestoreDatabaseRequest\x1a\
6491 \x1d.google.longrunning.Operation\"\xc4\x01\xcaAe\n)google.spanner.admin\
6492 .database.v1.Database\x128google.spanner.admin.database.v1.RestoreDataba\
6493 seMetadata\x82\xd3\xe4\x93\x02:\"5/v1/{parent=projects/*/instances/*}/da\
6494 tabases:restore:\x01*\xdaA\x19parent,database_id,backup\x12\xe4\x01\n\
6495 \x16ListDatabaseOperations\x12?.google.spanner.admin.database.v1.ListDat\
6496 abaseOperationsRequest\x1a@.google.spanner.admin.database.v1.ListDatabas\
6497 eOperationsResponse\"G\x82\xd3\xe4\x93\x028\x126/v1/{parent=projects/*/i\
6498 nstances/*}/databaseOperations\xdaA\x06parent\x12\xdc\x01\n\x14ListBacku\
6499 pOperations\x12=.google.spanner.admin.database.v1.ListBackupOperationsRe\
6500 quest\x1a>.google.spanner.admin.database.v1.ListBackupOperationsResponse\
6501 \"E\x82\xd3\xe4\x93\x026\x124/v1/{parent=projects/*/instances/*}/backupO\
6502 perations\xdaA\x06parent\x12\xdc\x01\n\x11ListDatabaseRoles\x12:.google.\
6503 spanner.admin.database.v1.ListDatabaseRolesRequest\x1a;.google.spanner.a\
6504 dmin.database.v1.ListDatabaseRolesResponse\"N\x82\xd3\xe4\x93\x02?\x12=/\
6505 v1/{parent=projects/*/instances/*/databases/*}/databaseRoles\xdaA\x06par\
6506 ent\x1ax\xd2A\\https://www.googleapis.com/auth/cloud-platform,https://ww\
6507 w.googleapis.com/auth/spanner.admin\xcaA\x16spanner.googleapis.comB\xd8\
6508 \x02\n$com.google.spanner.admin.database.v1B\x19SpannerDatabaseAdminProt\
6509 oP\x01ZFcloud.google.com/go/spanner/admin/database/apiv1/databasepb;data\
6510 basepb\xaa\x02&Google.Cloud.Spanner.Admin.Database.V1\xca\x02&Google\\Cl\
6511 oud\\Spanner\\Admin\\Database\\V1\xea\x02+Google::Cloud::Spanner::Admin:\
6512 :Database::V1\xeaAJ\n\x1fspanner.googleapis.com/Instance\x12'projects/{p\
6513 roject}/instances/{instance}J\xaf\xc0\x02\n\x07\x12\x05\x0e\0\x92\x08\
6514 \x01\n\xbc\x04\n\x01\x0c\x12\x03\x0e\0\x122\xb1\x04\x20Copyright\x202023\
6515 \x20Google\x20LLC\n\n\x20Licensed\x20under\x20the\x20Apache\x20License,\
6516 \x20Version\x202.0\x20(the\x20\"License\");\n\x20you\x20may\x20not\x20us\
6517 e\x20this\x20file\x20except\x20in\x20compliance\x20with\x20the\x20Licens\
6518 e.\n\x20You\x20may\x20obtain\x20a\x20copy\x20of\x20the\x20License\x20at\
6519 \n\n\x20\x20\x20\x20\x20http://www.apache.org/licenses/LICENSE-2.0\n\n\
6520 \x20Unless\x20required\x20by\x20applicable\x20law\x20or\x20agreed\x20to\
6521 \x20in\x20writing,\x20software\n\x20distributed\x20under\x20the\x20Licen\
6522 se\x20is\x20distributed\x20on\x20an\x20\"AS\x20IS\"\x20BASIS,\n\x20WITHO\
6523 UT\x20WARRANTIES\x20OR\x20CONDITIONS\x20OF\x20ANY\x20KIND,\x20either\x20\
6524 express\x20or\x20implied.\n\x20See\x20the\x20License\x20for\x20the\x20sp\
6525 ecific\x20language\x20governing\x20permissions\x20and\n\x20limitations\
6526 \x20under\x20the\x20License.\n\n\x08\n\x01\x02\x12\x03\x10\0)\n\t\n\x02\
6527 \x03\0\x12\x03\x12\0&\n\t\n\x02\x03\x01\x12\x03\x13\0!\n\t\n\x02\x03\x02\
6528 \x12\x03\x14\0)\n\t\n\x02\x03\x03\x12\x03\x15\0#\n\t\n\x02\x03\x04\x12\
6529 \x03\x16\0(\n\t\n\x02\x03\x05\x12\x03\x17\0$\n\t\n\x02\x03\x06\x12\x03\
6530 \x18\0-\n\t\n\x02\x03\x07\x12\x03\x19\0%\n\t\n\x02\x03\x08\x12\x03\x1a\0\
6531 *\n\t\n\x02\x03\t\x12\x03\x1b\0)\n\t\n\x02\x03\n\x12\x03\x1c\07\n\t\n\
6532 \x02\x03\x0b\x12\x03\x1d\07\n\x08\n\x01\x08\x12\x03\x1f\0C\n\t\n\x02\x08\
6533 %\x12\x03\x1f\0C\n\x08\n\x01\x08\x12\x03\x20\0]\n\t\n\x02\x08\x0b\x12\
6534 \x03\x20\0]\n\x08\n\x01\x08\x12\x03!\0\"\n\t\n\x02\x08\n\x12\x03!\0\"\n\
6535 \x08\n\x01\x08\x12\x03\"\0:\n\t\n\x02\x08\x08\x12\x03\"\0:\n\x08\n\x01\
6536 \x08\x12\x03#\0=\n\t\n\x02\x08\x01\x12\x03#\0=\n\x08\n\x01\x08\x12\x03$\
6537 \0E\n\t\n\x02\x08)\x12\x03$\0E\n\x08\n\x01\x08\x12\x03%\0D\n\t\n\x02\x08\
6538 -\x12\x03%\0D\n\t\n\x01\x08\x12\x04&\0)\x02\n\x0c\n\x04\x08\x9d\x08\0\
6539 \x12\x04&\0)\x02\n\xa2\x02\n\x02\x06\0\x12\x052\0\x8e\x03\x01\x1a\x94\
6540 \x02\x20Cloud\x20Spanner\x20Database\x20Admin\x20API\n\n\x20The\x20Cloud\
6541 \x20Spanner\x20Database\x20Admin\x20API\x20can\x20be\x20used\x20to:\n\
6542 \x20\x20\x20*\x20create,\x20drop,\x20and\x20list\x20databases\n\x20\x20\
6543 \x20*\x20update\x20the\x20schema\x20of\x20pre-existing\x20databases\n\
6544 \x20\x20\x20*\x20create,\x20delete\x20and\x20list\x20backups\x20for\x20a\
6545 \x20database\n\x20\x20\x20*\x20restore\x20a\x20database\x20from\x20an\
6546 \x20existing\x20backup\n\n\n\n\x03\x06\0\x01\x12\x032\x08\x15\n\n\n\x03\
6547 \x06\0\x03\x12\x033\x02>\n\x0c\n\x05\x06\0\x03\x99\x08\x12\x033\x02>\n\
6548 \x0b\n\x03\x06\0\x03\x12\x044\x0266\n\r\n\x05\x06\0\x03\x9a\x08\x12\x044\
6549 \x0266\n.\n\x04\x06\0\x02\0\x12\x049\x02>\x03\x1a\x20\x20Lists\x20Cloud\
6550 \x20Spanner\x20databases.\n\n\x0c\n\x05\x06\0\x02\0\x01\x12\x039\x06\x13\
6551 \n\x0c\n\x05\x06\0\x02\0\x02\x12\x039\x14(\n\x0c\n\x05\x06\0\x02\0\x03\
6552 \x12\x0393H\n\r\n\x05\x06\0\x02\0\x04\x12\x04:\x04<\x06\n\x11\n\t\x06\0\
6553 \x02\0\x04\xb0\xca\xbc\"\x12\x04:\x04<\x06\n\x0c\n\x05\x06\0\x02\0\x04\
6554 \x12\x03=\x044\n\x0f\n\x08\x06\0\x02\0\x04\x9b\x08\0\x12\x03=\x044\n\xc8\
6555 \x04\n\x04\x06\0\x02\x01\x12\x04H\x02R\x03\x1a\xb9\x04\x20Creates\x20a\
6556 \x20new\x20Cloud\x20Spanner\x20database\x20and\x20starts\x20to\x20prepar\
6557 e\x20it\x20for\x20serving.\n\x20The\x20returned\x20[long-running\x20oper\
6558 ation][google.longrunning.Operation]\x20will\n\x20have\x20a\x20name\x20o\
6559 f\x20the\x20format\x20`<database_name>/operations/<operation_id>`\x20and\
6560 \n\x20can\x20be\x20used\x20to\x20track\x20preparation\x20of\x20the\x20da\
6561 tabase.\x20The\n\x20[metadata][google.longrunning.Operation.metadata]\
6562 \x20field\x20type\x20is\n\x20[CreateDatabaseMetadata][google.spanner.adm\
6563 in.database.v1.CreateDatabaseMetadata].\x20The\n\x20[response][google.lo\
6564 ngrunning.Operation.response]\x20field\x20type\x20is\n\x20[Database][goo\
6565 gle.spanner.admin.database.v1.Database],\x20if\x20successful.\n\n\x0c\n\
6566 \x05\x06\0\x02\x01\x01\x12\x03H\x06\x14\n\x0c\n\x05\x06\0\x02\x01\x02\
6567 \x12\x03H\x15*\n\x0c\n\x05\x06\0\x02\x01\x03\x12\x03H5Q\n\r\n\x05\x06\0\
6568 \x02\x01\x04\x12\x04I\x04L\x06\n\x11\n\t\x06\0\x02\x01\x04\xb0\xca\xbc\"\
6569 \x12\x04I\x04L\x06\n\x0c\n\x05\x06\0\x02\x01\x04\x12\x03M\x04E\n\x0f\n\
6570 \x08\x06\0\x02\x01\x04\x9b\x08\0\x12\x03M\x04E\n\r\n\x05\x06\0\x02\x01\
6571 \x04\x12\x04N\x04Q\x06\n\x0f\n\x07\x06\0\x02\x01\x04\x99\x08\x12\x04N\
6572 \x04Q\x06\n;\n\x04\x06\0\x02\x02\x12\x04U\x02Z\x03\x1a-\x20Gets\x20the\
6573 \x20state\x20of\x20a\x20Cloud\x20Spanner\x20database.\n\n\x0c\n\x05\x06\
6574 \0\x02\x02\x01\x12\x03U\x06\x11\n\x0c\n\x05\x06\0\x02\x02\x02\x12\x03U\
6575 \x12$\n\x0c\n\x05\x06\0\x02\x02\x03\x12\x03U/7\n\r\n\x05\x06\0\x02\x02\
6576 \x04\x12\x04V\x04X\x06\n\x11\n\t\x06\0\x02\x02\x04\xb0\xca\xbc\"\x12\x04\
6577 V\x04X\x06\n\x0c\n\x05\x06\0\x02\x02\x04\x12\x03Y\x042\n\x0f\n\x08\x06\0\
6578 \x02\x02\x04\x9b\x08\0\x12\x03Y\x042\n\xa4\r\n\x04\x06\0\x02\x03\x12\x06\
6579 \x80\x01\x02\x8b\x01\x03\x1a\x93\r\x20Updates\x20a\x20Cloud\x20Spanner\
6580 \x20database.\x20The\x20returned\n\x20[long-running\x20operation][google\
6581 .longrunning.Operation]\x20can\x20be\x20used\x20to\x20track\n\x20the\x20\
6582 progress\x20of\x20updating\x20the\x20database.\x20If\x20the\x20named\x20\
6583 database\x20does\x20not\n\x20exist,\x20returns\x20`NOT_FOUND`.\n\n\x20Wh\
6584 ile\x20the\x20operation\x20is\x20pending:\n\n\x20\x20\x20*\x20The\x20dat\
6585 abase's\n\x20\x20\x20\x20\x20[reconciling][google.spanner.admin.database\
6586 .v1.Database.reconciling]\n\x20\x20\x20\x20\x20field\x20is\x20set\x20to\
6587 \x20true.\n\x20\x20\x20*\x20Cancelling\x20the\x20operation\x20is\x20best\
6588 -effort.\x20If\x20the\x20cancellation\x20succeeds,\n\x20\x20\x20\x20\x20\
6589 the\x20operation\x20metadata's\n\x20\x20\x20\x20\x20[cancel_time][google\
6590 .spanner.admin.database.v1.UpdateDatabaseMetadata.cancel_time]\n\x20\x20\
6591 \x20\x20\x20is\x20set,\x20the\x20updates\x20are\x20reverted,\x20and\x20t\
6592 he\x20operation\x20terminates\x20with\x20a\n\x20\x20\x20\x20\x20`CANCELL\
6593 ED`\x20status.\n\x20\x20\x20*\x20New\x20UpdateDatabase\x20requests\x20wi\
6594 ll\x20return\x20a\x20`FAILED_PRECONDITION`\x20error\n\x20\x20\x20\x20\
6595 \x20until\x20the\x20pending\x20operation\x20is\x20done\x20(returns\x20su\
6596 ccessfully\x20or\x20with\n\x20\x20\x20\x20\x20error).\n\x20\x20\x20*\x20\
6597 Reading\x20the\x20database\x20via\x20the\x20API\x20continues\x20to\x20gi\
6598 ve\x20the\x20pre-request\n\x20\x20\x20\x20\x20values.\n\n\x20Upon\x20com\
6599 pletion\x20of\x20the\x20returned\x20operation:\n\n\x20\x20\x20*\x20The\
6600 \x20new\x20values\x20are\x20in\x20effect\x20and\x20readable\x20via\x20th\
6601 e\x20API.\n\x20\x20\x20*\x20The\x20database's\n\x20\x20\x20\x20\x20[reco\
6602 nciling][google.spanner.admin.database.v1.Database.reconciling]\n\x20\
6603 \x20\x20\x20\x20field\x20becomes\x20false.\n\n\x20The\x20returned\x20[lo\
6604 ng-running\x20operation][google.longrunning.Operation]\x20will\n\x20have\
6605 \x20a\x20name\x20of\x20the\x20format\n\x20`projects/<project>/instances/\
6606 <instance>/databases/<database>/operations/<operation_id>`\n\x20and\x20c\
6607 an\x20be\x20used\x20to\x20track\x20the\x20database\x20modification.\x20T\
6608 he\n\x20[metadata][google.longrunning.Operation.metadata]\x20field\x20ty\
6609 pe\x20is\n\x20[UpdateDatabaseMetadata][google.spanner.admin.database.v1.\
6610 UpdateDatabaseMetadata].\n\x20The\x20[response][google.longrunning.Opera\
6611 tion.response]\x20field\x20type\x20is\n\x20[Database][google.spanner.adm\
6612 in.database.v1.Database],\x20if\x20successful.\n\n\r\n\x05\x06\0\x02\x03\
6613 \x01\x12\x04\x80\x01\x06\x14\n\r\n\x05\x06\0\x02\x03\x02\x12\x04\x80\x01\
6614 \x15*\n\r\n\x05\x06\0\x02\x03\x03\x12\x04\x81\x01\x0f+\n\x0f\n\x05\x06\0\
6615 \x02\x03\x04\x12\x06\x82\x01\x04\x85\x01\x06\n\x13\n\t\x06\0\x02\x03\x04\
6616 \xb0\xca\xbc\"\x12\x06\x82\x01\x04\x85\x01\x06\n\r\n\x05\x06\0\x02\x03\
6617 \x04\x12\x04\x86\x01\x04B\n\x10\n\x08\x06\0\x02\x03\x04\x9b\x08\0\x12\
6618 \x04\x86\x01\x04B\n\x0f\n\x05\x06\0\x02\x03\x04\x12\x06\x87\x01\x04\x8a\
6619 \x01\x06\n\x11\n\x07\x06\0\x02\x03\x04\x99\x08\x12\x06\x87\x01\x04\x8a\
6620 \x01\x06\n\x8c\x04\n\x04\x06\0\x02\x04\x12\x06\x94\x01\x02\x9e\x01\x03\
6621 \x1a\xfb\x03\x20Updates\x20the\x20schema\x20of\x20a\x20Cloud\x20Spanner\
6622 \x20database\x20by\n\x20creating/altering/dropping\x20tables,\x20columns\
6623 ,\x20indexes,\x20etc.\x20The\x20returned\n\x20[long-running\x20operation\
6624 ][google.longrunning.Operation]\x20will\x20have\x20a\x20name\x20of\n\x20\
6625 the\x20format\x20`<database_name>/operations/<operation_id>`\x20and\x20c\
6626 an\x20be\x20used\x20to\n\x20track\x20execution\x20of\x20the\x20schema\
6627 \x20change(s).\x20The\n\x20[metadata][google.longrunning.Operation.metad\
6628 ata]\x20field\x20type\x20is\n\x20[UpdateDatabaseDdlMetadata][google.span\
6629 ner.admin.database.v1.UpdateDatabaseDdlMetadata].\x20\x20The\x20operatio\
6630 n\x20has\x20no\x20response.\n\n\r\n\x05\x06\0\x02\x04\x01\x12\x04\x94\
6631 \x01\x06\x17\n\r\n\x05\x06\0\x02\x04\x02\x12\x04\x94\x01\x180\n\r\n\x05\
6632 \x06\0\x02\x04\x03\x12\x04\x94\x01;W\n\x0f\n\x05\x06\0\x02\x04\x04\x12\
6633 \x06\x95\x01\x04\x98\x01\x06\n\x13\n\t\x06\0\x02\x04\x04\xb0\xca\xbc\"\
6634 \x12\x06\x95\x01\x04\x98\x01\x06\n\r\n\x05\x06\0\x02\x04\x04\x12\x04\x99\
6635 \x01\x04A\n\x10\n\x08\x06\0\x02\x04\x04\x9b\x08\0\x12\x04\x99\x01\x04A\n\
6636 \x0f\n\x05\x06\0\x02\x04\x04\x12\x06\x9a\x01\x04\x9d\x01\x06\n\x11\n\x07\
6637 \x06\0\x02\x04\x04\x99\x08\x12\x06\x9a\x01\x04\x9d\x01\x06\n\x87\x02\n\
6638 \x04\x06\0\x02\x05\x12\x06\xa5\x01\x02\xaa\x01\x03\x1a\xf6\x01\x20Drops\
6639 \x20(aka\x20deletes)\x20a\x20Cloud\x20Spanner\x20database.\n\x20Complete\
6640 d\x20backups\x20for\x20the\x20database\x20will\x20be\x20retained\x20acco\
6641 rding\x20to\x20their\n\x20`expire_time`.\n\x20Note:\x20Cloud\x20Spanner\
6642 \x20might\x20continue\x20to\x20accept\x20requests\x20for\x20a\x20few\x20\
6643 seconds\n\x20after\x20the\x20database\x20has\x20been\x20deleted.\n\n\r\n\
6644 \x05\x06\0\x02\x05\x01\x12\x04\xa5\x01\x06\x12\n\r\n\x05\x06\0\x02\x05\
6645 \x02\x12\x04\xa5\x01\x13&\n\r\n\x05\x06\0\x02\x05\x03\x12\x04\xa5\x011F\
6646 \n\x0f\n\x05\x06\0\x02\x05\x04\x12\x06\xa6\x01\x04\xa8\x01\x06\n\x13\n\t\
6647 \x06\0\x02\x05\x04\xb0\xca\xbc\"\x12\x06\xa6\x01\x04\xa8\x01\x06\n\r\n\
6648 \x05\x06\0\x02\x05\x04\x12\x04\xa9\x01\x046\n\x10\n\x08\x06\0\x02\x05\
6649 \x04\x9b\x08\0\x12\x04\xa9\x01\x046\n\xec\x01\n\x04\x06\0\x02\x06\x12\
6650 \x06\xaf\x01\x02\xb4\x01\x03\x1a\xdb\x01\x20Returns\x20the\x20schema\x20\
6651 of\x20a\x20Cloud\x20Spanner\x20database\x20as\x20a\x20list\x20of\x20form\
6652 atted\n\x20DDL\x20statements.\x20This\x20method\x20does\x20not\x20show\
6653 \x20pending\x20schema\x20updates,\x20those\x20may\n\x20be\x20queried\x20\
6654 using\x20the\x20[Operations][google.longrunning.Operations]\x20API.\n\n\
6655 \r\n\x05\x06\0\x02\x06\x01\x12\x04\xaf\x01\x06\x14\n\r\n\x05\x06\0\x02\
6656 \x06\x02\x12\x04\xaf\x01\x15*\n\r\n\x05\x06\0\x02\x06\x03\x12\x04\xaf\
6657 \x015K\n\x0f\n\x05\x06\0\x02\x06\x04\x12\x06\xb0\x01\x04\xb2\x01\x06\n\
6658 \x13\n\t\x06\0\x02\x06\x04\xb0\xca\xbc\"\x12\x06\xb0\x01\x04\xb2\x01\x06\
6659 \n\r\n\x05\x06\0\x02\x06\x04\x12\x04\xb3\x01\x046\n\x10\n\x08\x06\0\x02\
6660 \x06\x04\x9b\x08\0\x12\x04\xb3\x01\x046\n\xfe\x02\n\x04\x06\0\x02\x07\
6661 \x12\x06\xbd\x01\x02\xc7\x01\x03\x1a\xed\x02\x20Sets\x20the\x20access\
6662 \x20control\x20policy\x20on\x20a\x20database\x20or\x20backup\x20resource\
6663 .\n\x20Replaces\x20any\x20existing\x20policy.\n\n\x20Authorization\x20re\
6664 quires\x20`spanner.databases.setIamPolicy`\n\x20permission\x20on\x20[res\
6665 ource][google.iam.v1.SetIamPolicyRequest.resource].\n\x20For\x20backups,\
6666 \x20authorization\x20requires\x20`spanner.backups.setIamPolicy`\n\x20per\
6667 mission\x20on\x20[resource][google.iam.v1.SetIamPolicyRequest.resource].\
6668 \n\n\r\n\x05\x06\0\x02\x07\x01\x12\x04\xbd\x01\x06\x12\n\r\n\x05\x06\0\
6669 \x02\x07\x02\x12\x04\xbd\x01\x134\n\r\n\x05\x06\0\x02\x07\x03\x12\x04\
6670 \xbd\x01?S\n\x0f\n\x05\x06\0\x02\x07\x04\x12\x06\xbe\x01\x04\xc5\x01\x06\
6671 \n\x13\n\t\x06\0\x02\x07\x04\xb0\xca\xbc\"\x12\x06\xbe\x01\x04\xc5\x01\
6672 \x06\n\r\n\x05\x06\0\x02\x07\x04\x12\x04\xc6\x01\x04=\n\x10\n\x08\x06\0\
6673 \x02\x07\x04\x9b\x08\0\x12\x04\xc6\x01\x04=\n\xb9\x03\n\x04\x06\0\x02\
6674 \x08\x12\x06\xd1\x01\x02\xdb\x01\x03\x1a\xa8\x03\x20Gets\x20the\x20acces\
6675 s\x20control\x20policy\x20for\x20a\x20database\x20or\x20backup\x20resour\
6676 ce.\n\x20Returns\x20an\x20empty\x20policy\x20if\x20a\x20database\x20or\
6677 \x20backup\x20exists\x20but\x20does\x20not\x20have\x20a\n\x20policy\x20s\
6678 et.\n\n\x20Authorization\x20requires\x20`spanner.databases.getIamPolicy`\
6679 \x20permission\x20on\n\x20[resource][google.iam.v1.GetIamPolicyRequest.r\
6680 esource].\n\x20For\x20backups,\x20authorization\x20requires\x20`spanner.\
6681 backups.getIamPolicy`\n\x20permission\x20on\x20[resource][google.iam.v1.\
6682 GetIamPolicyRequest.resource].\n\n\r\n\x05\x06\0\x02\x08\x01\x12\x04\xd1\
6683 \x01\x06\x12\n\r\n\x05\x06\0\x02\x08\x02\x12\x04\xd1\x01\x134\n\r\n\x05\
6684 \x06\0\x02\x08\x03\x12\x04\xd1\x01?S\n\x0f\n\x05\x06\0\x02\x08\x04\x12\
6685 \x06\xd2\x01\x04\xd9\x01\x06\n\x13\n\t\x06\0\x02\x08\x04\xb0\xca\xbc\"\
6686 \x12\x06\xd2\x01\x04\xd9\x01\x06\n\r\n\x05\x06\0\x02\x08\x04\x12\x04\xda\
6687 \x01\x046\n\x10\n\x08\x06\0\x02\x08\x04\x9b\x08\0\x12\x04\xda\x01\x046\n\
6688 \xff\x03\n\x04\x06\0\x02\t\x12\x06\xe7\x01\x02\xf5\x01\x03\x1a\xee\x03\
6689 \x20Returns\x20permissions\x20that\x20the\x20caller\x20has\x20on\x20the\
6690 \x20specified\x20database\x20or\x20backup\n\x20resource.\n\n\x20Attempti\
6691 ng\x20this\x20RPC\x20on\x20a\x20non-existent\x20Cloud\x20Spanner\x20data\
6692 base\x20will\n\x20result\x20in\x20a\x20NOT_FOUND\x20error\x20if\x20the\
6693 \x20user\x20has\n\x20`spanner.databases.list`\x20permission\x20on\x20the\
6694 \x20containing\x20Cloud\n\x20Spanner\x20instance.\x20Otherwise\x20return\
6695 s\x20an\x20empty\x20set\x20of\x20permissions.\n\x20Calling\x20this\x20me\
6696 thod\x20on\x20a\x20backup\x20that\x20does\x20not\x20exist\x20will\n\x20r\
6697 esult\x20in\x20a\x20NOT_FOUND\x20error\x20if\x20the\x20user\x20has\n\x20\
6698 `spanner.backups.list`\x20permission\x20on\x20the\x20containing\x20insta\
6699 nce.\n\n\r\n\x05\x06\0\x02\t\x01\x12\x04\xe7\x01\x06\x18\n\r\n\x05\x06\0\
6700 \x02\t\x02\x12\x04\xe7\x01\x19@\n\r\n\x05\x06\0\x02\t\x03\x12\x04\xe7\
6701 \x01Ks\n\x0f\n\x05\x06\0\x02\t\x04\x12\x06\xe8\x01\x04\xf3\x01\x06\n\x13\
6702 \n\t\x06\0\x02\t\x04\xb0\xca\xbc\"\x12\x06\xe8\x01\x04\xf3\x01\x06\n\r\n\
6703 \x05\x06\0\x02\t\x04\x12\x04\xf4\x01\x04B\n\x10\n\x08\x06\0\x02\t\x04\
6704 \x9b\x08\0\x12\x04\xf4\x01\x04B\n\x9b\x06\n\x04\x06\0\x02\n\x12\x06\x83\
6705 \x02\x02\x8d\x02\x03\x1a\x8a\x06\x20Starts\x20creating\x20a\x20new\x20Cl\
6706 oud\x20Spanner\x20Backup.\n\x20The\x20returned\x20backup\x20[long-runnin\
6707 g\x20operation][google.longrunning.Operation]\n\x20will\x20have\x20a\x20\
6708 name\x20of\x20the\x20format\n\x20`projects/<project>/instances/<instance\
6709 >/backups/<backup>/operations/<operation_id>`\n\x20and\x20can\x20be\x20u\
6710 sed\x20to\x20track\x20creation\x20of\x20the\x20backup.\x20The\n\x20[meta\
6711 data][google.longrunning.Operation.metadata]\x20field\x20type\x20is\n\
6712 \x20[CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackup\
6713 Metadata].\x20The\n\x20[response][google.longrunning.Operation.response]\
6714 \x20field\x20type\x20is\n\x20[Backup][google.spanner.admin.database.v1.B\
6715 ackup],\x20if\x20successful.\x20Cancelling\x20the\x20returned\x20operati\
6716 on\x20will\x20stop\x20the\n\x20creation\x20and\x20delete\x20the\x20backu\
6717 p.\n\x20There\x20can\x20be\x20only\x20one\x20pending\x20backup\x20creati\
6718 on\x20per\x20database.\x20Backup\x20creation\n\x20of\x20different\x20dat\
6719 abases\x20can\x20run\x20concurrently.\n\n\r\n\x05\x06\0\x02\n\x01\x12\
6720 \x04\x83\x02\x06\x12\n\r\n\x05\x06\0\x02\n\x02\x12\x04\x83\x02\x13&\n\r\
6721 \n\x05\x06\0\x02\n\x03\x12\x04\x83\x021M\n\x0f\n\x05\x06\0\x02\n\x04\x12\
6722 \x06\x84\x02\x04\x87\x02\x06\n\x13\n\t\x06\0\x02\n\x04\xb0\xca\xbc\"\x12\
6723 \x06\x84\x02\x04\x87\x02\x06\n\r\n\x05\x06\0\x02\n\x04\x12\x04\x88\x02\
6724 \x04E\n\x10\n\x08\x06\0\x02\n\x04\x9b\x08\0\x12\x04\x88\x02\x04E\n\x0f\n\
6725 \x05\x06\0\x02\n\x04\x12\x06\x89\x02\x04\x8c\x02\x06\n\x11\n\x07\x06\0\
6726 \x02\n\x04\x99\x08\x12\x06\x89\x02\x04\x8c\x02\x06\n\x92\x06\n\x04\x06\0\
6727 \x02\x0b\x12\x06\x9b\x02\x02\xa5\x02\x03\x1a\x81\x06\x20Starts\x20copyin\
6728 g\x20a\x20Cloud\x20Spanner\x20Backup.\n\x20The\x20returned\x20backup\x20\
6729 [long-running\x20operation][google.longrunning.Operation]\n\x20will\x20h\
6730 ave\x20a\x20name\x20of\x20the\x20format\n\x20`projects/<project>/instanc\
6731 es/<instance>/backups/<backup>/operations/<operation_id>`\n\x20and\x20ca\
6732 n\x20be\x20used\x20to\x20track\x20copying\x20of\x20the\x20backup.\x20The\
6733 \x20operation\x20is\x20associated\n\x20with\x20the\x20destination\x20bac\
6734 kup.\n\x20The\x20[metadata][google.longrunning.Operation.metadata]\x20fi\
6735 eld\x20type\x20is\n\x20[CopyBackupMetadata][google.spanner.admin.databas\
6736 e.v1.CopyBackupMetadata].\n\x20The\x20[response][google.longrunning.Oper\
6737 ation.response]\x20field\x20type\x20is\n\x20[Backup][google.spanner.admi\
6738 n.database.v1.Backup],\x20if\x20successful.\x20Cancelling\x20the\x20retu\
6739 rned\x20operation\x20will\x20stop\x20the\n\x20copying\x20and\x20delete\
6740 \x20the\x20backup.\n\x20Concurrent\x20CopyBackup\x20requests\x20can\x20r\
6741 un\x20on\x20the\x20same\x20source\x20backup.\n\n\r\n\x05\x06\0\x02\x0b\
6742 \x01\x12\x04\x9b\x02\x06\x10\n\r\n\x05\x06\0\x02\x0b\x02\x12\x04\x9b\x02\
6743 \x11\"\n\r\n\x05\x06\0\x02\x0b\x03\x12\x04\x9b\x02-I\n\x0f\n\x05\x06\0\
6744 \x02\x0b\x04\x12\x06\x9c\x02\x04\x9f\x02\x06\n\x13\n\t\x06\0\x02\x0b\x04\
6745 \xb0\xca\xbc\"\x12\x06\x9c\x02\x04\x9f\x02\x06\n\r\n\x05\x06\0\x02\x0b\
6746 \x04\x12\x04\xa0\x02\x04X\n\x10\n\x08\x06\0\x02\x0b\x04\x9b\x08\0\x12\
6747 \x04\xa0\x02\x04X\n\x0f\n\x05\x06\0\x02\x0b\x04\x12\x06\xa1\x02\x04\xa4\
6748 \x02\x06\n\x11\n\x07\x06\0\x02\x0b\x04\x99\x08\x12\x06\xa1\x02\x04\xa4\
6749 \x02\x06\nl\n\x04\x06\0\x02\x0c\x12\x06\xa8\x02\x02\xad\x02\x03\x1a\\\
6750 \x20Gets\x20metadata\x20on\x20a\x20pending\x20or\x20completed\x20[Backup\
6751 ][google.spanner.admin.database.v1.Backup].\n\n\r\n\x05\x06\0\x02\x0c\
6752 \x01\x12\x04\xa8\x02\x06\x0f\n\r\n\x05\x06\0\x02\x0c\x02\x12\x04\xa8\x02\
6753 \x10\x20\n\r\n\x05\x06\0\x02\x0c\x03\x12\x04\xa8\x02+1\n\x0f\n\x05\x06\0\
6754 \x02\x0c\x04\x12\x06\xa9\x02\x04\xab\x02\x06\n\x13\n\t\x06\0\x02\x0c\x04\
6755 \xb0\xca\xbc\"\x12\x06\xa9\x02\x04\xab\x02\x06\n\r\n\x05\x06\0\x02\x0c\
6756 \x04\x12\x04\xac\x02\x042\n\x10\n\x08\x06\0\x02\x0c\x04\x9b\x08\0\x12\
6757 \x04\xac\x02\x042\nc\n\x04\x06\0\x02\r\x12\x06\xb0\x02\x02\xb6\x02\x03\
6758 \x1aS\x20Updates\x20a\x20pending\x20or\x20completed\x20[Backup][google.s\
6759 panner.admin.database.v1.Backup].\n\n\r\n\x05\x06\0\x02\r\x01\x12\x04\
6760 \xb0\x02\x06\x12\n\r\n\x05\x06\0\x02\r\x02\x12\x04\xb0\x02\x13&\n\r\n\
6761 \x05\x06\0\x02\r\x03\x12\x04\xb0\x0217\n\x0f\n\x05\x06\0\x02\r\x04\x12\
6762 \x06\xb1\x02\x04\xb4\x02\x06\n\x13\n\t\x06\0\x02\r\x04\xb0\xca\xbc\"\x12\
6763 \x06\xb1\x02\x04\xb4\x02\x06\n\r\n\x05\x06\0\x02\r\x04\x12\x04\xb5\x02\
6764 \x04@\n\x10\n\x08\x06\0\x02\r\x04\x9b\x08\0\x12\x04\xb5\x02\x04@\nc\n\
6765 \x04\x06\0\x02\x0e\x12\x06\xb9\x02\x02\xbe\x02\x03\x1aS\x20Deletes\x20a\
6766 \x20pending\x20or\x20completed\x20[Backup][google.spanner.admin.database\
6767 .v1.Backup].\n\n\r\n\x05\x06\0\x02\x0e\x01\x12\x04\xb9\x02\x06\x12\n\r\n\
6768 \x05\x06\0\x02\x0e\x02\x12\x04\xb9\x02\x13&\n\r\n\x05\x06\0\x02\x0e\x03\
6769 \x12\x04\xb9\x021F\n\x0f\n\x05\x06\0\x02\x0e\x04\x12\x06\xba\x02\x04\xbc\
6770 \x02\x06\n\x13\n\t\x06\0\x02\x0e\x04\xb0\xca\xbc\"\x12\x06\xba\x02\x04\
6771 \xbc\x02\x06\n\r\n\x05\x06\0\x02\x0e\x04\x12\x04\xbd\x02\x042\n\x10\n\
6772 \x08\x06\0\x02\x0e\x04\x9b\x08\0\x12\x04\xbd\x02\x042\n\xa9\x01\n\x04\
6773 \x06\0\x02\x0f\x12\x06\xc3\x02\x02\xc8\x02\x03\x1a\x98\x01\x20Lists\x20c\
6774 ompleted\x20and\x20pending\x20backups.\n\x20Backups\x20returned\x20are\
6775 \x20ordered\x20by\x20`create_time`\x20in\x20descending\x20order,\n\x20st\
6776 arting\x20from\x20the\x20most\x20recent\x20`create_time`.\n\n\r\n\x05\
6777 \x06\0\x02\x0f\x01\x12\x04\xc3\x02\x06\x11\n\r\n\x05\x06\0\x02\x0f\x02\
6778 \x12\x04\xc3\x02\x12$\n\r\n\x05\x06\0\x02\x0f\x03\x12\x04\xc3\x02/B\n\
6779 \x0f\n\x05\x06\0\x02\x0f\x04\x12\x06\xc4\x02\x04\xc6\x02\x06\n\x13\n\t\
6780 \x06\0\x02\x0f\x04\xb0\xca\xbc\"\x12\x06\xc4\x02\x04\xc6\x02\x06\n\r\n\
6781 \x05\x06\0\x02\x0f\x04\x12\x04\xc7\x02\x044\n\x10\n\x08\x06\0\x02\x0f\
6782 \x04\x9b\x08\0\x12\x04\xc7\x02\x044\n\xd6\x08\n\x04\x06\0\x02\x10\x12\
6783 \x06\xdb\x02\x02\xe5\x02\x03\x1a\xc5\x08\x20Create\x20a\x20new\x20databa\
6784 se\x20by\x20restoring\x20from\x20a\x20completed\x20backup.\x20The\x20new\
6785 \n\x20database\x20must\x20be\x20in\x20the\x20same\x20project\x20and\x20i\
6786 n\x20an\x20instance\x20with\x20the\x20same\n\x20instance\x20configuratio\
6787 n\x20as\x20the\x20instance\x20containing\n\x20the\x20backup.\x20The\x20r\
6788 eturned\x20database\x20[long-running\n\x20operation][google.longrunning.\
6789 Operation]\x20has\x20a\x20name\x20of\x20the\x20format\n\x20`projects/<pr\
6790 oject>/instances/<instance>/databases/<database>/operations/<operation_i\
6791 d>`,\n\x20and\x20can\x20be\x20used\x20to\x20track\x20the\x20progress\x20\
6792 of\x20the\x20operation,\x20and\x20to\x20cancel\x20it.\n\x20The\x20[metad\
6793 ata][google.longrunning.Operation.metadata]\x20field\x20type\x20is\n\x20\
6794 [RestoreDatabaseMetadata][google.spanner.admin.database.v1.RestoreDataba\
6795 seMetadata].\n\x20The\x20[response][google.longrunning.Operation.respons\
6796 e]\x20type\n\x20is\x20[Database][google.spanner.admin.database.v1.Databa\
6797 se],\x20if\n\x20successful.\x20Cancelling\x20the\x20returned\x20operatio\
6798 n\x20will\x20stop\x20the\x20restore\x20and\n\x20delete\x20the\x20databas\
6799 e.\n\x20There\x20can\x20be\x20only\x20one\x20database\x20being\x20restor\
6800 ed\x20into\x20an\x20instance\x20at\x20a\x20time.\n\x20Once\x20the\x20res\
6801 tore\x20operation\x20completes,\x20a\x20new\x20restore\x20operation\x20c\
6802 an\x20be\n\x20initiated,\x20without\x20waiting\x20for\x20the\x20optimize\
6803 \x20operation\x20associated\x20with\x20the\n\x20first\x20restore\x20to\
6804 \x20complete.\n\n\r\n\x05\x06\0\x02\x10\x01\x12\x04\xdb\x02\x06\x15\n\r\
6805 \n\x05\x06\0\x02\x10\x02\x12\x04\xdb\x02\x16,\n\r\n\x05\x06\0\x02\x10\
6806 \x03\x12\x04\xdb\x027S\n\x0f\n\x05\x06\0\x02\x10\x04\x12\x06\xdc\x02\x04\
6807 \xdf\x02\x06\n\x13\n\t\x06\0\x02\x10\x04\xb0\xca\xbc\"\x12\x06\xdc\x02\
6808 \x04\xdf\x02\x06\n\r\n\x05\x06\0\x02\x10\x04\x12\x04\xe0\x02\x04G\n\x10\
6809 \n\x08\x06\0\x02\x10\x04\x9b\x08\0\x12\x04\xe0\x02\x04G\n\x0f\n\x05\x06\
6810 \0\x02\x10\x04\x12\x06\xe1\x02\x04\xe4\x02\x06\n\x11\n\x07\x06\0\x02\x10\
6811 \x04\x99\x08\x12\x06\xe1\x02\x04\xe4\x02\x06\n\xe9\x03\n\x04\x06\0\x02\
6812 \x11\x12\x06\xef\x02\x02\xf4\x02\x03\x1a\xd8\x03\x20Lists\x20database\
6813 \x20[longrunning-operations][google.longrunning.Operation].\n\x20A\x20da\
6814 tabase\x20operation\x20has\x20a\x20name\x20of\x20the\x20form\n\x20`proje\
6815 cts/<project>/instances/<instance>/databases/<database>/operations/<oper\
6816 ation>`.\n\x20The\x20long-running\x20operation\n\x20[metadata][google.lo\
6817 ngrunning.Operation.metadata]\x20field\x20type\n\x20`metadata.type_url`\
6818 \x20describes\x20the\x20type\x20of\x20the\x20metadata.\x20Operations\x20\
6819 returned\n\x20include\x20those\x20that\x20have\x20completed/failed/cance\
6820 led\x20within\x20the\x20last\x207\x20days,\n\x20and\x20pending\x20operat\
6821 ions.\n\n\r\n\x05\x06\0\x02\x11\x01\x12\x04\xef\x02\x06\x1c\n\r\n\x05\
6822 \x06\0\x02\x11\x02\x12\x04\xef\x02\x1d:\n\r\n\x05\x06\0\x02\x11\x03\x12\
6823 \x04\xef\x02Ec\n\x0f\n\x05\x06\0\x02\x11\x04\x12\x06\xf0\x02\x04\xf2\x02\
6824 \x06\n\x13\n\t\x06\0\x02\x11\x04\xb0\xca\xbc\"\x12\x06\xf0\x02\x04\xf2\
6825 \x02\x06\n\r\n\x05\x06\0\x02\x11\x04\x12\x04\xf3\x02\x044\n\x10\n\x08\
6826 \x06\0\x02\x11\x04\x9b\x08\0\x12\x04\xf3\x02\x044\n\x97\x05\n\x04\x06\0\
6827 \x02\x12\x12\x06\x80\x03\x02\x85\x03\x03\x1a\x86\x05\x20Lists\x20the\x20\
6828 backup\x20[long-running\x20operations][google.longrunning.Operation]\x20\
6829 in\n\x20the\x20given\x20instance.\x20A\x20backup\x20operation\x20has\x20\
6830 a\x20name\x20of\x20the\x20form\n\x20`projects/<project>/instances/<insta\
6831 nce>/backups/<backup>/operations/<operation>`.\n\x20The\x20long-running\
6832 \x20operation\n\x20[metadata][google.longrunning.Operation.metadata]\x20\
6833 field\x20type\n\x20`metadata.type_url`\x20describes\x20the\x20type\x20of\
6834 \x20the\x20metadata.\x20Operations\x20returned\n\x20include\x20those\x20\
6835 that\x20have\x20completed/failed/canceled\x20within\x20the\x20last\x207\
6836 \x20days,\n\x20and\x20pending\x20operations.\x20Operations\x20returned\
6837 \x20are\x20ordered\x20by\n\x20`operation.metadata.value.progress.start_t\
6838 ime`\x20in\x20descending\x20order\x20starting\n\x20from\x20the\x20most\
6839 \x20recently\x20started\x20operation.\n\n\r\n\x05\x06\0\x02\x12\x01\x12\
6840 \x04\x80\x03\x06\x1a\n\r\n\x05\x06\0\x02\x12\x02\x12\x04\x80\x03\x1b6\n\
6841 \r\n\x05\x06\0\x02\x12\x03\x12\x04\x80\x03A]\n\x0f\n\x05\x06\0\x02\x12\
6842 \x04\x12\x06\x81\x03\x04\x83\x03\x06\n\x13\n\t\x06\0\x02\x12\x04\xb0\xca\
6843 \xbc\"\x12\x06\x81\x03\x04\x83\x03\x06\n\r\n\x05\x06\0\x02\x12\x04\x12\
6844 \x04\x84\x03\x044\n\x10\n\x08\x06\0\x02\x12\x04\x9b\x08\0\x12\x04\x84\
6845 \x03\x044\n5\n\x04\x06\0\x02\x13\x12\x06\x88\x03\x02\x8d\x03\x03\x1a%\
6846 \x20Lists\x20Cloud\x20Spanner\x20database\x20roles.\n\n\r\n\x05\x06\0\
6847 \x02\x13\x01\x12\x04\x88\x03\x06\x17\n\r\n\x05\x06\0\x02\x13\x02\x12\x04\
6848 \x88\x03\x180\n\r\n\x05\x06\0\x02\x13\x03\x12\x04\x88\x03;T\n\x0f\n\x05\
6849 \x06\0\x02\x13\x04\x12\x06\x89\x03\x04\x8b\x03\x06\n\x13\n\t\x06\0\x02\
6850 \x13\x04\xb0\xca\xbc\"\x12\x06\x89\x03\x04\x8b\x03\x06\n\r\n\x05\x06\0\
6851 \x02\x13\x04\x12\x04\x8c\x03\x044\n\x10\n\x08\x06\0\x02\x13\x04\x9b\x08\
6852 \0\x12\x04\x8c\x03\x044\n7\n\x02\x04\0\x12\x06\x91\x03\0\x9b\x03\x01\x1a\
6853 )\x20Information\x20about\x20the\x20database\x20restore.\n\n\x0b\n\x03\
6854 \x04\0\x01\x12\x04\x91\x03\x08\x13\n/\n\x04\x04\0\x02\0\x12\x04\x93\x03\
6855 \x02$\x1a!\x20The\x20type\x20of\x20the\x20restore\x20source.\n\n\r\n\x05\
6856 \x04\0\x02\0\x06\x12\x04\x93\x03\x02\x13\n\r\n\x05\x04\0\x02\0\x01\x12\
6857 \x04\x93\x03\x14\x1f\n\r\n\x05\x04\0\x02\0\x03\x12\x04\x93\x03\"#\nL\n\
6858 \x04\x04\0\x08\0\x12\x06\x96\x03\x02\x9a\x03\x03\x1a<\x20Information\x20\
6859 about\x20the\x20source\x20used\x20to\x20restore\x20the\x20database.\n\n\
6860 \r\n\x05\x04\0\x08\0\x01\x12\x04\x96\x03\x08\x13\nk\n\x04\x04\0\x02\x01\
6861 \x12\x04\x99\x03\x04\x1f\x1a]\x20Information\x20about\x20the\x20backup\
6862 \x20used\x20to\x20restore\x20the\x20database.\x20The\x20backup\n\x20may\
6863 \x20no\x20longer\x20exist.\n\n\r\n\x05\x04\0\x02\x01\x06\x12\x04\x99\x03\
6864 \x04\x0e\n\r\n\x05\x04\0\x02\x01\x01\x12\x04\x99\x03\x0f\x1a\n\r\n\x05\
6865 \x04\0\x02\x01\x03\x12\x04\x99\x03\x1d\x1e\n)\n\x02\x04\x01\x12\x06\x9e\
6866 \x03\0\xfd\x03\x01\x1a\x1b\x20A\x20Cloud\x20Spanner\x20database.\n\n\x0b\
6867 \n\x03\x04\x01\x01\x12\x04\x9e\x03\x08\x10\n\r\n\x03\x04\x01\x07\x12\x06\
6868 \x9f\x03\x02\xa2\x03\x04\n\x0f\n\x05\x04\x01\x07\x9d\x08\x12\x06\x9f\x03\
6869 \x02\xa2\x03\x04\n>\n\x04\x04\x01\x04\0\x12\x06\xa5\x03\x02\xb9\x03\x03\
6870 \x1a.\x20Indicates\x20the\x20current\x20state\x20of\x20the\x20database.\
6871 \n\n\r\n\x05\x04\x01\x04\0\x01\x12\x04\xa5\x03\x07\x0c\n\x20\n\x06\x04\
6872 \x01\x04\0\x02\0\x12\x04\xa7\x03\x04\x1a\x1a\x10\x20Not\x20specified.\n\
6873 \n\x0f\n\x07\x04\x01\x04\0\x02\0\x01\x12\x04\xa7\x03\x04\x15\n\x0f\n\x07\
6874 \x04\x01\x04\0\x02\0\x02\x12\x04\xa7\x03\x18\x19\n\x85\x01\n\x06\x04\x01\
6875 \x04\0\x02\x01\x12\x04\xab\x03\x04\x11\x1au\x20The\x20database\x20is\x20\
6876 still\x20being\x20created.\x20Operations\x20on\x20the\x20database\x20may\
6877 \x20fail\n\x20with\x20`FAILED_PRECONDITION`\x20in\x20this\x20state.\n\n\
6878 \x0f\n\x07\x04\x01\x04\0\x02\x01\x01\x12\x04\xab\x03\x04\x0c\n\x0f\n\x07\
6879 \x04\x01\x04\0\x02\x01\x02\x12\x04\xab\x03\x0f\x10\nB\n\x06\x04\x01\x04\
6880 \0\x02\x02\x12\x04\xae\x03\x04\x0e\x1a2\x20The\x20database\x20is\x20full\
6881 y\x20created\x20and\x20ready\x20for\x20use.\n\n\x0f\n\x07\x04\x01\x04\0\
6882 \x02\x02\x01\x12\x04\xae\x03\x04\t\n\x0f\n\x07\x04\x01\x04\0\x02\x02\x02\
6883 \x12\x04\xae\x03\x0c\r\n\x96\x03\n\x06\x04\x01\x04\0\x02\x03\x12\x04\xb8\
6884 \x03\x04\x19\x1a\x85\x03\x20The\x20database\x20is\x20fully\x20created\
6885 \x20and\x20ready\x20for\x20use,\x20but\x20is\x20still\n\x20being\x20opti\
6886 mized\x20for\x20performance\x20and\x20cannot\x20handle\x20full\x20load.\
6887 \n\n\x20In\x20this\x20state,\x20the\x20database\x20still\x20references\
6888 \x20the\x20backup\n\x20it\x20was\x20restore\x20from,\x20preventing\x20th\
6889 e\x20backup\n\x20from\x20being\x20deleted.\x20When\x20optimizations\x20a\
6890 re\x20complete,\x20the\x20full\x20performance\n\x20of\x20the\x20database\
6891 \x20will\x20be\x20restored,\x20and\x20the\x20database\x20will\x20transit\
6892 ion\x20to\n\x20`READY`\x20state.\n\n\x0f\n\x07\x04\x01\x04\0\x02\x03\x01\
6893 \x12\x04\xb8\x03\x04\x14\n\x0f\n\x07\x04\x01\x04\0\x02\x03\x02\x12\x04\
6894 \xb8\x03\x17\x18\n\x9d\x02\n\x04\x04\x01\x02\0\x12\x04\xc0\x03\x02;\x1a\
6895 \x8e\x02\x20Required.\x20The\x20name\x20of\x20the\x20database.\x20Values\
6896 \x20are\x20of\x20the\x20form\n\x20`projects/<project>/instances/<instanc\
6897 e>/databases/<database>`,\n\x20where\x20`<database>`\x20is\x20as\x20spec\
6898 ified\x20in\x20the\x20`CREATE\x20DATABASE`\n\x20statement.\x20This\x20na\
6899 me\x20can\x20be\x20passed\x20to\x20other\x20API\x20methods\x20to\n\x20id\
6900 entify\x20the\x20database.\n\n\r\n\x05\x04\x01\x02\0\x05\x12\x04\xc0\x03\
6901 \x02\x08\n\r\n\x05\x04\x01\x02\0\x01\x12\x04\xc0\x03\t\r\n\r\n\x05\x04\
6902 \x01\x02\0\x03\x12\x04\xc0\x03\x10\x11\n\r\n\x05\x04\x01\x02\0\x08\x12\
6903 \x04\xc0\x03\x12:\n\x10\n\x08\x04\x01\x02\0\x08\x9c\x08\0\x12\x04\xc0\
6904 \x03\x139\n8\n\x04\x04\x01\x02\x01\x12\x04\xc3\x03\x02>\x1a*\x20Output\
6905 \x20only.\x20The\x20current\x20database\x20state.\n\n\r\n\x05\x04\x01\
6906 \x02\x01\x06\x12\x04\xc3\x03\x02\x07\n\r\n\x05\x04\x01\x02\x01\x01\x12\
6907 \x04\xc3\x03\x08\r\n\r\n\x05\x04\x01\x02\x01\x03\x12\x04\xc3\x03\x10\x11\
6908 \n\r\n\x05\x04\x01\x02\x01\x08\x12\x04\xc3\x03\x12=\n\x10\n\x08\x04\x01\
6909 \x02\x01\x08\x9c\x08\0\x12\x04\xc3\x03\x13<\nX\n\x04\x04\x01\x02\x02\x12\
6910 \x04\xc6\x03\x02X\x1aJ\x20Output\x20only.\x20If\x20exists,\x20the\x20tim\
6911 e\x20at\x20which\x20the\x20database\x20creation\x20started.\n\n\r\n\x05\
6912 \x04\x01\x02\x02\x06\x12\x04\xc6\x03\x02\x1b\n\r\n\x05\x04\x01\x02\x02\
6913 \x01\x12\x04\xc6\x03\x1c'\n\r\n\x05\x04\x01\x02\x02\x03\x12\x04\xc6\x03*\
6914 +\n\r\n\x05\x04\x01\x02\x02\x08\x12\x04\xc6\x03,W\n\x10\n\x08\x04\x01\
6915 \x02\x02\x08\x9c\x08\0\x12\x04\xc6\x03-V\nt\n\x04\x04\x01\x02\x03\x12\
6916 \x04\xca\x03\x02K\x1af\x20Output\x20only.\x20Applicable\x20only\x20for\
6917 \x20restored\x20databases.\x20Contains\x20information\n\x20about\x20the\
6918 \x20restore\x20source.\n\n\r\n\x05\x04\x01\x02\x03\x06\x12\x04\xca\x03\
6919 \x02\r\n\r\n\x05\x04\x01\x02\x03\x01\x12\x04\xca\x03\x0e\x1a\n\r\n\x05\
6920 \x04\x01\x02\x03\x03\x12\x04\xca\x03\x1d\x1e\n\r\n\x05\x04\x01\x02\x03\
6921 \x08\x12\x04\xca\x03\x1fJ\n\x10\n\x08\x04\x01\x02\x03\x08\x9c\x08\0\x12\
6922 \x04\xca\x03\x20I\n\xfc\x01\n\x04\x04\x01\x02\x04\x12\x04\xd0\x03\x02U\
6923 \x1a\xed\x01\x20Output\x20only.\x20For\x20databases\x20that\x20are\x20us\
6924 ing\x20customer\x20managed\x20encryption,\x20this\n\x20field\x20contains\
6925 \x20the\x20encryption\x20configuration\x20for\x20the\x20database.\n\x20F\
6926 or\x20databases\x20that\x20are\x20using\x20Google\x20default\x20or\x20ot\
6927 her\x20types\x20of\x20encryption,\n\x20this\x20field\x20is\x20empty.\n\n\
6928 \r\n\x05\x04\x01\x02\x04\x06\x12\x04\xd0\x03\x02\x12\n\r\n\x05\x04\x01\
6929 \x02\x04\x01\x12\x04\xd0\x03\x13$\n\r\n\x05\x04\x01\x02\x04\x03\x12\x04\
6930 \xd0\x03'(\n\r\n\x05\x04\x01\x02\x04\x08\x12\x04\xd0\x03)T\n\x10\n\x08\
6931 \x04\x01\x02\x04\x08\x9c\x08\0\x12\x04\xd0\x03*S\n\xda\x03\n\x04\x04\x01\
6932 \x02\x05\x12\x04\xdb\x03\x02Z\x1a\xcb\x03\x20Output\x20only.\x20For\x20d\
6933 atabases\x20that\x20are\x20using\x20customer\x20managed\x20encryption,\
6934 \x20this\n\x20field\x20contains\x20the\x20encryption\x20information\x20f\
6935 or\x20the\x20database,\x20such\x20as\n\x20encryption\x20state\x20and\x20\
6936 the\x20Cloud\x20KMS\x20key\x20versions\x20that\x20are\x20in\x20use.\n\n\
6937 \x20For\x20databases\x20that\x20are\x20using\x20Google\x20default\x20or\
6938 \x20other\x20types\x20of\x20encryption,\n\x20this\x20field\x20is\x20empt\
6939 y.\n\n\x20This\x20field\x20is\x20propagated\x20lazily\x20from\x20the\x20\
6940 backend.\x20There\x20might\x20be\x20a\x20delay\n\x20from\x20when\x20a\
6941 \x20key\x20version\x20is\x20being\x20used\x20and\x20when\x20it\x20appear\
6942 s\x20in\x20this\x20field.\n\n\r\n\x05\x04\x01\x02\x05\x04\x12\x04\xdb\
6943 \x03\x02\n\n\r\n\x05\x04\x01\x02\x05\x06\x12\x04\xdb\x03\x0b\x19\n\r\n\
6944 \x05\x04\x01\x02\x05\x01\x12\x04\xdb\x03\x1a)\n\r\n\x05\x04\x01\x02\x05\
6945 \x03\x12\x04\xdb\x03,-\n\r\n\x05\x04\x01\x02\x05\x08\x12\x04\xdb\x03.Y\n\
6946 \x10\n\x08\x04\x01\x02\x05\x08\x9c\x08\0\x12\x04\xdb\x03/X\n\xbd\x02\n\
6947 \x04\x04\x01\x02\x06\x12\x04\xe2\x03\x02R\x1a\xae\x02\x20Output\x20only.\
6948 \x20The\x20period\x20in\x20which\x20Cloud\x20Spanner\x20retains\x20all\
6949 \x20versions\x20of\x20data\n\x20for\x20the\x20database.\x20This\x20is\
6950 \x20the\x20same\x20as\x20the\x20value\x20of\x20version_retention_period\
6951 \n\x20database\x20option\x20set\x20using\n\x20[UpdateDatabaseDdl][google\
6952 .spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl].\x20Defaults\
6953 \x20to\x201\x20hour,\n\x20if\x20not\x20set.\n\n\r\n\x05\x04\x01\x02\x06\
6954 \x05\x12\x04\xe2\x03\x02\x08\n\r\n\x05\x04\x01\x02\x06\x01\x12\x04\xe2\
6955 \x03\t!\n\r\n\x05\x04\x01\x02\x06\x03\x12\x04\xe2\x03$%\n\r\n\x05\x04\
6956 \x01\x02\x06\x08\x12\x04\xe2\x03&Q\n\x10\n\x08\x04\x01\x02\x06\x08\x9c\
6957 \x08\0\x12\x04\xe2\x03'P\n\xec\x02\n\x04\x04\x01\x02\x07\x12\x04\xe9\x03\
6958 \x02b\x1a\xdd\x02\x20Output\x20only.\x20Earliest\x20timestamp\x20at\x20w\
6959 hich\x20older\x20versions\x20of\x20the\x20data\x20can\x20be\n\x20read.\
6960 \x20This\x20value\x20is\x20continuously\x20updated\x20by\x20Cloud\x20Spa\
6961 nner\x20and\x20becomes\x20stale\n\x20the\x20moment\x20it\x20is\x20querie\
6962 d.\x20If\x20you\x20are\x20using\x20this\x20value\x20to\x20recover\x20dat\
6963 a,\x20make\n\x20sure\x20to\x20account\x20for\x20the\x20time\x20from\x20t\
6964 he\x20moment\x20when\x20the\x20value\x20is\x20queried\x20to\n\x20the\x20\
6965 moment\x20when\x20you\x20initiate\x20the\x20recovery.\n\n\r\n\x05\x04\
6966 \x01\x02\x07\x06\x12\x04\xe9\x03\x02\x1b\n\r\n\x05\x04\x01\x02\x07\x01\
6967 \x12\x04\xe9\x03\x1c1\n\r\n\x05\x04\x01\x02\x07\x03\x12\x04\xe9\x0345\n\
6968 \r\n\x05\x04\x01\x02\x07\x08\x12\x04\xe9\x036a\n\x10\n\x08\x04\x01\x02\
6969 \x07\x08\x9c\x08\0\x12\x04\xe9\x037`\n\x98\x02\n\x04\x04\x01\x02\x08\x12\
6970 \x04\xf1\x03\x02H\x1a\x89\x02\x20Output\x20only.\x20The\x20read-write\
6971 \x20region\x20which\x20contains\x20the\x20database's\x20leader\n\x20repl\
6972 icas.\n\n\x20This\x20is\x20the\x20same\x20as\x20the\x20value\x20of\x20de\
6973 fault_leader\n\x20database\x20option\x20set\x20using\x20DatabaseAdmin.Cr\
6974 eateDatabase\x20or\n\x20DatabaseAdmin.UpdateDatabaseDdl.\x20If\x20not\
6975 \x20explicitly\x20set,\x20this\x20is\x20empty.\n\n\r\n\x05\x04\x01\x02\
6976 \x08\x05\x12\x04\xf1\x03\x02\x08\n\r\n\x05\x04\x01\x02\x08\x01\x12\x04\
6977 \xf1\x03\t\x17\n\r\n\x05\x04\x01\x02\x08\x03\x12\x04\xf1\x03\x1a\x1b\n\r\
6978 \n\x05\x04\x01\x02\x08\x08\x12\x04\xf1\x03\x1cG\n\x10\n\x08\x04\x01\x02\
6979 \x08\x08\x9c\x08\0\x12\x04\xf1\x03\x1dF\nG\n\x04\x04\x01\x02\t\x12\x04\
6980 \xf4\x03\x02T\x1a9\x20Output\x20only.\x20The\x20dialect\x20of\x20the\x20\
6981 Cloud\x20Spanner\x20Database.\n\n\r\n\x05\x04\x01\x02\t\x06\x12\x04\xf4\
6982 \x03\x02\x11\n\r\n\x05\x04\x01\x02\t\x01\x12\x04\xf4\x03\x12\"\n\r\n\x05\
6983 \x04\x01\x02\t\x03\x12\x04\xf4\x03%'\n\r\n\x05\x04\x01\x02\t\x08\x12\x04\
6984 \xf4\x03(S\n\x10\n\x08\x04\x01\x02\t\x08\x9c\x08\0\x12\x04\xf4\x03)R\ne\
6985 \n\x04\x04\x01\x02\n\x12\x04\xf8\x03\x02#\x1aW\x20Whether\x20drop\x20pro\
6986 tection\x20is\x20enabled\x20for\x20this\x20database.\x20Defaults\x20to\
6987 \x20false,\n\x20if\x20not\x20set.\n\n\r\n\x05\x04\x01\x02\n\x05\x12\x04\
6988 \xf8\x03\x02\x06\n\r\n\x05\x04\x01\x02\n\x01\x12\x04\xf8\x03\x07\x1d\n\r\
6989 \n\x05\x04\x01\x02\n\x03\x12\x04\xf8\x03\x20\"\n\x88\x01\n\x04\x04\x01\
6990 \x02\x0b\x12\x04\xfc\x03\x02D\x1az\x20Output\x20only.\x20If\x20true,\x20\
6991 the\x20database\x20is\x20being\x20updated.\x20If\x20false,\x20there\x20a\
6992 re\x20no\n\x20ongoing\x20update\x20operations\x20for\x20the\x20database.\
6993 \n\n\r\n\x05\x04\x01\x02\x0b\x05\x12\x04\xfc\x03\x02\x06\n\r\n\x05\x04\
6994 \x01\x02\x0b\x01\x12\x04\xfc\x03\x07\x12\n\r\n\x05\x04\x01\x02\x0b\x03\
6995 \x12\x04\xfc\x03\x15\x17\n\r\n\x05\x04\x01\x02\x0b\x08\x12\x04\xfc\x03\
6996 \x18C\n\x10\n\x08\x04\x01\x02\x0b\x08\x9c\x08\0\x12\x04\xfc\x03\x19B\nn\
6997 \n\x02\x04\x02\x12\x06\x80\x04\0\x92\x04\x01\x1a`\x20The\x20request\x20f\
6998 or\x20[ListDatabases][google.spanner.admin.database.v1.DatabaseAdmin.Lis\
6999 tDatabases].\n\n\x0b\n\x03\x04\x02\x01\x12\x04\x80\x04\x08\x1c\n\x8d\x01\
7000 \n\x04\x04\x02\x02\0\x12\x06\x83\x04\x02\x88\x04\x04\x1a}\x20Required.\
7001 \x20The\x20instance\x20whose\x20databases\x20should\x20be\x20listed.\n\
7002 \x20Values\x20are\x20of\x20the\x20form\x20`projects/<project>/instances/\
7003 <instance>`.\n\n\r\n\x05\x04\x02\x02\0\x05\x12\x04\x83\x04\x02\x08\n\r\n\
7004 \x05\x04\x02\x02\0\x01\x12\x04\x83\x04\t\x0f\n\r\n\x05\x04\x02\x02\0\x03\
7005 \x12\x04\x83\x04\x12\x13\n\x0f\n\x05\x04\x02\x02\0\x08\x12\x06\x83\x04\
7006 \x14\x88\x04\x03\n\x10\n\x08\x04\x02\x02\0\x08\x9c\x08\0\x12\x04\x84\x04\
7007 \x04*\n\x11\n\x07\x04\x02\x02\0\x08\x9f\x08\x12\x06\x85\x04\x04\x87\x04\
7008 \x05\n\x86\x01\n\x04\x04\x02\x02\x01\x12\x04\x8c\x04\x02\x16\x1ax\x20Num\
7009 ber\x20of\x20databases\x20to\x20be\x20returned\x20in\x20the\x20response.\
7010 \x20If\x200\x20or\x20less,\n\x20defaults\x20to\x20the\x20server's\x20max\
7011 imum\x20allowed\x20page\x20size.\n\n\r\n\x05\x04\x02\x02\x01\x05\x12\x04\
7012 \x8c\x04\x02\x07\n\r\n\x05\x04\x02\x02\x01\x01\x12\x04\x8c\x04\x08\x11\n\
7013 \r\n\x05\x04\x02\x02\x01\x03\x12\x04\x8c\x04\x14\x15\n\xf9\x01\n\x04\x04\
7014 \x02\x02\x02\x12\x04\x91\x04\x02\x18\x1a\xea\x01\x20If\x20non-empty,\x20\
7015 `page_token`\x20should\x20contain\x20a\n\x20[next_page_token][google.spa\
7016 nner.admin.database.v1.ListDatabasesResponse.next_page_token]\x20from\
7017 \x20a\n\x20previous\x20[ListDatabasesResponse][google.spanner.admin.data\
7018 base.v1.ListDatabasesResponse].\n\n\r\n\x05\x04\x02\x02\x02\x05\x12\x04\
7019 \x91\x04\x02\x08\n\r\n\x05\x04\x02\x02\x02\x01\x12\x04\x91\x04\t\x13\n\r\
7020 \n\x05\x04\x02\x02\x02\x03\x12\x04\x91\x04\x16\x17\no\n\x02\x04\x03\x12\
7021 \x06\x95\x04\0\x9d\x04\x01\x1aa\x20The\x20response\x20for\x20[ListDataba\
7022 ses][google.spanner.admin.database.v1.DatabaseAdmin.ListDatabases].\n\n\
7023 \x0b\n\x03\x04\x03\x01\x12\x04\x95\x04\x08\x1d\n3\n\x04\x04\x03\x02\0\
7024 \x12\x04\x97\x04\x02\"\x1a%\x20Databases\x20that\x20matched\x20the\x20re\
7025 quest.\n\n\r\n\x05\x04\x03\x02\0\x04\x12\x04\x97\x04\x02\n\n\r\n\x05\x04\
7026 \x03\x02\0\x06\x12\x04\x97\x04\x0b\x13\n\r\n\x05\x04\x03\x02\0\x01\x12\
7027 \x04\x97\x04\x14\x1d\n\r\n\x05\x04\x03\x02\0\x03\x12\x04\x97\x04\x20!\n\
7028 \xbc\x01\n\x04\x04\x03\x02\x01\x12\x04\x9c\x04\x02\x1d\x1a\xad\x01\x20`n\
7029 ext_page_token`\x20can\x20be\x20sent\x20in\x20a\x20subsequent\n\x20[List\
7030 Databases][google.spanner.admin.database.v1.DatabaseAdmin.ListDatabases]\
7031 \x20call\x20to\x20fetch\x20more\n\x20of\x20the\x20matching\x20databases.\
7032 \n\n\r\n\x05\x04\x03\x02\x01\x05\x12\x04\x9c\x04\x02\x08\n\r\n\x05\x04\
7033 \x03\x02\x01\x01\x12\x04\x9c\x04\t\x18\n\r\n\x05\x04\x03\x02\x01\x03\x12\
7034 \x04\x9c\x04\x1b\x1c\np\n\x02\x04\x04\x12\x06\xa0\x04\0\xbe\x04\x01\x1ab\
7035 \x20The\x20request\x20for\x20[CreateDatabase][google.spanner.admin.datab\
7036 ase.v1.DatabaseAdmin.CreateDatabase].\n\n\x0b\n\x03\x04\x04\x01\x12\x04\
7037 \xa0\x04\x08\x1d\n\x9a\x01\n\x04\x04\x04\x02\0\x12\x06\xa3\x04\x02\xa8\
7038 \x04\x04\x1a\x89\x01\x20Required.\x20The\x20name\x20of\x20the\x20instanc\
7039 e\x20that\x20will\x20serve\x20the\x20new\x20database.\n\x20Values\x20are\
7040 \x20of\x20the\x20form\x20`projects/<project>/instances/<instance>`.\n\n\
7041 \r\n\x05\x04\x04\x02\0\x05\x12\x04\xa3\x04\x02\x08\n\r\n\x05\x04\x04\x02\
7042 \0\x01\x12\x04\xa3\x04\t\x0f\n\r\n\x05\x04\x04\x02\0\x03\x12\x04\xa3\x04\
7043 \x12\x13\n\x0f\n\x05\x04\x04\x02\0\x08\x12\x06\xa3\x04\x14\xa8\x04\x03\n\
7044 \x10\n\x08\x04\x04\x02\0\x08\x9c\x08\0\x12\x04\xa4\x04\x04*\n\x11\n\x07\
7045 \x04\x04\x02\0\x08\x9f\x08\x12\x06\xa5\x04\x04\xa7\x04\x05\n\xe6\x02\n\
7046 \x04\x04\x04\x02\x01\x12\x04\xaf\x04\x02G\x1a\xd7\x02\x20Required.\x20A\
7047 \x20`CREATE\x20DATABASE`\x20statement,\x20which\x20specifies\x20the\x20I\
7048 D\x20of\x20the\n\x20new\x20database.\x20\x20The\x20database\x20ID\x20mus\
7049 t\x20conform\x20to\x20the\x20regular\x20expression\n\x20`[a-z][a-z0-9_\\\
7050 -]*[a-z0-9]`\x20and\x20be\x20between\x202\x20and\x2030\x20characters\x20\
7051 in\x20length.\n\x20If\x20the\x20database\x20ID\x20is\x20a\x20reserved\
7052 \x20word\x20or\x20if\x20it\x20contains\x20a\x20hyphen,\x20the\n\x20datab\
7053 ase\x20ID\x20must\x20be\x20enclosed\x20in\x20backticks\x20(``\x20`\x20``\
7054 ).\n\n\r\n\x05\x04\x04\x02\x01\x05\x12\x04\xaf\x04\x02\x08\n\r\n\x05\x04\
7055 \x04\x02\x01\x01\x12\x04\xaf\x04\t\x19\n\r\n\x05\x04\x04\x02\x01\x03\x12\
7056 \x04\xaf\x04\x1c\x1d\n\r\n\x05\x04\x04\x02\x01\x08\x12\x04\xaf\x04\x1eF\
7057 \n\x10\n\x08\x04\x04\x02\x01\x08\x9c\x08\0\x12\x04\xaf\x04\x1fE\n\x97\
7058 \x02\n\x04\x04\x04\x02\x02\x12\x04\xb5\x04\x02P\x1a\x88\x02\x20Optional.\
7059 \x20A\x20list\x20of\x20DDL\x20statements\x20to\x20run\x20inside\x20the\
7060 \x20newly\x20created\n\x20database.\x20Statements\x20can\x20create\x20ta\
7061 bles,\x20indexes,\x20etc.\x20These\n\x20statements\x20execute\x20atomica\
7062 lly\x20with\x20the\x20creation\x20of\x20the\x20database:\n\x20if\x20ther\
7063 e\x20is\x20an\x20error\x20in\x20any\x20statement,\x20the\x20database\x20\
7064 is\x20not\x20created.\n\n\r\n\x05\x04\x04\x02\x02\x04\x12\x04\xb5\x04\
7065 \x02\n\n\r\n\x05\x04\x04\x02\x02\x05\x12\x04\xb5\x04\x0b\x11\n\r\n\x05\
7066 \x04\x04\x02\x02\x01\x12\x04\xb5\x04\x12\"\n\r\n\x05\x04\x04\x02\x02\x03\
7067 \x12\x04\xb5\x04%&\n\r\n\x05\x04\x04\x02\x02\x08\x12\x04\xb5\x04'O\n\x10\
7068 \n\x08\x04\x04\x02\x02\x08\x9c\x08\0\x12\x04\xb5\x04(N\n\xc0\x01\n\x04\
7069 \x04\x04\x02\x03\x12\x04\xba\x04\x02R\x1a\xb1\x01\x20Optional.\x20The\
7070 \x20encryption\x20configuration\x20for\x20the\x20database.\x20If\x20this\
7071 \x20field\x20is\x20not\n\x20specified,\x20Cloud\x20Spanner\x20will\x20en\
7072 crypt/decrypt\x20all\x20data\x20at\x20rest\x20using\n\x20Google\x20defau\
7073 lt\x20encryption.\n\n\r\n\x05\x04\x04\x02\x03\x06\x12\x04\xba\x04\x02\
7074 \x12\n\r\n\x05\x04\x04\x02\x03\x01\x12\x04\xba\x04\x13$\n\r\n\x05\x04\
7075 \x04\x02\x03\x03\x12\x04\xba\x04'(\n\r\n\x05\x04\x04\x02\x03\x08\x12\x04\
7076 \xba\x04)Q\n\x10\n\x08\x04\x04\x02\x03\x08\x9c\x08\0\x12\x04\xba\x04*P\n\
7077 D\n\x04\x04\x04\x02\x04\x12\x04\xbd\x04\x02P\x1a6\x20Optional.\x20The\
7078 \x20dialect\x20of\x20the\x20Cloud\x20Spanner\x20Database.\n\n\r\n\x05\
7079 \x04\x04\x02\x04\x06\x12\x04\xbd\x04\x02\x11\n\r\n\x05\x04\x04\x02\x04\
7080 \x01\x12\x04\xbd\x04\x12\"\n\r\n\x05\x04\x04\x02\x04\x03\x12\x04\xbd\x04\
7081 %&\n\r\n\x05\x04\x04\x02\x04\x08\x12\x04\xbd\x04'O\n\x10\n\x08\x04\x04\
7082 \x02\x04\x08\x9c\x08\0\x12\x04\xbd\x04(N\n\x8d\x01\n\x02\x04\x05\x12\x06\
7083 \xc2\x04\0\xc7\x04\x01\x1a\x7f\x20Metadata\x20type\x20for\x20the\x20oper\
7084 ation\x20returned\x20by\n\x20[CreateDatabase][google.spanner.admin.datab\
7085 ase.v1.DatabaseAdmin.CreateDatabase].\n\n\x0b\n\x03\x04\x05\x01\x12\x04\
7086 \xc2\x04\x08\x1e\n-\n\x04\x04\x05\x02\0\x12\x06\xc4\x04\x02\xc6\x04\x1a\
7087 \x1a\x1d\x20The\x20database\x20being\x20created.\n\n\r\n\x05\x04\x05\x02\
7088 \0\x05\x12\x04\xc4\x04\x02\x08\n\r\n\x05\x04\x05\x02\0\x01\x12\x04\xc4\
7089 \x04\t\x11\n\r\n\x05\x04\x05\x02\0\x03\x12\x04\xc4\x04\x14\x15\n\x0f\n\
7090 \x05\x04\x05\x02\0\x08\x12\x06\xc4\x04\x16\xc6\x04\x19\n\x11\n\x07\x04\
7091 \x05\x02\0\x08\x9f\x08\x12\x06\xc4\x04\x17\xc6\x04\x18\nj\n\x02\x04\x06\
7092 \x12\x06\xca\x04\0\xd3\x04\x01\x1a\\\x20The\x20request\x20for\x20[GetDat\
7093 abase][google.spanner.admin.database.v1.DatabaseAdmin.GetDatabase].\n\n\
7094 \x0b\n\x03\x04\x06\x01\x12\x04\xca\x04\x08\x1a\n\x98\x01\n\x04\x04\x06\
7095 \x02\0\x12\x06\xcd\x04\x02\xd2\x04\x04\x1a\x87\x01\x20Required.\x20The\
7096 \x20name\x20of\x20the\x20requested\x20database.\x20Values\x20are\x20of\
7097 \x20the\x20form\n\x20`projects/<project>/instances/<instance>/databases/\
7098 <database>`.\n\n\r\n\x05\x04\x06\x02\0\x05\x12\x04\xcd\x04\x02\x08\n\r\n\
7099 \x05\x04\x06\x02\0\x01\x12\x04\xcd\x04\t\r\n\r\n\x05\x04\x06\x02\0\x03\
7100 \x12\x04\xcd\x04\x10\x11\n\x0f\n\x05\x04\x06\x02\0\x08\x12\x06\xcd\x04\
7101 \x12\xd2\x04\x03\n\x10\n\x08\x04\x06\x02\0\x08\x9c\x08\0\x12\x04\xce\x04\
7102 \x04*\n\x11\n\x07\x04\x06\x02\0\x08\x9f\x08\x12\x06\xcf\x04\x04\xd1\x04\
7103 \x05\nq\n\x02\x04\x07\x12\x06\xd7\x04\0\xe1\x04\x01\x1ac\x20The\x20reque\
7104 st\x20for\n\x20[UpdateDatabase][google.spanner.admin.database.v1.Databas\
7105 eAdmin.UpdateDatabase].\n\n\x0b\n\x03\x04\x07\x01\x12\x04\xd7\x04\x08\
7106 \x1d\n\xa4\x01\n\x04\x04\x07\x02\0\x12\x04\xdb\x04\x02A\x1a\x95\x01\x20R\
7107 equired.\x20The\x20database\x20to\x20update.\n\x20The\x20`name`\x20field\
7108 \x20of\x20the\x20database\x20is\x20of\x20the\x20form\n\x20`projects/<pro\
7109 ject>/instances/<instance>/databases/<database>`.\n\n\r\n\x05\x04\x07\
7110 \x02\0\x06\x12\x04\xdb\x04\x02\n\n\r\n\x05\x04\x07\x02\0\x01\x12\x04\xdb\
7111 \x04\x0b\x13\n\r\n\x05\x04\x07\x02\0\x03\x12\x04\xdb\x04\x16\x17\n\r\n\
7112 \x05\x04\x07\x02\0\x08\x12\x04\xdb\x04\x18@\n\x10\n\x08\x04\x07\x02\0\
7113 \x08\x9c\x08\0\x12\x04\xdb\x04\x19?\ny\n\x04\x04\x07\x02\x01\x12\x06\xdf\
7114 \x04\x02\xe0\x04/\x1ai\x20Required.\x20The\x20list\x20of\x20fields\x20to\
7115 \x20update.\x20Currently,\x20only\n\x20`enable_drop_protection`\x20field\
7116 \x20can\x20be\x20updated.\n\n\r\n\x05\x04\x07\x02\x01\x06\x12\x04\xdf\
7117 \x04\x02\x1b\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\xdf\x04\x1c'\n\r\n\
7118 \x05\x04\x07\x02\x01\x03\x12\x04\xdf\x04*+\n\r\n\x05\x04\x07\x02\x01\x08\
7119 \x12\x04\xe0\x04\x06.\n\x10\n\x08\x04\x07\x02\x01\x08\x9c\x08\0\x12\x04\
7120 \xe0\x04\x07-\n\x8d\x01\n\x02\x04\x08\x12\x06\xe5\x04\0\xf2\x04\x01\x1a\
7121 \x7f\x20Metadata\x20type\x20for\x20the\x20operation\x20returned\x20by\n\
7122 \x20[UpdateDatabase][google.spanner.admin.database.v1.DatabaseAdmin.Upda\
7123 teDatabase].\n\n\x0b\n\x03\x04\x08\x01\x12\x04\xe5\x04\x08\x1e\nq\n\x04\
7124 \x04\x08\x02\0\x12\x04\xe8\x04\x02$\x1ac\x20The\x20request\x20for\n\x20[\
7125 UpdateDatabase][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDat\
7126 abase].\n\n\r\n\x05\x04\x08\x02\0\x06\x12\x04\xe8\x04\x02\x17\n\r\n\x05\
7127 \x04\x08\x02\0\x01\x12\x04\xe8\x04\x18\x1f\n\r\n\x05\x04\x08\x02\0\x03\
7128 \x12\x04\xe8\x04\"#\n\x80\x01\n\x04\x04\x08\x02\x01\x12\x04\xed\x04\x02!\
7129 \x1ar\x20The\x20progress\x20of\x20the\n\x20[UpdateDatabase][google.spann\
7130 er.admin.database.v1.DatabaseAdmin.UpdateDatabase]\n\x20operation.\n\n\r\
7131 \n\x05\x04\x08\x02\x01\x06\x12\x04\xed\x04\x02\x13\n\r\n\x05\x04\x08\x02\
7132 \x01\x01\x12\x04\xed\x04\x14\x1c\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\
7133 \xed\x04\x1f\x20\n\x94\x01\n\x04\x04\x08\x02\x02\x12\x04\xf1\x04\x02,\
7134 \x1a\x85\x01\x20The\x20time\x20at\x20which\x20this\x20operation\x20was\
7135 \x20cancelled.\x20If\x20set,\x20this\x20operation\x20is\n\x20in\x20the\
7136 \x20process\x20of\x20undoing\x20itself\x20(which\x20is\x20best-effort).\
7137 \n\n\r\n\x05\x04\x08\x02\x02\x06\x12\x04\xf1\x04\x02\x1b\n\r\n\x05\x04\
7138 \x08\x02\x02\x01\x12\x04\xf1\x04\x1c'\n\r\n\x05\x04\x08\x02\x02\x03\x12\
7139 \x04\xf1\x04*+\n\x99\x07\n\x02\x04\t\x12\x06\x84\x05\0\xa4\x05\x01\x1a\
7140 \x8a\x07\x20Enqueues\x20the\x20given\x20DDL\x20statements\x20to\x20be\
7141 \x20applied,\x20in\x20order\x20but\x20not\n\x20necessarily\x20all\x20at\
7142 \x20once,\x20to\x20the\x20database\x20schema\x20at\x20some\x20point\x20(\
7143 or\n\x20points)\x20in\x20the\x20future.\x20The\x20server\x20checks\x20th\
7144 at\x20the\x20statements\n\x20are\x20executable\x20(syntactically\x20vali\
7145 d,\x20name\x20tables\x20that\x20exist,\x20etc.)\n\x20before\x20enqueuein\
7146 g\x20them,\x20but\x20they\x20may\x20still\x20fail\x20upon\n\x20later\x20\
7147 execution\x20(e.g.,\x20if\x20a\x20statement\x20from\x20another\x20batch\
7148 \x20of\n\x20statements\x20is\x20applied\x20first\x20and\x20it\x20conflic\
7149 ts\x20in\x20some\x20way,\x20or\x20if\n\x20there\x20is\x20some\x20data-re\
7150 lated\x20problem\x20like\x20a\x20`NULL`\x20value\x20in\x20a\x20column\
7151 \x20to\n\x20which\x20`NOT\x20NULL`\x20would\x20be\x20added).\x20If\x20a\
7152 \x20statement\x20fails,\x20all\n\x20subsequent\x20statements\x20in\x20th\
7153 e\x20batch\x20are\x20automatically\x20cancelled.\n\n\x20Each\x20batch\
7154 \x20of\x20statements\x20is\x20assigned\x20a\x20name\x20which\x20can\x20b\
7155 e\x20used\x20with\n\x20the\x20[Operations][google.longrunning.Operations\
7156 ]\x20API\x20to\x20monitor\n\x20progress.\x20See\x20the\n\x20[operation_i\
7157 d][google.spanner.admin.database.v1.UpdateDatabaseDdlRequest.operation_i\
7158 d]\x20field\x20for\x20more\n\x20details.\n\n\x0b\n\x03\x04\t\x01\x12\x04\
7159 \x84\x05\x08\x20\n3\n\x04\x04\t\x02\0\x12\x06\x86\x05\x02\x8b\x05\x04\
7160 \x1a#\x20Required.\x20The\x20database\x20to\x20update.\n\n\r\n\x05\x04\t\
7161 \x02\0\x05\x12\x04\x86\x05\x02\x08\n\r\n\x05\x04\t\x02\0\x01\x12\x04\x86\
7162 \x05\t\x11\n\r\n\x05\x04\t\x02\0\x03\x12\x04\x86\x05\x14\x15\n\x0f\n\x05\
7163 \x04\t\x02\0\x08\x12\x06\x86\x05\x16\x8b\x05\x03\n\x10\n\x08\x04\t\x02\0\
7164 \x08\x9c\x08\0\x12\x04\x87\x05\x04*\n\x11\n\x07\x04\t\x02\0\x08\x9f\x08\
7165 \x12\x06\x88\x05\x04\x8a\x05\x05\nG\n\x04\x04\t\x02\x01\x12\x04\x8e\x05\
7166 \x02J\x1a9\x20Required.\x20DDL\x20statements\x20to\x20be\x20applied\x20t\
7167 o\x20the\x20database.\n\n\r\n\x05\x04\t\x02\x01\x04\x12\x04\x8e\x05\x02\
7168 \n\n\r\n\x05\x04\t\x02\x01\x05\x12\x04\x8e\x05\x0b\x11\n\r\n\x05\x04\t\
7169 \x02\x01\x01\x12\x04\x8e\x05\x12\x1c\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\
7170 \x8e\x05\x1f\x20\n\r\n\x05\x04\t\x02\x01\x08\x12\x04\x8e\x05!I\n\x10\n\
7171 \x08\x04\t\x02\x01\x08\x9c\x08\0\x12\x04\x8e\x05\"H\n\xe4\x08\n\x04\x04\
7172 \t\x02\x02\x12\x04\xa3\x05\x02\x1a\x1a\xd5\x08\x20If\x20empty,\x20the\
7173 \x20new\x20update\x20request\x20is\x20assigned\x20an\n\x20automatically-\
7174 generated\x20operation\x20ID.\x20Otherwise,\x20`operation_id`\n\x20is\
7175 \x20used\x20to\x20construct\x20the\x20name\x20of\x20the\x20resulting\n\
7176 \x20[Operation][google.longrunning.Operation].\n\n\x20Specifying\x20an\
7177 \x20explicit\x20operation\x20ID\x20simplifies\x20determining\n\x20whethe\
7178 r\x20the\x20statements\x20were\x20executed\x20in\x20the\x20event\x20that\
7179 \x20the\n\x20[UpdateDatabaseDdl][google.spanner.admin.database.v1.Databa\
7180 seAdmin.UpdateDatabaseDdl]\x20call\x20is\x20replayed,\n\x20or\x20the\x20\
7181 return\x20value\x20is\x20otherwise\x20lost:\x20the\x20[database][google.\
7182 spanner.admin.database.v1.UpdateDatabaseDdlRequest.database]\x20and\n\
7183 \x20`operation_id`\x20fields\x20can\x20be\x20combined\x20to\x20form\x20t\
7184 he\n\x20[name][google.longrunning.Operation.name]\x20of\x20the\x20result\
7185 ing\n\x20[longrunning.Operation][google.longrunning.Operation]:\x20`<dat\
7186 abase>/operations/<operation_id>`.\n\n\x20`operation_id`\x20should\x20be\
7187 \x20unique\x20within\x20the\x20database,\x20and\x20must\x20be\n\x20a\x20\
7188 valid\x20identifier:\x20`[a-z][a-z0-9_]*`.\x20Note\x20that\n\x20automati\
7189 cally-generated\x20operation\x20IDs\x20always\x20begin\x20with\x20an\n\
7190 \x20underscore.\x20If\x20the\x20named\x20operation\x20already\x20exists,\
7191 \n\x20[UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin\
7192 .UpdateDatabaseDdl]\x20returns\n\x20`ALREADY_EXISTS`.\n\n\r\n\x05\x04\t\
7193 \x02\x02\x05\x12\x04\xa3\x05\x02\x08\n\r\n\x05\x04\t\x02\x02\x01\x12\x04\
7194 \xa3\x05\t\x15\n\r\n\x05\x04\t\x02\x02\x03\x12\x04\xa3\x05\x18\x19\n\xf0\
7195 \x01\n\x02\x04\n\x12\x06\xa9\x05\0\xb9\x05\x01\x1a\xe1\x01\x20Action\x20\
7196 information\x20extracted\x20from\x20a\x20DDL\x20statement.\x20This\x20pr\
7197 oto\x20is\x20used\x20to\n\x20display\x20the\x20brief\x20info\x20of\x20th\
7198 e\x20DDL\x20statement\x20for\x20the\x20operation\n\x20[UpdateDatabaseDdl\
7199 ][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl].\n\n\
7200 \x0b\n\x03\x04\n\x01\x12\x04\xa9\x05\x08\x1e\nz\n\x04\x04\n\x02\0\x12\
7201 \x04\xac\x05\x02\x14\x1al\x20The\x20action\x20for\x20the\x20DDL\x20state\
7202 ment,\x20e.g.\x20CREATE,\x20ALTER,\x20DROP,\x20GRANT,\x20etc.\n\x20This\
7203 \x20field\x20is\x20a\x20non-empty\x20string.\n\n\r\n\x05\x04\n\x02\0\x05\
7204 \x12\x04\xac\x05\x02\x08\n\r\n\x05\x04\n\x02\0\x01\x12\x04\xac\x05\t\x0f\
7205 \n\r\n\x05\x04\n\x02\0\x03\x12\x04\xac\x05\x12\x13\n\xc0\x01\n\x04\x04\n\
7206 \x02\x01\x12\x04\xb1\x05\x02\x19\x1a\xb1\x01\x20The\x20entity\x20type\
7207 \x20for\x20the\x20DDL\x20statement,\x20e.g.\x20TABLE,\x20INDEX,\x20VIEW,\
7208 \x20etc.\n\x20This\x20field\x20can\x20be\x20empty\x20string\x20for\x20so\
7209 me\x20DDL\x20statement,\n\x20e.g.\x20for\x20statement\x20\"ANALYZE\",\
7210 \x20`entity_type`\x20=\x20\"\".\n\n\r\n\x05\x04\n\x02\x01\x05\x12\x04\
7211 \xb1\x05\x02\x08\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\xb1\x05\t\x14\n\r\n\
7212 \x05\x04\n\x02\x01\x03\x12\x04\xb1\x05\x17\x18\n\x8d\x02\n\x04\x04\n\x02\
7213 \x02\x12\x04\xb8\x05\x02#\x1a\xfe\x01\x20The\x20entity\x20name(s)\x20bei\
7214 ng\x20operated\x20on\x20the\x20DDL\x20statement.\n\x20E.g.\n\x201.\x20Fo\
7215 r\x20statement\x20\"CREATE\x20TABLE\x20t1(...)\",\x20`entity_names`\x20=\
7216 \x20[\"t1\"].\n\x202.\x20For\x20statement\x20\"GRANT\x20ROLE\x20r1,\x20r\
7217 2\x20...\",\x20`entity_names`\x20=\x20[\"r1\",\x20\"r2\"].\n\x203.\x20Fo\
7218 r\x20statement\x20\"ANALYZE\",\x20`entity_names`\x20=\x20[].\n\n\r\n\x05\
7219 \x04\n\x02\x02\x04\x12\x04\xb8\x05\x02\n\n\r\n\x05\x04\n\x02\x02\x05\x12\
7220 \x04\xb8\x05\x0b\x11\n\r\n\x05\x04\n\x02\x02\x01\x12\x04\xb8\x05\x12\x1e\
7221 \n\r\n\x05\x04\n\x02\x02\x03\x12\x04\xb8\x05!\"\n\x94\x01\n\x02\x04\x0b\
7222 \x12\x06\xbd\x05\0\xdd\x05\x01\x1a\x85\x01\x20Metadata\x20type\x20for\
7223 \x20the\x20operation\x20returned\x20by\n\x20[UpdateDatabaseDdl][google.s\
7224 panner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl].\n\n\x0b\n\x03\
7225 \x04\x0b\x01\x12\x04\xbd\x05\x08!\n.\n\x04\x04\x0b\x02\0\x12\x06\xbf\x05\
7226 \x02\xc1\x05\x1a\x1a\x1e\x20The\x20database\x20being\x20modified.\n\n\r\
7227 \n\x05\x04\x0b\x02\0\x05\x12\x04\xbf\x05\x02\x08\n\r\n\x05\x04\x0b\x02\0\
7228 \x01\x12\x04\xbf\x05\t\x11\n\r\n\x05\x04\x0b\x02\0\x03\x12\x04\xbf\x05\
7229 \x14\x15\n\x0f\n\x05\x04\x0b\x02\0\x08\x12\x06\xbf\x05\x16\xc1\x05\x19\n\
7230 \x11\n\x07\x04\x0b\x02\0\x08\x9f\x08\x12\x06\xbf\x05\x17\xc1\x05\x18\n\
7231 \x8a\x01\n\x04\x04\x0b\x02\x01\x12\x04\xc5\x05\x02!\x1a|\x20For\x20an\
7232 \x20update\x20this\x20list\x20contains\x20all\x20the\x20statements.\x20F\
7233 or\x20an\n\x20individual\x20statement,\x20this\x20list\x20contains\x20on\
7234 ly\x20that\x20statement.\n\n\r\n\x05\x04\x0b\x02\x01\x04\x12\x04\xc5\x05\
7235 \x02\n\n\r\n\x05\x04\x0b\x02\x01\x05\x12\x04\xc5\x05\x0b\x11\n\r\n\x05\
7236 \x04\x0b\x02\x01\x01\x12\x04\xc5\x05\x12\x1c\n\r\n\x05\x04\x0b\x02\x01\
7237 \x03\x12\x04\xc5\x05\x1f\x20\n\xb6\x01\n\x04\x04\x0b\x02\x02\x12\x04\xca\
7238 \x05\x02;\x1a\xa7\x01\x20Reports\x20the\x20commit\x20timestamps\x20of\
7239 \x20all\x20statements\x20that\x20have\n\x20succeeded\x20so\x20far,\x20wh\
7240 ere\x20`commit_timestamps[i]`\x20is\x20the\x20commit\n\x20timestamp\x20f\
7241 or\x20the\x20statement\x20`statements[i]`.\n\n\r\n\x05\x04\x0b\x02\x02\
7242 \x04\x12\x04\xca\x05\x02\n\n\r\n\x05\x04\x0b\x02\x02\x06\x12\x04\xca\x05\
7243 \x0b$\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\xca\x05%6\n\r\n\x05\x04\x0b\
7244 \x02\x02\x03\x12\x04\xca\x059:\n\xd4\x01\n\x04\x04\x0b\x02\x03\x12\x04\
7245 \xcf\x05\x02A\x1a\xc5\x01\x20Output\x20only.\x20When\x20true,\x20indicat\
7246 es\x20that\x20the\x20operation\x20is\x20throttled\x20e.g.\n\x20due\x20to\
7247 \x20resource\x20constraints.\x20When\x20resources\x20become\x20available\
7248 \x20the\x20operation\n\x20will\x20resume\x20and\x20this\x20field\x20will\
7249 \x20be\x20false\x20again.\n\n\r\n\x05\x04\x0b\x02\x03\x05\x12\x04\xcf\
7250 \x05\x02\x06\n\r\n\x05\x04\x0b\x02\x03\x01\x12\x04\xcf\x05\x07\x10\n\r\n\
7251 \x05\x04\x0b\x02\x03\x03\x12\x04\xcf\x05\x13\x14\n\r\n\x05\x04\x0b\x02\
7252 \x03\x08\x12\x04\xcf\x05\x15@\n\x10\n\x08\x04\x0b\x02\x03\x08\x9c\x08\0\
7253 \x12\x04\xcf\x05\x16?\n\xae\x03\n\x04\x04\x0b\x02\x04\x12\x04\xd8\x05\
7254 \x02*\x1a\x9f\x03\x20The\x20progress\x20of\x20the\n\x20[UpdateDatabaseDd\
7255 l][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]\n\
7256 \x20operations.\x20All\x20DDL\x20statements\x20will\x20have\x20continuou\
7257 sly\x20updating\x20progress,\n\x20and\x20`progress[i]`\x20is\x20the\x20o\
7258 peration\x20progress\x20for\x20`statements[i]`.\x20Also,\n\x20`progress[\
7259 i]`\x20will\x20have\x20start\x20time\x20and\x20end\x20time\x20populated\
7260 \x20with\x20commit\n\x20timestamp\x20of\x20operation,\x20as\x20well\x20a\
7261 s\x20a\x20progress\x20of\x20100%\x20once\x20the\x20operation\n\x20has\
7262 \x20completed.\n\n\r\n\x05\x04\x0b\x02\x04\x04\x12\x04\xd8\x05\x02\n\n\r\
7263 \n\x05\x04\x0b\x02\x04\x06\x12\x04\xd8\x05\x0b\x1c\n\r\n\x05\x04\x0b\x02\
7264 \x04\x01\x12\x04\xd8\x05\x1d%\n\r\n\x05\x04\x0b\x02\x04\x03\x12\x04\xd8\
7265 \x05()\nr\n\x04\x04\x0b\x02\x05\x12\x04\xdc\x05\x02.\x1ad\x20The\x20brie\
7266 f\x20action\x20info\x20for\x20the\x20DDL\x20statements.\n\x20`actions[i]\
7267 `\x20is\x20the\x20brief\x20info\x20for\x20`statements[i]`.\n\n\r\n\x05\
7268 \x04\x0b\x02\x05\x04\x12\x04\xdc\x05\x02\n\n\r\n\x05\x04\x0b\x02\x05\x06\
7269 \x12\x04\xdc\x05\x0b!\n\r\n\x05\x04\x0b\x02\x05\x01\x12\x04\xdc\x05\")\n\
7270 \r\n\x05\x04\x0b\x02\x05\x03\x12\x04\xdc\x05,-\nl\n\x02\x04\x0c\x12\x06\
7271 \xe0\x05\0\xe8\x05\x01\x1a^\x20The\x20request\x20for\x20[DropDatabase][g\
7272 oogle.spanner.admin.database.v1.DatabaseAdmin.DropDatabase].\n\n\x0b\n\
7273 \x03\x04\x0c\x01\x12\x04\xe0\x05\x08\x1b\n7\n\x04\x04\x0c\x02\0\x12\x06\
7274 \xe2\x05\x02\xe7\x05\x04\x1a'\x20Required.\x20The\x20database\x20to\x20b\
7275 e\x20dropped.\n\n\r\n\x05\x04\x0c\x02\0\x05\x12\x04\xe2\x05\x02\x08\n\r\
7276 \n\x05\x04\x0c\x02\0\x01\x12\x04\xe2\x05\t\x11\n\r\n\x05\x04\x0c\x02\0\
7277 \x03\x12\x04\xe2\x05\x14\x15\n\x0f\n\x05\x04\x0c\x02\0\x08\x12\x06\xe2\
7278 \x05\x16\xe7\x05\x03\n\x10\n\x08\x04\x0c\x02\0\x08\x9c\x08\0\x12\x04\xe3\
7279 \x05\x04*\n\x11\n\x07\x04\x0c\x02\0\x08\x9f\x08\x12\x06\xe4\x05\x04\xe6\
7280 \x05\x05\np\n\x02\x04\r\x12\x06\xeb\x05\0\xf5\x05\x01\x1ab\x20The\x20req\
7281 uest\x20for\x20[GetDatabaseDdl][google.spanner.admin.database.v1.Databas\
7282 eAdmin.GetDatabaseDdl].\n\n\x0b\n\x03\x04\r\x01\x12\x04\xeb\x05\x08\x1d\
7283 \n\x9e\x01\n\x04\x04\r\x02\0\x12\x06\xef\x05\x02\xf4\x05\x04\x1a\x8d\x01\
7284 \x20Required.\x20The\x20database\x20whose\x20schema\x20we\x20wish\x20to\
7285 \x20get.\n\x20Values\x20are\x20of\x20the\x20form\n\x20`projects/<project\
7286 >/instances/<instance>/databases/<database>`\n\n\r\n\x05\x04\r\x02\0\x05\
7287 \x12\x04\xef\x05\x02\x08\n\r\n\x05\x04\r\x02\0\x01\x12\x04\xef\x05\t\x11\
7288 \n\r\n\x05\x04\r\x02\0\x03\x12\x04\xef\x05\x14\x15\n\x0f\n\x05\x04\r\x02\
7289 \0\x08\x12\x06\xef\x05\x16\xf4\x05\x03\n\x10\n\x08\x04\r\x02\0\x08\x9c\
7290 \x08\0\x12\x04\xf0\x05\x04*\n\x11\n\x07\x04\r\x02\0\x08\x9f\x08\x12\x06\
7291 \xf1\x05\x04\xf3\x05\x05\nq\n\x02\x04\x0e\x12\x06\xf8\x05\0\xfc\x05\x01\
7292 \x1ac\x20The\x20response\x20for\x20[GetDatabaseDdl][google.spanner.admin\
7293 .database.v1.DatabaseAdmin.GetDatabaseDdl].\n\n\x0b\n\x03\x04\x0e\x01\
7294 \x12\x04\xf8\x05\x08\x1e\nq\n\x04\x04\x0e\x02\0\x12\x04\xfb\x05\x02!\x1a\
7295 c\x20A\x20list\x20of\x20formatted\x20DDL\x20statements\x20defining\x20th\
7296 e\x20schema\x20of\x20the\x20database\n\x20specified\x20in\x20the\x20requ\
7297 est.\n\n\r\n\x05\x04\x0e\x02\0\x04\x12\x04\xfb\x05\x02\n\n\r\n\x05\x04\
7298 \x0e\x02\0\x05\x12\x04\xfb\x05\x0b\x11\n\r\n\x05\x04\x0e\x02\0\x01\x12\
7299 \x04\xfb\x05\x12\x1c\n\r\n\x05\x04\x0e\x02\0\x03\x12\x04\xfb\x05\x1f\x20\
7300 \n\x81\x01\n\x02\x04\x0f\x12\x06\x80\x06\0\xbf\x06\x01\x1as\x20The\x20re\
7301 quest\x20for\n\x20[ListDatabaseOperations][google.spanner.admin.database\
7302 .v1.DatabaseAdmin.ListDatabaseOperations].\n\n\x0b\n\x03\x04\x0f\x01\x12\
7303 \x04\x80\x06\x08%\n\x87\x01\n\x04\x04\x0f\x02\0\x12\x06\x83\x06\x02\x88\
7304 \x06\x04\x1aw\x20Required.\x20The\x20instance\x20of\x20the\x20database\
7305 \x20operations.\n\x20Values\x20are\x20of\x20the\x20form\x20`projects/<pr\
7306 oject>/instances/<instance>`.\n\n\r\n\x05\x04\x0f\x02\0\x05\x12\x04\x83\
7307 \x06\x02\x08\n\r\n\x05\x04\x0f\x02\0\x01\x12\x04\x83\x06\t\x0f\n\r\n\x05\
7308 \x04\x0f\x02\0\x03\x12\x04\x83\x06\x12\x13\n\x0f\n\x05\x04\x0f\x02\0\x08\
7309 \x12\x06\x83\x06\x14\x88\x06\x03\n\x10\n\x08\x04\x0f\x02\0\x08\x9c\x08\0\
7310 \x12\x04\x84\x06\x04*\n\x11\n\x07\x04\x0f\x02\0\x08\x9f\x08\x12\x06\x85\
7311 \x06\x04\x87\x06\x05\n\x95\x11\n\x04\x04\x0f\x02\x01\x12\x04\xb4\x06\x02\
7312 \x14\x1a\x86\x11\x20An\x20expression\x20that\x20filters\x20the\x20list\
7313 \x20of\x20returned\x20operations.\n\n\x20A\x20filter\x20expression\x20co\
7314 nsists\x20of\x20a\x20field\x20name,\x20a\n\x20comparison\x20operator,\
7315 \x20and\x20a\x20value\x20for\x20filtering.\n\x20The\x20value\x20must\x20\
7316 be\x20a\x20string,\x20a\x20number,\x20or\x20a\x20boolean.\x20The\x20comp\
7317 arison\x20operator\n\x20must\x20be\x20one\x20of:\x20`<`,\x20`>`,\x20`<=`\
7318 ,\x20`>=`,\x20`!=`,\x20`=`,\x20or\x20`:`.\n\x20Colon\x20`:`\x20is\x20the\
7319 \x20contains\x20operator.\x20Filter\x20rules\x20are\x20not\x20case\x20se\
7320 nsitive.\n\n\x20The\x20following\x20fields\x20in\x20the\x20[Operation][g\
7321 oogle.longrunning.Operation]\n\x20are\x20eligible\x20for\x20filtering:\n\
7322 \n\x20\x20\x20*\x20`name`\x20-\x20The\x20name\x20of\x20the\x20long-runni\
7323 ng\x20operation\n\x20\x20\x20*\x20`done`\x20-\x20False\x20if\x20the\x20o\
7324 peration\x20is\x20in\x20progress,\x20else\x20true.\n\x20\x20\x20*\x20`me\
7325 tadata.@type`\x20-\x20the\x20type\x20of\x20metadata.\x20For\x20example,\
7326 \x20the\x20type\x20string\n\x20\x20\x20\x20\x20\x20for\x20[RestoreDataba\
7327 seMetadata][google.spanner.admin.database.v1.RestoreDatabaseMetadata]\
7328 \x20is\n\x20\x20\x20\x20\x20\x20`type.googleapis.com/google.spanner.admi\
7329 n.database.v1.RestoreDatabaseMetadata`.\n\x20\x20\x20*\x20`metadata.<fie\
7330 ld_name>`\x20-\x20any\x20field\x20in\x20metadata.value.\n\x20\x20\x20\
7331 \x20\x20\x20`metadata.@type`\x20must\x20be\x20specified\x20first,\x20if\
7332 \x20filtering\x20on\x20metadata\n\x20\x20\x20\x20\x20\x20fields.\n\x20\
7333 \x20\x20*\x20`error`\x20-\x20Error\x20associated\x20with\x20the\x20long-\
7334 running\x20operation.\n\x20\x20\x20*\x20`response.@type`\x20-\x20the\x20\
7335 type\x20of\x20response.\n\x20\x20\x20*\x20`response.<field_name>`\x20-\
7336 \x20any\x20field\x20in\x20response.value.\n\n\x20You\x20can\x20combine\
7337 \x20multiple\x20expressions\x20by\x20enclosing\x20each\x20expression\x20\
7338 in\n\x20parentheses.\x20By\x20default,\x20expressions\x20are\x20combined\
7339 \x20with\x20AND\x20logic.\x20However,\n\x20you\x20can\x20specify\x20AND,\
7340 \x20OR,\x20and\x20NOT\x20logic\x20explicitly.\n\n\x20Here\x20are\x20a\
7341 \x20few\x20examples:\n\n\x20\x20\x20*\x20`done:true`\x20-\x20The\x20oper\
7342 ation\x20is\x20complete.\n\x20\x20\x20*\x20`(metadata.@type=type.googlea\
7343 pis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata)\x20AND\
7344 `\x20\\\n\x20\x20\x20\x20\x20`(metadata.source_type:BACKUP)\x20AND`\x20\
7345 \\\n\x20\x20\x20\x20\x20`(metadata.backup_info.backup:backup_howl)\x20AN\
7346 D`\x20\\\n\x20\x20\x20\x20\x20`(metadata.name:restored_howl)\x20AND`\x20\
7347 \\\n\x20\x20\x20\x20\x20`(metadata.progress.start_time\x20<\x20\\\"2018-\
7348 03-28T14:50:00Z\\\")\x20AND`\x20\\\n\x20\x20\x20\x20\x20`(error:*)`\x20-\
7349 \x20Return\x20operations\x20where:\n\x20\x20\x20\x20\x20*\x20The\x20oper\
7350 ation's\x20metadata\x20type\x20is\x20[RestoreDatabaseMetadata][google.sp\
7351 anner.admin.database.v1.RestoreDatabaseMetadata].\n\x20\x20\x20\x20\x20*\
7352 \x20The\x20database\x20is\x20restored\x20from\x20a\x20backup.\n\x20\x20\
7353 \x20\x20\x20*\x20The\x20backup\x20name\x20contains\x20\"backup_howl\".\n\
7354 \x20\x20\x20\x20\x20*\x20The\x20restored\x20database's\x20name\x20contai\
7355 ns\x20\"restored_howl\".\n\x20\x20\x20\x20\x20*\x20The\x20operation\x20s\
7356 tarted\x20before\x202018-03-28T14:50:00Z.\n\x20\x20\x20\x20\x20*\x20The\
7357 \x20operation\x20resulted\x20in\x20an\x20error.\n\n\r\n\x05\x04\x0f\x02\
7358 \x01\x05\x12\x04\xb4\x06\x02\x08\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\
7359 \xb4\x06\t\x0f\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\xb4\x06\x12\x13\n\
7360 \x87\x01\n\x04\x04\x0f\x02\x02\x12\x04\xb8\x06\x02\x16\x1ay\x20Number\
7361 \x20of\x20operations\x20to\x20be\x20returned\x20in\x20the\x20response.\
7362 \x20If\x200\x20or\n\x20less,\x20defaults\x20to\x20the\x20server's\x20max\
7363 imum\x20allowed\x20page\x20size.\n\n\r\n\x05\x04\x0f\x02\x02\x05\x12\x04\
7364 \xb8\x06\x02\x07\n\r\n\x05\x04\x0f\x02\x02\x01\x12\x04\xb8\x06\x08\x11\n\
7365 \r\n\x05\x04\x0f\x02\x02\x03\x12\x04\xb8\x06\x14\x15\n\xc5\x02\n\x04\x04\
7366 \x0f\x02\x03\x12\x04\xbe\x06\x02\x18\x1a\xb6\x02\x20If\x20non-empty,\x20\
7367 `page_token`\x20should\x20contain\x20a\n\x20[next_page_token][google.spa\
7368 nner.admin.database.v1.ListDatabaseOperationsResponse.next_page_token]\n\
7369 \x20from\x20a\x20previous\x20[ListDatabaseOperationsResponse][google.spa\
7370 nner.admin.database.v1.ListDatabaseOperationsResponse]\x20to\x20the\n\
7371 \x20same\x20`parent`\x20and\x20with\x20the\x20same\x20`filter`.\n\n\r\n\
7372 \x05\x04\x0f\x02\x03\x05\x12\x04\xbe\x06\x02\x08\n\r\n\x05\x04\x0f\x02\
7373 \x03\x01\x12\x04\xbe\x06\t\x13\n\r\n\x05\x04\x0f\x02\x03\x03\x12\x04\xbe\
7374 \x06\x16\x17\n\x82\x01\n\x02\x04\x10\x12\x06\xc3\x06\0\xcf\x06\x01\x1at\
7375 \x20The\x20response\x20for\n\x20[ListDatabaseOperations][google.spanner.\
7376 admin.database.v1.DatabaseAdmin.ListDatabaseOperations].\n\n\x0b\n\x03\
7377 \x04\x10\x01\x12\x04\xc3\x06\x08&\n\xaf\x02\n\x04\x04\x10\x02\0\x12\x04\
7378 \xc9\x06\x027\x1a\xa0\x02\x20The\x20list\x20of\x20matching\x20database\
7379 \x20[long-running\n\x20operations][google.longrunning.Operation].\x20Eac\
7380 h\x20operation's\x20name\x20will\x20be\n\x20prefixed\x20by\x20the\x20dat\
7381 abase's\x20name.\x20The\x20operation's\n\x20[metadata][google.longrunnin\
7382 g.Operation.metadata]\x20field\x20type\n\x20`metadata.type_url`\x20descr\
7383 ibes\x20the\x20type\x20of\x20the\x20metadata.\n\n\r\n\x05\x04\x10\x02\0\
7384 \x04\x12\x04\xc9\x06\x02\n\n\r\n\x05\x04\x10\x02\0\x06\x12\x04\xc9\x06\
7385 \x0b'\n\r\n\x05\x04\x10\x02\0\x01\x12\x04\xc9\x06(2\n\r\n\x05\x04\x10\
7386 \x02\0\x03\x12\x04\xc9\x0656\n\xcd\x01\n\x04\x04\x10\x02\x01\x12\x04\xce\
7387 \x06\x02\x1d\x1a\xbe\x01\x20`next_page_token`\x20can\x20be\x20sent\x20in\
7388 \x20a\x20subsequent\n\x20[ListDatabaseOperations][google.spanner.admin.d\
7389 atabase.v1.DatabaseAdmin.ListDatabaseOperations]\n\x20call\x20to\x20fetc\
7390 h\x20more\x20of\x20the\x20matching\x20metadata.\n\n\r\n\x05\x04\x10\x02\
7391 \x01\x05\x12\x04\xce\x06\x02\x08\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\
7392 \xce\x06\t\x18\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\xce\x06\x1b\x1c\ns\
7393 \n\x02\x04\x11\x12\x06\xd3\x06\0\xf6\x06\x01\x1ae\x20The\x20request\x20f\
7394 or\n\x20[RestoreDatabase][google.spanner.admin.database.v1.DatabaseAdmin\
7395 .RestoreDatabase].\n\n\x0b\n\x03\x04\x11\x01\x12\x04\xd3\x06\x08\x1e\n\
7396 \xa6\x02\n\x04\x04\x11\x02\0\x12\x06\xd9\x06\x02\xde\x06\x04\x1a\x95\x02\
7397 \x20Required.\x20The\x20name\x20of\x20the\x20instance\x20in\x20which\x20\
7398 to\x20create\x20the\n\x20restored\x20database.\x20This\x20instance\x20mu\
7399 st\x20be\x20in\x20the\x20same\x20project\x20and\n\x20have\x20the\x20same\
7400 \x20instance\x20configuration\x20as\x20the\x20instance\x20containing\n\
7401 \x20the\x20source\x20backup.\x20Values\x20are\x20of\x20the\x20form\n\x20\
7402 `projects/<project>/instances/<instance>`.\n\n\r\n\x05\x04\x11\x02\0\x05\
7403 \x12\x04\xd9\x06\x02\x08\n\r\n\x05\x04\x11\x02\0\x01\x12\x04\xd9\x06\t\
7404 \x0f\n\r\n\x05\x04\x11\x02\0\x03\x12\x04\xd9\x06\x12\x13\n\x0f\n\x05\x04\
7405 \x11\x02\0\x08\x12\x06\xd9\x06\x14\xde\x06\x03\n\x10\n\x08\x04\x11\x02\0\
7406 \x08\x9c\x08\0\x12\x04\xda\x06\x04*\n\x11\n\x07\x04\x11\x02\0\x08\x9f\
7407 \x08\x12\x06\xdb\x06\x04\xdd\x06\x05\n\x87\x02\n\x04\x04\x11\x02\x01\x12\
7408 \x04\xe4\x06\x02B\x1a\xf8\x01\x20Required.\x20The\x20id\x20of\x20the\x20\
7409 database\x20to\x20create\x20and\x20restore\x20to.\x20This\n\x20database\
7410 \x20must\x20not\x20already\x20exist.\x20The\x20`database_id`\x20appended\
7411 \x20to\n\x20`parent`\x20forms\x20the\x20full\x20database\x20name\x20of\
7412 \x20the\x20form\n\x20`projects/<project>/instances/<instance>/databases/\
7413 <database_id>`.\n\n\r\n\x05\x04\x11\x02\x01\x05\x12\x04\xe4\x06\x02\x08\
7414 \n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\xe4\x06\t\x14\n\r\n\x05\x04\x11\
7415 \x02\x01\x03\x12\x04\xe4\x06\x17\x18\n\r\n\x05\x04\x11\x02\x01\x08\x12\
7416 \x04\xe4\x06\x19A\n\x10\n\x08\x04\x11\x02\x01\x08\x9c\x08\0\x12\x04\xe4\
7417 \x06\x1a@\n=\n\x04\x04\x11\x08\0\x12\x06\xe7\x06\x02\xed\x06\x03\x1a-\
7418 \x20Required.\x20The\x20source\x20from\x20which\x20to\x20restore.\n\n\r\
7419 \n\x05\x04\x11\x08\0\x01\x12\x04\xe7\x06\x08\x0e\n\x91\x01\n\x04\x04\x11\
7420 \x02\x02\x12\x06\xea\x06\x04\xec\x06\x1a\x1a\x80\x01\x20Name\x20of\x20th\
7421 e\x20backup\x20from\x20which\x20to\x20restore.\x20\x20Values\x20are\x20o\
7422 f\x20the\x20form\n\x20`projects/<project>/instances/<instance>/backups/<\
7423 backup>`.\n\n\r\n\x05\x04\x11\x02\x02\x05\x12\x04\xea\x06\x04\n\n\r\n\
7424 \x05\x04\x11\x02\x02\x01\x12\x04\xea\x06\x0b\x11\n\r\n\x05\x04\x11\x02\
7425 \x02\x03\x12\x04\xea\x06\x14\x15\n\x0f\n\x05\x04\x11\x02\x02\x08\x12\x06\
7426 \xea\x06\x16\xec\x06\x19\n\x11\n\x07\x04\x11\x02\x02\x08\x9f\x08\x12\x06\
7427 \xea\x06\x17\xec\x06\x18\n\xc0\x03\n\x04\x04\x11\x02\x03\x12\x04\xf5\x06\
7428 \x02a\x1a\xb1\x03\x20Optional.\x20An\x20encryption\x20configuration\x20d\
7429 escribing\x20the\x20encryption\x20type\x20and\x20key\n\x20resources\x20i\
7430 n\x20Cloud\x20KMS\x20used\x20to\x20encrypt/decrypt\x20the\x20database\
7431 \x20to\x20restore\x20to.\n\x20If\x20this\x20field\x20is\x20not\x20specif\
7432 ied,\x20the\x20restored\x20database\x20will\x20use\n\x20the\x20same\x20e\
7433 ncryption\x20configuration\x20as\x20the\x20backup\x20by\x20default,\x20n\
7434 amely\n\x20[encryption_type][google.spanner.admin.database.v1.RestoreDat\
7435 abaseEncryptionConfig.encryption_type]\x20=\n\x20`USE_CONFIG_DEFAULT_OR_\
7436 BACKUP_ENCRYPTION`.\n\n\r\n\x05\x04\x11\x02\x03\x06\x12\x04\xf5\x06\x02!\
7437 \n\r\n\x05\x04\x11\x02\x03\x01\x12\x04\xf5\x06\"3\n\r\n\x05\x04\x11\x02\
7438 \x03\x03\x12\x04\xf5\x0667\n\r\n\x05\x04\x11\x02\x03\x08\x12\x04\xf5\x06\
7439 8`\n\x10\n\x08\x04\x11\x02\x03\x08\x9c\x08\0\x12\x04\xf5\x069_\nC\n\x02\
7440 \x04\x12\x12\x06\xf9\x06\0\x99\x07\x01\x1a5\x20Encryption\x20configurati\
7441 on\x20for\x20the\x20restored\x20database.\n\n\x0b\n\x03\x04\x12\x01\x12\
7442 \x04\xf9\x06\x08'\nC\n\x04\x04\x12\x04\0\x12\x06\xfb\x06\x02\x89\x07\x03\
7443 \x1a3\x20Encryption\x20types\x20for\x20the\x20database\x20to\x20be\x20re\
7444 stored.\n\n\r\n\x05\x04\x12\x04\0\x01\x12\x04\xfb\x06\x07\x15\n*\n\x06\
7445 \x04\x12\x04\0\x02\0\x12\x04\xfd\x06\x04$\x1a\x1a\x20Unspecified.\x20Do\
7446 \x20not\x20use.\n\n\x0f\n\x07\x04\x12\x04\0\x02\0\x01\x12\x04\xfd\x06\
7447 \x04\x1f\n\x0f\n\x07\x04\x12\x04\0\x02\0\x02\x12\x04\xfd\x06\"#\n\x9b\
7448 \x01\n\x06\x04\x12\x04\0\x02\x01\x12\x04\x81\x07\x040\x1a\x8a\x01\x20Thi\
7449 s\x20is\x20the\x20default\x20option\x20when\n\x20[encryption_config][goo\
7450 gle.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig]\x20is\x20\
7451 not\x20specified.\n\n\x0f\n\x07\x04\x12\x04\0\x02\x01\x01\x12\x04\x81\
7452 \x07\x04+\n\x0f\n\x07\x04\x12\x04\0\x02\x01\x02\x12\x04\x81\x07./\n0\n\
7453 \x06\x04\x12\x04\0\x02\x02\x12\x04\x84\x07\x04\"\x1a\x20\x20Use\x20Googl\
7454 e\x20default\x20encryption.\n\n\x0f\n\x07\x04\x12\x04\0\x02\x02\x01\x12\
7455 \x04\x84\x07\x04\x1d\n\x0f\n\x07\x04\x12\x04\0\x02\x02\x02\x12\x04\x84\
7456 \x07\x20!\ny\n\x06\x04\x12\x04\0\x02\x03\x12\x04\x88\x07\x04$\x1ai\x20Us\
7457 e\x20customer\x20managed\x20encryption.\x20If\x20specified,\x20`kms_key_\
7458 name`\x20must\n\x20must\x20contain\x20a\x20valid\x20Cloud\x20KMS\x20key.\
7459 \n\n\x0f\n\x07\x04\x12\x04\0\x02\x03\x01\x12\x04\x88\x07\x04\x1f\n\x0f\n\
7460 \x07\x04\x12\x04\0\x02\x03\x02\x12\x04\x88\x07\"#\nG\n\x04\x04\x12\x02\0\
7461 \x12\x04\x8c\x07\x02N\x1a9\x20Required.\x20The\x20encryption\x20type\x20\
7462 of\x20the\x20restored\x20database.\n\n\r\n\x05\x04\x12\x02\0\x06\x12\x04\
7463 \x8c\x07\x02\x10\n\r\n\x05\x04\x12\x02\0\x01\x12\x04\x8c\x07\x11\x20\n\r\
7464 \n\x05\x04\x12\x02\0\x03\x12\x04\x8c\x07#$\n\r\n\x05\x04\x12\x02\0\x08\
7465 \x12\x04\x8c\x07%M\n\x10\n\x08\x04\x12\x02\0\x08\x9c\x08\0\x12\x04\x8c\
7466 \x07&L\n\x87\x03\n\x04\x04\x12\x02\x01\x12\x06\x93\x07\x02\x98\x07\x04\
7467 \x1a\xf6\x02\x20Optional.\x20The\x20Cloud\x20KMS\x20key\x20that\x20will\
7468 \x20be\x20used\x20to\x20encrypt/decrypt\x20the\x20restored\n\x20database\
7469 .\x20This\x20field\x20should\x20be\x20set\x20only\x20when\n\x20[encrypti\
7470 on_type][google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfi\
7471 g.encryption_type]\x20is\n\x20`CUSTOMER_MANAGED_ENCRYPTION`.\x20Values\
7472 \x20are\x20of\x20the\x20form\n\x20`projects/<project>/locations/<locatio\
7473 n>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>`.\n\n\r\n\x05\x04\x12\
7474 \x02\x01\x05\x12\x04\x93\x07\x02\x08\n\r\n\x05\x04\x12\x02\x01\x01\x12\
7475 \x04\x93\x07\t\x15\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\x93\x07\x18\x19\
7476 \n\x0f\n\x05\x04\x12\x02\x01\x08\x12\x06\x93\x07\x1a\x98\x07\x03\n\x10\n\
7477 \x08\x04\x12\x02\x01\x08\x9c\x08\0\x12\x04\x94\x07\x04*\n\x11\n\x07\x04\
7478 \x12\x02\x01\x08\x9f\x08\x12\x06\x95\x07\x04\x97\x07\x05\n\x9d\x01\n\x02\
7479 \x04\x13\x12\x06\x9d\x07\0\xcb\x07\x01\x1a\x8e\x01\x20Metadata\x20type\
7480 \x20for\x20the\x20long-running\x20operation\x20returned\x20by\n\x20[Rest\
7481 oreDatabase][google.spanner.admin.database.v1.DatabaseAdmin.RestoreDatab\
7482 ase].\n\n\x0b\n\x03\x04\x13\x01\x12\x04\x9d\x07\x08\x1f\nE\n\x04\x04\x13\
7483 \x02\0\x12\x06\x9f\x07\x02\xa1\x07\x16\x1a5\x20Name\x20of\x20the\x20data\
7484 base\x20being\x20created\x20and\x20restored\x20to.\n\n\r\n\x05\x04\x13\
7485 \x02\0\x05\x12\x04\x9f\x07\x02\x08\n\r\n\x05\x04\x13\x02\0\x01\x12\x04\
7486 \x9f\x07\t\r\n\r\n\x05\x04\x13\x02\0\x03\x12\x04\x9f\x07\x10\x11\n\x0f\n\
7487 \x05\x04\x13\x02\0\x08\x12\x06\x9f\x07\x12\xa1\x07\x15\n\x11\n\x07\x04\
7488 \x13\x02\0\x08\x9f\x08\x12\x06\x9f\x07\x13\xa1\x07\x14\n/\n\x04\x04\x13\
7489 \x02\x01\x12\x04\xa4\x07\x02$\x1a!\x20The\x20type\x20of\x20the\x20restor\
7490 e\x20source.\n\n\r\n\x05\x04\x13\x02\x01\x06\x12\x04\xa4\x07\x02\x13\n\r\
7491 \n\x05\x04\x13\x02\x01\x01\x12\x04\xa4\x07\x14\x1f\n\r\n\x05\x04\x13\x02\
7492 \x01\x03\x12\x04\xa4\x07\"#\n\xbd\x01\n\x04\x04\x13\x08\0\x12\x06\xa8\
7493 \x07\x02\xab\x07\x03\x1a\xac\x01\x20Information\x20about\x20the\x20sourc\
7494 e\x20used\x20to\x20restore\x20the\x20database,\x20as\x20specified\x20by\
7495 \n\x20`source`\x20in\x20[RestoreDatabaseRequest][google.spanner.admin.da\
7496 tabase.v1.RestoreDatabaseRequest].\n\n\r\n\x05\x04\x13\x08\0\x01\x12\x04\
7497 \xa8\x07\x08\x13\nJ\n\x04\x04\x13\x02\x02\x12\x04\xaa\x07\x04\x1f\x1a<\
7498 \x20Information\x20about\x20the\x20backup\x20used\x20to\x20restore\x20th\
7499 e\x20database.\n\n\r\n\x05\x04\x13\x02\x02\x06\x12\x04\xaa\x07\x04\x0e\n\
7500 \r\n\x05\x04\x13\x02\x02\x01\x12\x04\xaa\x07\x0f\x1a\n\r\n\x05\x04\x13\
7501 \x02\x02\x03\x12\x04\xaa\x07\x1d\x1e\n\x82\x01\n\x04\x04\x13\x02\x03\x12\
7502 \x04\xb0\x07\x02!\x1at\x20The\x20progress\x20of\x20the\n\x20[RestoreData\
7503 base][google.spanner.admin.database.v1.DatabaseAdmin.RestoreDatabase]\n\
7504 \x20operation.\n\n\r\n\x05\x04\x13\x02\x03\x06\x12\x04\xb0\x07\x02\x13\n\
7505 \r\n\x05\x04\x13\x02\x03\x01\x12\x04\xb0\x07\x14\x1c\n\r\n\x05\x04\x13\
7506 \x02\x03\x03\x12\x04\xb0\x07\x1f\x20\n\x86\x06\n\x04\x04\x13\x02\x04\x12\
7507 \x04\xbd\x07\x02,\x1a\xf7\x05\x20The\x20time\x20at\x20which\x20cancellat\
7508 ion\x20of\x20this\x20operation\x20was\x20received.\n\x20[Operations.Canc\
7509 elOperation][google.longrunning.Operations.CancelOperation]\n\x20starts\
7510 \x20asynchronous\x20cancellation\x20on\x20a\x20long-running\x20operation\
7511 .\x20The\x20server\n\x20makes\x20a\x20best\x20effort\x20to\x20cancel\x20\
7512 the\x20operation,\x20but\x20success\x20is\x20not\x20guaranteed.\n\x20Cli\
7513 ents\x20can\x20use\n\x20[Operations.GetOperation][google.longrunning.Ope\
7514 rations.GetOperation]\x20or\n\x20other\x20methods\x20to\x20check\x20whet\
7515 her\x20the\x20cancellation\x20succeeded\x20or\x20whether\x20the\n\x20ope\
7516 ration\x20completed\x20despite\x20cancellation.\x20On\x20successful\x20c\
7517 ancellation,\n\x20the\x20operation\x20is\x20not\x20deleted;\x20instead,\
7518 \x20it\x20becomes\x20an\x20operation\x20with\n\x20an\x20[Operation.error\
7519 ][google.longrunning.Operation.error]\x20value\x20with\x20a\n\x20[google\
7520 .rpc.Status.code][google.rpc.Status.code]\x20of\x201,\x20corresponding\
7521 \x20to\x20`Code.CANCELLED`.\n\n\r\n\x05\x04\x13\x02\x04\x06\x12\x04\xbd\
7522 \x07\x02\x1b\n\r\n\x05\x04\x13\x02\x04\x01\x12\x04\xbd\x07\x1c'\n\r\n\
7523 \x05\x04\x13\x02\x04\x03\x12\x04\xbd\x07*+\n\xa0\x06\n\x04\x04\x13\x02\
7524 \x05\x12\x04\xca\x07\x02.\x1a\x91\x06\x20If\x20exists,\x20the\x20name\
7525 \x20of\x20the\x20long-running\x20operation\x20that\x20will\x20be\x20used\
7526 \x20to\n\x20track\x20the\x20post-restore\x20optimization\x20process\x20t\
7527 o\x20optimize\x20the\x20performance\x20of\n\x20the\x20restored\x20databa\
7528 se,\x20and\x20remove\x20the\x20dependency\x20on\x20the\x20restore\x20sou\
7529 rce.\n\x20The\x20name\x20is\x20of\x20the\x20form\n\x20`projects/<project\
7530 >/instances/<instance>/databases/<database>/operations/<operation>`\n\
7531 \x20where\x20the\x20<database>\x20is\x20the\x20name\x20of\x20database\
7532 \x20being\x20created\x20and\x20restored\x20to.\n\x20The\x20metadata\x20t\
7533 ype\x20of\x20the\x20\x20long-running\x20operation\x20is\n\x20[OptimizeRe\
7534 storedDatabaseMetadata][google.spanner.admin.database.v1.OptimizeRestore\
7535 dDatabaseMetadata].\x20This\x20long-running\x20operation\x20will\x20be\n\
7536 \x20automatically\x20created\x20by\x20the\x20system\x20after\x20the\x20R\
7537 estoreDatabase\x20long-running\n\x20operation\x20completes\x20successful\
7538 ly.\x20This\x20operation\x20will\x20not\x20be\x20created\x20if\x20the\n\
7539 \x20restore\x20was\x20not\x20successful.\n\n\r\n\x05\x04\x13\x02\x05\x05\
7540 \x12\x04\xca\x07\x02\x08\n\r\n\x05\x04\x13\x02\x05\x01\x12\x04\xca\x07\t\
7541 )\n\r\n\x05\x04\x13\x02\x05\x03\x12\x04\xca\x07,-\n\xa7\x02\n\x02\x04\
7542 \x14\x12\x06\xd1\x07\0\xd9\x07\x01\x1a\x98\x02\x20Metadata\x20type\x20fo\
7543 r\x20the\x20long-running\x20operation\x20used\x20to\x20track\x20the\x20p\
7544 rogress\n\x20of\x20optimizations\x20performed\x20on\x20a\x20newly\x20res\
7545 tored\x20database.\x20This\x20long-running\n\x20operation\x20is\x20autom\
7546 atically\x20created\x20by\x20the\x20system\x20after\x20the\x20successful\
7547 \n\x20completion\x20of\x20a\x20database\x20restore,\x20and\x20cannot\x20\
7548 be\x20cancelled.\n\n\x0b\n\x03\x04\x14\x01\x12\x04\xd1\x07\x08(\n@\n\x04\
7549 \x04\x14\x02\0\x12\x06\xd3\x07\x02\xd5\x07\x16\x1a0\x20Name\x20of\x20the\
7550 \x20restored\x20database\x20being\x20optimized.\n\n\r\n\x05\x04\x14\x02\
7551 \0\x05\x12\x04\xd3\x07\x02\x08\n\r\n\x05\x04\x14\x02\0\x01\x12\x04\xd3\
7552 \x07\t\r\n\r\n\x05\x04\x14\x02\0\x03\x12\x04\xd3\x07\x10\x11\n\x0f\n\x05\
7553 \x04\x14\x02\0\x08\x12\x06\xd3\x07\x12\xd5\x07\x15\n\x11\n\x07\x04\x14\
7554 \x02\0\x08\x9f\x08\x12\x06\xd3\x07\x13\xd5\x07\x14\n?\n\x04\x04\x14\x02\
7555 \x01\x12\x04\xd8\x07\x02!\x1a1\x20The\x20progress\x20of\x20the\x20post-r\
7556 estore\x20optimizations.\n\n\r\n\x05\x04\x14\x02\x01\x06\x12\x04\xd8\x07\
7557 \x02\x13\n\r\n\x05\x04\x14\x02\x01\x01\x12\x04\xd8\x07\x14\x1c\n\r\n\x05\
7558 \x04\x14\x02\x01\x03\x12\x04\xd8\x07\x1f\x20\n9\n\x02\x05\0\x12\x06\xdc\
7559 \x07\0\xe2\x07\x01\x1a+\x20Indicates\x20the\x20type\x20of\x20the\x20rest\
7560 ore\x20source.\n\n\x0b\n\x03\x05\0\x01\x12\x04\xdc\x07\x05\x16\n&\n\x04\
7561 \x05\0\x02\0\x12\x04\xde\x07\x02\x17\x1a\x18\x20No\x20restore\x20associa\
7562 ted.\n\n\r\n\x05\x05\0\x02\0\x01\x12\x04\xde\x07\x02\x12\n\r\n\x05\x05\0\
7563 \x02\0\x02\x12\x04\xde\x07\x15\x16\n?\n\x04\x05\0\x02\x01\x12\x04\xe1\
7564 \x07\x02\r\x1a1\x20A\x20backup\x20was\x20used\x20as\x20the\x20source\x20\
7565 of\x20the\x20restore.\n\n\r\n\x05\x05\0\x02\x01\x01\x12\x04\xe1\x07\x02\
7566 \x08\n\r\n\x05\x05\0\x02\x01\x02\x12\x04\xe1\x07\x0b\x0c\n.\n\x02\x04\
7567 \x15\x12\x06\xe5\x07\0\xf1\x07\x01\x1a\x20\x20A\x20Cloud\x20Spanner\x20d\
7568 atabase\x20role.\n\n\x0b\n\x03\x04\x15\x01\x12\x04\xe5\x07\x08\x14\n\r\n\
7569 \x03\x04\x15\x07\x12\x06\xe6\x07\x02\xe9\x07\x04\n\x0f\n\x05\x04\x15\x07\
7570 \x9d\x08\x12\x06\xe6\x07\x02\xe9\x07\x04\n\xc1\x02\n\x04\x04\x15\x02\0\
7571 \x12\x04\xf0\x07\x02;\x1a\xb2\x02\x20Required.\x20The\x20name\x20of\x20t\
7572 he\x20database\x20role.\x20Values\x20are\x20of\x20the\x20form\n\x20`proj\
7573 ects/<project>/instances/<instance>/databases/<database>/databaseRoles/\
7574 \n\x20{role}`,\x20where\x20`<role>`\x20is\x20as\x20specified\x20in\x20th\
7575 e\x20`CREATE\x20ROLE`\n\x20DDL\x20statement.\x20This\x20name\x20can\x20b\
7576 e\x20passed\x20to\x20Get/Set\x20IAMPolicy\x20methods\x20to\n\x20identify\
7577 \x20the\x20database\x20role.\n\n\r\n\x05\x04\x15\x02\0\x05\x12\x04\xf0\
7578 \x07\x02\x08\n\r\n\x05\x04\x15\x02\0\x01\x12\x04\xf0\x07\t\r\n\r\n\x05\
7579 \x04\x15\x02\0\x03\x12\x04\xf0\x07\x10\x11\n\r\n\x05\x04\x15\x02\0\x08\
7580 \x12\x04\xf0\x07\x12:\n\x10\n\x08\x04\x15\x02\0\x08\x9c\x08\0\x12\x04\
7581 \xf0\x07\x139\nv\n\x02\x04\x16\x12\x06\xf4\x07\0\x87\x08\x01\x1ah\x20The\
7582 \x20request\x20for\x20[ListDatabaseRoles][google.spanner.admin.database.\
7583 v1.DatabaseAdmin.ListDatabaseRoles].\n\n\x0b\n\x03\x04\x16\x01\x12\x04\
7584 \xf4\x07\x08\x20\n\xae\x01\n\x04\x04\x16\x02\0\x12\x06\xf8\x07\x02\xfd\
7585 \x07\x04\x1a\x9d\x01\x20Required.\x20The\x20database\x20whose\x20roles\
7586 \x20should\x20be\x20listed.\n\x20Values\x20are\x20of\x20the\x20form\n\
7587 \x20`projects/<project>/instances/<instance>/databases/<database>/databa\
7588 seRoles`.\n\n\r\n\x05\x04\x16\x02\0\x05\x12\x04\xf8\x07\x02\x08\n\r\n\
7589 \x05\x04\x16\x02\0\x01\x12\x04\xf8\x07\t\x0f\n\r\n\x05\x04\x16\x02\0\x03\
7590 \x12\x04\xf8\x07\x12\x13\n\x0f\n\x05\x04\x16\x02\0\x08\x12\x06\xf8\x07\
7591 \x14\xfd\x07\x03\n\x10\n\x08\x04\x16\x02\0\x08\x9c\x08\0\x12\x04\xf9\x07\
7592 \x04*\n\x11\n\x07\x04\x16\x02\0\x08\x9f\x08\x12\x06\xfa\x07\x04\xfc\x07\
7593 \x05\n\x8b\x01\n\x04\x04\x16\x02\x01\x12\x04\x81\x08\x02\x16\x1a}\x20Num\
7594 ber\x20of\x20database\x20roles\x20to\x20be\x20returned\x20in\x20the\x20r\
7595 esponse.\x20If\x200\x20or\x20less,\n\x20defaults\x20to\x20the\x20server'\
7596 s\x20maximum\x20allowed\x20page\x20size.\n\n\r\n\x05\x04\x16\x02\x01\x05\
7597 \x12\x04\x81\x08\x02\x07\n\r\n\x05\x04\x16\x02\x01\x01\x12\x04\x81\x08\
7598 \x08\x11\n\r\n\x05\x04\x16\x02\x01\x03\x12\x04\x81\x08\x14\x15\n\x85\x02\
7599 \n\x04\x04\x16\x02\x02\x12\x04\x86\x08\x02\x18\x1a\xf6\x01\x20If\x20non-\
7600 empty,\x20`page_token`\x20should\x20contain\x20a\n\x20[next_page_token][\
7601 google.spanner.admin.database.v1.ListDatabaseRolesResponse.next_page_tok\
7602 en]\x20from\x20a\n\x20previous\x20[ListDatabaseRolesResponse][google.spa\
7603 nner.admin.database.v1.ListDatabaseRolesResponse].\n\n\r\n\x05\x04\x16\
7604 \x02\x02\x05\x12\x04\x86\x08\x02\x08\n\r\n\x05\x04\x16\x02\x02\x01\x12\
7605 \x04\x86\x08\t\x13\n\r\n\x05\x04\x16\x02\x02\x03\x12\x04\x86\x08\x16\x17\
7606 \nw\n\x02\x04\x17\x12\x06\x8a\x08\0\x92\x08\x01\x1ai\x20The\x20response\
7607 \x20for\x20[ListDatabaseRoles][google.spanner.admin.database.v1.Database\
7608 Admin.ListDatabaseRoles].\n\n\x0b\n\x03\x04\x17\x01\x12\x04\x8a\x08\x08!\
7609 \n8\n\x04\x04\x17\x02\0\x12\x04\x8c\x08\x02+\x1a*\x20Database\x20roles\
7610 \x20that\x20matched\x20the\x20request.\n\n\r\n\x05\x04\x17\x02\0\x04\x12\
7611 \x04\x8c\x08\x02\n\n\r\n\x05\x04\x17\x02\0\x06\x12\x04\x8c\x08\x0b\x17\n\
7612 \r\n\x05\x04\x17\x02\0\x01\x12\x04\x8c\x08\x18&\n\r\n\x05\x04\x17\x02\0\
7613 \x03\x12\x04\x8c\x08)*\n\xc0\x01\n\x04\x04\x17\x02\x01\x12\x04\x91\x08\
7614 \x02\x1d\x1a\xb1\x01\x20`next_page_token`\x20can\x20be\x20sent\x20in\x20\
7615 a\x20subsequent\n\x20[ListDatabaseRoles][google.spanner.admin.database.v\
7616 1.DatabaseAdmin.ListDatabaseRoles]\n\x20call\x20to\x20fetch\x20more\x20o\
7617 f\x20the\x20matching\x20roles.\n\n\r\n\x05\x04\x17\x02\x01\x05\x12\x04\
7618 \x91\x08\x02\x08\n\r\n\x05\x04\x17\x02\x01\x01\x12\x04\x91\x08\t\x18\n\r\
7619 \n\x05\x04\x17\x02\x01\x03\x12\x04\x91\x08\x1b\x1cb\x06proto3\
7620";
7621
7622static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
7623
7624fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
7625 ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
7626}
7627
7628pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
7629 file_descriptor_proto_lazy.get(|| {
7630 parse_descriptor_proto()
7631 })
7632}