#![allow(rustdoc::redundant_explicit_links)]
#![allow(rustdoc::broken_intra_doc_links)]
#![no_implicit_prelude]
extern crate async_trait;
extern crate bytes;
extern crate gaxi;
extern crate google_cloud_gax;
extern crate google_cloud_iam_v1;
extern crate google_cloud_longrunning;
extern crate google_cloud_lro;
extern crate google_cloud_rpc;
extern crate serde;
extern crate serde_json;
extern crate serde_with;
extern crate std;
extern crate tracing;
extern crate wkt;
mod debug;
mod deserialize;
mod serialize;
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct Backup {
pub database: std::string::String,
pub version_time: std::option::Option<wkt::Timestamp>,
pub expire_time: std::option::Option<wkt::Timestamp>,
pub name: std::string::String,
pub create_time: std::option::Option<wkt::Timestamp>,
pub size_bytes: i64,
pub freeable_size_bytes: i64,
pub exclusive_size_bytes: i64,
pub state: crate::model::backup::State,
pub referencing_databases: std::vec::Vec<std::string::String>,
pub encryption_info: std::option::Option<crate::model::EncryptionInfo>,
pub encryption_information: std::vec::Vec<crate::model::EncryptionInfo>,
pub database_dialect: crate::model::DatabaseDialect,
pub referencing_backups: std::vec::Vec<std::string::String>,
pub max_expire_time: std::option::Option<wkt::Timestamp>,
pub backup_schedules: std::vec::Vec<std::string::String>,
pub incremental_backup_chain_id: std::string::String,
pub oldest_version_time: std::option::Option<wkt::Timestamp>,
pub instance_partitions: std::vec::Vec<crate::model::BackupInstancePartition>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl Backup {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_database<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.database = v.into();
self
}
pub fn set_version_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.version_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_version_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.version_time = v.map(|x| x.into());
self
}
pub fn set_expire_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.expire_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_expire_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.expire_time = v.map(|x| x.into());
self
}
pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.name = v.into();
self
}
pub fn set_create_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.create_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.create_time = v.map(|x| x.into());
self
}
pub fn set_size_bytes<T: std::convert::Into<i64>>(mut self, v: T) -> Self {
self.size_bytes = v.into();
self
}
pub fn set_freeable_size_bytes<T: std::convert::Into<i64>>(mut self, v: T) -> Self {
self.freeable_size_bytes = v.into();
self
}
pub fn set_exclusive_size_bytes<T: std::convert::Into<i64>>(mut self, v: T) -> Self {
self.exclusive_size_bytes = v.into();
self
}
pub fn set_state<T: std::convert::Into<crate::model::backup::State>>(mut self, v: T) -> Self {
self.state = v.into();
self
}
pub fn set_referencing_databases<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<std::string::String>,
{
use std::iter::Iterator;
self.referencing_databases = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_encryption_info<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::EncryptionInfo>,
{
self.encryption_info = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_encryption_info<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::EncryptionInfo>,
{
self.encryption_info = v.map(|x| x.into());
self
}
pub fn set_encryption_information<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<crate::model::EncryptionInfo>,
{
use std::iter::Iterator;
self.encryption_information = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_database_dialect<T: std::convert::Into<crate::model::DatabaseDialect>>(
mut self,
v: T,
) -> Self {
self.database_dialect = v.into();
self
}
pub fn set_referencing_backups<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<std::string::String>,
{
use std::iter::Iterator;
self.referencing_backups = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_max_expire_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.max_expire_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_max_expire_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.max_expire_time = v.map(|x| x.into());
self
}
pub fn set_backup_schedules<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<std::string::String>,
{
use std::iter::Iterator;
self.backup_schedules = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_incremental_backup_chain_id<T: std::convert::Into<std::string::String>>(
mut self,
v: T,
) -> Self {
self.incremental_backup_chain_id = v.into();
self
}
pub fn set_oldest_version_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.oldest_version_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_oldest_version_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.oldest_version_time = v.map(|x| x.into());
self
}
pub fn set_instance_partitions<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<crate::model::BackupInstancePartition>,
{
use std::iter::Iterator;
self.instance_partitions = v.into_iter().map(|i| i.into()).collect();
self
}
}
impl wkt::message::Message for Backup {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.Backup"
}
}
pub mod backup {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
#[non_exhaustive]
pub enum State {
Unspecified,
Creating,
Ready,
UnknownValue(state::UnknownValue),
}
#[doc(hidden)]
pub mod state {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
}
impl State {
pub fn value(&self) -> std::option::Option<i32> {
match self {
Self::Unspecified => std::option::Option::Some(0),
Self::Creating => std::option::Option::Some(1),
Self::Ready => std::option::Option::Some(2),
Self::UnknownValue(u) => u.0.value(),
}
}
pub fn name(&self) -> std::option::Option<&str> {
match self {
Self::Unspecified => std::option::Option::Some("STATE_UNSPECIFIED"),
Self::Creating => std::option::Option::Some("CREATING"),
Self::Ready => std::option::Option::Some("READY"),
Self::UnknownValue(u) => u.0.name(),
}
}
}
impl std::default::Default for State {
fn default() -> Self {
use std::convert::From;
Self::from(0)
}
}
impl std::fmt::Display for State {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
wkt::internal::display_enum(f, self.name(), self.value())
}
}
impl std::convert::From<i32> for State {
fn from(value: i32) -> Self {
match value {
0 => Self::Unspecified,
1 => Self::Creating,
2 => Self::Ready,
_ => Self::UnknownValue(state::UnknownValue(
wkt::internal::UnknownEnumValue::Integer(value),
)),
}
}
}
impl std::convert::From<&str> for State {
fn from(value: &str) -> Self {
use std::string::ToString;
match value {
"STATE_UNSPECIFIED" => Self::Unspecified,
"CREATING" => Self::Creating,
"READY" => Self::Ready,
_ => Self::UnknownValue(state::UnknownValue(
wkt::internal::UnknownEnumValue::String(value.to_string()),
)),
}
}
}
impl serde::ser::Serialize for State {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
Self::Unspecified => serializer.serialize_i32(0),
Self::Creating => serializer.serialize_i32(1),
Self::Ready => serializer.serialize_i32(2),
Self::UnknownValue(u) => u.0.serialize(serializer),
}
}
}
impl<'de> serde::de::Deserialize<'de> for State {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
deserializer.deserialize_any(wkt::internal::EnumVisitor::<State>::new(
".google.spanner.admin.database.v1.Backup.State",
))
}
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct CreateBackupRequest {
pub parent: std::string::String,
pub backup_id: std::string::String,
pub backup: std::option::Option<crate::model::Backup>,
pub encryption_config: std::option::Option<crate::model::CreateBackupEncryptionConfig>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl CreateBackupRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.parent = v.into();
self
}
pub fn set_backup_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.backup_id = v.into();
self
}
pub fn set_backup<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::Backup>,
{
self.backup = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_backup<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::Backup>,
{
self.backup = v.map(|x| x.into());
self
}
pub fn set_encryption_config<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::CreateBackupEncryptionConfig>,
{
self.encryption_config = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_encryption_config<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::CreateBackupEncryptionConfig>,
{
self.encryption_config = v.map(|x| x.into());
self
}
}
impl wkt::message::Message for CreateBackupRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.CreateBackupRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct CreateBackupMetadata {
pub name: std::string::String,
pub database: std::string::String,
pub progress: std::option::Option<crate::model::OperationProgress>,
pub cancel_time: std::option::Option<wkt::Timestamp>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl CreateBackupMetadata {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.name = v.into();
self
}
pub fn set_database<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.database = v.into();
self
}
pub fn set_progress<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::OperationProgress>,
{
self.progress = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_progress<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::OperationProgress>,
{
self.progress = v.map(|x| x.into());
self
}
pub fn set_cancel_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.cancel_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_cancel_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.cancel_time = v.map(|x| x.into());
self
}
}
impl wkt::message::Message for CreateBackupMetadata {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct CopyBackupRequest {
pub parent: std::string::String,
pub backup_id: std::string::String,
pub source_backup: std::string::String,
pub expire_time: std::option::Option<wkt::Timestamp>,
pub encryption_config: std::option::Option<crate::model::CopyBackupEncryptionConfig>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl CopyBackupRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.parent = v.into();
self
}
pub fn set_backup_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.backup_id = v.into();
self
}
pub fn set_source_backup<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.source_backup = v.into();
self
}
pub fn set_expire_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.expire_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_expire_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.expire_time = v.map(|x| x.into());
self
}
pub fn set_encryption_config<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::CopyBackupEncryptionConfig>,
{
self.encryption_config = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_encryption_config<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::CopyBackupEncryptionConfig>,
{
self.encryption_config = v.map(|x| x.into());
self
}
}
impl wkt::message::Message for CopyBackupRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.CopyBackupRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct CopyBackupMetadata {
pub name: std::string::String,
pub source_backup: std::string::String,
pub progress: std::option::Option<crate::model::OperationProgress>,
pub cancel_time: std::option::Option<wkt::Timestamp>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl CopyBackupMetadata {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.name = v.into();
self
}
pub fn set_source_backup<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.source_backup = v.into();
self
}
pub fn set_progress<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::OperationProgress>,
{
self.progress = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_progress<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::OperationProgress>,
{
self.progress = v.map(|x| x.into());
self
}
pub fn set_cancel_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.cancel_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_cancel_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.cancel_time = v.map(|x| x.into());
self
}
}
impl wkt::message::Message for CopyBackupMetadata {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.CopyBackupMetadata"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct UpdateBackupRequest {
pub backup: std::option::Option<crate::model::Backup>,
pub update_mask: std::option::Option<wkt::FieldMask>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl UpdateBackupRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_backup<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::Backup>,
{
self.backup = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_backup<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::Backup>,
{
self.backup = v.map(|x| x.into());
self
}
pub fn set_update_mask<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::FieldMask>,
{
self.update_mask = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::FieldMask>,
{
self.update_mask = v.map(|x| x.into());
self
}
}
impl wkt::message::Message for UpdateBackupRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.UpdateBackupRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct GetBackupRequest {
pub name: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl GetBackupRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.name = v.into();
self
}
}
impl wkt::message::Message for GetBackupRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.GetBackupRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct DeleteBackupRequest {
pub name: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl DeleteBackupRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.name = v.into();
self
}
}
impl wkt::message::Message for DeleteBackupRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.DeleteBackupRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListBackupsRequest {
pub parent: std::string::String,
pub filter: std::string::String,
pub page_size: i32,
pub page_token: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl ListBackupsRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.parent = v.into();
self
}
pub fn set_filter<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.filter = v.into();
self
}
pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
self.page_size = v.into();
self
}
pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.page_token = v.into();
self
}
}
impl wkt::message::Message for ListBackupsRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.ListBackupsRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListBackupsResponse {
pub backups: std::vec::Vec<crate::model::Backup>,
pub next_page_token: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl ListBackupsResponse {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_backups<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<crate::model::Backup>,
{
use std::iter::Iterator;
self.backups = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.next_page_token = v.into();
self
}
}
impl wkt::message::Message for ListBackupsResponse {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.ListBackupsResponse"
}
}
#[doc(hidden)]
impl google_cloud_gax::paginator::internal::PageableResponse for ListBackupsResponse {
type PageItem = crate::model::Backup;
fn items(self) -> std::vec::Vec<Self::PageItem> {
self.backups
}
fn next_page_token(&self) -> std::string::String {
use std::clone::Clone;
self.next_page_token.clone()
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListBackupOperationsRequest {
pub parent: std::string::String,
pub filter: std::string::String,
pub page_size: i32,
pub page_token: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl ListBackupOperationsRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.parent = v.into();
self
}
pub fn set_filter<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.filter = v.into();
self
}
pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
self.page_size = v.into();
self
}
pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.page_token = v.into();
self
}
}
impl wkt::message::Message for ListBackupOperationsRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.ListBackupOperationsRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListBackupOperationsResponse {
pub operations: std::vec::Vec<google_cloud_longrunning::model::Operation>,
pub next_page_token: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl ListBackupOperationsResponse {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_operations<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<google_cloud_longrunning::model::Operation>,
{
use std::iter::Iterator;
self.operations = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.next_page_token = v.into();
self
}
}
impl wkt::message::Message for ListBackupOperationsResponse {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.ListBackupOperationsResponse"
}
}
#[doc(hidden)]
impl google_cloud_gax::paginator::internal::PageableResponse for ListBackupOperationsResponse {
type PageItem = google_cloud_longrunning::model::Operation;
fn items(self) -> std::vec::Vec<Self::PageItem> {
self.operations
}
fn next_page_token(&self) -> std::string::String {
use std::clone::Clone;
self.next_page_token.clone()
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct BackupInfo {
pub backup: std::string::String,
pub version_time: std::option::Option<wkt::Timestamp>,
pub create_time: std::option::Option<wkt::Timestamp>,
pub source_database: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl BackupInfo {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_backup<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.backup = v.into();
self
}
pub fn set_version_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.version_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_version_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.version_time = v.map(|x| x.into());
self
}
pub fn set_create_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.create_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.create_time = v.map(|x| x.into());
self
}
pub fn set_source_database<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.source_database = v.into();
self
}
}
impl wkt::message::Message for BackupInfo {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.BackupInfo"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct CreateBackupEncryptionConfig {
pub encryption_type: crate::model::create_backup_encryption_config::EncryptionType,
pub kms_key_name: std::string::String,
pub kms_key_names: std::vec::Vec<std::string::String>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl CreateBackupEncryptionConfig {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_encryption_type<
T: std::convert::Into<crate::model::create_backup_encryption_config::EncryptionType>,
>(
mut self,
v: T,
) -> Self {
self.encryption_type = v.into();
self
}
pub fn set_kms_key_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.kms_key_name = v.into();
self
}
pub fn set_kms_key_names<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<std::string::String>,
{
use std::iter::Iterator;
self.kms_key_names = v.into_iter().map(|i| i.into()).collect();
self
}
}
impl wkt::message::Message for CreateBackupEncryptionConfig {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.CreateBackupEncryptionConfig"
}
}
pub mod create_backup_encryption_config {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
#[non_exhaustive]
pub enum EncryptionType {
Unspecified,
UseDatabaseEncryption,
GoogleDefaultEncryption,
CustomerManagedEncryption,
UnknownValue(encryption_type::UnknownValue),
}
#[doc(hidden)]
pub mod encryption_type {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
}
impl EncryptionType {
pub fn value(&self) -> std::option::Option<i32> {
match self {
Self::Unspecified => std::option::Option::Some(0),
Self::UseDatabaseEncryption => std::option::Option::Some(1),
Self::GoogleDefaultEncryption => std::option::Option::Some(2),
Self::CustomerManagedEncryption => std::option::Option::Some(3),
Self::UnknownValue(u) => u.0.value(),
}
}
pub fn name(&self) -> std::option::Option<&str> {
match self {
Self::Unspecified => std::option::Option::Some("ENCRYPTION_TYPE_UNSPECIFIED"),
Self::UseDatabaseEncryption => std::option::Option::Some("USE_DATABASE_ENCRYPTION"),
Self::GoogleDefaultEncryption => {
std::option::Option::Some("GOOGLE_DEFAULT_ENCRYPTION")
}
Self::CustomerManagedEncryption => {
std::option::Option::Some("CUSTOMER_MANAGED_ENCRYPTION")
}
Self::UnknownValue(u) => u.0.name(),
}
}
}
impl std::default::Default for EncryptionType {
fn default() -> Self {
use std::convert::From;
Self::from(0)
}
}
impl std::fmt::Display for EncryptionType {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
wkt::internal::display_enum(f, self.name(), self.value())
}
}
impl std::convert::From<i32> for EncryptionType {
fn from(value: i32) -> Self {
match value {
0 => Self::Unspecified,
1 => Self::UseDatabaseEncryption,
2 => Self::GoogleDefaultEncryption,
3 => Self::CustomerManagedEncryption,
_ => Self::UnknownValue(encryption_type::UnknownValue(
wkt::internal::UnknownEnumValue::Integer(value),
)),
}
}
}
impl std::convert::From<&str> for EncryptionType {
fn from(value: &str) -> Self {
use std::string::ToString;
match value {
"ENCRYPTION_TYPE_UNSPECIFIED" => Self::Unspecified,
"USE_DATABASE_ENCRYPTION" => Self::UseDatabaseEncryption,
"GOOGLE_DEFAULT_ENCRYPTION" => Self::GoogleDefaultEncryption,
"CUSTOMER_MANAGED_ENCRYPTION" => Self::CustomerManagedEncryption,
_ => Self::UnknownValue(encryption_type::UnknownValue(
wkt::internal::UnknownEnumValue::String(value.to_string()),
)),
}
}
}
impl serde::ser::Serialize for EncryptionType {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
Self::Unspecified => serializer.serialize_i32(0),
Self::UseDatabaseEncryption => serializer.serialize_i32(1),
Self::GoogleDefaultEncryption => serializer.serialize_i32(2),
Self::CustomerManagedEncryption => serializer.serialize_i32(3),
Self::UnknownValue(u) => u.0.serialize(serializer),
}
}
}
impl<'de> serde::de::Deserialize<'de> for EncryptionType {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
deserializer.deserialize_any(wkt::internal::EnumVisitor::<EncryptionType>::new(
".google.spanner.admin.database.v1.CreateBackupEncryptionConfig.EncryptionType",
))
}
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct CopyBackupEncryptionConfig {
pub encryption_type: crate::model::copy_backup_encryption_config::EncryptionType,
pub kms_key_name: std::string::String,
pub kms_key_names: std::vec::Vec<std::string::String>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl CopyBackupEncryptionConfig {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_encryption_type<
T: std::convert::Into<crate::model::copy_backup_encryption_config::EncryptionType>,
>(
mut self,
v: T,
) -> Self {
self.encryption_type = v.into();
self
}
pub fn set_kms_key_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.kms_key_name = v.into();
self
}
pub fn set_kms_key_names<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<std::string::String>,
{
use std::iter::Iterator;
self.kms_key_names = v.into_iter().map(|i| i.into()).collect();
self
}
}
impl wkt::message::Message for CopyBackupEncryptionConfig {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.CopyBackupEncryptionConfig"
}
}
pub mod copy_backup_encryption_config {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
#[non_exhaustive]
pub enum EncryptionType {
Unspecified,
UseConfigDefaultOrBackupEncryption,
GoogleDefaultEncryption,
CustomerManagedEncryption,
UnknownValue(encryption_type::UnknownValue),
}
#[doc(hidden)]
pub mod encryption_type {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
}
impl EncryptionType {
pub fn value(&self) -> std::option::Option<i32> {
match self {
Self::Unspecified => std::option::Option::Some(0),
Self::UseConfigDefaultOrBackupEncryption => std::option::Option::Some(1),
Self::GoogleDefaultEncryption => std::option::Option::Some(2),
Self::CustomerManagedEncryption => std::option::Option::Some(3),
Self::UnknownValue(u) => u.0.value(),
}
}
pub fn name(&self) -> std::option::Option<&str> {
match self {
Self::Unspecified => std::option::Option::Some("ENCRYPTION_TYPE_UNSPECIFIED"),
Self::UseConfigDefaultOrBackupEncryption => {
std::option::Option::Some("USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION")
}
Self::GoogleDefaultEncryption => {
std::option::Option::Some("GOOGLE_DEFAULT_ENCRYPTION")
}
Self::CustomerManagedEncryption => {
std::option::Option::Some("CUSTOMER_MANAGED_ENCRYPTION")
}
Self::UnknownValue(u) => u.0.name(),
}
}
}
impl std::default::Default for EncryptionType {
fn default() -> Self {
use std::convert::From;
Self::from(0)
}
}
impl std::fmt::Display for EncryptionType {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
wkt::internal::display_enum(f, self.name(), self.value())
}
}
impl std::convert::From<i32> for EncryptionType {
fn from(value: i32) -> Self {
match value {
0 => Self::Unspecified,
1 => Self::UseConfigDefaultOrBackupEncryption,
2 => Self::GoogleDefaultEncryption,
3 => Self::CustomerManagedEncryption,
_ => Self::UnknownValue(encryption_type::UnknownValue(
wkt::internal::UnknownEnumValue::Integer(value),
)),
}
}
}
impl std::convert::From<&str> for EncryptionType {
fn from(value: &str) -> Self {
use std::string::ToString;
match value {
"ENCRYPTION_TYPE_UNSPECIFIED" => Self::Unspecified,
"USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION" => {
Self::UseConfigDefaultOrBackupEncryption
}
"GOOGLE_DEFAULT_ENCRYPTION" => Self::GoogleDefaultEncryption,
"CUSTOMER_MANAGED_ENCRYPTION" => Self::CustomerManagedEncryption,
_ => Self::UnknownValue(encryption_type::UnknownValue(
wkt::internal::UnknownEnumValue::String(value.to_string()),
)),
}
}
}
impl serde::ser::Serialize for EncryptionType {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
Self::Unspecified => serializer.serialize_i32(0),
Self::UseConfigDefaultOrBackupEncryption => serializer.serialize_i32(1),
Self::GoogleDefaultEncryption => serializer.serialize_i32(2),
Self::CustomerManagedEncryption => serializer.serialize_i32(3),
Self::UnknownValue(u) => u.0.serialize(serializer),
}
}
}
impl<'de> serde::de::Deserialize<'de> for EncryptionType {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
deserializer.deserialize_any(wkt::internal::EnumVisitor::<EncryptionType>::new(
".google.spanner.admin.database.v1.CopyBackupEncryptionConfig.EncryptionType",
))
}
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct FullBackupSpec {
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl FullBackupSpec {
pub fn new() -> Self {
std::default::Default::default()
}
}
impl wkt::message::Message for FullBackupSpec {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.FullBackupSpec"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct IncrementalBackupSpec {
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl IncrementalBackupSpec {
pub fn new() -> Self {
std::default::Default::default()
}
}
impl wkt::message::Message for IncrementalBackupSpec {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.IncrementalBackupSpec"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct BackupInstancePartition {
pub instance_partition: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl BackupInstancePartition {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_instance_partition<T: std::convert::Into<std::string::String>>(
mut self,
v: T,
) -> Self {
self.instance_partition = v.into();
self
}
}
impl wkt::message::Message for BackupInstancePartition {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.BackupInstancePartition"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct BackupScheduleSpec {
pub schedule_spec: std::option::Option<crate::model::backup_schedule_spec::ScheduleSpec>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl BackupScheduleSpec {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_schedule_spec<
T: std::convert::Into<std::option::Option<crate::model::backup_schedule_spec::ScheduleSpec>>,
>(
mut self,
v: T,
) -> Self {
self.schedule_spec = v.into();
self
}
pub fn cron_spec(&self) -> std::option::Option<&std::boxed::Box<crate::model::CrontabSpec>> {
#[allow(unreachable_patterns)]
self.schedule_spec.as_ref().and_then(|v| match v {
crate::model::backup_schedule_spec::ScheduleSpec::CronSpec(v) => {
std::option::Option::Some(v)
}
_ => std::option::Option::None,
})
}
pub fn set_cron_spec<T: std::convert::Into<std::boxed::Box<crate::model::CrontabSpec>>>(
mut self,
v: T,
) -> Self {
self.schedule_spec = std::option::Option::Some(
crate::model::backup_schedule_spec::ScheduleSpec::CronSpec(v.into()),
);
self
}
}
impl wkt::message::Message for BackupScheduleSpec {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.BackupScheduleSpec"
}
}
pub mod backup_schedule_spec {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
#[non_exhaustive]
pub enum ScheduleSpec {
CronSpec(std::boxed::Box<crate::model::CrontabSpec>),
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct BackupSchedule {
pub name: std::string::String,
pub spec: std::option::Option<crate::model::BackupScheduleSpec>,
pub retention_duration: std::option::Option<wkt::Duration>,
pub encryption_config: std::option::Option<crate::model::CreateBackupEncryptionConfig>,
pub update_time: std::option::Option<wkt::Timestamp>,
pub backup_type_spec: std::option::Option<crate::model::backup_schedule::BackupTypeSpec>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl BackupSchedule {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.name = v.into();
self
}
pub fn set_spec<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::BackupScheduleSpec>,
{
self.spec = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_spec<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::BackupScheduleSpec>,
{
self.spec = v.map(|x| x.into());
self
}
pub fn set_retention_duration<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Duration>,
{
self.retention_duration = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_retention_duration<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Duration>,
{
self.retention_duration = v.map(|x| x.into());
self
}
pub fn set_encryption_config<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::CreateBackupEncryptionConfig>,
{
self.encryption_config = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_encryption_config<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::CreateBackupEncryptionConfig>,
{
self.encryption_config = v.map(|x| x.into());
self
}
pub fn set_update_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.update_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_update_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.update_time = v.map(|x| x.into());
self
}
pub fn set_backup_type_spec<
T: std::convert::Into<std::option::Option<crate::model::backup_schedule::BackupTypeSpec>>,
>(
mut self,
v: T,
) -> Self {
self.backup_type_spec = v.into();
self
}
pub fn full_backup_spec(
&self,
) -> std::option::Option<&std::boxed::Box<crate::model::FullBackupSpec>> {
#[allow(unreachable_patterns)]
self.backup_type_spec.as_ref().and_then(|v| match v {
crate::model::backup_schedule::BackupTypeSpec::FullBackupSpec(v) => {
std::option::Option::Some(v)
}
_ => std::option::Option::None,
})
}
pub fn set_full_backup_spec<
T: std::convert::Into<std::boxed::Box<crate::model::FullBackupSpec>>,
>(
mut self,
v: T,
) -> Self {
self.backup_type_spec = std::option::Option::Some(
crate::model::backup_schedule::BackupTypeSpec::FullBackupSpec(v.into()),
);
self
}
pub fn incremental_backup_spec(
&self,
) -> std::option::Option<&std::boxed::Box<crate::model::IncrementalBackupSpec>> {
#[allow(unreachable_patterns)]
self.backup_type_spec.as_ref().and_then(|v| match v {
crate::model::backup_schedule::BackupTypeSpec::IncrementalBackupSpec(v) => {
std::option::Option::Some(v)
}
_ => std::option::Option::None,
})
}
pub fn set_incremental_backup_spec<
T: std::convert::Into<std::boxed::Box<crate::model::IncrementalBackupSpec>>,
>(
mut self,
v: T,
) -> Self {
self.backup_type_spec = std::option::Option::Some(
crate::model::backup_schedule::BackupTypeSpec::IncrementalBackupSpec(v.into()),
);
self
}
}
impl wkt::message::Message for BackupSchedule {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.BackupSchedule"
}
}
pub mod backup_schedule {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
#[non_exhaustive]
pub enum BackupTypeSpec {
FullBackupSpec(std::boxed::Box<crate::model::FullBackupSpec>),
IncrementalBackupSpec(std::boxed::Box<crate::model::IncrementalBackupSpec>),
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct CrontabSpec {
pub text: std::string::String,
pub time_zone: std::string::String,
pub creation_window: std::option::Option<wkt::Duration>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl CrontabSpec {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_text<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.text = v.into();
self
}
pub fn set_time_zone<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.time_zone = v.into();
self
}
pub fn set_creation_window<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Duration>,
{
self.creation_window = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_creation_window<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Duration>,
{
self.creation_window = v.map(|x| x.into());
self
}
}
impl wkt::message::Message for CrontabSpec {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.CrontabSpec"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct CreateBackupScheduleRequest {
pub parent: std::string::String,
pub backup_schedule_id: std::string::String,
pub backup_schedule: std::option::Option<crate::model::BackupSchedule>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl CreateBackupScheduleRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.parent = v.into();
self
}
pub fn set_backup_schedule_id<T: std::convert::Into<std::string::String>>(
mut self,
v: T,
) -> Self {
self.backup_schedule_id = v.into();
self
}
pub fn set_backup_schedule<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::BackupSchedule>,
{
self.backup_schedule = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_backup_schedule<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::BackupSchedule>,
{
self.backup_schedule = v.map(|x| x.into());
self
}
}
impl wkt::message::Message for CreateBackupScheduleRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.CreateBackupScheduleRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct GetBackupScheduleRequest {
pub name: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl GetBackupScheduleRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.name = v.into();
self
}
}
impl wkt::message::Message for GetBackupScheduleRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.GetBackupScheduleRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct DeleteBackupScheduleRequest {
pub name: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl DeleteBackupScheduleRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.name = v.into();
self
}
}
impl wkt::message::Message for DeleteBackupScheduleRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.DeleteBackupScheduleRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListBackupSchedulesRequest {
pub parent: std::string::String,
pub page_size: i32,
pub page_token: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl ListBackupSchedulesRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.parent = v.into();
self
}
pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
self.page_size = v.into();
self
}
pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.page_token = v.into();
self
}
}
impl wkt::message::Message for ListBackupSchedulesRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.ListBackupSchedulesRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListBackupSchedulesResponse {
pub backup_schedules: std::vec::Vec<crate::model::BackupSchedule>,
pub next_page_token: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl ListBackupSchedulesResponse {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_backup_schedules<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<crate::model::BackupSchedule>,
{
use std::iter::Iterator;
self.backup_schedules = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.next_page_token = v.into();
self
}
}
impl wkt::message::Message for ListBackupSchedulesResponse {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.ListBackupSchedulesResponse"
}
}
#[doc(hidden)]
impl google_cloud_gax::paginator::internal::PageableResponse for ListBackupSchedulesResponse {
type PageItem = crate::model::BackupSchedule;
fn items(self) -> std::vec::Vec<Self::PageItem> {
self.backup_schedules
}
fn next_page_token(&self) -> std::string::String {
use std::clone::Clone;
self.next_page_token.clone()
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct UpdateBackupScheduleRequest {
pub backup_schedule: std::option::Option<crate::model::BackupSchedule>,
pub update_mask: std::option::Option<wkt::FieldMask>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl UpdateBackupScheduleRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_backup_schedule<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::BackupSchedule>,
{
self.backup_schedule = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_backup_schedule<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::BackupSchedule>,
{
self.backup_schedule = v.map(|x| x.into());
self
}
pub fn set_update_mask<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::FieldMask>,
{
self.update_mask = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::FieldMask>,
{
self.update_mask = v.map(|x| x.into());
self
}
}
impl wkt::message::Message for UpdateBackupScheduleRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.UpdateBackupScheduleRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct OperationProgress {
pub progress_percent: i32,
pub start_time: std::option::Option<wkt::Timestamp>,
pub end_time: std::option::Option<wkt::Timestamp>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl OperationProgress {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_progress_percent<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
self.progress_percent = v.into();
self
}
pub fn set_start_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.start_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_start_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.start_time = v.map(|x| x.into());
self
}
pub fn set_end_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.end_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_end_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.end_time = v.map(|x| x.into());
self
}
}
impl wkt::message::Message for OperationProgress {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.OperationProgress"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct EncryptionConfig {
pub kms_key_name: std::string::String,
pub kms_key_names: std::vec::Vec<std::string::String>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl EncryptionConfig {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_kms_key_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.kms_key_name = v.into();
self
}
pub fn set_kms_key_names<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<std::string::String>,
{
use std::iter::Iterator;
self.kms_key_names = v.into_iter().map(|i| i.into()).collect();
self
}
}
impl wkt::message::Message for EncryptionConfig {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.EncryptionConfig"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct EncryptionInfo {
pub encryption_type: crate::model::encryption_info::Type,
pub encryption_status: std::option::Option<google_cloud_rpc::model::Status>,
pub kms_key_version: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl EncryptionInfo {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_encryption_type<T: std::convert::Into<crate::model::encryption_info::Type>>(
mut self,
v: T,
) -> Self {
self.encryption_type = v.into();
self
}
pub fn set_encryption_status<T>(mut self, v: T) -> Self
where
T: std::convert::Into<google_cloud_rpc::model::Status>,
{
self.encryption_status = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_encryption_status<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<google_cloud_rpc::model::Status>,
{
self.encryption_status = v.map(|x| x.into());
self
}
pub fn set_kms_key_version<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.kms_key_version = v.into();
self
}
}
impl wkt::message::Message for EncryptionInfo {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.EncryptionInfo"
}
}
pub mod encryption_info {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
#[non_exhaustive]
pub enum Type {
Unspecified,
GoogleDefaultEncryption,
CustomerManagedEncryption,
UnknownValue(r#type::UnknownValue),
}
#[doc(hidden)]
pub mod r#type {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
}
impl Type {
pub fn value(&self) -> std::option::Option<i32> {
match self {
Self::Unspecified => std::option::Option::Some(0),
Self::GoogleDefaultEncryption => std::option::Option::Some(1),
Self::CustomerManagedEncryption => std::option::Option::Some(2),
Self::UnknownValue(u) => u.0.value(),
}
}
pub fn name(&self) -> std::option::Option<&str> {
match self {
Self::Unspecified => std::option::Option::Some("TYPE_UNSPECIFIED"),
Self::GoogleDefaultEncryption => {
std::option::Option::Some("GOOGLE_DEFAULT_ENCRYPTION")
}
Self::CustomerManagedEncryption => {
std::option::Option::Some("CUSTOMER_MANAGED_ENCRYPTION")
}
Self::UnknownValue(u) => u.0.name(),
}
}
}
impl std::default::Default for Type {
fn default() -> Self {
use std::convert::From;
Self::from(0)
}
}
impl std::fmt::Display for Type {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
wkt::internal::display_enum(f, self.name(), self.value())
}
}
impl std::convert::From<i32> for Type {
fn from(value: i32) -> Self {
match value {
0 => Self::Unspecified,
1 => Self::GoogleDefaultEncryption,
2 => Self::CustomerManagedEncryption,
_ => Self::UnknownValue(r#type::UnknownValue(
wkt::internal::UnknownEnumValue::Integer(value),
)),
}
}
}
impl std::convert::From<&str> for Type {
fn from(value: &str) -> Self {
use std::string::ToString;
match value {
"TYPE_UNSPECIFIED" => Self::Unspecified,
"GOOGLE_DEFAULT_ENCRYPTION" => Self::GoogleDefaultEncryption,
"CUSTOMER_MANAGED_ENCRYPTION" => Self::CustomerManagedEncryption,
_ => Self::UnknownValue(r#type::UnknownValue(
wkt::internal::UnknownEnumValue::String(value.to_string()),
)),
}
}
}
impl serde::ser::Serialize for Type {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
Self::Unspecified => serializer.serialize_i32(0),
Self::GoogleDefaultEncryption => serializer.serialize_i32(1),
Self::CustomerManagedEncryption => serializer.serialize_i32(2),
Self::UnknownValue(u) => u.0.serialize(serializer),
}
}
}
impl<'de> serde::de::Deserialize<'de> for Type {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
deserializer.deserialize_any(wkt::internal::EnumVisitor::<Type>::new(
".google.spanner.admin.database.v1.EncryptionInfo.Type",
))
}
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct RestoreInfo {
pub source_type: crate::model::RestoreSourceType,
pub source_info: std::option::Option<crate::model::restore_info::SourceInfo>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl RestoreInfo {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_source_type<T: std::convert::Into<crate::model::RestoreSourceType>>(
mut self,
v: T,
) -> Self {
self.source_type = v.into();
self
}
pub fn set_source_info<
T: std::convert::Into<std::option::Option<crate::model::restore_info::SourceInfo>>,
>(
mut self,
v: T,
) -> Self {
self.source_info = v.into();
self
}
pub fn backup_info(&self) -> std::option::Option<&std::boxed::Box<crate::model::BackupInfo>> {
#[allow(unreachable_patterns)]
self.source_info.as_ref().and_then(|v| match v {
crate::model::restore_info::SourceInfo::BackupInfo(v) => std::option::Option::Some(v),
_ => std::option::Option::None,
})
}
pub fn set_backup_info<T: std::convert::Into<std::boxed::Box<crate::model::BackupInfo>>>(
mut self,
v: T,
) -> Self {
self.source_info =
std::option::Option::Some(crate::model::restore_info::SourceInfo::BackupInfo(v.into()));
self
}
}
impl wkt::message::Message for RestoreInfo {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.RestoreInfo"
}
}
pub mod restore_info {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
#[non_exhaustive]
pub enum SourceInfo {
BackupInfo(std::boxed::Box<crate::model::BackupInfo>),
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct Database {
pub name: std::string::String,
pub state: crate::model::database::State,
pub create_time: std::option::Option<wkt::Timestamp>,
pub restore_info: std::option::Option<crate::model::RestoreInfo>,
pub encryption_config: std::option::Option<crate::model::EncryptionConfig>,
pub encryption_info: std::vec::Vec<crate::model::EncryptionInfo>,
pub version_retention_period: std::string::String,
pub earliest_version_time: std::option::Option<wkt::Timestamp>,
pub default_leader: std::string::String,
pub database_dialect: crate::model::DatabaseDialect,
pub enable_drop_protection: bool,
pub reconciling: bool,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl Database {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.name = v.into();
self
}
pub fn set_state<T: std::convert::Into<crate::model::database::State>>(mut self, v: T) -> Self {
self.state = v.into();
self
}
pub fn set_create_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.create_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_create_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.create_time = v.map(|x| x.into());
self
}
pub fn set_restore_info<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::RestoreInfo>,
{
self.restore_info = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_restore_info<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::RestoreInfo>,
{
self.restore_info = v.map(|x| x.into());
self
}
pub fn set_encryption_config<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::EncryptionConfig>,
{
self.encryption_config = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_encryption_config<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::EncryptionConfig>,
{
self.encryption_config = v.map(|x| x.into());
self
}
pub fn set_encryption_info<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<crate::model::EncryptionInfo>,
{
use std::iter::Iterator;
self.encryption_info = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_version_retention_period<T: std::convert::Into<std::string::String>>(
mut self,
v: T,
) -> Self {
self.version_retention_period = v.into();
self
}
pub fn set_earliest_version_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.earliest_version_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_earliest_version_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.earliest_version_time = v.map(|x| x.into());
self
}
pub fn set_default_leader<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.default_leader = v.into();
self
}
pub fn set_database_dialect<T: std::convert::Into<crate::model::DatabaseDialect>>(
mut self,
v: T,
) -> Self {
self.database_dialect = v.into();
self
}
pub fn set_enable_drop_protection<T: std::convert::Into<bool>>(mut self, v: T) -> Self {
self.enable_drop_protection = v.into();
self
}
pub fn set_reconciling<T: std::convert::Into<bool>>(mut self, v: T) -> Self {
self.reconciling = v.into();
self
}
}
impl wkt::message::Message for Database {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.Database"
}
}
pub mod database {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
#[non_exhaustive]
pub enum State {
Unspecified,
Creating,
Ready,
ReadyOptimizing,
UnknownValue(state::UnknownValue),
}
#[doc(hidden)]
pub mod state {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
}
impl State {
pub fn value(&self) -> std::option::Option<i32> {
match self {
Self::Unspecified => std::option::Option::Some(0),
Self::Creating => std::option::Option::Some(1),
Self::Ready => std::option::Option::Some(2),
Self::ReadyOptimizing => std::option::Option::Some(3),
Self::UnknownValue(u) => u.0.value(),
}
}
pub fn name(&self) -> std::option::Option<&str> {
match self {
Self::Unspecified => std::option::Option::Some("STATE_UNSPECIFIED"),
Self::Creating => std::option::Option::Some("CREATING"),
Self::Ready => std::option::Option::Some("READY"),
Self::ReadyOptimizing => std::option::Option::Some("READY_OPTIMIZING"),
Self::UnknownValue(u) => u.0.name(),
}
}
}
impl std::default::Default for State {
fn default() -> Self {
use std::convert::From;
Self::from(0)
}
}
impl std::fmt::Display for State {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
wkt::internal::display_enum(f, self.name(), self.value())
}
}
impl std::convert::From<i32> for State {
fn from(value: i32) -> Self {
match value {
0 => Self::Unspecified,
1 => Self::Creating,
2 => Self::Ready,
3 => Self::ReadyOptimizing,
_ => Self::UnknownValue(state::UnknownValue(
wkt::internal::UnknownEnumValue::Integer(value),
)),
}
}
}
impl std::convert::From<&str> for State {
fn from(value: &str) -> Self {
use std::string::ToString;
match value {
"STATE_UNSPECIFIED" => Self::Unspecified,
"CREATING" => Self::Creating,
"READY" => Self::Ready,
"READY_OPTIMIZING" => Self::ReadyOptimizing,
_ => Self::UnknownValue(state::UnknownValue(
wkt::internal::UnknownEnumValue::String(value.to_string()),
)),
}
}
}
impl serde::ser::Serialize for State {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
Self::Unspecified => serializer.serialize_i32(0),
Self::Creating => serializer.serialize_i32(1),
Self::Ready => serializer.serialize_i32(2),
Self::ReadyOptimizing => serializer.serialize_i32(3),
Self::UnknownValue(u) => u.0.serialize(serializer),
}
}
}
impl<'de> serde::de::Deserialize<'de> for State {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
deserializer.deserialize_any(wkt::internal::EnumVisitor::<State>::new(
".google.spanner.admin.database.v1.Database.State",
))
}
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListDatabasesRequest {
pub parent: std::string::String,
pub page_size: i32,
pub page_token: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl ListDatabasesRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.parent = v.into();
self
}
pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
self.page_size = v.into();
self
}
pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.page_token = v.into();
self
}
}
impl wkt::message::Message for ListDatabasesRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.ListDatabasesRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListDatabasesResponse {
pub databases: std::vec::Vec<crate::model::Database>,
pub next_page_token: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl ListDatabasesResponse {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_databases<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<crate::model::Database>,
{
use std::iter::Iterator;
self.databases = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.next_page_token = v.into();
self
}
}
impl wkt::message::Message for ListDatabasesResponse {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.ListDatabasesResponse"
}
}
#[doc(hidden)]
impl google_cloud_gax::paginator::internal::PageableResponse for ListDatabasesResponse {
type PageItem = crate::model::Database;
fn items(self) -> std::vec::Vec<Self::PageItem> {
self.databases
}
fn next_page_token(&self) -> std::string::String {
use std::clone::Clone;
self.next_page_token.clone()
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct CreateDatabaseRequest {
pub parent: std::string::String,
pub create_statement: std::string::String,
pub extra_statements: std::vec::Vec<std::string::String>,
pub encryption_config: std::option::Option<crate::model::EncryptionConfig>,
pub database_dialect: crate::model::DatabaseDialect,
pub proto_descriptors: ::bytes::Bytes,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl CreateDatabaseRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.parent = v.into();
self
}
pub fn set_create_statement<T: std::convert::Into<std::string::String>>(
mut self,
v: T,
) -> Self {
self.create_statement = v.into();
self
}
pub fn set_extra_statements<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<std::string::String>,
{
use std::iter::Iterator;
self.extra_statements = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_encryption_config<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::EncryptionConfig>,
{
self.encryption_config = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_encryption_config<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::EncryptionConfig>,
{
self.encryption_config = v.map(|x| x.into());
self
}
pub fn set_database_dialect<T: std::convert::Into<crate::model::DatabaseDialect>>(
mut self,
v: T,
) -> Self {
self.database_dialect = v.into();
self
}
pub fn set_proto_descriptors<T: std::convert::Into<::bytes::Bytes>>(mut self, v: T) -> Self {
self.proto_descriptors = v.into();
self
}
}
impl wkt::message::Message for CreateDatabaseRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.CreateDatabaseRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct CreateDatabaseMetadata {
pub database: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl CreateDatabaseMetadata {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_database<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.database = v.into();
self
}
}
impl wkt::message::Message for CreateDatabaseMetadata {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.CreateDatabaseMetadata"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct GetDatabaseRequest {
pub name: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl GetDatabaseRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.name = v.into();
self
}
}
impl wkt::message::Message for GetDatabaseRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.GetDatabaseRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct UpdateDatabaseRequest {
pub database: std::option::Option<crate::model::Database>,
pub update_mask: std::option::Option<wkt::FieldMask>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl UpdateDatabaseRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_database<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::Database>,
{
self.database = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_database<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::Database>,
{
self.database = v.map(|x| x.into());
self
}
pub fn set_update_mask<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::FieldMask>,
{
self.update_mask = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_update_mask<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::FieldMask>,
{
self.update_mask = v.map(|x| x.into());
self
}
}
impl wkt::message::Message for UpdateDatabaseRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.UpdateDatabaseRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct UpdateDatabaseMetadata {
pub request: std::option::Option<crate::model::UpdateDatabaseRequest>,
pub progress: std::option::Option<crate::model::OperationProgress>,
pub cancel_time: std::option::Option<wkt::Timestamp>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl UpdateDatabaseMetadata {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_request<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::UpdateDatabaseRequest>,
{
self.request = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_request<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::UpdateDatabaseRequest>,
{
self.request = v.map(|x| x.into());
self
}
pub fn set_progress<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::OperationProgress>,
{
self.progress = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_progress<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::OperationProgress>,
{
self.progress = v.map(|x| x.into());
self
}
pub fn set_cancel_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.cancel_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_cancel_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.cancel_time = v.map(|x| x.into());
self
}
}
impl wkt::message::Message for UpdateDatabaseMetadata {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.UpdateDatabaseMetadata"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct UpdateDatabaseDdlRequest {
pub database: std::string::String,
pub statements: std::vec::Vec<std::string::String>,
pub operation_id: std::string::String,
pub proto_descriptors: ::bytes::Bytes,
pub throughput_mode: bool,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl UpdateDatabaseDdlRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_database<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.database = v.into();
self
}
pub fn set_statements<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<std::string::String>,
{
use std::iter::Iterator;
self.statements = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_operation_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.operation_id = v.into();
self
}
pub fn set_proto_descriptors<T: std::convert::Into<::bytes::Bytes>>(mut self, v: T) -> Self {
self.proto_descriptors = v.into();
self
}
pub fn set_throughput_mode<T: std::convert::Into<bool>>(mut self, v: T) -> Self {
self.throughput_mode = v.into();
self
}
}
impl wkt::message::Message for UpdateDatabaseDdlRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.UpdateDatabaseDdlRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct DdlStatementActionInfo {
pub action: std::string::String,
pub entity_type: std::string::String,
pub entity_names: std::vec::Vec<std::string::String>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl DdlStatementActionInfo {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_action<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.action = v.into();
self
}
pub fn set_entity_type<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.entity_type = v.into();
self
}
pub fn set_entity_names<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<std::string::String>,
{
use std::iter::Iterator;
self.entity_names = v.into_iter().map(|i| i.into()).collect();
self
}
}
impl wkt::message::Message for DdlStatementActionInfo {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.DdlStatementActionInfo"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct UpdateDatabaseDdlMetadata {
pub database: std::string::String,
pub statements: std::vec::Vec<std::string::String>,
pub commit_timestamps: std::vec::Vec<wkt::Timestamp>,
pub throttled: bool,
pub progress: std::vec::Vec<crate::model::OperationProgress>,
pub actions: std::vec::Vec<crate::model::DdlStatementActionInfo>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl UpdateDatabaseDdlMetadata {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_database<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.database = v.into();
self
}
pub fn set_statements<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<std::string::String>,
{
use std::iter::Iterator;
self.statements = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_commit_timestamps<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<wkt::Timestamp>,
{
use std::iter::Iterator;
self.commit_timestamps = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_throttled<T: std::convert::Into<bool>>(mut self, v: T) -> Self {
self.throttled = v.into();
self
}
pub fn set_progress<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<crate::model::OperationProgress>,
{
use std::iter::Iterator;
self.progress = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_actions<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<crate::model::DdlStatementActionInfo>,
{
use std::iter::Iterator;
self.actions = v.into_iter().map(|i| i.into()).collect();
self
}
}
impl wkt::message::Message for UpdateDatabaseDdlMetadata {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct DropDatabaseRequest {
pub database: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl DropDatabaseRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_database<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.database = v.into();
self
}
}
impl wkt::message::Message for DropDatabaseRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.DropDatabaseRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct GetDatabaseDdlRequest {
pub database: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl GetDatabaseDdlRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_database<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.database = v.into();
self
}
}
impl wkt::message::Message for GetDatabaseDdlRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.GetDatabaseDdlRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct GetDatabaseDdlResponse {
pub statements: std::vec::Vec<std::string::String>,
pub proto_descriptors: ::bytes::Bytes,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl GetDatabaseDdlResponse {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_statements<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<std::string::String>,
{
use std::iter::Iterator;
self.statements = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_proto_descriptors<T: std::convert::Into<::bytes::Bytes>>(mut self, v: T) -> Self {
self.proto_descriptors = v.into();
self
}
}
impl wkt::message::Message for GetDatabaseDdlResponse {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.GetDatabaseDdlResponse"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListDatabaseOperationsRequest {
pub parent: std::string::String,
pub filter: std::string::String,
pub page_size: i32,
pub page_token: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl ListDatabaseOperationsRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.parent = v.into();
self
}
pub fn set_filter<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.filter = v.into();
self
}
pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
self.page_size = v.into();
self
}
pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.page_token = v.into();
self
}
}
impl wkt::message::Message for ListDatabaseOperationsRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.ListDatabaseOperationsRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListDatabaseOperationsResponse {
pub operations: std::vec::Vec<google_cloud_longrunning::model::Operation>,
pub next_page_token: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl ListDatabaseOperationsResponse {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_operations<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<google_cloud_longrunning::model::Operation>,
{
use std::iter::Iterator;
self.operations = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.next_page_token = v.into();
self
}
}
impl wkt::message::Message for ListDatabaseOperationsResponse {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.ListDatabaseOperationsResponse"
}
}
#[doc(hidden)]
impl google_cloud_gax::paginator::internal::PageableResponse for ListDatabaseOperationsResponse {
type PageItem = google_cloud_longrunning::model::Operation;
fn items(self) -> std::vec::Vec<Self::PageItem> {
self.operations
}
fn next_page_token(&self) -> std::string::String {
use std::clone::Clone;
self.next_page_token.clone()
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct RestoreDatabaseRequest {
pub parent: std::string::String,
pub database_id: std::string::String,
pub encryption_config: std::option::Option<crate::model::RestoreDatabaseEncryptionConfig>,
pub source: std::option::Option<crate::model::restore_database_request::Source>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl RestoreDatabaseRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.parent = v.into();
self
}
pub fn set_database_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.database_id = v.into();
self
}
pub fn set_encryption_config<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::RestoreDatabaseEncryptionConfig>,
{
self.encryption_config = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_encryption_config<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::RestoreDatabaseEncryptionConfig>,
{
self.encryption_config = v.map(|x| x.into());
self
}
pub fn set_source<
T: std::convert::Into<std::option::Option<crate::model::restore_database_request::Source>>,
>(
mut self,
v: T,
) -> Self {
self.source = v.into();
self
}
pub fn backup(&self) -> std::option::Option<&std::string::String> {
#[allow(unreachable_patterns)]
self.source.as_ref().and_then(|v| match v {
crate::model::restore_database_request::Source::Backup(v) => {
std::option::Option::Some(v)
}
_ => std::option::Option::None,
})
}
pub fn set_backup<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.source = std::option::Option::Some(
crate::model::restore_database_request::Source::Backup(v.into()),
);
self
}
}
impl wkt::message::Message for RestoreDatabaseRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseRequest"
}
}
pub mod restore_database_request {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
#[non_exhaustive]
pub enum Source {
Backup(std::string::String),
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct RestoreDatabaseEncryptionConfig {
pub encryption_type: crate::model::restore_database_encryption_config::EncryptionType,
pub kms_key_name: std::string::String,
pub kms_key_names: std::vec::Vec<std::string::String>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl RestoreDatabaseEncryptionConfig {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_encryption_type<
T: std::convert::Into<crate::model::restore_database_encryption_config::EncryptionType>,
>(
mut self,
v: T,
) -> Self {
self.encryption_type = v.into();
self
}
pub fn set_kms_key_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.kms_key_name = v.into();
self
}
pub fn set_kms_key_names<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<std::string::String>,
{
use std::iter::Iterator;
self.kms_key_names = v.into_iter().map(|i| i.into()).collect();
self
}
}
impl wkt::message::Message for RestoreDatabaseEncryptionConfig {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig"
}
}
pub mod restore_database_encryption_config {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
#[non_exhaustive]
pub enum EncryptionType {
Unspecified,
UseConfigDefaultOrBackupEncryption,
GoogleDefaultEncryption,
CustomerManagedEncryption,
UnknownValue(encryption_type::UnknownValue),
}
#[doc(hidden)]
pub mod encryption_type {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
}
impl EncryptionType {
pub fn value(&self) -> std::option::Option<i32> {
match self {
Self::Unspecified => std::option::Option::Some(0),
Self::UseConfigDefaultOrBackupEncryption => std::option::Option::Some(1),
Self::GoogleDefaultEncryption => std::option::Option::Some(2),
Self::CustomerManagedEncryption => std::option::Option::Some(3),
Self::UnknownValue(u) => u.0.value(),
}
}
pub fn name(&self) -> std::option::Option<&str> {
match self {
Self::Unspecified => std::option::Option::Some("ENCRYPTION_TYPE_UNSPECIFIED"),
Self::UseConfigDefaultOrBackupEncryption => {
std::option::Option::Some("USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION")
}
Self::GoogleDefaultEncryption => {
std::option::Option::Some("GOOGLE_DEFAULT_ENCRYPTION")
}
Self::CustomerManagedEncryption => {
std::option::Option::Some("CUSTOMER_MANAGED_ENCRYPTION")
}
Self::UnknownValue(u) => u.0.name(),
}
}
}
impl std::default::Default for EncryptionType {
fn default() -> Self {
use std::convert::From;
Self::from(0)
}
}
impl std::fmt::Display for EncryptionType {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
wkt::internal::display_enum(f, self.name(), self.value())
}
}
impl std::convert::From<i32> for EncryptionType {
fn from(value: i32) -> Self {
match value {
0 => Self::Unspecified,
1 => Self::UseConfigDefaultOrBackupEncryption,
2 => Self::GoogleDefaultEncryption,
3 => Self::CustomerManagedEncryption,
_ => Self::UnknownValue(encryption_type::UnknownValue(
wkt::internal::UnknownEnumValue::Integer(value),
)),
}
}
}
impl std::convert::From<&str> for EncryptionType {
fn from(value: &str) -> Self {
use std::string::ToString;
match value {
"ENCRYPTION_TYPE_UNSPECIFIED" => Self::Unspecified,
"USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION" => {
Self::UseConfigDefaultOrBackupEncryption
}
"GOOGLE_DEFAULT_ENCRYPTION" => Self::GoogleDefaultEncryption,
"CUSTOMER_MANAGED_ENCRYPTION" => Self::CustomerManagedEncryption,
_ => Self::UnknownValue(encryption_type::UnknownValue(
wkt::internal::UnknownEnumValue::String(value.to_string()),
)),
}
}
}
impl serde::ser::Serialize for EncryptionType {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
Self::Unspecified => serializer.serialize_i32(0),
Self::UseConfigDefaultOrBackupEncryption => serializer.serialize_i32(1),
Self::GoogleDefaultEncryption => serializer.serialize_i32(2),
Self::CustomerManagedEncryption => serializer.serialize_i32(3),
Self::UnknownValue(u) => u.0.serialize(serializer),
}
}
}
impl<'de> serde::de::Deserialize<'de> for EncryptionType {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
deserializer.deserialize_any(wkt::internal::EnumVisitor::<EncryptionType>::new(
".google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig.EncryptionType",
))
}
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct RestoreDatabaseMetadata {
pub name: std::string::String,
pub source_type: crate::model::RestoreSourceType,
pub progress: std::option::Option<crate::model::OperationProgress>,
pub cancel_time: std::option::Option<wkt::Timestamp>,
pub optimize_database_operation_name: std::string::String,
pub source_info: std::option::Option<crate::model::restore_database_metadata::SourceInfo>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl RestoreDatabaseMetadata {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.name = v.into();
self
}
pub fn set_source_type<T: std::convert::Into<crate::model::RestoreSourceType>>(
mut self,
v: T,
) -> Self {
self.source_type = v.into();
self
}
pub fn set_progress<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::OperationProgress>,
{
self.progress = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_progress<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::OperationProgress>,
{
self.progress = v.map(|x| x.into());
self
}
pub fn set_cancel_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.cancel_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_cancel_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.cancel_time = v.map(|x| x.into());
self
}
pub fn set_optimize_database_operation_name<T: std::convert::Into<std::string::String>>(
mut self,
v: T,
) -> Self {
self.optimize_database_operation_name = v.into();
self
}
pub fn set_source_info<
T: std::convert::Into<
std::option::Option<crate::model::restore_database_metadata::SourceInfo>,
>,
>(
mut self,
v: T,
) -> Self {
self.source_info = v.into();
self
}
pub fn backup_info(&self) -> std::option::Option<&std::boxed::Box<crate::model::BackupInfo>> {
#[allow(unreachable_patterns)]
self.source_info.as_ref().and_then(|v| match v {
crate::model::restore_database_metadata::SourceInfo::BackupInfo(v) => {
std::option::Option::Some(v)
}
_ => std::option::Option::None,
})
}
pub fn set_backup_info<T: std::convert::Into<std::boxed::Box<crate::model::BackupInfo>>>(
mut self,
v: T,
) -> Self {
self.source_info = std::option::Option::Some(
crate::model::restore_database_metadata::SourceInfo::BackupInfo(v.into()),
);
self
}
}
impl wkt::message::Message for RestoreDatabaseMetadata {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata"
}
}
pub mod restore_database_metadata {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
#[non_exhaustive]
pub enum SourceInfo {
BackupInfo(std::boxed::Box<crate::model::BackupInfo>),
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct OptimizeRestoredDatabaseMetadata {
pub name: std::string::String,
pub progress: std::option::Option<crate::model::OperationProgress>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl OptimizeRestoredDatabaseMetadata {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.name = v.into();
self
}
pub fn set_progress<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::OperationProgress>,
{
self.progress = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_progress<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::OperationProgress>,
{
self.progress = v.map(|x| x.into());
self
}
}
impl wkt::message::Message for OptimizeRestoredDatabaseMetadata {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.OptimizeRestoredDatabaseMetadata"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct DatabaseRole {
pub name: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl DatabaseRole {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.name = v.into();
self
}
}
impl wkt::message::Message for DatabaseRole {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.DatabaseRole"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListDatabaseRolesRequest {
pub parent: std::string::String,
pub page_size: i32,
pub page_token: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl ListDatabaseRolesRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_parent<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.parent = v.into();
self
}
pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
self.page_size = v.into();
self
}
pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.page_token = v.into();
self
}
}
impl wkt::message::Message for ListDatabaseRolesRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.ListDatabaseRolesRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListDatabaseRolesResponse {
pub database_roles: std::vec::Vec<crate::model::DatabaseRole>,
pub next_page_token: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl ListDatabaseRolesResponse {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_database_roles<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<crate::model::DatabaseRole>,
{
use std::iter::Iterator;
self.database_roles = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.next_page_token = v.into();
self
}
}
impl wkt::message::Message for ListDatabaseRolesResponse {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.ListDatabaseRolesResponse"
}
}
#[doc(hidden)]
impl google_cloud_gax::paginator::internal::PageableResponse for ListDatabaseRolesResponse {
type PageItem = crate::model::DatabaseRole;
fn items(self) -> std::vec::Vec<Self::PageItem> {
self.database_roles
}
fn next_page_token(&self) -> std::string::String {
use std::clone::Clone;
self.next_page_token.clone()
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct AddSplitPointsRequest {
pub database: std::string::String,
pub split_points: std::vec::Vec<crate::model::SplitPoints>,
pub initiator: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl AddSplitPointsRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_database<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.database = v.into();
self
}
pub fn set_split_points<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<crate::model::SplitPoints>,
{
use std::iter::Iterator;
self.split_points = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_initiator<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.initiator = v.into();
self
}
}
impl wkt::message::Message for AddSplitPointsRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.AddSplitPointsRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct AddSplitPointsResponse {
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl AddSplitPointsResponse {
pub fn new() -> Self {
std::default::Default::default()
}
}
impl wkt::message::Message for AddSplitPointsResponse {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.AddSplitPointsResponse"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct SplitPoints {
pub table: std::string::String,
pub index: std::string::String,
pub keys: std::vec::Vec<crate::model::split_points::Key>,
pub expire_time: std::option::Option<wkt::Timestamp>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl SplitPoints {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_table<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.table = v.into();
self
}
pub fn set_index<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.index = v.into();
self
}
pub fn set_keys<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<crate::model::split_points::Key>,
{
use std::iter::Iterator;
self.keys = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_expire_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.expire_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_expire_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.expire_time = v.map(|x| x.into());
self
}
}
impl wkt::message::Message for SplitPoints {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.SplitPoints"
}
}
pub mod split_points {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct Key {
pub key_parts: std::option::Option<wkt::ListValue>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl Key {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_key_parts<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::ListValue>,
{
self.key_parts = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_key_parts<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::ListValue>,
{
self.key_parts = v.map(|x| x.into());
self
}
}
impl wkt::message::Message for Key {
fn typename() -> &'static str {
"type.googleapis.com/google.spanner.admin.database.v1.SplitPoints.Key"
}
}
}
#[derive(Clone, Debug, PartialEq)]
#[non_exhaustive]
pub enum DatabaseDialect {
Unspecified,
GoogleStandardSql,
Postgresql,
UnknownValue(database_dialect::UnknownValue),
}
#[doc(hidden)]
pub mod database_dialect {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
}
impl DatabaseDialect {
pub fn value(&self) -> std::option::Option<i32> {
match self {
Self::Unspecified => std::option::Option::Some(0),
Self::GoogleStandardSql => std::option::Option::Some(1),
Self::Postgresql => std::option::Option::Some(2),
Self::UnknownValue(u) => u.0.value(),
}
}
pub fn name(&self) -> std::option::Option<&str> {
match self {
Self::Unspecified => std::option::Option::Some("DATABASE_DIALECT_UNSPECIFIED"),
Self::GoogleStandardSql => std::option::Option::Some("GOOGLE_STANDARD_SQL"),
Self::Postgresql => std::option::Option::Some("POSTGRESQL"),
Self::UnknownValue(u) => u.0.name(),
}
}
}
impl std::default::Default for DatabaseDialect {
fn default() -> Self {
use std::convert::From;
Self::from(0)
}
}
impl std::fmt::Display for DatabaseDialect {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
wkt::internal::display_enum(f, self.name(), self.value())
}
}
impl std::convert::From<i32> for DatabaseDialect {
fn from(value: i32) -> Self {
match value {
0 => Self::Unspecified,
1 => Self::GoogleStandardSql,
2 => Self::Postgresql,
_ => Self::UnknownValue(database_dialect::UnknownValue(
wkt::internal::UnknownEnumValue::Integer(value),
)),
}
}
}
impl std::convert::From<&str> for DatabaseDialect {
fn from(value: &str) -> Self {
use std::string::ToString;
match value {
"DATABASE_DIALECT_UNSPECIFIED" => Self::Unspecified,
"GOOGLE_STANDARD_SQL" => Self::GoogleStandardSql,
"POSTGRESQL" => Self::Postgresql,
_ => Self::UnknownValue(database_dialect::UnknownValue(
wkt::internal::UnknownEnumValue::String(value.to_string()),
)),
}
}
}
impl serde::ser::Serialize for DatabaseDialect {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
Self::Unspecified => serializer.serialize_i32(0),
Self::GoogleStandardSql => serializer.serialize_i32(1),
Self::Postgresql => serializer.serialize_i32(2),
Self::UnknownValue(u) => u.0.serialize(serializer),
}
}
}
impl<'de> serde::de::Deserialize<'de> for DatabaseDialect {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
deserializer.deserialize_any(wkt::internal::EnumVisitor::<DatabaseDialect>::new(
".google.spanner.admin.database.v1.DatabaseDialect",
))
}
}
#[derive(Clone, Debug, PartialEq)]
#[non_exhaustive]
pub enum RestoreSourceType {
TypeUnspecified,
Backup,
UnknownValue(restore_source_type::UnknownValue),
}
#[doc(hidden)]
pub mod restore_source_type {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
}
impl RestoreSourceType {
pub fn value(&self) -> std::option::Option<i32> {
match self {
Self::TypeUnspecified => std::option::Option::Some(0),
Self::Backup => std::option::Option::Some(1),
Self::UnknownValue(u) => u.0.value(),
}
}
pub fn name(&self) -> std::option::Option<&str> {
match self {
Self::TypeUnspecified => std::option::Option::Some("TYPE_UNSPECIFIED"),
Self::Backup => std::option::Option::Some("BACKUP"),
Self::UnknownValue(u) => u.0.name(),
}
}
}
impl std::default::Default for RestoreSourceType {
fn default() -> Self {
use std::convert::From;
Self::from(0)
}
}
impl std::fmt::Display for RestoreSourceType {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
wkt::internal::display_enum(f, self.name(), self.value())
}
}
impl std::convert::From<i32> for RestoreSourceType {
fn from(value: i32) -> Self {
match value {
0 => Self::TypeUnspecified,
1 => Self::Backup,
_ => Self::UnknownValue(restore_source_type::UnknownValue(
wkt::internal::UnknownEnumValue::Integer(value),
)),
}
}
}
impl std::convert::From<&str> for RestoreSourceType {
fn from(value: &str) -> Self {
use std::string::ToString;
match value {
"TYPE_UNSPECIFIED" => Self::TypeUnspecified,
"BACKUP" => Self::Backup,
_ => Self::UnknownValue(restore_source_type::UnknownValue(
wkt::internal::UnknownEnumValue::String(value.to_string()),
)),
}
}
}
impl serde::ser::Serialize for RestoreSourceType {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
Self::TypeUnspecified => serializer.serialize_i32(0),
Self::Backup => serializer.serialize_i32(1),
Self::UnknownValue(u) => u.0.serialize(serializer),
}
}
}
impl<'de> serde::de::Deserialize<'de> for RestoreSourceType {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
deserializer.deserialize_any(wkt::internal::EnumVisitor::<RestoreSourceType>::new(
".google.spanner.admin.database.v1.RestoreSourceType",
))
}
}