#[non_exhaustive]pub struct CrossInstanceReplicationConfig {
pub instance_role: InstanceRole,
pub primary_instance: Option<RemoteInstance>,
pub secondary_instances: Vec<RemoteInstance>,
pub update_time: Option<Timestamp>,
pub membership: Option<Membership>,
/* private fields */
}Expand description
Cross instance replication config.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.instance_role: InstanceRoleRequired. The role of the instance in cross instance replication.
primary_instance: Option<RemoteInstance>Optional. Details of the primary instance that is used as the replication source for this secondary instance.
This field is only set for a secondary instance.
secondary_instances: Vec<RemoteInstance>Optional. List of secondary instances that are replicating from this primary instance.
This field is only set for a primary instance.
update_time: Option<Timestamp>Output only. The last time cross instance replication config was updated.
membership: Option<Membership>Output only. An output only view of all the member instances participating in the cross instance replication. This view will be provided by every member instance irrespective of its instance role(primary or secondary).
A primary instance can provide information about all the secondary instances replicating from it. However, a secondary instance only knows about the primary instance from which it is replicating. However, for scenarios, where the primary instance is unavailable(e.g. regional outage), a Getinstance request can be sent to any other member instance and this field will list all the member instances participating in cross instance replication.
Implementations§
Source§impl CrossInstanceReplicationConfig
impl CrossInstanceReplicationConfig
pub fn new() -> Self
Sourcepub fn set_instance_role<T: Into<InstanceRole>>(self, v: T) -> Self
pub fn set_instance_role<T: Into<InstanceRole>>(self, v: T) -> Self
Sets the value of instance_role.
§Example
use google_cloud_memorystore_v1::model::cross_instance_replication_config::InstanceRole;
let x0 = CrossInstanceReplicationConfig::new().set_instance_role(InstanceRole::None);
let x1 = CrossInstanceReplicationConfig::new().set_instance_role(InstanceRole::Primary);
let x2 = CrossInstanceReplicationConfig::new().set_instance_role(InstanceRole::Secondary);Sourcepub fn set_primary_instance<T>(self, v: T) -> Selfwhere
T: Into<RemoteInstance>,
pub fn set_primary_instance<T>(self, v: T) -> Selfwhere
T: Into<RemoteInstance>,
Sets the value of primary_instance.
§Example
use google_cloud_memorystore_v1::model::cross_instance_replication_config::RemoteInstance;
let x = CrossInstanceReplicationConfig::new().set_primary_instance(RemoteInstance::default()/* use setters */);Sourcepub fn set_or_clear_primary_instance<T>(self, v: Option<T>) -> Selfwhere
T: Into<RemoteInstance>,
pub fn set_or_clear_primary_instance<T>(self, v: Option<T>) -> Selfwhere
T: Into<RemoteInstance>,
Sets or clears the value of primary_instance.
§Example
use google_cloud_memorystore_v1::model::cross_instance_replication_config::RemoteInstance;
let x = CrossInstanceReplicationConfig::new().set_or_clear_primary_instance(Some(RemoteInstance::default()/* use setters */));
let x = CrossInstanceReplicationConfig::new().set_or_clear_primary_instance(None::<RemoteInstance>);Sourcepub fn set_secondary_instances<T, V>(self, v: T) -> Self
pub fn set_secondary_instances<T, V>(self, v: T) -> Self
Sets the value of secondary_instances.
§Example
use google_cloud_memorystore_v1::model::cross_instance_replication_config::RemoteInstance;
let x = CrossInstanceReplicationConfig::new()
.set_secondary_instances([
RemoteInstance::default()/* use setters */,
RemoteInstance::default()/* use (different) setters */,
]);Sourcepub fn set_update_time<T>(self, v: T) -> Self
pub fn set_update_time<T>(self, v: T) -> Self
Sets the value of update_time.
§Example
use wkt::Timestamp;
let x = CrossInstanceReplicationConfig::new().set_update_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_update_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_update_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of update_time.
§Example
use wkt::Timestamp;
let x = CrossInstanceReplicationConfig::new().set_or_clear_update_time(Some(Timestamp::default()/* use setters */));
let x = CrossInstanceReplicationConfig::new().set_or_clear_update_time(None::<Timestamp>);Sourcepub fn set_membership<T>(self, v: T) -> Selfwhere
T: Into<Membership>,
pub fn set_membership<T>(self, v: T) -> Selfwhere
T: Into<Membership>,
Sets the value of membership.
§Example
use google_cloud_memorystore_v1::model::cross_instance_replication_config::Membership;
let x = CrossInstanceReplicationConfig::new().set_membership(Membership::default()/* use setters */);Sourcepub fn set_or_clear_membership<T>(self, v: Option<T>) -> Selfwhere
T: Into<Membership>,
pub fn set_or_clear_membership<T>(self, v: Option<T>) -> Selfwhere
T: Into<Membership>,
Sets or clears the value of membership.
§Example
use google_cloud_memorystore_v1::model::cross_instance_replication_config::Membership;
let x = CrossInstanceReplicationConfig::new().set_or_clear_membership(Some(Membership::default()/* use setters */));
let x = CrossInstanceReplicationConfig::new().set_or_clear_membership(None::<Membership>);Trait Implementations§
Source§impl Clone for CrossInstanceReplicationConfig
impl Clone for CrossInstanceReplicationConfig
Source§fn clone(&self) -> CrossInstanceReplicationConfig
fn clone(&self) -> CrossInstanceReplicationConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Default for CrossInstanceReplicationConfig
impl Default for CrossInstanceReplicationConfig
Source§fn default() -> CrossInstanceReplicationConfig
fn default() -> CrossInstanceReplicationConfig
Source§impl PartialEq for CrossInstanceReplicationConfig
impl PartialEq for CrossInstanceReplicationConfig
Source§fn eq(&self, other: &CrossInstanceReplicationConfig) -> bool
fn eq(&self, other: &CrossInstanceReplicationConfig) -> bool
self and other values to be equal, and is used by ==.