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,
        })
    }
}