aws_sdk_rds/operation/modify_global_cluster/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::modify_global_cluster::_modify_global_cluster_output::ModifyGlobalClusterOutputBuilder;
3
4pub use crate::operation::modify_global_cluster::_modify_global_cluster_input::ModifyGlobalClusterInputBuilder;
5
6impl crate::operation::modify_global_cluster::builders::ModifyGlobalClusterInputBuilder {
7 /// Sends a request with this input using the given client.
8 pub async fn send_with(
9 self,
10 client: &crate::Client,
11 ) -> ::std::result::Result<
12 crate::operation::modify_global_cluster::ModifyGlobalClusterOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::modify_global_cluster::ModifyGlobalClusterError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.modify_global_cluster();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `ModifyGlobalCluster`.
24///
25/// <p>Modifies a setting for an Amazon Aurora global database cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. For more information on Amazon Aurora, see <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html"> What is Amazon Aurora?</a> in the <i>Amazon Aurora User Guide</i>.</p><note>
26/// <p>This operation only applies to Aurora global database clusters.</p>
27/// </note>
28#[derive(::std::clone::Clone, ::std::fmt::Debug)]
29pub struct ModifyGlobalClusterFluentBuilder {
30 handle: ::std::sync::Arc<crate::client::Handle>,
31 inner: crate::operation::modify_global_cluster::builders::ModifyGlobalClusterInputBuilder,
32 config_override: ::std::option::Option<crate::config::Builder>,
33}
34impl
35 crate::client::customize::internal::CustomizableSend<
36 crate::operation::modify_global_cluster::ModifyGlobalClusterOutput,
37 crate::operation::modify_global_cluster::ModifyGlobalClusterError,
38 > for ModifyGlobalClusterFluentBuilder
39{
40 fn send(
41 self,
42 config_override: crate::config::Builder,
43 ) -> crate::client::customize::internal::BoxFuture<
44 crate::client::customize::internal::SendResult<
45 crate::operation::modify_global_cluster::ModifyGlobalClusterOutput,
46 crate::operation::modify_global_cluster::ModifyGlobalClusterError,
47 >,
48 > {
49 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
50 }
51}
52impl ModifyGlobalClusterFluentBuilder {
53 /// Creates a new `ModifyGlobalClusterFluentBuilder`.
54 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
55 Self {
56 handle,
57 inner: ::std::default::Default::default(),
58 config_override: ::std::option::Option::None,
59 }
60 }
61 /// Access the ModifyGlobalCluster as a reference.
62 pub fn as_input(&self) -> &crate::operation::modify_global_cluster::builders::ModifyGlobalClusterInputBuilder {
63 &self.inner
64 }
65 /// Sends the request and returns the response.
66 ///
67 /// If an error occurs, an `SdkError` will be returned with additional details that
68 /// can be matched against.
69 ///
70 /// By default, any retryable failures will be retried twice. Retry behavior
71 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
72 /// set when configuring the client.
73 pub async fn send(
74 self,
75 ) -> ::std::result::Result<
76 crate::operation::modify_global_cluster::ModifyGlobalClusterOutput,
77 ::aws_smithy_runtime_api::client::result::SdkError<
78 crate::operation::modify_global_cluster::ModifyGlobalClusterError,
79 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
80 >,
81 > {
82 let input = self
83 .inner
84 .build()
85 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
86 let runtime_plugins = crate::operation::modify_global_cluster::ModifyGlobalCluster::operation_runtime_plugins(
87 self.handle.runtime_plugins.clone(),
88 &self.handle.conf,
89 self.config_override,
90 );
91 crate::operation::modify_global_cluster::ModifyGlobalCluster::orchestrate(&runtime_plugins, input).await
92 }
93
94 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
95 pub fn customize(
96 self,
97 ) -> crate::client::customize::CustomizableOperation<
98 crate::operation::modify_global_cluster::ModifyGlobalClusterOutput,
99 crate::operation::modify_global_cluster::ModifyGlobalClusterError,
100 Self,
101 > {
102 crate::client::customize::CustomizableOperation::new(self)
103 }
104 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
105 self.set_config_override(::std::option::Option::Some(config_override.into()));
106 self
107 }
108
109 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
110 self.config_override = config_override;
111 self
112 }
113 /// <p>The cluster identifier for the global cluster to modify. This parameter isn't case-sensitive.</p>
114 /// <p>Constraints:</p>
115 /// <ul>
116 /// <li>
117 /// <p>Must match the identifier of an existing global database cluster.</p></li>
118 /// </ul>
119 pub fn global_cluster_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
120 self.inner = self.inner.global_cluster_identifier(input.into());
121 self
122 }
123 /// <p>The cluster identifier for the global cluster to modify. This parameter isn't case-sensitive.</p>
124 /// <p>Constraints:</p>
125 /// <ul>
126 /// <li>
127 /// <p>Must match the identifier of an existing global database cluster.</p></li>
128 /// </ul>
129 pub fn set_global_cluster_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
130 self.inner = self.inner.set_global_cluster_identifier(input);
131 self
132 }
133 /// <p>The cluster identifier for the global cluster to modify. This parameter isn't case-sensitive.</p>
134 /// <p>Constraints:</p>
135 /// <ul>
136 /// <li>
137 /// <p>Must match the identifier of an existing global database cluster.</p></li>
138 /// </ul>
139 pub fn get_global_cluster_identifier(&self) -> &::std::option::Option<::std::string::String> {
140 self.inner.get_global_cluster_identifier()
141 }
142 /// <p>The new cluster identifier for the global database cluster. This value is stored as a lowercase string.</p>
143 /// <p>Constraints:</p>
144 /// <ul>
145 /// <li>
146 /// <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p></li>
147 /// <li>
148 /// <p>The first character must be a letter.</p></li>
149 /// <li>
150 /// <p>Can't end with a hyphen or contain two consecutive hyphens.</p></li>
151 /// </ul>
152 /// <p>Example: <code>my-cluster2</code></p>
153 pub fn new_global_cluster_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
154 self.inner = self.inner.new_global_cluster_identifier(input.into());
155 self
156 }
157 /// <p>The new cluster identifier for the global database cluster. This value is stored as a lowercase string.</p>
158 /// <p>Constraints:</p>
159 /// <ul>
160 /// <li>
161 /// <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p></li>
162 /// <li>
163 /// <p>The first character must be a letter.</p></li>
164 /// <li>
165 /// <p>Can't end with a hyphen or contain two consecutive hyphens.</p></li>
166 /// </ul>
167 /// <p>Example: <code>my-cluster2</code></p>
168 pub fn set_new_global_cluster_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
169 self.inner = self.inner.set_new_global_cluster_identifier(input);
170 self
171 }
172 /// <p>The new cluster identifier for the global database cluster. This value is stored as a lowercase string.</p>
173 /// <p>Constraints:</p>
174 /// <ul>
175 /// <li>
176 /// <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p></li>
177 /// <li>
178 /// <p>The first character must be a letter.</p></li>
179 /// <li>
180 /// <p>Can't end with a hyphen or contain two consecutive hyphens.</p></li>
181 /// </ul>
182 /// <p>Example: <code>my-cluster2</code></p>
183 pub fn get_new_global_cluster_identifier(&self) -> &::std::option::Option<::std::string::String> {
184 self.inner.get_new_global_cluster_identifier()
185 }
186 /// <p>Specifies whether to enable deletion protection for the global database cluster. The global database cluster can't be deleted when deletion protection is enabled.</p>
187 pub fn deletion_protection(mut self, input: bool) -> Self {
188 self.inner = self.inner.deletion_protection(input);
189 self
190 }
191 /// <p>Specifies whether to enable deletion protection for the global database cluster. The global database cluster can't be deleted when deletion protection is enabled.</p>
192 pub fn set_deletion_protection(mut self, input: ::std::option::Option<bool>) -> Self {
193 self.inner = self.inner.set_deletion_protection(input);
194 self
195 }
196 /// <p>Specifies whether to enable deletion protection for the global database cluster. The global database cluster can't be deleted when deletion protection is enabled.</p>
197 pub fn get_deletion_protection(&self) -> &::std::option::Option<bool> {
198 self.inner.get_deletion_protection()
199 }
200 /// <p>The version number of the database engine to which you want to upgrade.</p>
201 /// <p>To list all of the available engine versions for <code>aurora-mysql</code> (for MySQL-based Aurora global databases), use the following command:</p>
202 /// <p><code>aws rds describe-db-engine-versions --engine aurora-mysql --query '*\[\]|\[?SupportsGlobalDatabases == `true`\].\[EngineVersion\]'</code></p>
203 /// <p>To list all of the available engine versions for <code>aurora-postgresql</code> (for PostgreSQL-based Aurora global databases), use the following command:</p>
204 /// <p><code>aws rds describe-db-engine-versions --engine aurora-postgresql --query '*\[\]|\[?SupportsGlobalDatabases == `true`\].\[EngineVersion\]'</code></p>
205 pub fn engine_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
206 self.inner = self.inner.engine_version(input.into());
207 self
208 }
209 /// <p>The version number of the database engine to which you want to upgrade.</p>
210 /// <p>To list all of the available engine versions for <code>aurora-mysql</code> (for MySQL-based Aurora global databases), use the following command:</p>
211 /// <p><code>aws rds describe-db-engine-versions --engine aurora-mysql --query '*\[\]|\[?SupportsGlobalDatabases == `true`\].\[EngineVersion\]'</code></p>
212 /// <p>To list all of the available engine versions for <code>aurora-postgresql</code> (for PostgreSQL-based Aurora global databases), use the following command:</p>
213 /// <p><code>aws rds describe-db-engine-versions --engine aurora-postgresql --query '*\[\]|\[?SupportsGlobalDatabases == `true`\].\[EngineVersion\]'</code></p>
214 pub fn set_engine_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
215 self.inner = self.inner.set_engine_version(input);
216 self
217 }
218 /// <p>The version number of the database engine to which you want to upgrade.</p>
219 /// <p>To list all of the available engine versions for <code>aurora-mysql</code> (for MySQL-based Aurora global databases), use the following command:</p>
220 /// <p><code>aws rds describe-db-engine-versions --engine aurora-mysql --query '*\[\]|\[?SupportsGlobalDatabases == `true`\].\[EngineVersion\]'</code></p>
221 /// <p>To list all of the available engine versions for <code>aurora-postgresql</code> (for PostgreSQL-based Aurora global databases), use the following command:</p>
222 /// <p><code>aws rds describe-db-engine-versions --engine aurora-postgresql --query '*\[\]|\[?SupportsGlobalDatabases == `true`\].\[EngineVersion\]'</code></p>
223 pub fn get_engine_version(&self) -> &::std::option::Option<::std::string::String> {
224 self.inner.get_engine_version()
225 }
226 /// <p>Specifies whether to allow major version upgrades.</p>
227 /// <p>Constraints: Must be enabled if you specify a value for the <code>EngineVersion</code> parameter that's a different major version than the global cluster's current version.</p>
228 /// <p>If you upgrade the major version of a global database, the cluster and DB instance parameter groups are set to the default parameter groups for the new version. Apply any custom parameter groups after completing the upgrade.</p>
229 pub fn allow_major_version_upgrade(mut self, input: bool) -> Self {
230 self.inner = self.inner.allow_major_version_upgrade(input);
231 self
232 }
233 /// <p>Specifies whether to allow major version upgrades.</p>
234 /// <p>Constraints: Must be enabled if you specify a value for the <code>EngineVersion</code> parameter that's a different major version than the global cluster's current version.</p>
235 /// <p>If you upgrade the major version of a global database, the cluster and DB instance parameter groups are set to the default parameter groups for the new version. Apply any custom parameter groups after completing the upgrade.</p>
236 pub fn set_allow_major_version_upgrade(mut self, input: ::std::option::Option<bool>) -> Self {
237 self.inner = self.inner.set_allow_major_version_upgrade(input);
238 self
239 }
240 /// <p>Specifies whether to allow major version upgrades.</p>
241 /// <p>Constraints: Must be enabled if you specify a value for the <code>EngineVersion</code> parameter that's a different major version than the global cluster's current version.</p>
242 /// <p>If you upgrade the major version of a global database, the cluster and DB instance parameter groups are set to the default parameter groups for the new version. Apply any custom parameter groups after completing the upgrade.</p>
243 pub fn get_allow_major_version_upgrade(&self) -> &::std::option::Option<bool> {
244 self.inner.get_allow_major_version_upgrade()
245 }
246}