aws_sdk_keyspaces/operation/update_keyspace/_update_keyspace_input.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct UpdateKeyspaceInput {
/// <p>The name of the keyspace.</p>
pub keyspace_name: ::std::option::Option<::std::string::String>,
/// <p>The replication specification of the keyspace includes:</p>
/// <ul>
/// <li>
/// <p><code>regionList</code> - up to six Amazon Web Services Regions where the keyspace is replicated in.</p></li>
/// <li>
/// <p><code>replicationStrategy</code> - the required value is <code>SINGLE_REGION</code> or <code>MULTI_REGION</code>.</p></li>
/// </ul>
pub replication_specification: ::std::option::Option<crate::types::ReplicationSpecification>,
/// <p>The client-side timestamp setting of the table.</p>
/// <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/client-side-timestamps-how-it-works.html">How it works: Amazon Keyspaces client-side timestamps</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>
pub client_side_timestamps: ::std::option::Option<crate::types::ClientSideTimestamps>,
}
impl UpdateKeyspaceInput {
/// <p>The name of the keyspace.</p>
pub fn keyspace_name(&self) -> ::std::option::Option<&str> {
self.keyspace_name.as_deref()
}
/// <p>The replication specification of the keyspace includes:</p>
/// <ul>
/// <li>
/// <p><code>regionList</code> - up to six Amazon Web Services Regions where the keyspace is replicated in.</p></li>
/// <li>
/// <p><code>replicationStrategy</code> - the required value is <code>SINGLE_REGION</code> or <code>MULTI_REGION</code>.</p></li>
/// </ul>
pub fn replication_specification(&self) -> ::std::option::Option<&crate::types::ReplicationSpecification> {
self.replication_specification.as_ref()
}
/// <p>The client-side timestamp setting of the table.</p>
/// <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/client-side-timestamps-how-it-works.html">How it works: Amazon Keyspaces client-side timestamps</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>
pub fn client_side_timestamps(&self) -> ::std::option::Option<&crate::types::ClientSideTimestamps> {
self.client_side_timestamps.as_ref()
}
}
impl UpdateKeyspaceInput {
/// Creates a new builder-style object to manufacture [`UpdateKeyspaceInput`](crate::operation::update_keyspace::UpdateKeyspaceInput).
pub fn builder() -> crate::operation::update_keyspace::builders::UpdateKeyspaceInputBuilder {
crate::operation::update_keyspace::builders::UpdateKeyspaceInputBuilder::default()
}
}
/// A builder for [`UpdateKeyspaceInput`](crate::operation::update_keyspace::UpdateKeyspaceInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct UpdateKeyspaceInputBuilder {
pub(crate) keyspace_name: ::std::option::Option<::std::string::String>,
pub(crate) replication_specification: ::std::option::Option<crate::types::ReplicationSpecification>,
pub(crate) client_side_timestamps: ::std::option::Option<crate::types::ClientSideTimestamps>,
}
impl UpdateKeyspaceInputBuilder {
/// <p>The name of the keyspace.</p>
/// This field is required.
pub fn keyspace_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.keyspace_name = ::std::option::Option::Some(input.into());
self
}
/// <p>The name of the keyspace.</p>
pub fn set_keyspace_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.keyspace_name = input;
self
}
/// <p>The name of the keyspace.</p>
pub fn get_keyspace_name(&self) -> &::std::option::Option<::std::string::String> {
&self.keyspace_name
}
/// <p>The replication specification of the keyspace includes:</p>
/// <ul>
/// <li>
/// <p><code>regionList</code> - up to six Amazon Web Services Regions where the keyspace is replicated in.</p></li>
/// <li>
/// <p><code>replicationStrategy</code> - the required value is <code>SINGLE_REGION</code> or <code>MULTI_REGION</code>.</p></li>
/// </ul>
/// This field is required.
pub fn replication_specification(mut self, input: crate::types::ReplicationSpecification) -> Self {
self.replication_specification = ::std::option::Option::Some(input);
self
}
/// <p>The replication specification of the keyspace includes:</p>
/// <ul>
/// <li>
/// <p><code>regionList</code> - up to six Amazon Web Services Regions where the keyspace is replicated in.</p></li>
/// <li>
/// <p><code>replicationStrategy</code> - the required value is <code>SINGLE_REGION</code> or <code>MULTI_REGION</code>.</p></li>
/// </ul>
pub fn set_replication_specification(mut self, input: ::std::option::Option<crate::types::ReplicationSpecification>) -> Self {
self.replication_specification = input;
self
}
/// <p>The replication specification of the keyspace includes:</p>
/// <ul>
/// <li>
/// <p><code>regionList</code> - up to six Amazon Web Services Regions where the keyspace is replicated in.</p></li>
/// <li>
/// <p><code>replicationStrategy</code> - the required value is <code>SINGLE_REGION</code> or <code>MULTI_REGION</code>.</p></li>
/// </ul>
pub fn get_replication_specification(&self) -> &::std::option::Option<crate::types::ReplicationSpecification> {
&self.replication_specification
}
/// <p>The client-side timestamp setting of the table.</p>
/// <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/client-side-timestamps-how-it-works.html">How it works: Amazon Keyspaces client-side timestamps</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>
pub fn client_side_timestamps(mut self, input: crate::types::ClientSideTimestamps) -> Self {
self.client_side_timestamps = ::std::option::Option::Some(input);
self
}
/// <p>The client-side timestamp setting of the table.</p>
/// <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/client-side-timestamps-how-it-works.html">How it works: Amazon Keyspaces client-side timestamps</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>
pub fn set_client_side_timestamps(mut self, input: ::std::option::Option<crate::types::ClientSideTimestamps>) -> Self {
self.client_side_timestamps = input;
self
}
/// <p>The client-side timestamp setting of the table.</p>
/// <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/client-side-timestamps-how-it-works.html">How it works: Amazon Keyspaces client-side timestamps</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>
pub fn get_client_side_timestamps(&self) -> &::std::option::Option<crate::types::ClientSideTimestamps> {
&self.client_side_timestamps
}
/// Consumes the builder and constructs a [`UpdateKeyspaceInput`](crate::operation::update_keyspace::UpdateKeyspaceInput).
pub fn build(
self,
) -> ::std::result::Result<crate::operation::update_keyspace::UpdateKeyspaceInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::update_keyspace::UpdateKeyspaceInput {
keyspace_name: self.keyspace_name,
replication_specification: self.replication_specification,
client_side_timestamps: self.client_side_timestamps,
})
}
}