aws_sdk_memorydb/operation/create_cluster/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_cluster::_create_cluster_output::CreateClusterOutputBuilder;
3
4pub use crate::operation::create_cluster::_create_cluster_input::CreateClusterInputBuilder;
5
6impl crate::operation::create_cluster::builders::CreateClusterInputBuilder {
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::create_cluster::CreateClusterOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::create_cluster::CreateClusterError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.create_cluster();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `CreateCluster`.
24///
25/// <p>Creates a cluster. All nodes in the cluster run the same protocol-compliant engine software.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateClusterFluentBuilder {
28 handle: ::std::sync::Arc<crate::client::Handle>,
29 inner: crate::operation::create_cluster::builders::CreateClusterInputBuilder,
30 config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33 crate::client::customize::internal::CustomizableSend<
34 crate::operation::create_cluster::CreateClusterOutput,
35 crate::operation::create_cluster::CreateClusterError,
36 > for CreateClusterFluentBuilder
37{
38 fn send(
39 self,
40 config_override: crate::config::Builder,
41 ) -> crate::client::customize::internal::BoxFuture<
42 crate::client::customize::internal::SendResult<
43 crate::operation::create_cluster::CreateClusterOutput,
44 crate::operation::create_cluster::CreateClusterError,
45 >,
46 > {
47 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48 }
49}
50impl CreateClusterFluentBuilder {
51 /// Creates a new `CreateClusterFluentBuilder`.
52 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
53 Self {
54 handle,
55 inner: ::std::default::Default::default(),
56 config_override: ::std::option::Option::None,
57 }
58 }
59 /// Access the CreateCluster as a reference.
60 pub fn as_input(&self) -> &crate::operation::create_cluster::builders::CreateClusterInputBuilder {
61 &self.inner
62 }
63 /// Sends the request and returns the response.
64 ///
65 /// If an error occurs, an `SdkError` will be returned with additional details that
66 /// can be matched against.
67 ///
68 /// By default, any retryable failures will be retried twice. Retry behavior
69 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
70 /// set when configuring the client.
71 pub async fn send(
72 self,
73 ) -> ::std::result::Result<
74 crate::operation::create_cluster::CreateClusterOutput,
75 ::aws_smithy_runtime_api::client::result::SdkError<
76 crate::operation::create_cluster::CreateClusterError,
77 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
78 >,
79 > {
80 let input = self
81 .inner
82 .build()
83 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
84 let runtime_plugins = crate::operation::create_cluster::CreateCluster::operation_runtime_plugins(
85 self.handle.runtime_plugins.clone(),
86 &self.handle.conf,
87 self.config_override,
88 );
89 crate::operation::create_cluster::CreateCluster::orchestrate(&runtime_plugins, input).await
90 }
91
92 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
93 pub fn customize(
94 self,
95 ) -> crate::client::customize::CustomizableOperation<
96 crate::operation::create_cluster::CreateClusterOutput,
97 crate::operation::create_cluster::CreateClusterError,
98 Self,
99 > {
100 crate::client::customize::CustomizableOperation::new(self)
101 }
102 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
103 self.set_config_override(::std::option::Option::Some(config_override.into()));
104 self
105 }
106
107 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
108 self.config_override = config_override;
109 self
110 }
111 /// <p>The name of the cluster. This value must be unique as it also serves as the cluster identifier.</p>
112 pub fn cluster_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113 self.inner = self.inner.cluster_name(input.into());
114 self
115 }
116 /// <p>The name of the cluster. This value must be unique as it also serves as the cluster identifier.</p>
117 pub fn set_cluster_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118 self.inner = self.inner.set_cluster_name(input);
119 self
120 }
121 /// <p>The name of the cluster. This value must be unique as it also serves as the cluster identifier.</p>
122 pub fn get_cluster_name(&self) -> &::std::option::Option<::std::string::String> {
123 self.inner.get_cluster_name()
124 }
125 /// <p>The compute and memory capacity of the nodes in the cluster.</p>
126 pub fn node_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127 self.inner = self.inner.node_type(input.into());
128 self
129 }
130 /// <p>The compute and memory capacity of the nodes in the cluster.</p>
131 pub fn set_node_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132 self.inner = self.inner.set_node_type(input);
133 self
134 }
135 /// <p>The compute and memory capacity of the nodes in the cluster.</p>
136 pub fn get_node_type(&self) -> &::std::option::Option<::std::string::String> {
137 self.inner.get_node_type()
138 }
139 /// <p>The name of the multi-Region cluster to be created.</p>
140 pub fn multi_region_cluster_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141 self.inner = self.inner.multi_region_cluster_name(input.into());
142 self
143 }
144 /// <p>The name of the multi-Region cluster to be created.</p>
145 pub fn set_multi_region_cluster_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146 self.inner = self.inner.set_multi_region_cluster_name(input);
147 self
148 }
149 /// <p>The name of the multi-Region cluster to be created.</p>
150 pub fn get_multi_region_cluster_name(&self) -> &::std::option::Option<::std::string::String> {
151 self.inner.get_multi_region_cluster_name()
152 }
153 /// <p>The name of the parameter group associated with the cluster.</p>
154 pub fn parameter_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
155 self.inner = self.inner.parameter_group_name(input.into());
156 self
157 }
158 /// <p>The name of the parameter group associated with the cluster.</p>
159 pub fn set_parameter_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
160 self.inner = self.inner.set_parameter_group_name(input);
161 self
162 }
163 /// <p>The name of the parameter group associated with the cluster.</p>
164 pub fn get_parameter_group_name(&self) -> &::std::option::Option<::std::string::String> {
165 self.inner.get_parameter_group_name()
166 }
167 /// <p>An optional description of the cluster.</p>
168 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
169 self.inner = self.inner.description(input.into());
170 self
171 }
172 /// <p>An optional description of the cluster.</p>
173 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
174 self.inner = self.inner.set_description(input);
175 self
176 }
177 /// <p>An optional description of the cluster.</p>
178 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
179 self.inner.get_description()
180 }
181 /// <p>The number of shards the cluster will contain. The default value is 1.</p>
182 pub fn num_shards(mut self, input: i32) -> Self {
183 self.inner = self.inner.num_shards(input);
184 self
185 }
186 /// <p>The number of shards the cluster will contain. The default value is 1.</p>
187 pub fn set_num_shards(mut self, input: ::std::option::Option<i32>) -> Self {
188 self.inner = self.inner.set_num_shards(input);
189 self
190 }
191 /// <p>The number of shards the cluster will contain. The default value is 1.</p>
192 pub fn get_num_shards(&self) -> &::std::option::Option<i32> {
193 self.inner.get_num_shards()
194 }
195 /// <p>The number of replicas to apply to each shard. The default value is 1. The maximum is 5.</p>
196 pub fn num_replicas_per_shard(mut self, input: i32) -> Self {
197 self.inner = self.inner.num_replicas_per_shard(input);
198 self
199 }
200 /// <p>The number of replicas to apply to each shard. The default value is 1. The maximum is 5.</p>
201 pub fn set_num_replicas_per_shard(mut self, input: ::std::option::Option<i32>) -> Self {
202 self.inner = self.inner.set_num_replicas_per_shard(input);
203 self
204 }
205 /// <p>The number of replicas to apply to each shard. The default value is 1. The maximum is 5.</p>
206 pub fn get_num_replicas_per_shard(&self) -> &::std::option::Option<i32> {
207 self.inner.get_num_replicas_per_shard()
208 }
209 /// <p>The name of the subnet group to be used for the cluster.</p>
210 pub fn subnet_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
211 self.inner = self.inner.subnet_group_name(input.into());
212 self
213 }
214 /// <p>The name of the subnet group to be used for the cluster.</p>
215 pub fn set_subnet_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
216 self.inner = self.inner.set_subnet_group_name(input);
217 self
218 }
219 /// <p>The name of the subnet group to be used for the cluster.</p>
220 pub fn get_subnet_group_name(&self) -> &::std::option::Option<::std::string::String> {
221 self.inner.get_subnet_group_name()
222 }
223 ///
224 /// Appends an item to `SecurityGroupIds`.
225 ///
226 /// To override the contents of this collection use [`set_security_group_ids`](Self::set_security_group_ids).
227 ///
228 /// <p>A list of security group names to associate with this cluster.</p>
229 pub fn security_group_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
230 self.inner = self.inner.security_group_ids(input.into());
231 self
232 }
233 /// <p>A list of security group names to associate with this cluster.</p>
234 pub fn set_security_group_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
235 self.inner = self.inner.set_security_group_ids(input);
236 self
237 }
238 /// <p>A list of security group names to associate with this cluster.</p>
239 pub fn get_security_group_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
240 self.inner.get_security_group_ids()
241 }
242 /// <p>Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.</p>
243 /// <p>Valid values for <code>ddd</code> are:</p>
244 /// <ul>
245 /// <li>
246 /// <p><code>sun</code></p></li>
247 /// <li>
248 /// <p><code>mon</code></p></li>
249 /// <li>
250 /// <p><code>tue</code></p></li>
251 /// <li>
252 /// <p><code>wed</code></p></li>
253 /// <li>
254 /// <p><code>thu</code></p></li>
255 /// <li>
256 /// <p><code>fri</code></p></li>
257 /// <li>
258 /// <p><code>sat</code></p></li>
259 /// </ul>
260 /// <p>Example: <code>sun:23:00-mon:01:30</code></p>
261 pub fn maintenance_window(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
262 self.inner = self.inner.maintenance_window(input.into());
263 self
264 }
265 /// <p>Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.</p>
266 /// <p>Valid values for <code>ddd</code> are:</p>
267 /// <ul>
268 /// <li>
269 /// <p><code>sun</code></p></li>
270 /// <li>
271 /// <p><code>mon</code></p></li>
272 /// <li>
273 /// <p><code>tue</code></p></li>
274 /// <li>
275 /// <p><code>wed</code></p></li>
276 /// <li>
277 /// <p><code>thu</code></p></li>
278 /// <li>
279 /// <p><code>fri</code></p></li>
280 /// <li>
281 /// <p><code>sat</code></p></li>
282 /// </ul>
283 /// <p>Example: <code>sun:23:00-mon:01:30</code></p>
284 pub fn set_maintenance_window(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
285 self.inner = self.inner.set_maintenance_window(input);
286 self
287 }
288 /// <p>Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.</p>
289 /// <p>Valid values for <code>ddd</code> are:</p>
290 /// <ul>
291 /// <li>
292 /// <p><code>sun</code></p></li>
293 /// <li>
294 /// <p><code>mon</code></p></li>
295 /// <li>
296 /// <p><code>tue</code></p></li>
297 /// <li>
298 /// <p><code>wed</code></p></li>
299 /// <li>
300 /// <p><code>thu</code></p></li>
301 /// <li>
302 /// <p><code>fri</code></p></li>
303 /// <li>
304 /// <p><code>sat</code></p></li>
305 /// </ul>
306 /// <p>Example: <code>sun:23:00-mon:01:30</code></p>
307 pub fn get_maintenance_window(&self) -> &::std::option::Option<::std::string::String> {
308 self.inner.get_maintenance_window()
309 }
310 /// <p>The port number on which each of the nodes accepts connections.</p>
311 pub fn port(mut self, input: i32) -> Self {
312 self.inner = self.inner.port(input);
313 self
314 }
315 /// <p>The port number on which each of the nodes accepts connections.</p>
316 pub fn set_port(mut self, input: ::std::option::Option<i32>) -> Self {
317 self.inner = self.inner.set_port(input);
318 self
319 }
320 /// <p>The port number on which each of the nodes accepts connections.</p>
321 pub fn get_port(&self) -> &::std::option::Option<i32> {
322 self.inner.get_port()
323 }
324 /// <p>The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.</p>
325 pub fn sns_topic_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
326 self.inner = self.inner.sns_topic_arn(input.into());
327 self
328 }
329 /// <p>The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.</p>
330 pub fn set_sns_topic_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
331 self.inner = self.inner.set_sns_topic_arn(input);
332 self
333 }
334 /// <p>The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.</p>
335 pub fn get_sns_topic_arn(&self) -> &::std::option::Option<::std::string::String> {
336 self.inner.get_sns_topic_arn()
337 }
338 /// <p>A flag to enable in-transit encryption on the cluster.</p>
339 pub fn tls_enabled(mut self, input: bool) -> Self {
340 self.inner = self.inner.tls_enabled(input);
341 self
342 }
343 /// <p>A flag to enable in-transit encryption on the cluster.</p>
344 pub fn set_tls_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
345 self.inner = self.inner.set_tls_enabled(input);
346 self
347 }
348 /// <p>A flag to enable in-transit encryption on the cluster.</p>
349 pub fn get_tls_enabled(&self) -> &::std::option::Option<bool> {
350 self.inner.get_tls_enabled()
351 }
352 /// <p>The ID of the KMS key used to encrypt the cluster.</p>
353 pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
354 self.inner = self.inner.kms_key_id(input.into());
355 self
356 }
357 /// <p>The ID of the KMS key used to encrypt the cluster.</p>
358 pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
359 self.inner = self.inner.set_kms_key_id(input);
360 self
361 }
362 /// <p>The ID of the KMS key used to encrypt the cluster.</p>
363 pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
364 self.inner.get_kms_key_id()
365 }
366 ///
367 /// Appends an item to `SnapshotArns`.
368 ///
369 /// To override the contents of this collection use [`set_snapshot_arns`](Self::set_snapshot_arns).
370 ///
371 /// <p>A list of Amazon Resource Names (ARN) that uniquely identify the RDB snapshot files stored in Amazon S3. The snapshot files are used to populate the new cluster. The Amazon S3 object name in the ARN cannot contain any commas.</p>
372 pub fn snapshot_arns(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
373 self.inner = self.inner.snapshot_arns(input.into());
374 self
375 }
376 /// <p>A list of Amazon Resource Names (ARN) that uniquely identify the RDB snapshot files stored in Amazon S3. The snapshot files are used to populate the new cluster. The Amazon S3 object name in the ARN cannot contain any commas.</p>
377 pub fn set_snapshot_arns(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
378 self.inner = self.inner.set_snapshot_arns(input);
379 self
380 }
381 /// <p>A list of Amazon Resource Names (ARN) that uniquely identify the RDB snapshot files stored in Amazon S3. The snapshot files are used to populate the new cluster. The Amazon S3 object name in the ARN cannot contain any commas.</p>
382 pub fn get_snapshot_arns(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
383 self.inner.get_snapshot_arns()
384 }
385 /// <p>The name of a snapshot from which to restore data into the new cluster. The snapshot status changes to restoring while the new cluster is being created.</p>
386 pub fn snapshot_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
387 self.inner = self.inner.snapshot_name(input.into());
388 self
389 }
390 /// <p>The name of a snapshot from which to restore data into the new cluster. The snapshot status changes to restoring while the new cluster is being created.</p>
391 pub fn set_snapshot_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
392 self.inner = self.inner.set_snapshot_name(input);
393 self
394 }
395 /// <p>The name of a snapshot from which to restore data into the new cluster. The snapshot status changes to restoring while the new cluster is being created.</p>
396 pub fn get_snapshot_name(&self) -> &::std::option::Option<::std::string::String> {
397 self.inner.get_snapshot_name()
398 }
399 /// <p>The number of days for which MemoryDB retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.</p>
400 pub fn snapshot_retention_limit(mut self, input: i32) -> Self {
401 self.inner = self.inner.snapshot_retention_limit(input);
402 self
403 }
404 /// <p>The number of days for which MemoryDB retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.</p>
405 pub fn set_snapshot_retention_limit(mut self, input: ::std::option::Option<i32>) -> Self {
406 self.inner = self.inner.set_snapshot_retention_limit(input);
407 self
408 }
409 /// <p>The number of days for which MemoryDB retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.</p>
410 pub fn get_snapshot_retention_limit(&self) -> &::std::option::Option<i32> {
411 self.inner.get_snapshot_retention_limit()
412 }
413 ///
414 /// Appends an item to `Tags`.
415 ///
416 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
417 ///
418 /// <p>A list of tags to be added to this resource. Tags are comma-separated key,value pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple tags as shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue.</p>
419 pub fn tags(mut self, input: crate::types::Tag) -> Self {
420 self.inner = self.inner.tags(input);
421 self
422 }
423 /// <p>A list of tags to be added to this resource. Tags are comma-separated key,value pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple tags as shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue.</p>
424 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
425 self.inner = self.inner.set_tags(input);
426 self
427 }
428 /// <p>A list of tags to be added to this resource. Tags are comma-separated key,value pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple tags as shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue.</p>
429 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
430 self.inner.get_tags()
431 }
432 /// <p>The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard.</p>
433 /// <p>Example: 05:00-09:00</p>
434 /// <p>If you do not specify this parameter, MemoryDB automatically chooses an appropriate time range.</p>
435 pub fn snapshot_window(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
436 self.inner = self.inner.snapshot_window(input.into());
437 self
438 }
439 /// <p>The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard.</p>
440 /// <p>Example: 05:00-09:00</p>
441 /// <p>If you do not specify this parameter, MemoryDB automatically chooses an appropriate time range.</p>
442 pub fn set_snapshot_window(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
443 self.inner = self.inner.set_snapshot_window(input);
444 self
445 }
446 /// <p>The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard.</p>
447 /// <p>Example: 05:00-09:00</p>
448 /// <p>If you do not specify this parameter, MemoryDB automatically chooses an appropriate time range.</p>
449 pub fn get_snapshot_window(&self) -> &::std::option::Option<::std::string::String> {
450 self.inner.get_snapshot_window()
451 }
452 /// <p>The name of the Access Control List to associate with the cluster.</p>
453 pub fn acl_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
454 self.inner = self.inner.acl_name(input.into());
455 self
456 }
457 /// <p>The name of the Access Control List to associate with the cluster.</p>
458 pub fn set_acl_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
459 self.inner = self.inner.set_acl_name(input);
460 self
461 }
462 /// <p>The name of the Access Control List to associate with the cluster.</p>
463 pub fn get_acl_name(&self) -> &::std::option::Option<::std::string::String> {
464 self.inner.get_acl_name()
465 }
466 /// <p>The name of the engine to be used for the cluster.</p>
467 pub fn engine(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
468 self.inner = self.inner.engine(input.into());
469 self
470 }
471 /// <p>The name of the engine to be used for the cluster.</p>
472 pub fn set_engine(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
473 self.inner = self.inner.set_engine(input);
474 self
475 }
476 /// <p>The name of the engine to be used for the cluster.</p>
477 pub fn get_engine(&self) -> &::std::option::Option<::std::string::String> {
478 self.inner.get_engine()
479 }
480 /// <p>The version number of the Redis OSS engine to be used for the cluster.</p>
481 pub fn engine_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
482 self.inner = self.inner.engine_version(input.into());
483 self
484 }
485 /// <p>The version number of the Redis OSS engine to be used for the cluster.</p>
486 pub fn set_engine_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
487 self.inner = self.inner.set_engine_version(input);
488 self
489 }
490 /// <p>The version number of the Redis OSS engine to be used for the cluster.</p>
491 pub fn get_engine_version(&self) -> &::std::option::Option<::std::string::String> {
492 self.inner.get_engine_version()
493 }
494 /// <p>When set to true, the cluster will automatically receive minor engine version upgrades after launch.</p>
495 pub fn auto_minor_version_upgrade(mut self, input: bool) -> Self {
496 self.inner = self.inner.auto_minor_version_upgrade(input);
497 self
498 }
499 /// <p>When set to true, the cluster will automatically receive minor engine version upgrades after launch.</p>
500 pub fn set_auto_minor_version_upgrade(mut self, input: ::std::option::Option<bool>) -> Self {
501 self.inner = self.inner.set_auto_minor_version_upgrade(input);
502 self
503 }
504 /// <p>When set to true, the cluster will automatically receive minor engine version upgrades after launch.</p>
505 pub fn get_auto_minor_version_upgrade(&self) -> &::std::option::Option<bool> {
506 self.inner.get_auto_minor_version_upgrade()
507 }
508 /// <p>Enables data tiering. Data tiering is only supported for clusters using the r6gd node type. This parameter must be set when using r6gd nodes. For more information, see <a href="https://docs.aws.amazon.com/memorydb/latest/devguide/data-tiering.html">Data tiering</a>.</p>
509 pub fn data_tiering(mut self, input: bool) -> Self {
510 self.inner = self.inner.data_tiering(input);
511 self
512 }
513 /// <p>Enables data tiering. Data tiering is only supported for clusters using the r6gd node type. This parameter must be set when using r6gd nodes. For more information, see <a href="https://docs.aws.amazon.com/memorydb/latest/devguide/data-tiering.html">Data tiering</a>.</p>
514 pub fn set_data_tiering(mut self, input: ::std::option::Option<bool>) -> Self {
515 self.inner = self.inner.set_data_tiering(input);
516 self
517 }
518 /// <p>Enables data tiering. Data tiering is only supported for clusters using the r6gd node type. This parameter must be set when using r6gd nodes. For more information, see <a href="https://docs.aws.amazon.com/memorydb/latest/devguide/data-tiering.html">Data tiering</a>.</p>
519 pub fn get_data_tiering(&self) -> &::std::option::Option<bool> {
520 self.inner.get_data_tiering()
521 }
522 /// <p>Specifies the IP address type for the cluster. Valid values are 'ipv4', 'ipv6', or 'dual_stack'. When set to 'ipv4', the cluster will only be accessible via IPv4 addresses. When set to 'ipv6', the cluster will only be accessible via IPv6 addresses. When set to 'dual_stack', the cluster will be accessible via both IPv4 and IPv6 addresses. If not specified, the default is 'ipv4'.</p>
523 pub fn network_type(mut self, input: crate::types::NetworkType) -> Self {
524 self.inner = self.inner.network_type(input);
525 self
526 }
527 /// <p>Specifies the IP address type for the cluster. Valid values are 'ipv4', 'ipv6', or 'dual_stack'. When set to 'ipv4', the cluster will only be accessible via IPv4 addresses. When set to 'ipv6', the cluster will only be accessible via IPv6 addresses. When set to 'dual_stack', the cluster will be accessible via both IPv4 and IPv6 addresses. If not specified, the default is 'ipv4'.</p>
528 pub fn set_network_type(mut self, input: ::std::option::Option<crate::types::NetworkType>) -> Self {
529 self.inner = self.inner.set_network_type(input);
530 self
531 }
532 /// <p>Specifies the IP address type for the cluster. Valid values are 'ipv4', 'ipv6', or 'dual_stack'. When set to 'ipv4', the cluster will only be accessible via IPv4 addresses. When set to 'ipv6', the cluster will only be accessible via IPv6 addresses. When set to 'dual_stack', the cluster will be accessible via both IPv4 and IPv6 addresses. If not specified, the default is 'ipv4'.</p>
533 pub fn get_network_type(&self) -> &::std::option::Option<crate::types::NetworkType> {
534 self.inner.get_network_type()
535 }
536 /// <p>The mechanism for discovering IP addresses for the cluster discovery protocol. Valid values are 'ipv4' or 'ipv6'. When set to 'ipv4', cluster discovery functions such as cluster slots, cluster shards, and cluster nodes return IPv4 addresses for cluster nodes. When set to 'ipv6', the cluster discovery functions return IPv6 addresses for cluster nodes. The value must be compatible with the NetworkType parameter. If not specified, the default is 'ipv4'.</p>
537 pub fn ip_discovery(mut self, input: crate::types::IpDiscovery) -> Self {
538 self.inner = self.inner.ip_discovery(input);
539 self
540 }
541 /// <p>The mechanism for discovering IP addresses for the cluster discovery protocol. Valid values are 'ipv4' or 'ipv6'. When set to 'ipv4', cluster discovery functions such as cluster slots, cluster shards, and cluster nodes return IPv4 addresses for cluster nodes. When set to 'ipv6', the cluster discovery functions return IPv6 addresses for cluster nodes. The value must be compatible with the NetworkType parameter. If not specified, the default is 'ipv4'.</p>
542 pub fn set_ip_discovery(mut self, input: ::std::option::Option<crate::types::IpDiscovery>) -> Self {
543 self.inner = self.inner.set_ip_discovery(input);
544 self
545 }
546 /// <p>The mechanism for discovering IP addresses for the cluster discovery protocol. Valid values are 'ipv4' or 'ipv6'. When set to 'ipv4', cluster discovery functions such as cluster slots, cluster shards, and cluster nodes return IPv4 addresses for cluster nodes. When set to 'ipv6', the cluster discovery functions return IPv6 addresses for cluster nodes. The value must be compatible with the NetworkType parameter. If not specified, the default is 'ipv4'.</p>
547 pub fn get_ip_discovery(&self) -> &::std::option::Option<crate::types::IpDiscovery> {
548 self.inner.get_ip_discovery()
549 }
550}