#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct UpdateReplicationGroupMemberAction {
pub region_name: ::std::string::String,
pub kms_master_key_id: ::std::option::Option<::std::string::String>,
pub provisioned_throughput_override: ::std::option::Option<crate::types::ProvisionedThroughputOverride>,
pub on_demand_throughput_override: ::std::option::Option<crate::types::OnDemandThroughputOverride>,
pub global_secondary_indexes: ::std::option::Option<::std::vec::Vec<crate::types::ReplicaGlobalSecondaryIndex>>,
pub table_class_override: ::std::option::Option<crate::types::TableClass>,
}
impl UpdateReplicationGroupMemberAction {
pub fn region_name(&self) -> &str {
use std::ops::Deref;
self.region_name.deref()
}
pub fn kms_master_key_id(&self) -> ::std::option::Option<&str> {
self.kms_master_key_id.as_deref()
}
pub fn provisioned_throughput_override(&self) -> ::std::option::Option<&crate::types::ProvisionedThroughputOverride> {
self.provisioned_throughput_override.as_ref()
}
pub fn on_demand_throughput_override(&self) -> ::std::option::Option<&crate::types::OnDemandThroughputOverride> {
self.on_demand_throughput_override.as_ref()
}
pub fn global_secondary_indexes(&self) -> &[crate::types::ReplicaGlobalSecondaryIndex] {
self.global_secondary_indexes.as_deref().unwrap_or_default()
}
pub fn table_class_override(&self) -> ::std::option::Option<&crate::types::TableClass> {
self.table_class_override.as_ref()
}
}
impl UpdateReplicationGroupMemberAction {
pub fn builder() -> crate::types::builders::UpdateReplicationGroupMemberActionBuilder {
crate::types::builders::UpdateReplicationGroupMemberActionBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct UpdateReplicationGroupMemberActionBuilder {
pub(crate) region_name: ::std::option::Option<::std::string::String>,
pub(crate) kms_master_key_id: ::std::option::Option<::std::string::String>,
pub(crate) provisioned_throughput_override: ::std::option::Option<crate::types::ProvisionedThroughputOverride>,
pub(crate) on_demand_throughput_override: ::std::option::Option<crate::types::OnDemandThroughputOverride>,
pub(crate) global_secondary_indexes: ::std::option::Option<::std::vec::Vec<crate::types::ReplicaGlobalSecondaryIndex>>,
pub(crate) table_class_override: ::std::option::Option<crate::types::TableClass>,
}
impl UpdateReplicationGroupMemberActionBuilder {
pub fn region_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.region_name = ::std::option::Option::Some(input.into());
self
}
pub fn set_region_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.region_name = input;
self
}
pub fn get_region_name(&self) -> &::std::option::Option<::std::string::String> {
&self.region_name
}
pub fn kms_master_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.kms_master_key_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_kms_master_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.kms_master_key_id = input;
self
}
pub fn get_kms_master_key_id(&self) -> &::std::option::Option<::std::string::String> {
&self.kms_master_key_id
}
pub fn provisioned_throughput_override(mut self, input: crate::types::ProvisionedThroughputOverride) -> Self {
self.provisioned_throughput_override = ::std::option::Option::Some(input);
self
}
pub fn set_provisioned_throughput_override(mut self, input: ::std::option::Option<crate::types::ProvisionedThroughputOverride>) -> Self {
self.provisioned_throughput_override = input;
self
}
pub fn get_provisioned_throughput_override(&self) -> &::std::option::Option<crate::types::ProvisionedThroughputOverride> {
&self.provisioned_throughput_override
}
pub fn on_demand_throughput_override(mut self, input: crate::types::OnDemandThroughputOverride) -> Self {
self.on_demand_throughput_override = ::std::option::Option::Some(input);
self
}
pub fn set_on_demand_throughput_override(mut self, input: ::std::option::Option<crate::types::OnDemandThroughputOverride>) -> Self {
self.on_demand_throughput_override = input;
self
}
pub fn get_on_demand_throughput_override(&self) -> &::std::option::Option<crate::types::OnDemandThroughputOverride> {
&self.on_demand_throughput_override
}
pub fn global_secondary_indexes(mut self, input: crate::types::ReplicaGlobalSecondaryIndex) -> Self {
let mut v = self.global_secondary_indexes.unwrap_or_default();
v.push(input);
self.global_secondary_indexes = ::std::option::Option::Some(v);
self
}
pub fn set_global_secondary_indexes(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ReplicaGlobalSecondaryIndex>>) -> Self {
self.global_secondary_indexes = input;
self
}
pub fn get_global_secondary_indexes(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ReplicaGlobalSecondaryIndex>> {
&self.global_secondary_indexes
}
pub fn table_class_override(mut self, input: crate::types::TableClass) -> Self {
self.table_class_override = ::std::option::Option::Some(input);
self
}
pub fn set_table_class_override(mut self, input: ::std::option::Option<crate::types::TableClass>) -> Self {
self.table_class_override = input;
self
}
pub fn get_table_class_override(&self) -> &::std::option::Option<crate::types::TableClass> {
&self.table_class_override
}
pub fn build(self) -> ::std::result::Result<crate::types::UpdateReplicationGroupMemberAction, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::types::UpdateReplicationGroupMemberAction {
region_name: self.region_name.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"region_name",
"region_name was not specified but it is required when building UpdateReplicationGroupMemberAction",
)
})?,
kms_master_key_id: self.kms_master_key_id,
provisioned_throughput_override: self.provisioned_throughput_override,
on_demand_throughput_override: self.on_demand_throughput_override,
global_secondary_indexes: self.global_secondary_indexes,
table_class_override: self.table_class_override,
})
}
}