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
133
134
135
136
137
138
// 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 GetKeyspaceOutput {
    /// <p>The name of the keyspace.</p>
    pub keyspace_name: ::std::option::Option<::std::string::String>,
    /// <p>Returns the ARN of the keyspace.</p>
    pub resource_arn: ::std::option::Option<::std::string::String>,
    /// <p> Returns the replication strategy of the keyspace. The options are <code>SINGLE_REGION</code> or <code>MULTI_REGION</code>. </p>
    pub replication_strategy: ::std::option::Option<crate::types::Rs>,
    /// <p> If the <code>replicationStrategy</code> of the keyspace is <code>MULTI_REGION</code>, a list of replication Regions is returned. </p>
    pub replication_regions: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
    _request_id: Option<String>,
}
impl GetKeyspaceOutput {
    /// <p>The name of the keyspace.</p>
    pub fn keyspace_name(&self) -> ::std::option::Option<&str> {
        self.keyspace_name.as_deref()
    }
    /// <p>Returns the ARN of the keyspace.</p>
    pub fn resource_arn(&self) -> ::std::option::Option<&str> {
        self.resource_arn.as_deref()
    }
    /// <p> Returns the replication strategy of the keyspace. The options are <code>SINGLE_REGION</code> or <code>MULTI_REGION</code>. </p>
    pub fn replication_strategy(&self) -> ::std::option::Option<&crate::types::Rs> {
        self.replication_strategy.as_ref()
    }
    /// <p> If the <code>replicationStrategy</code> of the keyspace is <code>MULTI_REGION</code>, a list of replication Regions is returned. </p>
    pub fn replication_regions(&self) -> ::std::option::Option<&[::std::string::String]> {
        self.replication_regions.as_deref()
    }
}
impl ::aws_http::request_id::RequestId for GetKeyspaceOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl GetKeyspaceOutput {
    /// Creates a new builder-style object to manufacture [`GetKeyspaceOutput`](crate::operation::get_keyspace::GetKeyspaceOutput).
    pub fn builder() -> crate::operation::get_keyspace::builders::GetKeyspaceOutputBuilder {
        crate::operation::get_keyspace::builders::GetKeyspaceOutputBuilder::default()
    }
}

/// A builder for [`GetKeyspaceOutput`](crate::operation::get_keyspace::GetKeyspaceOutput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct GetKeyspaceOutputBuilder {
    pub(crate) keyspace_name: ::std::option::Option<::std::string::String>,
    pub(crate) resource_arn: ::std::option::Option<::std::string::String>,
    pub(crate) replication_strategy: ::std::option::Option<crate::types::Rs>,
    pub(crate) replication_regions: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
    _request_id: Option<String>,
}
impl GetKeyspaceOutputBuilder {
    /// <p>The name of the keyspace.</p>
    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>Returns the ARN of the keyspace.</p>
    pub fn resource_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.resource_arn = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>Returns the ARN of the keyspace.</p>
    pub fn set_resource_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.resource_arn = input;
        self
    }
    /// <p>Returns the ARN of the keyspace.</p>
    pub fn get_resource_arn(&self) -> &::std::option::Option<::std::string::String> {
        &self.resource_arn
    }
    /// <p> Returns the replication strategy of the keyspace. The options are <code>SINGLE_REGION</code> or <code>MULTI_REGION</code>. </p>
    pub fn replication_strategy(mut self, input: crate::types::Rs) -> Self {
        self.replication_strategy = ::std::option::Option::Some(input);
        self
    }
    /// <p> Returns the replication strategy of the keyspace. The options are <code>SINGLE_REGION</code> or <code>MULTI_REGION</code>. </p>
    pub fn set_replication_strategy(mut self, input: ::std::option::Option<crate::types::Rs>) -> Self {
        self.replication_strategy = input;
        self
    }
    /// <p> Returns the replication strategy of the keyspace. The options are <code>SINGLE_REGION</code> or <code>MULTI_REGION</code>. </p>
    pub fn get_replication_strategy(&self) -> &::std::option::Option<crate::types::Rs> {
        &self.replication_strategy
    }
    /// Appends an item to `replication_regions`.
    ///
    /// To override the contents of this collection use [`set_replication_regions`](Self::set_replication_regions).
    ///
    /// <p> If the <code>replicationStrategy</code> of the keyspace is <code>MULTI_REGION</code>, a list of replication Regions is returned. </p>
    pub fn replication_regions(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        let mut v = self.replication_regions.unwrap_or_default();
        v.push(input.into());
        self.replication_regions = ::std::option::Option::Some(v);
        self
    }
    /// <p> If the <code>replicationStrategy</code> of the keyspace is <code>MULTI_REGION</code>, a list of replication Regions is returned. </p>
    pub fn set_replication_regions(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
        self.replication_regions = input;
        self
    }
    /// <p> If the <code>replicationStrategy</code> of the keyspace is <code>MULTI_REGION</code>, a list of replication Regions is returned. </p>
    pub fn get_replication_regions(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
        &self.replication_regions
    }
    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
        self._request_id = Some(request_id.into());
        self
    }

    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
        self._request_id = request_id;
        self
    }
    /// Consumes the builder and constructs a [`GetKeyspaceOutput`](crate::operation::get_keyspace::GetKeyspaceOutput).
    pub fn build(self) -> crate::operation::get_keyspace::GetKeyspaceOutput {
        crate::operation::get_keyspace::GetKeyspaceOutput {
            keyspace_name: self.keyspace_name,
            resource_arn: self.resource_arn,
            replication_strategy: self.replication_strategy,
            replication_regions: self.replication_regions,
            _request_id: self._request_id,
        }
    }
}