aws_sdk_neptune/operation/create_db_cluster/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_db_cluster::_create_db_cluster_output::CreateDbClusterOutputBuilder;
3
4pub use crate::operation::create_db_cluster::_create_db_cluster_input::CreateDbClusterInputBuilder;
5
6impl crate::operation::create_db_cluster::builders::CreateDbClusterInputBuilder {
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_db_cluster::CreateDbClusterOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::create_db_cluster::CreateDBClusterError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.create_db_cluster();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `CreateDBCluster`.
24///
25/// <p>Creates a new Amazon Neptune DB cluster.</p>
26/// <p>You can use the <code>ReplicationSourceIdentifier</code> parameter to create the DB cluster as a Read Replica of another DB cluster or Amazon Neptune DB instance.</p>
27/// <p>Note that when you create a new cluster using <code>CreateDBCluster</code> directly, deletion protection is disabled by default (when you create a new production cluster in the console, deletion protection is enabled by default). You can only delete a DB cluster if its <code>DeletionProtection</code> field is set to <code>false</code>.</p>
28#[derive(::std::clone::Clone, ::std::fmt::Debug)]
29pub struct CreateDBClusterFluentBuilder {
30 handle: ::std::sync::Arc<crate::client::Handle>,
31 inner: crate::operation::create_db_cluster::builders::CreateDbClusterInputBuilder,
32 config_override: ::std::option::Option<crate::config::Builder>,
33}
34impl
35 crate::client::customize::internal::CustomizableSend<
36 crate::operation::create_db_cluster::CreateDbClusterOutput,
37 crate::operation::create_db_cluster::CreateDBClusterError,
38 > for CreateDBClusterFluentBuilder
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::create_db_cluster::CreateDbClusterOutput,
46 crate::operation::create_db_cluster::CreateDBClusterError,
47 >,
48 > {
49 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
50 }
51}
52impl CreateDBClusterFluentBuilder {
53 /// Creates a new `CreateDBClusterFluentBuilder`.
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 CreateDBCluster as a reference.
62 pub fn as_input(&self) -> &crate::operation::create_db_cluster::builders::CreateDbClusterInputBuilder {
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::create_db_cluster::CreateDbClusterOutput,
77 ::aws_smithy_runtime_api::client::result::SdkError<
78 crate::operation::create_db_cluster::CreateDBClusterError,
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::create_db_cluster::CreateDBCluster::operation_runtime_plugins(
87 self.handle.runtime_plugins.clone(),
88 &self.handle.conf,
89 self.config_override,
90 );
91 crate::operation::create_db_cluster::CreateDBCluster::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::create_db_cluster::CreateDbClusterOutput,
99 crate::operation::create_db_cluster::CreateDBClusterError,
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 ///
114 /// Appends an item to `AvailabilityZones`.
115 ///
116 /// To override the contents of this collection use [`set_availability_zones`](Self::set_availability_zones).
117 ///
118 /// <p>A list of EC2 Availability Zones that instances in the DB cluster can be created in.</p>
119 pub fn availability_zones(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
120 self.inner = self.inner.availability_zones(input.into());
121 self
122 }
123 /// <p>A list of EC2 Availability Zones that instances in the DB cluster can be created in.</p>
124 pub fn set_availability_zones(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
125 self.inner = self.inner.set_availability_zones(input);
126 self
127 }
128 /// <p>A list of EC2 Availability Zones that instances in the DB cluster can be created in.</p>
129 pub fn get_availability_zones(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
130 self.inner.get_availability_zones()
131 }
132 /// <p>The number of days for which automated backups are retained. You must specify a minimum value of 1.</p>
133 /// <p>Default: 1</p>
134 /// <p>Constraints:</p>
135 /// <ul>
136 /// <li>
137 /// <p>Must be a value from 1 to 35</p></li>
138 /// </ul>
139 pub fn backup_retention_period(mut self, input: i32) -> Self {
140 self.inner = self.inner.backup_retention_period(input);
141 self
142 }
143 /// <p>The number of days for which automated backups are retained. You must specify a minimum value of 1.</p>
144 /// <p>Default: 1</p>
145 /// <p>Constraints:</p>
146 /// <ul>
147 /// <li>
148 /// <p>Must be a value from 1 to 35</p></li>
149 /// </ul>
150 pub fn set_backup_retention_period(mut self, input: ::std::option::Option<i32>) -> Self {
151 self.inner = self.inner.set_backup_retention_period(input);
152 self
153 }
154 /// <p>The number of days for which automated backups are retained. You must specify a minimum value of 1.</p>
155 /// <p>Default: 1</p>
156 /// <p>Constraints:</p>
157 /// <ul>
158 /// <li>
159 /// <p>Must be a value from 1 to 35</p></li>
160 /// </ul>
161 pub fn get_backup_retention_period(&self) -> &::std::option::Option<i32> {
162 self.inner.get_backup_retention_period()
163 }
164 /// <p><i>(Not supported by Neptune)</i></p>
165 pub fn character_set_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
166 self.inner = self.inner.character_set_name(input.into());
167 self
168 }
169 /// <p><i>(Not supported by Neptune)</i></p>
170 pub fn set_character_set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
171 self.inner = self.inner.set_character_set_name(input);
172 self
173 }
174 /// <p><i>(Not supported by Neptune)</i></p>
175 pub fn get_character_set_name(&self) -> &::std::option::Option<::std::string::String> {
176 self.inner.get_character_set_name()
177 }
178 /// <p><i>If set to <code>true</code>, tags are copied to any snapshot of the DB cluster that is created.</i></p>
179 pub fn copy_tags_to_snapshot(mut self, input: bool) -> Self {
180 self.inner = self.inner.copy_tags_to_snapshot(input);
181 self
182 }
183 /// <p><i>If set to <code>true</code>, tags are copied to any snapshot of the DB cluster that is created.</i></p>
184 pub fn set_copy_tags_to_snapshot(mut self, input: ::std::option::Option<bool>) -> Self {
185 self.inner = self.inner.set_copy_tags_to_snapshot(input);
186 self
187 }
188 /// <p><i>If set to <code>true</code>, tags are copied to any snapshot of the DB cluster that is created.</i></p>
189 pub fn get_copy_tags_to_snapshot(&self) -> &::std::option::Option<bool> {
190 self.inner.get_copy_tags_to_snapshot()
191 }
192 /// <p>The name for your database of up to 64 alpha-numeric characters. If you do not provide a name, Amazon Neptune will not create a database in the DB cluster you are creating.</p>
193 pub fn database_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
194 self.inner = self.inner.database_name(input.into());
195 self
196 }
197 /// <p>The name for your database of up to 64 alpha-numeric characters. If you do not provide a name, Amazon Neptune will not create a database in the DB cluster you are creating.</p>
198 pub fn set_database_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
199 self.inner = self.inner.set_database_name(input);
200 self
201 }
202 /// <p>The name for your database of up to 64 alpha-numeric characters. If you do not provide a name, Amazon Neptune will not create a database in the DB cluster you are creating.</p>
203 pub fn get_database_name(&self) -> &::std::option::Option<::std::string::String> {
204 self.inner.get_database_name()
205 }
206 /// <p>The DB cluster identifier. This parameter is stored as a lowercase string.</p>
207 /// <p>Constraints:</p>
208 /// <ul>
209 /// <li>
210 /// <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p></li>
211 /// <li>
212 /// <p>First character must be a letter.</p></li>
213 /// <li>
214 /// <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>
215 /// </ul>
216 /// <p>Example: <code>my-cluster1</code></p>
217 pub fn db_cluster_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
218 self.inner = self.inner.db_cluster_identifier(input.into());
219 self
220 }
221 /// <p>The DB cluster identifier. This parameter is stored as a lowercase string.</p>
222 /// <p>Constraints:</p>
223 /// <ul>
224 /// <li>
225 /// <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p></li>
226 /// <li>
227 /// <p>First character must be a letter.</p></li>
228 /// <li>
229 /// <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>
230 /// </ul>
231 /// <p>Example: <code>my-cluster1</code></p>
232 pub fn set_db_cluster_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
233 self.inner = self.inner.set_db_cluster_identifier(input);
234 self
235 }
236 /// <p>The DB cluster identifier. This parameter is stored as a lowercase string.</p>
237 /// <p>Constraints:</p>
238 /// <ul>
239 /// <li>
240 /// <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p></li>
241 /// <li>
242 /// <p>First character must be a letter.</p></li>
243 /// <li>
244 /// <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>
245 /// </ul>
246 /// <p>Example: <code>my-cluster1</code></p>
247 pub fn get_db_cluster_identifier(&self) -> &::std::option::Option<::std::string::String> {
248 self.inner.get_db_cluster_identifier()
249 }
250 /// <p>The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the default is used.</p>
251 /// <p>Constraints:</p>
252 /// <ul>
253 /// <li>
254 /// <p>If supplied, must match the name of an existing DBClusterParameterGroup.</p></li>
255 /// </ul>
256 pub fn db_cluster_parameter_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
257 self.inner = self.inner.db_cluster_parameter_group_name(input.into());
258 self
259 }
260 /// <p>The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the default is used.</p>
261 /// <p>Constraints:</p>
262 /// <ul>
263 /// <li>
264 /// <p>If supplied, must match the name of an existing DBClusterParameterGroup.</p></li>
265 /// </ul>
266 pub fn set_db_cluster_parameter_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
267 self.inner = self.inner.set_db_cluster_parameter_group_name(input);
268 self
269 }
270 /// <p>The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the default is used.</p>
271 /// <p>Constraints:</p>
272 /// <ul>
273 /// <li>
274 /// <p>If supplied, must match the name of an existing DBClusterParameterGroup.</p></li>
275 /// </ul>
276 pub fn get_db_cluster_parameter_group_name(&self) -> &::std::option::Option<::std::string::String> {
277 self.inner.get_db_cluster_parameter_group_name()
278 }
279 ///
280 /// Appends an item to `VpcSecurityGroupIds`.
281 ///
282 /// To override the contents of this collection use [`set_vpc_security_group_ids`](Self::set_vpc_security_group_ids).
283 ///
284 /// <p>A list of EC2 VPC security groups to associate with this DB cluster.</p>
285 pub fn vpc_security_group_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
286 self.inner = self.inner.vpc_security_group_ids(input.into());
287 self
288 }
289 /// <p>A list of EC2 VPC security groups to associate with this DB cluster.</p>
290 pub fn set_vpc_security_group_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
291 self.inner = self.inner.set_vpc_security_group_ids(input);
292 self
293 }
294 /// <p>A list of EC2 VPC security groups to associate with this DB cluster.</p>
295 pub fn get_vpc_security_group_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
296 self.inner.get_vpc_security_group_ids()
297 }
298 /// <p>A DB subnet group to associate with this DB cluster.</p>
299 /// <p>Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.</p>
300 /// <p>Example: <code>mySubnetgroup</code></p>
301 pub fn db_subnet_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
302 self.inner = self.inner.db_subnet_group_name(input.into());
303 self
304 }
305 /// <p>A DB subnet group to associate with this DB cluster.</p>
306 /// <p>Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.</p>
307 /// <p>Example: <code>mySubnetgroup</code></p>
308 pub fn set_db_subnet_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
309 self.inner = self.inner.set_db_subnet_group_name(input);
310 self
311 }
312 /// <p>A DB subnet group to associate with this DB cluster.</p>
313 /// <p>Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.</p>
314 /// <p>Example: <code>mySubnetgroup</code></p>
315 pub fn get_db_subnet_group_name(&self) -> &::std::option::Option<::std::string::String> {
316 self.inner.get_db_subnet_group_name()
317 }
318 /// <p>The name of the database engine to be used for this DB cluster.</p>
319 /// <p>Valid Values: <code>neptune</code></p>
320 pub fn engine(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
321 self.inner = self.inner.engine(input.into());
322 self
323 }
324 /// <p>The name of the database engine to be used for this DB cluster.</p>
325 /// <p>Valid Values: <code>neptune</code></p>
326 pub fn set_engine(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
327 self.inner = self.inner.set_engine(input);
328 self
329 }
330 /// <p>The name of the database engine to be used for this DB cluster.</p>
331 /// <p>Valid Values: <code>neptune</code></p>
332 pub fn get_engine(&self) -> &::std::option::Option<::std::string::String> {
333 self.inner.get_engine()
334 }
335 /// <p>The version number of the database engine to use for the new DB cluster.</p>
336 /// <p>Example: <code>1.2.1.0</code></p>
337 pub fn engine_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
338 self.inner = self.inner.engine_version(input.into());
339 self
340 }
341 /// <p>The version number of the database engine to use for the new DB cluster.</p>
342 /// <p>Example: <code>1.2.1.0</code></p>
343 pub fn set_engine_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
344 self.inner = self.inner.set_engine_version(input);
345 self
346 }
347 /// <p>The version number of the database engine to use for the new DB cluster.</p>
348 /// <p>Example: <code>1.2.1.0</code></p>
349 pub fn get_engine_version(&self) -> &::std::option::Option<::std::string::String> {
350 self.inner.get_engine_version()
351 }
352 /// <p>The port number on which the instances in the DB cluster accept connections.</p>
353 /// <p>Default: <code>8182</code></p>
354 pub fn port(mut self, input: i32) -> Self {
355 self.inner = self.inner.port(input);
356 self
357 }
358 /// <p>The port number on which the instances in the DB cluster accept connections.</p>
359 /// <p>Default: <code>8182</code></p>
360 pub fn set_port(mut self, input: ::std::option::Option<i32>) -> Self {
361 self.inner = self.inner.set_port(input);
362 self
363 }
364 /// <p>The port number on which the instances in the DB cluster accept connections.</p>
365 /// <p>Default: <code>8182</code></p>
366 pub fn get_port(&self) -> &::std::option::Option<i32> {
367 self.inner.get_port()
368 }
369 /// <p>Not supported by Neptune.</p>
370 pub fn master_username(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
371 self.inner = self.inner.master_username(input.into());
372 self
373 }
374 /// <p>Not supported by Neptune.</p>
375 pub fn set_master_username(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
376 self.inner = self.inner.set_master_username(input);
377 self
378 }
379 /// <p>Not supported by Neptune.</p>
380 pub fn get_master_username(&self) -> &::std::option::Option<::std::string::String> {
381 self.inner.get_master_username()
382 }
383 /// <p>Not supported by Neptune.</p>
384 pub fn master_user_password(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
385 self.inner = self.inner.master_user_password(input.into());
386 self
387 }
388 /// <p>Not supported by Neptune.</p>
389 pub fn set_master_user_password(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
390 self.inner = self.inner.set_master_user_password(input);
391 self
392 }
393 /// <p>Not supported by Neptune.</p>
394 pub fn get_master_user_password(&self) -> &::std::option::Option<::std::string::String> {
395 self.inner.get_master_user_password()
396 }
397 /// <p><i>(Not supported by Neptune)</i></p>
398 pub fn option_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
399 self.inner = self.inner.option_group_name(input.into());
400 self
401 }
402 /// <p><i>(Not supported by Neptune)</i></p>
403 pub fn set_option_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
404 self.inner = self.inner.set_option_group_name(input);
405 self
406 }
407 /// <p><i>(Not supported by Neptune)</i></p>
408 pub fn get_option_group_name(&self) -> &::std::option::Option<::std::string::String> {
409 self.inner.get_option_group_name()
410 }
411 /// <p>The daily time range during which automated backups are created if automated backups are enabled using the <code>BackupRetentionPeriod</code> parameter.</p>
412 /// <p>The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Region. To see the time blocks available, see <a href="https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-maintaining.html#manage-console-maintaining-window">Neptune Maintenance Window</a> in the <i>Amazon Neptune User Guide.</i></p>
413 /// <p>Constraints:</p>
414 /// <ul>
415 /// <li>
416 /// <p>Must be in the format <code>hh24:mi-hh24:mi</code>.</p></li>
417 /// <li>
418 /// <p>Must be in Universal Coordinated Time (UTC).</p></li>
419 /// <li>
420 /// <p>Must not conflict with the preferred maintenance window.</p></li>
421 /// <li>
422 /// <p>Must be at least 30 minutes.</p></li>
423 /// </ul>
424 pub fn preferred_backup_window(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
425 self.inner = self.inner.preferred_backup_window(input.into());
426 self
427 }
428 /// <p>The daily time range during which automated backups are created if automated backups are enabled using the <code>BackupRetentionPeriod</code> parameter.</p>
429 /// <p>The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Region. To see the time blocks available, see <a href="https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-maintaining.html#manage-console-maintaining-window">Neptune Maintenance Window</a> in the <i>Amazon Neptune User Guide.</i></p>
430 /// <p>Constraints:</p>
431 /// <ul>
432 /// <li>
433 /// <p>Must be in the format <code>hh24:mi-hh24:mi</code>.</p></li>
434 /// <li>
435 /// <p>Must be in Universal Coordinated Time (UTC).</p></li>
436 /// <li>
437 /// <p>Must not conflict with the preferred maintenance window.</p></li>
438 /// <li>
439 /// <p>Must be at least 30 minutes.</p></li>
440 /// </ul>
441 pub fn set_preferred_backup_window(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
442 self.inner = self.inner.set_preferred_backup_window(input);
443 self
444 }
445 /// <p>The daily time range during which automated backups are created if automated backups are enabled using the <code>BackupRetentionPeriod</code> parameter.</p>
446 /// <p>The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Region. To see the time blocks available, see <a href="https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-maintaining.html#manage-console-maintaining-window">Neptune Maintenance Window</a> in the <i>Amazon Neptune User Guide.</i></p>
447 /// <p>Constraints:</p>
448 /// <ul>
449 /// <li>
450 /// <p>Must be in the format <code>hh24:mi-hh24:mi</code>.</p></li>
451 /// <li>
452 /// <p>Must be in Universal Coordinated Time (UTC).</p></li>
453 /// <li>
454 /// <p>Must not conflict with the preferred maintenance window.</p></li>
455 /// <li>
456 /// <p>Must be at least 30 minutes.</p></li>
457 /// </ul>
458 pub fn get_preferred_backup_window(&self) -> &::std::option::Option<::std::string::String> {
459 self.inner.get_preferred_backup_window()
460 }
461 /// <p>The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).</p>
462 /// <p>Format: <code>ddd:hh24:mi-ddd:hh24:mi</code></p>
463 /// <p>The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Region, occurring on a random day of the week. To see the time blocks available, see <a href="https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-maintaining.html#manage-console-maintaining-window">Neptune Maintenance Window</a> in the <i>Amazon Neptune User Guide.</i></p>
464 /// <p>Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.</p>
465 /// <p>Constraints: Minimum 30-minute window.</p>
466 pub fn preferred_maintenance_window(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
467 self.inner = self.inner.preferred_maintenance_window(input.into());
468 self
469 }
470 /// <p>The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).</p>
471 /// <p>Format: <code>ddd:hh24:mi-ddd:hh24:mi</code></p>
472 /// <p>The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Region, occurring on a random day of the week. To see the time blocks available, see <a href="https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-maintaining.html#manage-console-maintaining-window">Neptune Maintenance Window</a> in the <i>Amazon Neptune User Guide.</i></p>
473 /// <p>Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.</p>
474 /// <p>Constraints: Minimum 30-minute window.</p>
475 pub fn set_preferred_maintenance_window(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
476 self.inner = self.inner.set_preferred_maintenance_window(input);
477 self
478 }
479 /// <p>The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).</p>
480 /// <p>Format: <code>ddd:hh24:mi-ddd:hh24:mi</code></p>
481 /// <p>The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Region, occurring on a random day of the week. To see the time blocks available, see <a href="https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-maintaining.html#manage-console-maintaining-window">Neptune Maintenance Window</a> in the <i>Amazon Neptune User Guide.</i></p>
482 /// <p>Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.</p>
483 /// <p>Constraints: Minimum 30-minute window.</p>
484 pub fn get_preferred_maintenance_window(&self) -> &::std::option::Option<::std::string::String> {
485 self.inner.get_preferred_maintenance_window()
486 }
487 /// <p>The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read Replica.</p>
488 pub fn replication_source_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
489 self.inner = self.inner.replication_source_identifier(input.into());
490 self
491 }
492 /// <p>The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read Replica.</p>
493 pub fn set_replication_source_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
494 self.inner = self.inner.set_replication_source_identifier(input);
495 self
496 }
497 /// <p>The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read Replica.</p>
498 pub fn get_replication_source_identifier(&self) -> &::std::option::Option<::std::string::String> {
499 self.inner.get_replication_source_identifier()
500 }
501 ///
502 /// Appends an item to `Tags`.
503 ///
504 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
505 ///
506 /// <p>The tags to assign to the new DB cluster.</p>
507 pub fn tags(mut self, input: crate::types::Tag) -> Self {
508 self.inner = self.inner.tags(input);
509 self
510 }
511 /// <p>The tags to assign to the new DB cluster.</p>
512 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
513 self.inner = self.inner.set_tags(input);
514 self
515 }
516 /// <p>The tags to assign to the new DB cluster.</p>
517 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
518 self.inner.get_tags()
519 }
520 /// <p>Specifies whether the DB cluster is encrypted.</p>
521 pub fn storage_encrypted(mut self, input: bool) -> Self {
522 self.inner = self.inner.storage_encrypted(input);
523 self
524 }
525 /// <p>Specifies whether the DB cluster is encrypted.</p>
526 pub fn set_storage_encrypted(mut self, input: ::std::option::Option<bool>) -> Self {
527 self.inner = self.inner.set_storage_encrypted(input);
528 self
529 }
530 /// <p>Specifies whether the DB cluster is encrypted.</p>
531 pub fn get_storage_encrypted(&self) -> &::std::option::Option<bool> {
532 self.inner.get_storage_encrypted()
533 }
534 /// <p>The Amazon KMS key identifier for an encrypted DB cluster.</p>
535 /// <p>The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same Amazon account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.</p>
536 /// <p>If an encryption key is not specified in <code>KmsKeyId</code>:</p>
537 /// <ul>
538 /// <li>
539 /// <p>If <code>ReplicationSourceIdentifier</code> identifies an encrypted source, then Amazon Neptune will use the encryption key used to encrypt the source. Otherwise, Amazon Neptune will use your default encryption key.</p></li>
540 /// <li>
541 /// <p>If the <code>StorageEncrypted</code> parameter is true and <code>ReplicationSourceIdentifier</code> is not specified, then Amazon Neptune will use your default encryption key.</p></li>
542 /// </ul>
543 /// <p>Amazon KMS creates the default encryption key for your Amazon account. Your Amazon account has a different default encryption key for each Amazon Region.</p>
544 /// <p>If you create a Read Replica of an encrypted DB cluster in another Amazon Region, you must set <code>KmsKeyId</code> to a KMS key ID that is valid in the destination Amazon Region. This key is used to encrypt the Read Replica in that Amazon Region.</p>
545 pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
546 self.inner = self.inner.kms_key_id(input.into());
547 self
548 }
549 /// <p>The Amazon KMS key identifier for an encrypted DB cluster.</p>
550 /// <p>The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same Amazon account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.</p>
551 /// <p>If an encryption key is not specified in <code>KmsKeyId</code>:</p>
552 /// <ul>
553 /// <li>
554 /// <p>If <code>ReplicationSourceIdentifier</code> identifies an encrypted source, then Amazon Neptune will use the encryption key used to encrypt the source. Otherwise, Amazon Neptune will use your default encryption key.</p></li>
555 /// <li>
556 /// <p>If the <code>StorageEncrypted</code> parameter is true and <code>ReplicationSourceIdentifier</code> is not specified, then Amazon Neptune will use your default encryption key.</p></li>
557 /// </ul>
558 /// <p>Amazon KMS creates the default encryption key for your Amazon account. Your Amazon account has a different default encryption key for each Amazon Region.</p>
559 /// <p>If you create a Read Replica of an encrypted DB cluster in another Amazon Region, you must set <code>KmsKeyId</code> to a KMS key ID that is valid in the destination Amazon Region. This key is used to encrypt the Read Replica in that Amazon Region.</p>
560 pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
561 self.inner = self.inner.set_kms_key_id(input);
562 self
563 }
564 /// <p>The Amazon KMS key identifier for an encrypted DB cluster.</p>
565 /// <p>The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same Amazon account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.</p>
566 /// <p>If an encryption key is not specified in <code>KmsKeyId</code>:</p>
567 /// <ul>
568 /// <li>
569 /// <p>If <code>ReplicationSourceIdentifier</code> identifies an encrypted source, then Amazon Neptune will use the encryption key used to encrypt the source. Otherwise, Amazon Neptune will use your default encryption key.</p></li>
570 /// <li>
571 /// <p>If the <code>StorageEncrypted</code> parameter is true and <code>ReplicationSourceIdentifier</code> is not specified, then Amazon Neptune will use your default encryption key.</p></li>
572 /// </ul>
573 /// <p>Amazon KMS creates the default encryption key for your Amazon account. Your Amazon account has a different default encryption key for each Amazon Region.</p>
574 /// <p>If you create a Read Replica of an encrypted DB cluster in another Amazon Region, you must set <code>KmsKeyId</code> to a KMS key ID that is valid in the destination Amazon Region. This key is used to encrypt the Read Replica in that Amazon Region.</p>
575 pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
576 self.inner.get_kms_key_id()
577 }
578 /// <p>This parameter is not currently supported.</p>
579 pub fn pre_signed_url(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
580 self.inner = self.inner.pre_signed_url(input.into());
581 self
582 }
583 /// <p>This parameter is not currently supported.</p>
584 pub fn set_pre_signed_url(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
585 self.inner = self.inner.set_pre_signed_url(input);
586 self
587 }
588 /// <p>This parameter is not currently supported.</p>
589 pub fn get_pre_signed_url(&self) -> &::std::option::Option<::std::string::String> {
590 self.inner.get_pre_signed_url()
591 }
592 /// <p>If set to <code>true</code>, enables Amazon Identity and Access Management (IAM) authentication for the entire DB cluster (this cannot be set at an instance level).</p>
593 /// <p>Default: <code>false</code>.</p>
594 pub fn enable_iam_database_authentication(mut self, input: bool) -> Self {
595 self.inner = self.inner.enable_iam_database_authentication(input);
596 self
597 }
598 /// <p>If set to <code>true</code>, enables Amazon Identity and Access Management (IAM) authentication for the entire DB cluster (this cannot be set at an instance level).</p>
599 /// <p>Default: <code>false</code>.</p>
600 pub fn set_enable_iam_database_authentication(mut self, input: ::std::option::Option<bool>) -> Self {
601 self.inner = self.inner.set_enable_iam_database_authentication(input);
602 self
603 }
604 /// <p>If set to <code>true</code>, enables Amazon Identity and Access Management (IAM) authentication for the entire DB cluster (this cannot be set at an instance level).</p>
605 /// <p>Default: <code>false</code>.</p>
606 pub fn get_enable_iam_database_authentication(&self) -> &::std::option::Option<bool> {
607 self.inner.get_enable_iam_database_authentication()
608 }
609 ///
610 /// Appends an item to `EnableCloudwatchLogsExports`.
611 ///
612 /// To override the contents of this collection use [`set_enable_cloudwatch_logs_exports`](Self::set_enable_cloudwatch_logs_exports).
613 ///
614 /// <p>A list of the log types that this DB cluster should export to CloudWatch Logs. Valid log types are: <code>audit</code> (to publish audit logs) and <code>slowquery</code> (to publish slow-query logs). See <a href="https://docs.aws.amazon.com/neptune/latest/userguide/cloudwatch-logs.html">Publishing Neptune logs to Amazon CloudWatch logs</a>.</p>
615 pub fn enable_cloudwatch_logs_exports(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
616 self.inner = self.inner.enable_cloudwatch_logs_exports(input.into());
617 self
618 }
619 /// <p>A list of the log types that this DB cluster should export to CloudWatch Logs. Valid log types are: <code>audit</code> (to publish audit logs) and <code>slowquery</code> (to publish slow-query logs). See <a href="https://docs.aws.amazon.com/neptune/latest/userguide/cloudwatch-logs.html">Publishing Neptune logs to Amazon CloudWatch logs</a>.</p>
620 pub fn set_enable_cloudwatch_logs_exports(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
621 self.inner = self.inner.set_enable_cloudwatch_logs_exports(input);
622 self
623 }
624 /// <p>A list of the log types that this DB cluster should export to CloudWatch Logs. Valid log types are: <code>audit</code> (to publish audit logs) and <code>slowquery</code> (to publish slow-query logs). See <a href="https://docs.aws.amazon.com/neptune/latest/userguide/cloudwatch-logs.html">Publishing Neptune logs to Amazon CloudWatch logs</a>.</p>
625 pub fn get_enable_cloudwatch_logs_exports(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
626 self.inner.get_enable_cloudwatch_logs_exports()
627 }
628 /// <p>A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is enabled.</p>
629 pub fn deletion_protection(mut self, input: bool) -> Self {
630 self.inner = self.inner.deletion_protection(input);
631 self
632 }
633 /// <p>A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is enabled.</p>
634 pub fn set_deletion_protection(mut self, input: ::std::option::Option<bool>) -> Self {
635 self.inner = self.inner.set_deletion_protection(input);
636 self
637 }
638 /// <p>A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is enabled.</p>
639 pub fn get_deletion_protection(&self) -> &::std::option::Option<bool> {
640 self.inner.get_deletion_protection()
641 }
642 /// <p>Contains the scaling configuration of a Neptune Serverless DB cluster.</p>
643 /// <p>For more information, see <a href="https://docs.aws.amazon.com/neptune/latest/userguide/neptune-serverless-using.html">Using Amazon Neptune Serverless</a> in the <i>Amazon Neptune User Guide</i>.</p>
644 pub fn serverless_v2_scaling_configuration(mut self, input: crate::types::ServerlessV2ScalingConfiguration) -> Self {
645 self.inner = self.inner.serverless_v2_scaling_configuration(input);
646 self
647 }
648 /// <p>Contains the scaling configuration of a Neptune Serverless DB cluster.</p>
649 /// <p>For more information, see <a href="https://docs.aws.amazon.com/neptune/latest/userguide/neptune-serverless-using.html">Using Amazon Neptune Serverless</a> in the <i>Amazon Neptune User Guide</i>.</p>
650 pub fn set_serverless_v2_scaling_configuration(mut self, input: ::std::option::Option<crate::types::ServerlessV2ScalingConfiguration>) -> Self {
651 self.inner = self.inner.set_serverless_v2_scaling_configuration(input);
652 self
653 }
654 /// <p>Contains the scaling configuration of a Neptune Serverless DB cluster.</p>
655 /// <p>For more information, see <a href="https://docs.aws.amazon.com/neptune/latest/userguide/neptune-serverless-using.html">Using Amazon Neptune Serverless</a> in the <i>Amazon Neptune User Guide</i>.</p>
656 pub fn get_serverless_v2_scaling_configuration(&self) -> &::std::option::Option<crate::types::ServerlessV2ScalingConfiguration> {
657 self.inner.get_serverless_v2_scaling_configuration()
658 }
659 /// <p>The ID of the Neptune global database to which this new DB cluster should be added.</p>
660 pub fn global_cluster_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
661 self.inner = self.inner.global_cluster_identifier(input.into());
662 self
663 }
664 /// <p>The ID of the Neptune global database to which this new DB cluster should be added.</p>
665 pub fn set_global_cluster_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
666 self.inner = self.inner.set_global_cluster_identifier(input);
667 self
668 }
669 /// <p>The ID of the Neptune global database to which this new DB cluster should be added.</p>
670 pub fn get_global_cluster_identifier(&self) -> &::std::option::Option<::std::string::String> {
671 self.inner.get_global_cluster_identifier()
672 }
673 /// <p>The storage type for the new DB cluster.</p>
674 /// <p>Valid Values:</p>
675 /// <ul>
676 /// <li>
677 /// <p><b> <code>standard</code> </b> – ( <i>the default</i> ) Configures cost-effective database storage for applications with moderate to small I/O usage. When set to <code>standard</code>, the storage type is not returned in the response.</p></li>
678 /// <li>
679 /// <p><b> <code>iopt1</code> </b> – Enables <a href="https://docs.aws.amazon.com/neptune/latest/userguide/storage-types.html#provisioned-iops-storage">I/O-Optimized storage</a> that's designed to meet the needs of I/O-intensive graph workloads that require predictable pricing with low I/O latency and consistent I/O throughput.</p>
680 /// <p>Neptune I/O-Optimized storage is only available starting with engine release 1.3.0.0.</p></li>
681 /// </ul>
682 pub fn storage_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
683 self.inner = self.inner.storage_type(input.into());
684 self
685 }
686 /// <p>The storage type for the new DB cluster.</p>
687 /// <p>Valid Values:</p>
688 /// <ul>
689 /// <li>
690 /// <p><b> <code>standard</code> </b> – ( <i>the default</i> ) Configures cost-effective database storage for applications with moderate to small I/O usage. When set to <code>standard</code>, the storage type is not returned in the response.</p></li>
691 /// <li>
692 /// <p><b> <code>iopt1</code> </b> – Enables <a href="https://docs.aws.amazon.com/neptune/latest/userguide/storage-types.html#provisioned-iops-storage">I/O-Optimized storage</a> that's designed to meet the needs of I/O-intensive graph workloads that require predictable pricing with low I/O latency and consistent I/O throughput.</p>
693 /// <p>Neptune I/O-Optimized storage is only available starting with engine release 1.3.0.0.</p></li>
694 /// </ul>
695 pub fn set_storage_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
696 self.inner = self.inner.set_storage_type(input);
697 self
698 }
699 /// <p>The storage type for the new DB cluster.</p>
700 /// <p>Valid Values:</p>
701 /// <ul>
702 /// <li>
703 /// <p><b> <code>standard</code> </b> – ( <i>the default</i> ) Configures cost-effective database storage for applications with moderate to small I/O usage. When set to <code>standard</code>, the storage type is not returned in the response.</p></li>
704 /// <li>
705 /// <p><b> <code>iopt1</code> </b> – Enables <a href="https://docs.aws.amazon.com/neptune/latest/userguide/storage-types.html#provisioned-iops-storage">I/O-Optimized storage</a> that's designed to meet the needs of I/O-intensive graph workloads that require predictable pricing with low I/O latency and consistent I/O throughput.</p>
706 /// <p>Neptune I/O-Optimized storage is only available starting with engine release 1.3.0.0.</p></li>
707 /// </ul>
708 pub fn get_storage_type(&self) -> &::std::option::Option<::std::string::String> {
709 self.inner.get_storage_type()
710 }
711}