#[allow(missing_docs)] #[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct UpdateReplicationConfigurationInput {
pub source_server_id: ::std::option::Option<::std::string::String>,
pub name: ::std::option::Option<::std::string::String>,
pub staging_area_subnet_id: ::std::option::Option<::std::string::String>,
pub associate_default_security_group: ::std::option::Option<bool>,
pub replication_servers_security_groups_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub replication_server_instance_type: ::std::option::Option<::std::string::String>,
pub use_dedicated_replication_server: ::std::option::Option<bool>,
pub default_large_staging_disk_type: ::std::option::Option<crate::types::ReplicationConfigurationDefaultLargeStagingDiskType>,
pub replicated_disks: ::std::option::Option<::std::vec::Vec<crate::types::ReplicationConfigurationReplicatedDisk>>,
pub ebs_encryption: ::std::option::Option<crate::types::ReplicationConfigurationEbsEncryption>,
pub ebs_encryption_key_arn: ::std::option::Option<::std::string::String>,
pub bandwidth_throttling: ::std::option::Option<i64>,
pub data_plane_routing: ::std::option::Option<crate::types::ReplicationConfigurationDataPlaneRouting>,
pub create_public_ip: ::std::option::Option<bool>,
pub staging_area_tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
pub use_fips_endpoint: ::std::option::Option<bool>,
pub account_id: ::std::option::Option<::std::string::String>,
pub internet_protocol: ::std::option::Option<crate::types::InternetProtocol>,
pub store_snapshot_on_local_zone: ::std::option::Option<bool>,
}
impl UpdateReplicationConfigurationInput {
pub fn source_server_id(&self) -> ::std::option::Option<&str> {
self.source_server_id.as_deref()
}
pub fn name(&self) -> ::std::option::Option<&str> {
self.name.as_deref()
}
pub fn staging_area_subnet_id(&self) -> ::std::option::Option<&str> {
self.staging_area_subnet_id.as_deref()
}
pub fn associate_default_security_group(&self) -> ::std::option::Option<bool> {
self.associate_default_security_group
}
pub fn replication_servers_security_groups_ids(&self) -> &[::std::string::String] {
self.replication_servers_security_groups_ids.as_deref().unwrap_or_default()
}
pub fn replication_server_instance_type(&self) -> ::std::option::Option<&str> {
self.replication_server_instance_type.as_deref()
}
pub fn use_dedicated_replication_server(&self) -> ::std::option::Option<bool> {
self.use_dedicated_replication_server
}
pub fn default_large_staging_disk_type(&self) -> ::std::option::Option<&crate::types::ReplicationConfigurationDefaultLargeStagingDiskType> {
self.default_large_staging_disk_type.as_ref()
}
pub fn replicated_disks(&self) -> &[crate::types::ReplicationConfigurationReplicatedDisk] {
self.replicated_disks.as_deref().unwrap_or_default()
}
pub fn ebs_encryption(&self) -> ::std::option::Option<&crate::types::ReplicationConfigurationEbsEncryption> {
self.ebs_encryption.as_ref()
}
pub fn ebs_encryption_key_arn(&self) -> ::std::option::Option<&str> {
self.ebs_encryption_key_arn.as_deref()
}
pub fn bandwidth_throttling(&self) -> ::std::option::Option<i64> {
self.bandwidth_throttling
}
pub fn data_plane_routing(&self) -> ::std::option::Option<&crate::types::ReplicationConfigurationDataPlaneRouting> {
self.data_plane_routing.as_ref()
}
pub fn create_public_ip(&self) -> ::std::option::Option<bool> {
self.create_public_ip
}
pub fn staging_area_tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
self.staging_area_tags.as_ref()
}
pub fn use_fips_endpoint(&self) -> ::std::option::Option<bool> {
self.use_fips_endpoint
}
pub fn account_id(&self) -> ::std::option::Option<&str> {
self.account_id.as_deref()
}
pub fn internet_protocol(&self) -> ::std::option::Option<&crate::types::InternetProtocol> {
self.internet_protocol.as_ref()
}
pub fn store_snapshot_on_local_zone(&self) -> ::std::option::Option<bool> {
self.store_snapshot_on_local_zone
}
}
impl ::std::fmt::Debug for UpdateReplicationConfigurationInput {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("UpdateReplicationConfigurationInput");
formatter.field("source_server_id", &self.source_server_id);
formatter.field("name", &self.name);
formatter.field("staging_area_subnet_id", &self.staging_area_subnet_id);
formatter.field("associate_default_security_group", &self.associate_default_security_group);
formatter.field("replication_servers_security_groups_ids", &self.replication_servers_security_groups_ids);
formatter.field("replication_server_instance_type", &self.replication_server_instance_type);
formatter.field("use_dedicated_replication_server", &self.use_dedicated_replication_server);
formatter.field("default_large_staging_disk_type", &self.default_large_staging_disk_type);
formatter.field("replicated_disks", &self.replicated_disks);
formatter.field("ebs_encryption", &self.ebs_encryption);
formatter.field("ebs_encryption_key_arn", &self.ebs_encryption_key_arn);
formatter.field("bandwidth_throttling", &self.bandwidth_throttling);
formatter.field("data_plane_routing", &self.data_plane_routing);
formatter.field("create_public_ip", &self.create_public_ip);
formatter.field("staging_area_tags", &"*** Sensitive Data Redacted ***");
formatter.field("use_fips_endpoint", &self.use_fips_endpoint);
formatter.field("account_id", &self.account_id);
formatter.field("internet_protocol", &self.internet_protocol);
formatter.field("store_snapshot_on_local_zone", &self.store_snapshot_on_local_zone);
formatter.finish()
}
}
impl UpdateReplicationConfigurationInput {
pub fn builder() -> crate::operation::update_replication_configuration::builders::UpdateReplicationConfigurationInputBuilder {
crate::operation::update_replication_configuration::builders::UpdateReplicationConfigurationInputBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct UpdateReplicationConfigurationInputBuilder {
pub(crate) source_server_id: ::std::option::Option<::std::string::String>,
pub(crate) name: ::std::option::Option<::std::string::String>,
pub(crate) staging_area_subnet_id: ::std::option::Option<::std::string::String>,
pub(crate) associate_default_security_group: ::std::option::Option<bool>,
pub(crate) replication_servers_security_groups_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) replication_server_instance_type: ::std::option::Option<::std::string::String>,
pub(crate) use_dedicated_replication_server: ::std::option::Option<bool>,
pub(crate) default_large_staging_disk_type: ::std::option::Option<crate::types::ReplicationConfigurationDefaultLargeStagingDiskType>,
pub(crate) replicated_disks: ::std::option::Option<::std::vec::Vec<crate::types::ReplicationConfigurationReplicatedDisk>>,
pub(crate) ebs_encryption: ::std::option::Option<crate::types::ReplicationConfigurationEbsEncryption>,
pub(crate) ebs_encryption_key_arn: ::std::option::Option<::std::string::String>,
pub(crate) bandwidth_throttling: ::std::option::Option<i64>,
pub(crate) data_plane_routing: ::std::option::Option<crate::types::ReplicationConfigurationDataPlaneRouting>,
pub(crate) create_public_ip: ::std::option::Option<bool>,
pub(crate) staging_area_tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
pub(crate) use_fips_endpoint: ::std::option::Option<bool>,
pub(crate) account_id: ::std::option::Option<::std::string::String>,
pub(crate) internet_protocol: ::std::option::Option<crate::types::InternetProtocol>,
pub(crate) store_snapshot_on_local_zone: ::std::option::Option<bool>,
}
impl UpdateReplicationConfigurationInputBuilder {
pub fn source_server_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.source_server_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_source_server_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.source_server_id = input;
self
}
pub fn get_source_server_id(&self) -> &::std::option::Option<::std::string::String> {
&self.source_server_id
}
pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.name = ::std::option::Option::Some(input.into());
self
}
pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.name = input;
self
}
pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
&self.name
}
pub fn staging_area_subnet_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.staging_area_subnet_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_staging_area_subnet_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.staging_area_subnet_id = input;
self
}
pub fn get_staging_area_subnet_id(&self) -> &::std::option::Option<::std::string::String> {
&self.staging_area_subnet_id
}
pub fn associate_default_security_group(mut self, input: bool) -> Self {
self.associate_default_security_group = ::std::option::Option::Some(input);
self
}
pub fn set_associate_default_security_group(mut self, input: ::std::option::Option<bool>) -> Self {
self.associate_default_security_group = input;
self
}
pub fn get_associate_default_security_group(&self) -> &::std::option::Option<bool> {
&self.associate_default_security_group
}
pub fn replication_servers_security_groups_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.replication_servers_security_groups_ids.unwrap_or_default();
v.push(input.into());
self.replication_servers_security_groups_ids = ::std::option::Option::Some(v);
self
}
pub fn set_replication_servers_security_groups_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.replication_servers_security_groups_ids = input;
self
}
pub fn get_replication_servers_security_groups_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.replication_servers_security_groups_ids
}
pub fn replication_server_instance_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.replication_server_instance_type = ::std::option::Option::Some(input.into());
self
}
pub fn set_replication_server_instance_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.replication_server_instance_type = input;
self
}
pub fn get_replication_server_instance_type(&self) -> &::std::option::Option<::std::string::String> {
&self.replication_server_instance_type
}
pub fn use_dedicated_replication_server(mut self, input: bool) -> Self {
self.use_dedicated_replication_server = ::std::option::Option::Some(input);
self
}
pub fn set_use_dedicated_replication_server(mut self, input: ::std::option::Option<bool>) -> Self {
self.use_dedicated_replication_server = input;
self
}
pub fn get_use_dedicated_replication_server(&self) -> &::std::option::Option<bool> {
&self.use_dedicated_replication_server
}
pub fn default_large_staging_disk_type(mut self, input: crate::types::ReplicationConfigurationDefaultLargeStagingDiskType) -> Self {
self.default_large_staging_disk_type = ::std::option::Option::Some(input);
self
}
pub fn set_default_large_staging_disk_type(
mut self,
input: ::std::option::Option<crate::types::ReplicationConfigurationDefaultLargeStagingDiskType>,
) -> Self {
self.default_large_staging_disk_type = input;
self
}
pub fn get_default_large_staging_disk_type(&self) -> &::std::option::Option<crate::types::ReplicationConfigurationDefaultLargeStagingDiskType> {
&self.default_large_staging_disk_type
}
pub fn replicated_disks(mut self, input: crate::types::ReplicationConfigurationReplicatedDisk) -> Self {
let mut v = self.replicated_disks.unwrap_or_default();
v.push(input);
self.replicated_disks = ::std::option::Option::Some(v);
self
}
pub fn set_replicated_disks(
mut self,
input: ::std::option::Option<::std::vec::Vec<crate::types::ReplicationConfigurationReplicatedDisk>>,
) -> Self {
self.replicated_disks = input;
self
}
pub fn get_replicated_disks(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ReplicationConfigurationReplicatedDisk>> {
&self.replicated_disks
}
pub fn ebs_encryption(mut self, input: crate::types::ReplicationConfigurationEbsEncryption) -> Self {
self.ebs_encryption = ::std::option::Option::Some(input);
self
}
pub fn set_ebs_encryption(mut self, input: ::std::option::Option<crate::types::ReplicationConfigurationEbsEncryption>) -> Self {
self.ebs_encryption = input;
self
}
pub fn get_ebs_encryption(&self) -> &::std::option::Option<crate::types::ReplicationConfigurationEbsEncryption> {
&self.ebs_encryption
}
pub fn ebs_encryption_key_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.ebs_encryption_key_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_ebs_encryption_key_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.ebs_encryption_key_arn = input;
self
}
pub fn get_ebs_encryption_key_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.ebs_encryption_key_arn
}
pub fn bandwidth_throttling(mut self, input: i64) -> Self {
self.bandwidth_throttling = ::std::option::Option::Some(input);
self
}
pub fn set_bandwidth_throttling(mut self, input: ::std::option::Option<i64>) -> Self {
self.bandwidth_throttling = input;
self
}
pub fn get_bandwidth_throttling(&self) -> &::std::option::Option<i64> {
&self.bandwidth_throttling
}
pub fn data_plane_routing(mut self, input: crate::types::ReplicationConfigurationDataPlaneRouting) -> Self {
self.data_plane_routing = ::std::option::Option::Some(input);
self
}
pub fn set_data_plane_routing(mut self, input: ::std::option::Option<crate::types::ReplicationConfigurationDataPlaneRouting>) -> Self {
self.data_plane_routing = input;
self
}
pub fn get_data_plane_routing(&self) -> &::std::option::Option<crate::types::ReplicationConfigurationDataPlaneRouting> {
&self.data_plane_routing
}
pub fn create_public_ip(mut self, input: bool) -> Self {
self.create_public_ip = ::std::option::Option::Some(input);
self
}
pub fn set_create_public_ip(mut self, input: ::std::option::Option<bool>) -> Self {
self.create_public_ip = input;
self
}
pub fn get_create_public_ip(&self) -> &::std::option::Option<bool> {
&self.create_public_ip
}
pub fn staging_area_tags(
mut self,
k: impl ::std::convert::Into<::std::string::String>,
v: impl ::std::convert::Into<::std::string::String>,
) -> Self {
let mut hash_map = self.staging_area_tags.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.staging_area_tags = ::std::option::Option::Some(hash_map);
self
}
pub fn set_staging_area_tags(
mut self,
input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
) -> Self {
self.staging_area_tags = input;
self
}
pub fn get_staging_area_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
&self.staging_area_tags
}
pub fn use_fips_endpoint(mut self, input: bool) -> Self {
self.use_fips_endpoint = ::std::option::Option::Some(input);
self
}
pub fn set_use_fips_endpoint(mut self, input: ::std::option::Option<bool>) -> Self {
self.use_fips_endpoint = input;
self
}
pub fn get_use_fips_endpoint(&self) -> &::std::option::Option<bool> {
&self.use_fips_endpoint
}
pub fn account_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.account_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_account_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.account_id = input;
self
}
pub fn get_account_id(&self) -> &::std::option::Option<::std::string::String> {
&self.account_id
}
pub fn internet_protocol(mut self, input: crate::types::InternetProtocol) -> Self {
self.internet_protocol = ::std::option::Option::Some(input);
self
}
pub fn set_internet_protocol(mut self, input: ::std::option::Option<crate::types::InternetProtocol>) -> Self {
self.internet_protocol = input;
self
}
pub fn get_internet_protocol(&self) -> &::std::option::Option<crate::types::InternetProtocol> {
&self.internet_protocol
}
pub fn store_snapshot_on_local_zone(mut self, input: bool) -> Self {
self.store_snapshot_on_local_zone = ::std::option::Option::Some(input);
self
}
pub fn set_store_snapshot_on_local_zone(mut self, input: ::std::option::Option<bool>) -> Self {
self.store_snapshot_on_local_zone = input;
self
}
pub fn get_store_snapshot_on_local_zone(&self) -> &::std::option::Option<bool> {
&self.store_snapshot_on_local_zone
}
pub fn build(
self,
) -> ::std::result::Result<
crate::operation::update_replication_configuration::UpdateReplicationConfigurationInput,
::aws_smithy_types::error::operation::BuildError,
> {
::std::result::Result::Ok(crate::operation::update_replication_configuration::UpdateReplicationConfigurationInput {
source_server_id: self.source_server_id,
name: self.name,
staging_area_subnet_id: self.staging_area_subnet_id,
associate_default_security_group: self.associate_default_security_group,
replication_servers_security_groups_ids: self.replication_servers_security_groups_ids,
replication_server_instance_type: self.replication_server_instance_type,
use_dedicated_replication_server: self.use_dedicated_replication_server,
default_large_staging_disk_type: self.default_large_staging_disk_type,
replicated_disks: self.replicated_disks,
ebs_encryption: self.ebs_encryption,
ebs_encryption_key_arn: self.ebs_encryption_key_arn,
bandwidth_throttling: self.bandwidth_throttling,
data_plane_routing: self.data_plane_routing,
create_public_ip: self.create_public_ip,
staging_area_tags: self.staging_area_tags,
use_fips_endpoint: self.use_fips_endpoint,
account_id: self.account_id,
internet_protocol: self.internet_protocol,
store_snapshot_on_local_zone: self.store_snapshot_on_local_zone,
})
}
}
impl ::std::fmt::Debug for UpdateReplicationConfigurationInputBuilder {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("UpdateReplicationConfigurationInputBuilder");
formatter.field("source_server_id", &self.source_server_id);
formatter.field("name", &self.name);
formatter.field("staging_area_subnet_id", &self.staging_area_subnet_id);
formatter.field("associate_default_security_group", &self.associate_default_security_group);
formatter.field("replication_servers_security_groups_ids", &self.replication_servers_security_groups_ids);
formatter.field("replication_server_instance_type", &self.replication_server_instance_type);
formatter.field("use_dedicated_replication_server", &self.use_dedicated_replication_server);
formatter.field("default_large_staging_disk_type", &self.default_large_staging_disk_type);
formatter.field("replicated_disks", &self.replicated_disks);
formatter.field("ebs_encryption", &self.ebs_encryption);
formatter.field("ebs_encryption_key_arn", &self.ebs_encryption_key_arn);
formatter.field("bandwidth_throttling", &self.bandwidth_throttling);
formatter.field("data_plane_routing", &self.data_plane_routing);
formatter.field("create_public_ip", &self.create_public_ip);
formatter.field("staging_area_tags", &"*** Sensitive Data Redacted ***");
formatter.field("use_fips_endpoint", &self.use_fips_endpoint);
formatter.field("account_id", &self.account_id);
formatter.field("internet_protocol", &self.internet_protocol);
formatter.field("store_snapshot_on_local_zone", &self.store_snapshot_on_local_zone);
formatter.finish()
}
}