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
139
140
141
142
143
144
145
// 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 UpdateClusterInput {
/// <p>The ID of the cluster you want to update.</p>
pub identifier: ::std::option::Option<::std::string::String>,
/// <p>Specifies whether to enable deletion protection in your cluster.</p>
pub deletion_protection_enabled: ::std::option::Option<bool>,
/// <p>The KMS key that encrypts and protects the data on your cluster. You can specify the ARN, ID, or alias of an existing key or have Amazon Web Services create a default key for you.</p>
pub kms_encryption_key: ::std::option::Option<::std::string::String>,
/// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully. The subsequent retries with the same client token return the result from the original successful request and they have no additional effect.</p>
/// <p>If you don't specify a client token, the Amazon Web Services SDK automatically generates one.</p>
pub client_token: ::std::option::Option<::std::string::String>,
/// <p>The new multi-Region cluster configuration settings to be applied during an update operation.</p>
pub multi_region_properties: ::std::option::Option<crate::types::MultiRegionProperties>,
}
impl UpdateClusterInput {
/// <p>The ID of the cluster you want to update.</p>
pub fn identifier(&self) -> ::std::option::Option<&str> {
self.identifier.as_deref()
}
/// <p>Specifies whether to enable deletion protection in your cluster.</p>
pub fn deletion_protection_enabled(&self) -> ::std::option::Option<bool> {
self.deletion_protection_enabled
}
/// <p>The KMS key that encrypts and protects the data on your cluster. You can specify the ARN, ID, or alias of an existing key or have Amazon Web Services create a default key for you.</p>
pub fn kms_encryption_key(&self) -> ::std::option::Option<&str> {
self.kms_encryption_key.as_deref()
}
/// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully. The subsequent retries with the same client token return the result from the original successful request and they have no additional effect.</p>
/// <p>If you don't specify a client token, the Amazon Web Services SDK automatically generates one.</p>
pub fn client_token(&self) -> ::std::option::Option<&str> {
self.client_token.as_deref()
}
/// <p>The new multi-Region cluster configuration settings to be applied during an update operation.</p>
pub fn multi_region_properties(&self) -> ::std::option::Option<&crate::types::MultiRegionProperties> {
self.multi_region_properties.as_ref()
}
}
impl UpdateClusterInput {
/// Creates a new builder-style object to manufacture [`UpdateClusterInput`](crate::operation::update_cluster::UpdateClusterInput).
pub fn builder() -> crate::operation::update_cluster::builders::UpdateClusterInputBuilder {
crate::operation::update_cluster::builders::UpdateClusterInputBuilder::default()
}
}
/// A builder for [`UpdateClusterInput`](crate::operation::update_cluster::UpdateClusterInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct UpdateClusterInputBuilder {
pub(crate) identifier: ::std::option::Option<::std::string::String>,
pub(crate) deletion_protection_enabled: ::std::option::Option<bool>,
pub(crate) kms_encryption_key: ::std::option::Option<::std::string::String>,
pub(crate) client_token: ::std::option::Option<::std::string::String>,
pub(crate) multi_region_properties: ::std::option::Option<crate::types::MultiRegionProperties>,
}
impl UpdateClusterInputBuilder {
/// <p>The ID of the cluster you want to update.</p>
/// This field is required.
pub fn identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.identifier = ::std::option::Option::Some(input.into());
self
}
/// <p>The ID of the cluster you want to update.</p>
pub fn set_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.identifier = input;
self
}
/// <p>The ID of the cluster you want to update.</p>
pub fn get_identifier(&self) -> &::std::option::Option<::std::string::String> {
&self.identifier
}
/// <p>Specifies whether to enable deletion protection in your cluster.</p>
pub fn deletion_protection_enabled(mut self, input: bool) -> Self {
self.deletion_protection_enabled = ::std::option::Option::Some(input);
self
}
/// <p>Specifies whether to enable deletion protection in your cluster.</p>
pub fn set_deletion_protection_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
self.deletion_protection_enabled = input;
self
}
/// <p>Specifies whether to enable deletion protection in your cluster.</p>
pub fn get_deletion_protection_enabled(&self) -> &::std::option::Option<bool> {
&self.deletion_protection_enabled
}
/// <p>The KMS key that encrypts and protects the data on your cluster. You can specify the ARN, ID, or alias of an existing key or have Amazon Web Services create a default key for you.</p>
pub fn kms_encryption_key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.kms_encryption_key = ::std::option::Option::Some(input.into());
self
}
/// <p>The KMS key that encrypts and protects the data on your cluster. You can specify the ARN, ID, or alias of an existing key or have Amazon Web Services create a default key for you.</p>
pub fn set_kms_encryption_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.kms_encryption_key = input;
self
}
/// <p>The KMS key that encrypts and protects the data on your cluster. You can specify the ARN, ID, or alias of an existing key or have Amazon Web Services create a default key for you.</p>
pub fn get_kms_encryption_key(&self) -> &::std::option::Option<::std::string::String> {
&self.kms_encryption_key
}
/// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully. The subsequent retries with the same client token return the result from the original successful request and they have no additional effect.</p>
/// <p>If you don't specify a client token, the Amazon Web Services SDK automatically generates one.</p>
pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.client_token = ::std::option::Option::Some(input.into());
self
}
/// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully. The subsequent retries with the same client token return the result from the original successful request and they have no additional effect.</p>
/// <p>If you don't specify a client token, the Amazon Web Services SDK automatically generates one.</p>
pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.client_token = input;
self
}
/// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully. The subsequent retries with the same client token return the result from the original successful request and they have no additional effect.</p>
/// <p>If you don't specify a client token, the Amazon Web Services SDK automatically generates one.</p>
pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
&self.client_token
}
/// <p>The new multi-Region cluster configuration settings to be applied during an update operation.</p>
pub fn multi_region_properties(mut self, input: crate::types::MultiRegionProperties) -> Self {
self.multi_region_properties = ::std::option::Option::Some(input);
self
}
/// <p>The new multi-Region cluster configuration settings to be applied during an update operation.</p>
pub fn set_multi_region_properties(mut self, input: ::std::option::Option<crate::types::MultiRegionProperties>) -> Self {
self.multi_region_properties = input;
self
}
/// <p>The new multi-Region cluster configuration settings to be applied during an update operation.</p>
pub fn get_multi_region_properties(&self) -> &::std::option::Option<crate::types::MultiRegionProperties> {
&self.multi_region_properties
}
/// Consumes the builder and constructs a [`UpdateClusterInput`](crate::operation::update_cluster::UpdateClusterInput).
pub fn build(
self,
) -> ::std::result::Result<crate::operation::update_cluster::UpdateClusterInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::update_cluster::UpdateClusterInput {
identifier: self.identifier,
deletion_protection_enabled: self.deletion_protection_enabled,
kms_encryption_key: self.kms_encryption_key,
client_token: self.client_token,
multi_region_properties: self.multi_region_properties,
})
}
}