aws_sdk_neptune/operation/create_db_instance/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_db_instance::_create_db_instance_output::CreateDbInstanceOutputBuilder;
3
4pub use crate::operation::create_db_instance::_create_db_instance_input::CreateDbInstanceInputBuilder;
5
6impl crate::operation::create_db_instance::builders::CreateDbInstanceInputBuilder {
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_instance::CreateDbInstanceOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_db_instance::CreateDBInstanceError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_db_instance();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateDBInstance`.
24///
25/// <p>Creates a new DB instance.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateDBInstanceFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::create_db_instance::builders::CreateDbInstanceInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::create_db_instance::CreateDbInstanceOutput,
35        crate::operation::create_db_instance::CreateDBInstanceError,
36    > for CreateDBInstanceFluentBuilder
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_db_instance::CreateDbInstanceOutput,
44            crate::operation::create_db_instance::CreateDBInstanceError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl CreateDBInstanceFluentBuilder {
51    /// Creates a new `CreateDBInstanceFluentBuilder`.
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 CreateDBInstance as a reference.
60    pub fn as_input(&self) -> &crate::operation::create_db_instance::builders::CreateDbInstanceInputBuilder {
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_db_instance::CreateDbInstanceOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::create_db_instance::CreateDBInstanceError,
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_db_instance::CreateDBInstance::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::create_db_instance::CreateDBInstance::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_db_instance::CreateDbInstanceOutput,
97        crate::operation::create_db_instance::CreateDBInstanceError,
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>Not supported.</p>
112    pub fn db_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113        self.inner = self.inner.db_name(input.into());
114        self
115    }
116    /// <p>Not supported.</p>
117    pub fn set_db_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118        self.inner = self.inner.set_db_name(input);
119        self
120    }
121    /// <p>Not supported.</p>
122    pub fn get_db_name(&self) -> &::std::option::Option<::std::string::String> {
123        self.inner.get_db_name()
124    }
125    /// <p>The DB instance identifier. This parameter is stored as a lowercase string.</p>
126    /// <p>Constraints:</p>
127    /// <ul>
128    /// <li>
129    /// <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p></li>
130    /// <li>
131    /// <p>First character must be a letter.</p></li>
132    /// <li>
133    /// <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>
134    /// </ul>
135    /// <p>Example: <code>mydbinstance</code></p>
136    pub fn db_instance_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
137        self.inner = self.inner.db_instance_identifier(input.into());
138        self
139    }
140    /// <p>The DB instance identifier. This parameter is stored as a lowercase string.</p>
141    /// <p>Constraints:</p>
142    /// <ul>
143    /// <li>
144    /// <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p></li>
145    /// <li>
146    /// <p>First character must be a letter.</p></li>
147    /// <li>
148    /// <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>
149    /// </ul>
150    /// <p>Example: <code>mydbinstance</code></p>
151    pub fn set_db_instance_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
152        self.inner = self.inner.set_db_instance_identifier(input);
153        self
154    }
155    /// <p>The DB instance identifier. This parameter is stored as a lowercase string.</p>
156    /// <p>Constraints:</p>
157    /// <ul>
158    /// <li>
159    /// <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p></li>
160    /// <li>
161    /// <p>First character must be a letter.</p></li>
162    /// <li>
163    /// <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>
164    /// </ul>
165    /// <p>Example: <code>mydbinstance</code></p>
166    pub fn get_db_instance_identifier(&self) -> &::std::option::Option<::std::string::String> {
167        self.inner.get_db_instance_identifier()
168    }
169    /// <p>Not supported by Neptune.</p>
170    pub fn allocated_storage(mut self, input: i32) -> Self {
171        self.inner = self.inner.allocated_storage(input);
172        self
173    }
174    /// <p>Not supported by Neptune.</p>
175    pub fn set_allocated_storage(mut self, input: ::std::option::Option<i32>) -> Self {
176        self.inner = self.inner.set_allocated_storage(input);
177        self
178    }
179    /// <p>Not supported by Neptune.</p>
180    pub fn get_allocated_storage(&self) -> &::std::option::Option<i32> {
181        self.inner.get_allocated_storage()
182    }
183    /// <p>The compute and memory capacity of the DB instance, for example, <code>db.m4.large</code>. Not all DB instance classes are available in all Amazon Regions.</p>
184    pub fn db_instance_class(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
185        self.inner = self.inner.db_instance_class(input.into());
186        self
187    }
188    /// <p>The compute and memory capacity of the DB instance, for example, <code>db.m4.large</code>. Not all DB instance classes are available in all Amazon Regions.</p>
189    pub fn set_db_instance_class(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
190        self.inner = self.inner.set_db_instance_class(input);
191        self
192    }
193    /// <p>The compute and memory capacity of the DB instance, for example, <code>db.m4.large</code>. Not all DB instance classes are available in all Amazon Regions.</p>
194    pub fn get_db_instance_class(&self) -> &::std::option::Option<::std::string::String> {
195        self.inner.get_db_instance_class()
196    }
197    /// <p>The name of the database engine to be used for this instance.</p>
198    /// <p>Valid Values: <code>neptune</code></p>
199    pub fn engine(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
200        self.inner = self.inner.engine(input.into());
201        self
202    }
203    /// <p>The name of the database engine to be used for this instance.</p>
204    /// <p>Valid Values: <code>neptune</code></p>
205    pub fn set_engine(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
206        self.inner = self.inner.set_engine(input);
207        self
208    }
209    /// <p>The name of the database engine to be used for this instance.</p>
210    /// <p>Valid Values: <code>neptune</code></p>
211    pub fn get_engine(&self) -> &::std::option::Option<::std::string::String> {
212        self.inner.get_engine()
213    }
214    /// <p>Not supported by Neptune.</p>
215    pub fn master_username(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
216        self.inner = self.inner.master_username(input.into());
217        self
218    }
219    /// <p>Not supported by Neptune.</p>
220    pub fn set_master_username(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
221        self.inner = self.inner.set_master_username(input);
222        self
223    }
224    /// <p>Not supported by Neptune.</p>
225    pub fn get_master_username(&self) -> &::std::option::Option<::std::string::String> {
226        self.inner.get_master_username()
227    }
228    /// <p>Not supported by Neptune.</p>
229    pub fn master_user_password(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
230        self.inner = self.inner.master_user_password(input.into());
231        self
232    }
233    /// <p>Not supported by Neptune.</p>
234    pub fn set_master_user_password(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
235        self.inner = self.inner.set_master_user_password(input);
236        self
237    }
238    /// <p>Not supported by Neptune.</p>
239    pub fn get_master_user_password(&self) -> &::std::option::Option<::std::string::String> {
240        self.inner.get_master_user_password()
241    }
242    ///
243    /// Appends an item to `DBSecurityGroups`.
244    ///
245    /// To override the contents of this collection use [`set_db_security_groups`](Self::set_db_security_groups).
246    ///
247    /// <p>A list of DB security groups to associate with this DB instance.</p>
248    /// <p>Default: The default DB security group for the database engine.</p>
249    pub fn db_security_groups(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
250        self.inner = self.inner.db_security_groups(input.into());
251        self
252    }
253    /// <p>A list of DB security groups to associate with this DB instance.</p>
254    /// <p>Default: The default DB security group for the database engine.</p>
255    pub fn set_db_security_groups(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
256        self.inner = self.inner.set_db_security_groups(input);
257        self
258    }
259    /// <p>A list of DB security groups to associate with this DB instance.</p>
260    /// <p>Default: The default DB security group for the database engine.</p>
261    pub fn get_db_security_groups(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
262        self.inner.get_db_security_groups()
263    }
264    ///
265    /// Appends an item to `VpcSecurityGroupIds`.
266    ///
267    /// To override the contents of this collection use [`set_vpc_security_group_ids`](Self::set_vpc_security_group_ids).
268    ///
269    /// <p>A list of EC2 VPC security groups to associate with this DB instance.</p>
270    /// <p>Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p>
271    /// <p>Default: The default EC2 VPC security group for the DB subnet group's VPC.</p>
272    pub fn vpc_security_group_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
273        self.inner = self.inner.vpc_security_group_ids(input.into());
274        self
275    }
276    /// <p>A list of EC2 VPC security groups to associate with this DB instance.</p>
277    /// <p>Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p>
278    /// <p>Default: The default EC2 VPC security group for the DB subnet group's VPC.</p>
279    pub fn set_vpc_security_group_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
280        self.inner = self.inner.set_vpc_security_group_ids(input);
281        self
282    }
283    /// <p>A list of EC2 VPC security groups to associate with this DB instance.</p>
284    /// <p>Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p>
285    /// <p>Default: The default EC2 VPC security group for the DB subnet group's VPC.</p>
286    pub fn get_vpc_security_group_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
287        self.inner.get_vpc_security_group_ids()
288    }
289    /// <p>The EC2 Availability Zone that the DB instance is created in</p>
290    /// <p>Default: A random, system-chosen Availability Zone in the endpoint's Amazon Region.</p>
291    /// <p>Example: <code>us-east-1d</code></p>
292    /// <p>Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to <code>true</code>. The specified Availability Zone must be in the same Amazon Region as the current endpoint.</p>
293    pub fn availability_zone(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
294        self.inner = self.inner.availability_zone(input.into());
295        self
296    }
297    /// <p>The EC2 Availability Zone that the DB instance is created in</p>
298    /// <p>Default: A random, system-chosen Availability Zone in the endpoint's Amazon Region.</p>
299    /// <p>Example: <code>us-east-1d</code></p>
300    /// <p>Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to <code>true</code>. The specified Availability Zone must be in the same Amazon Region as the current endpoint.</p>
301    pub fn set_availability_zone(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
302        self.inner = self.inner.set_availability_zone(input);
303        self
304    }
305    /// <p>The EC2 Availability Zone that the DB instance is created in</p>
306    /// <p>Default: A random, system-chosen Availability Zone in the endpoint's Amazon Region.</p>
307    /// <p>Example: <code>us-east-1d</code></p>
308    /// <p>Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to <code>true</code>. The specified Availability Zone must be in the same Amazon Region as the current endpoint.</p>
309    pub fn get_availability_zone(&self) -> &::std::option::Option<::std::string::String> {
310        self.inner.get_availability_zone()
311    }
312    /// <p>A DB subnet group to associate with this DB instance.</p>
313    /// <p>If there is no DB subnet group, then it is a non-VPC DB instance.</p>
314    pub fn db_subnet_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
315        self.inner = self.inner.db_subnet_group_name(input.into());
316        self
317    }
318    /// <p>A DB subnet group to associate with this DB instance.</p>
319    /// <p>If there is no DB subnet group, then it is a non-VPC DB instance.</p>
320    pub fn set_db_subnet_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
321        self.inner = self.inner.set_db_subnet_group_name(input);
322        self
323    }
324    /// <p>A DB subnet group to associate with this DB instance.</p>
325    /// <p>If there is no DB subnet group, then it is a non-VPC DB instance.</p>
326    pub fn get_db_subnet_group_name(&self) -> &::std::option::Option<::std::string::String> {
327        self.inner.get_db_subnet_group_name()
328    }
329    /// <p>The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC).</p>
330    /// <p>Format: <code>ddd:hh24:mi-ddd:hh24:mi</code></p>
331    /// <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.</p>
332    /// <p>Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.</p>
333    /// <p>Constraints: Minimum 30-minute window.</p>
334    pub fn preferred_maintenance_window(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
335        self.inner = self.inner.preferred_maintenance_window(input.into());
336        self
337    }
338    /// <p>The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC).</p>
339    /// <p>Format: <code>ddd:hh24:mi-ddd:hh24:mi</code></p>
340    /// <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.</p>
341    /// <p>Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.</p>
342    /// <p>Constraints: Minimum 30-minute window.</p>
343    pub fn set_preferred_maintenance_window(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
344        self.inner = self.inner.set_preferred_maintenance_window(input);
345        self
346    }
347    /// <p>The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC).</p>
348    /// <p>Format: <code>ddd:hh24:mi-ddd:hh24:mi</code></p>
349    /// <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.</p>
350    /// <p>Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.</p>
351    /// <p>Constraints: Minimum 30-minute window.</p>
352    pub fn get_preferred_maintenance_window(&self) -> &::std::option::Option<::std::string::String> {
353        self.inner.get_preferred_maintenance_window()
354    }
355    /// <p>The name of the DB parameter group to associate with this DB instance. If this argument is omitted, the default DBParameterGroup for the specified engine is used.</p>
356    /// <p>Constraints:</p>
357    /// <ul>
358    /// <li>
359    /// <p>Must be 1 to 255 letters, numbers, or hyphens.</p></li>
360    /// <li>
361    /// <p>First character must be a letter</p></li>
362    /// <li>
363    /// <p>Cannot end with a hyphen or contain two consecutive hyphens</p></li>
364    /// </ul>
365    pub fn db_parameter_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
366        self.inner = self.inner.db_parameter_group_name(input.into());
367        self
368    }
369    /// <p>The name of the DB parameter group to associate with this DB instance. If this argument is omitted, the default DBParameterGroup for the specified engine is used.</p>
370    /// <p>Constraints:</p>
371    /// <ul>
372    /// <li>
373    /// <p>Must be 1 to 255 letters, numbers, or hyphens.</p></li>
374    /// <li>
375    /// <p>First character must be a letter</p></li>
376    /// <li>
377    /// <p>Cannot end with a hyphen or contain two consecutive hyphens</p></li>
378    /// </ul>
379    pub fn set_db_parameter_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
380        self.inner = self.inner.set_db_parameter_group_name(input);
381        self
382    }
383    /// <p>The name of the DB parameter group to associate with this DB instance. If this argument is omitted, the default DBParameterGroup for the specified engine is used.</p>
384    /// <p>Constraints:</p>
385    /// <ul>
386    /// <li>
387    /// <p>Must be 1 to 255 letters, numbers, or hyphens.</p></li>
388    /// <li>
389    /// <p>First character must be a letter</p></li>
390    /// <li>
391    /// <p>Cannot end with a hyphen or contain two consecutive hyphens</p></li>
392    /// </ul>
393    pub fn get_db_parameter_group_name(&self) -> &::std::option::Option<::std::string::String> {
394        self.inner.get_db_parameter_group_name()
395    }
396    /// <p>The number of days for which automated backups are retained.</p>
397    /// <p>Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p>
398    /// <p>Default: 1</p>
399    /// <p>Constraints:</p>
400    /// <ul>
401    /// <li>
402    /// <p>Must be a value from 0 to 35</p></li>
403    /// <li>
404    /// <p>Cannot be set to 0 if the DB instance is a source to Read Replicas</p></li>
405    /// </ul>
406    pub fn backup_retention_period(mut self, input: i32) -> Self {
407        self.inner = self.inner.backup_retention_period(input);
408        self
409    }
410    /// <p>The number of days for which automated backups are retained.</p>
411    /// <p>Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p>
412    /// <p>Default: 1</p>
413    /// <p>Constraints:</p>
414    /// <ul>
415    /// <li>
416    /// <p>Must be a value from 0 to 35</p></li>
417    /// <li>
418    /// <p>Cannot be set to 0 if the DB instance is a source to Read Replicas</p></li>
419    /// </ul>
420    pub fn set_backup_retention_period(mut self, input: ::std::option::Option<i32>) -> Self {
421        self.inner = self.inner.set_backup_retention_period(input);
422        self
423    }
424    /// <p>The number of days for which automated backups are retained.</p>
425    /// <p>Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p>
426    /// <p>Default: 1</p>
427    /// <p>Constraints:</p>
428    /// <ul>
429    /// <li>
430    /// <p>Must be a value from 0 to 35</p></li>
431    /// <li>
432    /// <p>Cannot be set to 0 if the DB instance is a source to Read Replicas</p></li>
433    /// </ul>
434    pub fn get_backup_retention_period(&self) -> &::std::option::Option<i32> {
435        self.inner.get_backup_retention_period()
436    }
437    /// <p>The daily time range during which automated backups are created.</p>
438    /// <p>Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p>
439    pub fn preferred_backup_window(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
440        self.inner = self.inner.preferred_backup_window(input.into());
441        self
442    }
443    /// <p>The daily time range during which automated backups are created.</p>
444    /// <p>Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p>
445    pub fn set_preferred_backup_window(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
446        self.inner = self.inner.set_preferred_backup_window(input);
447        self
448    }
449    /// <p>The daily time range during which automated backups are created.</p>
450    /// <p>Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p>
451    pub fn get_preferred_backup_window(&self) -> &::std::option::Option<::std::string::String> {
452        self.inner.get_preferred_backup_window()
453    }
454    /// <p>The port number on which the database accepts connections.</p>
455    /// <p>Not applicable. The port is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p>
456    /// <p>Default: <code>8182</code></p>
457    /// <p>Type: Integer</p>
458    pub fn port(mut self, input: i32) -> Self {
459        self.inner = self.inner.port(input);
460        self
461    }
462    /// <p>The port number on which the database accepts connections.</p>
463    /// <p>Not applicable. The port is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p>
464    /// <p>Default: <code>8182</code></p>
465    /// <p>Type: Integer</p>
466    pub fn set_port(mut self, input: ::std::option::Option<i32>) -> Self {
467        self.inner = self.inner.set_port(input);
468        self
469    }
470    /// <p>The port number on which the database accepts connections.</p>
471    /// <p>Not applicable. The port is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p>
472    /// <p>Default: <code>8182</code></p>
473    /// <p>Type: Integer</p>
474    pub fn get_port(&self) -> &::std::option::Option<i32> {
475        self.inner.get_port()
476    }
477    /// <p>Specifies if the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the MultiAZ parameter is set to true.</p>
478    pub fn multi_az(mut self, input: bool) -> Self {
479        self.inner = self.inner.multi_az(input);
480        self
481    }
482    /// <p>Specifies if the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the MultiAZ parameter is set to true.</p>
483    pub fn set_multi_az(mut self, input: ::std::option::Option<bool>) -> Self {
484        self.inner = self.inner.set_multi_az(input);
485        self
486    }
487    /// <p>Specifies if the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the MultiAZ parameter is set to true.</p>
488    pub fn get_multi_az(&self) -> &::std::option::Option<bool> {
489        self.inner.get_multi_az()
490    }
491    /// <p>The version number of the database engine to use. Currently, setting this parameter has no effect.</p>
492    pub fn engine_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
493        self.inner = self.inner.engine_version(input.into());
494        self
495    }
496    /// <p>The version number of the database engine to use. Currently, setting this parameter has no effect.</p>
497    pub fn set_engine_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
498        self.inner = self.inner.set_engine_version(input);
499        self
500    }
501    /// <p>The version number of the database engine to use. Currently, setting this parameter has no effect.</p>
502    pub fn get_engine_version(&self) -> &::std::option::Option<::std::string::String> {
503        self.inner.get_engine_version()
504    }
505    /// <p>Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window.</p>
506    /// <p>Default: <code>true</code></p>
507    pub fn auto_minor_version_upgrade(mut self, input: bool) -> Self {
508        self.inner = self.inner.auto_minor_version_upgrade(input);
509        self
510    }
511    /// <p>Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window.</p>
512    /// <p>Default: <code>true</code></p>
513    pub fn set_auto_minor_version_upgrade(mut self, input: ::std::option::Option<bool>) -> Self {
514        self.inner = self.inner.set_auto_minor_version_upgrade(input);
515        self
516    }
517    /// <p>Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window.</p>
518    /// <p>Default: <code>true</code></p>
519    pub fn get_auto_minor_version_upgrade(&self) -> &::std::option::Option<bool> {
520        self.inner.get_auto_minor_version_upgrade()
521    }
522    /// <p>License model information for this DB instance.</p>
523    /// <p>Valid values: <code>license-included</code> | <code>bring-your-own-license</code> | <code>general-public-license</code></p>
524    pub fn license_model(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
525        self.inner = self.inner.license_model(input.into());
526        self
527    }
528    /// <p>License model information for this DB instance.</p>
529    /// <p>Valid values: <code>license-included</code> | <code>bring-your-own-license</code> | <code>general-public-license</code></p>
530    pub fn set_license_model(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
531        self.inner = self.inner.set_license_model(input);
532        self
533    }
534    /// <p>License model information for this DB instance.</p>
535    /// <p>Valid values: <code>license-included</code> | <code>bring-your-own-license</code> | <code>general-public-license</code></p>
536    pub fn get_license_model(&self) -> &::std::option::Option<::std::string::String> {
537        self.inner.get_license_model()
538    }
539    /// <p>The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.</p>
540    pub fn iops(mut self, input: i32) -> Self {
541        self.inner = self.inner.iops(input);
542        self
543    }
544    /// <p>The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.</p>
545    pub fn set_iops(mut self, input: ::std::option::Option<i32>) -> Self {
546        self.inner = self.inner.set_iops(input);
547        self
548    }
549    /// <p>The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.</p>
550    pub fn get_iops(&self) -> &::std::option::Option<i32> {
551        self.inner.get_iops()
552    }
553    /// <p><i>(Not supported by Neptune)</i></p>
554    pub fn option_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
555        self.inner = self.inner.option_group_name(input.into());
556        self
557    }
558    /// <p><i>(Not supported by Neptune)</i></p>
559    pub fn set_option_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
560        self.inner = self.inner.set_option_group_name(input);
561        self
562    }
563    /// <p><i>(Not supported by Neptune)</i></p>
564    pub fn get_option_group_name(&self) -> &::std::option::Option<::std::string::String> {
565        self.inner.get_option_group_name()
566    }
567    /// <p><i>(Not supported by Neptune)</i></p>
568    pub fn character_set_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
569        self.inner = self.inner.character_set_name(input.into());
570        self
571    }
572    /// <p><i>(Not supported by Neptune)</i></p>
573    pub fn set_character_set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
574        self.inner = self.inner.set_character_set_name(input);
575        self
576    }
577    /// <p><i>(Not supported by Neptune)</i></p>
578    pub fn get_character_set_name(&self) -> &::std::option::Option<::std::string::String> {
579        self.inner.get_character_set_name()
580    }
581    /// <p>Indicates whether the DB instance is publicly accessible.</p>
582    /// <p>When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.</p>
583    /// <p>When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.</p>
584    pub fn publicly_accessible(mut self, input: bool) -> Self {
585        self.inner = self.inner.publicly_accessible(input);
586        self
587    }
588    /// <p>Indicates whether the DB instance is publicly accessible.</p>
589    /// <p>When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.</p>
590    /// <p>When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.</p>
591    pub fn set_publicly_accessible(mut self, input: ::std::option::Option<bool>) -> Self {
592        self.inner = self.inner.set_publicly_accessible(input);
593        self
594    }
595    /// <p>Indicates whether the DB instance is publicly accessible.</p>
596    /// <p>When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.</p>
597    /// <p>When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.</p>
598    pub fn get_publicly_accessible(&self) -> &::std::option::Option<bool> {
599        self.inner.get_publicly_accessible()
600    }
601    ///
602    /// Appends an item to `Tags`.
603    ///
604    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
605    ///
606    /// <p>The tags to assign to the new instance.</p>
607    pub fn tags(mut self, input: crate::types::Tag) -> Self {
608        self.inner = self.inner.tags(input);
609        self
610    }
611    /// <p>The tags to assign to the new instance.</p>
612    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
613        self.inner = self.inner.set_tags(input);
614        self
615    }
616    /// <p>The tags to assign to the new instance.</p>
617    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
618        self.inner.get_tags()
619    }
620    /// <p>The identifier of the DB cluster that the instance will belong to.</p>
621    /// <p>For information on creating a DB cluster, see <code>CreateDBCluster</code>.</p>
622    /// <p>Type: String</p>
623    pub fn db_cluster_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
624        self.inner = self.inner.db_cluster_identifier(input.into());
625        self
626    }
627    /// <p>The identifier of the DB cluster that the instance will belong to.</p>
628    /// <p>For information on creating a DB cluster, see <code>CreateDBCluster</code>.</p>
629    /// <p>Type: String</p>
630    pub fn set_db_cluster_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
631        self.inner = self.inner.set_db_cluster_identifier(input);
632        self
633    }
634    /// <p>The identifier of the DB cluster that the instance will belong to.</p>
635    /// <p>For information on creating a DB cluster, see <code>CreateDBCluster</code>.</p>
636    /// <p>Type: String</p>
637    pub fn get_db_cluster_identifier(&self) -> &::std::option::Option<::std::string::String> {
638        self.inner.get_db_cluster_identifier()
639    }
640    /// <p>Not applicable. In Neptune the storage type is managed at the DB Cluster level.</p>
641    pub fn storage_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
642        self.inner = self.inner.storage_type(input.into());
643        self
644    }
645    /// <p>Not applicable. In Neptune the storage type is managed at the DB Cluster level.</p>
646    pub fn set_storage_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
647        self.inner = self.inner.set_storage_type(input);
648        self
649    }
650    /// <p>Not applicable. In Neptune the storage type is managed at the DB Cluster level.</p>
651    pub fn get_storage_type(&self) -> &::std::option::Option<::std::string::String> {
652        self.inner.get_storage_type()
653    }
654    /// <p>The ARN from the key store with which to associate the instance for TDE encryption.</p>
655    pub fn tde_credential_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
656        self.inner = self.inner.tde_credential_arn(input.into());
657        self
658    }
659    /// <p>The ARN from the key store with which to associate the instance for TDE encryption.</p>
660    pub fn set_tde_credential_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
661        self.inner = self.inner.set_tde_credential_arn(input);
662        self
663    }
664    /// <p>The ARN from the key store with which to associate the instance for TDE encryption.</p>
665    pub fn get_tde_credential_arn(&self) -> &::std::option::Option<::std::string::String> {
666        self.inner.get_tde_credential_arn()
667    }
668    /// <p>The password for the given ARN from the key store in order to access the device.</p>
669    pub fn tde_credential_password(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
670        self.inner = self.inner.tde_credential_password(input.into());
671        self
672    }
673    /// <p>The password for the given ARN from the key store in order to access the device.</p>
674    pub fn set_tde_credential_password(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
675        self.inner = self.inner.set_tde_credential_password(input);
676        self
677    }
678    /// <p>The password for the given ARN from the key store in order to access the device.</p>
679    pub fn get_tde_credential_password(&self) -> &::std::option::Option<::std::string::String> {
680        self.inner.get_tde_credential_password()
681    }
682    /// <p>Specifies whether the DB instance is encrypted.</p>
683    /// <p>Not applicable. The encryption for DB instances is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p>
684    /// <p>Default: false</p>
685    pub fn storage_encrypted(mut self, input: bool) -> Self {
686        self.inner = self.inner.storage_encrypted(input);
687        self
688    }
689    /// <p>Specifies whether the DB instance is encrypted.</p>
690    /// <p>Not applicable. The encryption for DB instances is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p>
691    /// <p>Default: false</p>
692    pub fn set_storage_encrypted(mut self, input: ::std::option::Option<bool>) -> Self {
693        self.inner = self.inner.set_storage_encrypted(input);
694        self
695    }
696    /// <p>Specifies whether the DB instance is encrypted.</p>
697    /// <p>Not applicable. The encryption for DB instances is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p>
698    /// <p>Default: false</p>
699    pub fn get_storage_encrypted(&self) -> &::std::option::Option<bool> {
700        self.inner.get_storage_encrypted()
701    }
702    /// <p>The Amazon KMS key identifier for an encrypted DB instance.</p>
703    /// <p>The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same Amazon account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.</p>
704    /// <p>Not applicable. The KMS key identifier is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p>
705    /// <p>If the <code>StorageEncrypted</code> parameter is true, and you do not specify a value for the <code>KmsKeyId</code> parameter, then Amazon Neptune will use your default encryption key. 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>
706    pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
707        self.inner = self.inner.kms_key_id(input.into());
708        self
709    }
710    /// <p>The Amazon KMS key identifier for an encrypted DB instance.</p>
711    /// <p>The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same Amazon account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.</p>
712    /// <p>Not applicable. The KMS key identifier is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p>
713    /// <p>If the <code>StorageEncrypted</code> parameter is true, and you do not specify a value for the <code>KmsKeyId</code> parameter, then Amazon Neptune will use your default encryption key. 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>
714    pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
715        self.inner = self.inner.set_kms_key_id(input);
716        self
717    }
718    /// <p>The Amazon KMS key identifier for an encrypted DB instance.</p>
719    /// <p>The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same Amazon account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.</p>
720    /// <p>Not applicable. The KMS key identifier is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p>
721    /// <p>If the <code>StorageEncrypted</code> parameter is true, and you do not specify a value for the <code>KmsKeyId</code> parameter, then Amazon Neptune will use your default encryption key. 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>
722    pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
723        self.inner.get_kms_key_id()
724    }
725    /// <p>Specify the Active Directory Domain to create the instance in.</p>
726    pub fn domain(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
727        self.inner = self.inner.domain(input.into());
728        self
729    }
730    /// <p>Specify the Active Directory Domain to create the instance in.</p>
731    pub fn set_domain(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
732        self.inner = self.inner.set_domain(input);
733        self
734    }
735    /// <p>Specify the Active Directory Domain to create the instance in.</p>
736    pub fn get_domain(&self) -> &::std::option::Option<::std::string::String> {
737        self.inner.get_domain()
738    }
739    /// <p>True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.</p>
740    pub fn copy_tags_to_snapshot(mut self, input: bool) -> Self {
741        self.inner = self.inner.copy_tags_to_snapshot(input);
742        self
743    }
744    /// <p>True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.</p>
745    pub fn set_copy_tags_to_snapshot(mut self, input: ::std::option::Option<bool>) -> Self {
746        self.inner = self.inner.set_copy_tags_to_snapshot(input);
747        self
748    }
749    /// <p>True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.</p>
750    pub fn get_copy_tags_to_snapshot(&self) -> &::std::option::Option<bool> {
751        self.inner.get_copy_tags_to_snapshot()
752    }
753    /// <p>The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.</p>
754    /// <p>If <code>MonitoringRoleArn</code> is specified, then you must also set <code>MonitoringInterval</code> to a value other than 0.</p>
755    /// <p>Valid Values: <code>0, 1, 5, 10, 15, 30, 60</code></p>
756    pub fn monitoring_interval(mut self, input: i32) -> Self {
757        self.inner = self.inner.monitoring_interval(input);
758        self
759    }
760    /// <p>The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.</p>
761    /// <p>If <code>MonitoringRoleArn</code> is specified, then you must also set <code>MonitoringInterval</code> to a value other than 0.</p>
762    /// <p>Valid Values: <code>0, 1, 5, 10, 15, 30, 60</code></p>
763    pub fn set_monitoring_interval(mut self, input: ::std::option::Option<i32>) -> Self {
764        self.inner = self.inner.set_monitoring_interval(input);
765        self
766    }
767    /// <p>The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.</p>
768    /// <p>If <code>MonitoringRoleArn</code> is specified, then you must also set <code>MonitoringInterval</code> to a value other than 0.</p>
769    /// <p>Valid Values: <code>0, 1, 5, 10, 15, 30, 60</code></p>
770    pub fn get_monitoring_interval(&self) -> &::std::option::Option<i32> {
771        self.inner.get_monitoring_interval()
772    }
773    /// <p>The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, <code>arn:aws:iam:123456789012:role/emaccess</code>.</p>
774    /// <p>If <code>MonitoringInterval</code> is set to a value other than 0, then you must supply a <code>MonitoringRoleArn</code> value.</p>
775    pub fn monitoring_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
776        self.inner = self.inner.monitoring_role_arn(input.into());
777        self
778    }
779    /// <p>The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, <code>arn:aws:iam:123456789012:role/emaccess</code>.</p>
780    /// <p>If <code>MonitoringInterval</code> is set to a value other than 0, then you must supply a <code>MonitoringRoleArn</code> value.</p>
781    pub fn set_monitoring_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
782        self.inner = self.inner.set_monitoring_role_arn(input);
783        self
784    }
785    /// <p>The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, <code>arn:aws:iam:123456789012:role/emaccess</code>.</p>
786    /// <p>If <code>MonitoringInterval</code> is set to a value other than 0, then you must supply a <code>MonitoringRoleArn</code> value.</p>
787    pub fn get_monitoring_role_arn(&self) -> &::std::option::Option<::std::string::String> {
788        self.inner.get_monitoring_role_arn()
789    }
790    /// <p>Specify the name of the IAM role to be used when making API calls to the Directory Service.</p>
791    pub fn domain_iam_role_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
792        self.inner = self.inner.domain_iam_role_name(input.into());
793        self
794    }
795    /// <p>Specify the name of the IAM role to be used when making API calls to the Directory Service.</p>
796    pub fn set_domain_iam_role_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
797        self.inner = self.inner.set_domain_iam_role_name(input);
798        self
799    }
800    /// <p>Specify the name of the IAM role to be used when making API calls to the Directory Service.</p>
801    pub fn get_domain_iam_role_name(&self) -> &::std::option::Option<::std::string::String> {
802        self.inner.get_domain_iam_role_name()
803    }
804    /// <p>A value that specifies the order in which an Read Replica is promoted to the primary instance after a failure of the existing primary instance.</p>
805    /// <p>Default: 1</p>
806    /// <p>Valid Values: 0 - 15</p>
807    pub fn promotion_tier(mut self, input: i32) -> Self {
808        self.inner = self.inner.promotion_tier(input);
809        self
810    }
811    /// <p>A value that specifies the order in which an Read Replica is promoted to the primary instance after a failure of the existing primary instance.</p>
812    /// <p>Default: 1</p>
813    /// <p>Valid Values: 0 - 15</p>
814    pub fn set_promotion_tier(mut self, input: ::std::option::Option<i32>) -> Self {
815        self.inner = self.inner.set_promotion_tier(input);
816        self
817    }
818    /// <p>A value that specifies the order in which an Read Replica is promoted to the primary instance after a failure of the existing primary instance.</p>
819    /// <p>Default: 1</p>
820    /// <p>Valid Values: 0 - 15</p>
821    pub fn get_promotion_tier(&self) -> &::std::option::Option<i32> {
822        self.inner.get_promotion_tier()
823    }
824    /// <p>The time zone of the DB instance.</p>
825    pub fn timezone(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
826        self.inner = self.inner.timezone(input.into());
827        self
828    }
829    /// <p>The time zone of the DB instance.</p>
830    pub fn set_timezone(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
831        self.inner = self.inner.set_timezone(input);
832        self
833    }
834    /// <p>The time zone of the DB instance.</p>
835    pub fn get_timezone(&self) -> &::std::option::Option<::std::string::String> {
836        self.inner.get_timezone()
837    }
838    /// <p>Not supported by Neptune (ignored).</p>
839    pub fn enable_iam_database_authentication(mut self, input: bool) -> Self {
840        self.inner = self.inner.enable_iam_database_authentication(input);
841        self
842    }
843    /// <p>Not supported by Neptune (ignored).</p>
844    pub fn set_enable_iam_database_authentication(mut self, input: ::std::option::Option<bool>) -> Self {
845        self.inner = self.inner.set_enable_iam_database_authentication(input);
846        self
847    }
848    /// <p>Not supported by Neptune (ignored).</p>
849    pub fn get_enable_iam_database_authentication(&self) -> &::std::option::Option<bool> {
850        self.inner.get_enable_iam_database_authentication()
851    }
852    /// <p><i>(Not supported by Neptune)</i></p>
853    pub fn enable_performance_insights(mut self, input: bool) -> Self {
854        self.inner = self.inner.enable_performance_insights(input);
855        self
856    }
857    /// <p><i>(Not supported by Neptune)</i></p>
858    pub fn set_enable_performance_insights(mut self, input: ::std::option::Option<bool>) -> Self {
859        self.inner = self.inner.set_enable_performance_insights(input);
860        self
861    }
862    /// <p><i>(Not supported by Neptune)</i></p>
863    pub fn get_enable_performance_insights(&self) -> &::std::option::Option<bool> {
864        self.inner.get_enable_performance_insights()
865    }
866    /// <p><i>(Not supported by Neptune)</i></p>
867    pub fn performance_insights_kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
868        self.inner = self.inner.performance_insights_kms_key_id(input.into());
869        self
870    }
871    /// <p><i>(Not supported by Neptune)</i></p>
872    pub fn set_performance_insights_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
873        self.inner = self.inner.set_performance_insights_kms_key_id(input);
874        self
875    }
876    /// <p><i>(Not supported by Neptune)</i></p>
877    pub fn get_performance_insights_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
878        self.inner.get_performance_insights_kms_key_id()
879    }
880    ///
881    /// Appends an item to `EnableCloudwatchLogsExports`.
882    ///
883    /// To override the contents of this collection use [`set_enable_cloudwatch_logs_exports`](Self::set_enable_cloudwatch_logs_exports).
884    ///
885    /// <p>The list of log types that need to be enabled for exporting to CloudWatch Logs.</p>
886    pub fn enable_cloudwatch_logs_exports(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
887        self.inner = self.inner.enable_cloudwatch_logs_exports(input.into());
888        self
889    }
890    /// <p>The list of log types that need to be enabled for exporting to CloudWatch Logs.</p>
891    pub fn set_enable_cloudwatch_logs_exports(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
892        self.inner = self.inner.set_enable_cloudwatch_logs_exports(input);
893        self
894    }
895    /// <p>The list of log types that need to be enabled for exporting to CloudWatch Logs.</p>
896    pub fn get_enable_cloudwatch_logs_exports(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
897        self.inner.get_enable_cloudwatch_logs_exports()
898    }
899    /// <p>A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. See <a href="https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html">Deleting a DB Instance</a>.</p>
900    /// <p>DB instances in a DB cluster can be deleted even when deletion protection is enabled in their parent DB cluster.</p>
901    pub fn deletion_protection(mut self, input: bool) -> Self {
902        self.inner = self.inner.deletion_protection(input);
903        self
904    }
905    /// <p>A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. See <a href="https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html">Deleting a DB Instance</a>.</p>
906    /// <p>DB instances in a DB cluster can be deleted even when deletion protection is enabled in their parent DB cluster.</p>
907    pub fn set_deletion_protection(mut self, input: ::std::option::Option<bool>) -> Self {
908        self.inner = self.inner.set_deletion_protection(input);
909        self
910    }
911    /// <p>A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. See <a href="https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html">Deleting a DB Instance</a>.</p>
912    /// <p>DB instances in a DB cluster can be deleted even when deletion protection is enabled in their parent DB cluster.</p>
913    pub fn get_deletion_protection(&self) -> &::std::option::Option<bool> {
914        self.inner.get_deletion_protection()
915    }
916}