aws_sdk_neptune/operation/modify_db_instance/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::modify_db_instance::_modify_db_instance_output::ModifyDbInstanceOutputBuilder;
3
4pub use crate::operation::modify_db_instance::_modify_db_instance_input::ModifyDbInstanceInputBuilder;
5
6impl crate::operation::modify_db_instance::builders::ModifyDbInstanceInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::modify_db_instance::ModifyDbInstanceOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::modify_db_instance::ModifyDBInstanceError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.modify_db_instance();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `ModifyDBInstance`.
24///
25/// <p>Modifies settings for a DB instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. To learn what modifications you can make to your DB instance, call <code>DescribeValidDBInstanceModifications</code> before you call <code>ModifyDBInstance</code>.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct ModifyDBInstanceFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::modify_db_instance::builders::ModifyDbInstanceInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::modify_db_instance::ModifyDbInstanceOutput,
35        crate::operation::modify_db_instance::ModifyDBInstanceError,
36    > for ModifyDBInstanceFluentBuilder
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::modify_db_instance::ModifyDbInstanceOutput,
44            crate::operation::modify_db_instance::ModifyDBInstanceError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl ModifyDBInstanceFluentBuilder {
51    /// Creates a new `ModifyDBInstanceFluentBuilder`.
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 ModifyDBInstance as a reference.
60    pub fn as_input(&self) -> &crate::operation::modify_db_instance::builders::ModifyDbInstanceInputBuilder {
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::modify_db_instance::ModifyDbInstanceOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::modify_db_instance::ModifyDBInstanceError,
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::modify_db_instance::ModifyDBInstance::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::modify_db_instance::ModifyDBInstance::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::modify_db_instance::ModifyDbInstanceOutput,
97        crate::operation::modify_db_instance::ModifyDBInstanceError,
98        Self,
99    > {
100        crate::client::customize::CustomizableOperation::new(self)
101    }
102    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
103        self.set_config_override(::std::option::Option::Some(config_override.into()));
104        self
105    }
106
107    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
108        self.config_override = config_override;
109        self
110    }
111    /// <p>The DB instance identifier. This value is stored as a lowercase string.</p>
112    /// <p>Constraints:</p>
113    /// <ul>
114    /// <li>
115    /// <p>Must match the identifier of an existing DBInstance.</p></li>
116    /// </ul>
117    pub fn db_instance_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
118        self.inner = self.inner.db_instance_identifier(input.into());
119        self
120    }
121    /// <p>The DB instance identifier. This value is stored as a lowercase string.</p>
122    /// <p>Constraints:</p>
123    /// <ul>
124    /// <li>
125    /// <p>Must match the identifier of an existing DBInstance.</p></li>
126    /// </ul>
127    pub fn set_db_instance_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
128        self.inner = self.inner.set_db_instance_identifier(input);
129        self
130    }
131    /// <p>The DB instance identifier. This value is stored as a lowercase string.</p>
132    /// <p>Constraints:</p>
133    /// <ul>
134    /// <li>
135    /// <p>Must match the identifier of an existing DBInstance.</p></li>
136    /// </ul>
137    pub fn get_db_instance_identifier(&self) -> &::std::option::Option<::std::string::String> {
138        self.inner.get_db_instance_identifier()
139    }
140    /// <p>Not supported by Neptune.</p>
141    pub fn allocated_storage(mut self, input: i32) -> Self {
142        self.inner = self.inner.allocated_storage(input);
143        self
144    }
145    /// <p>Not supported by Neptune.</p>
146    pub fn set_allocated_storage(mut self, input: ::std::option::Option<i32>) -> Self {
147        self.inner = self.inner.set_allocated_storage(input);
148        self
149    }
150    /// <p>Not supported by Neptune.</p>
151    pub fn get_allocated_storage(&self) -> &::std::option::Option<i32> {
152        self.inner.get_allocated_storage()
153    }
154    /// <p>The new 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>
155    /// <p>If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless <code>ApplyImmediately</code> is specified as <code>true</code> for this request.</p>
156    /// <p>Default: Uses existing setting</p>
157    pub fn db_instance_class(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
158        self.inner = self.inner.db_instance_class(input.into());
159        self
160    }
161    /// <p>The new 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>
162    /// <p>If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless <code>ApplyImmediately</code> is specified as <code>true</code> for this request.</p>
163    /// <p>Default: Uses existing setting</p>
164    pub fn set_db_instance_class(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
165        self.inner = self.inner.set_db_instance_class(input);
166        self
167    }
168    /// <p>The new 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>
169    /// <p>If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless <code>ApplyImmediately</code> is specified as <code>true</code> for this request.</p>
170    /// <p>Default: Uses existing setting</p>
171    pub fn get_db_instance_class(&self) -> &::std::option::Option<::std::string::String> {
172        self.inner.get_db_instance_class()
173    }
174    /// <p>The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC.</p>
175    /// <p>Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify <code>true</code> for the <code>ApplyImmediately</code> parameter.</p>
176    /// <p>Constraints: If supplied, must match the name of an existing DBSubnetGroup.</p>
177    /// <p>Example: <code>mySubnetGroup</code></p>
178    pub fn db_subnet_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
179        self.inner = self.inner.db_subnet_group_name(input.into());
180        self
181    }
182    /// <p>The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC.</p>
183    /// <p>Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify <code>true</code> for the <code>ApplyImmediately</code> parameter.</p>
184    /// <p>Constraints: If supplied, must match the name of an existing DBSubnetGroup.</p>
185    /// <p>Example: <code>mySubnetGroup</code></p>
186    pub fn set_db_subnet_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
187        self.inner = self.inner.set_db_subnet_group_name(input);
188        self
189    }
190    /// <p>The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC.</p>
191    /// <p>Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify <code>true</code> for the <code>ApplyImmediately</code> parameter.</p>
192    /// <p>Constraints: If supplied, must match the name of an existing DBSubnetGroup.</p>
193    /// <p>Example: <code>mySubnetGroup</code></p>
194    pub fn get_db_subnet_group_name(&self) -> &::std::option::Option<::std::string::String> {
195        self.inner.get_db_subnet_group_name()
196    }
197    ///
198    /// Appends an item to `DBSecurityGroups`.
199    ///
200    /// To override the contents of this collection use [`set_db_security_groups`](Self::set_db_security_groups).
201    ///
202    /// <p>A list of DB security groups to authorize on this DB instance. Changing this setting doesn't result in an outage and the change is asynchronously applied as soon as possible.</p>
203    /// <p>Constraints:</p>
204    /// <ul>
205    /// <li>
206    /// <p>If supplied, must match existing DBSecurityGroups.</p></li>
207    /// </ul>
208    pub fn db_security_groups(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
209        self.inner = self.inner.db_security_groups(input.into());
210        self
211    }
212    /// <p>A list of DB security groups to authorize on this DB instance. Changing this setting doesn't result in an outage and the change is asynchronously applied as soon as possible.</p>
213    /// <p>Constraints:</p>
214    /// <ul>
215    /// <li>
216    /// <p>If supplied, must match existing DBSecurityGroups.</p></li>
217    /// </ul>
218    pub fn set_db_security_groups(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
219        self.inner = self.inner.set_db_security_groups(input);
220        self
221    }
222    /// <p>A list of DB security groups to authorize on this DB instance. Changing this setting doesn't result in an outage and the change is asynchronously applied as soon as possible.</p>
223    /// <p>Constraints:</p>
224    /// <ul>
225    /// <li>
226    /// <p>If supplied, must match existing DBSecurityGroups.</p></li>
227    /// </ul>
228    pub fn get_db_security_groups(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
229        self.inner.get_db_security_groups()
230    }
231    ///
232    /// Appends an item to `VpcSecurityGroupIds`.
233    ///
234    /// To override the contents of this collection use [`set_vpc_security_group_ids`](Self::set_vpc_security_group_ids).
235    ///
236    /// <p>A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.</p>
237    /// <p>Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see <code>ModifyDBCluster</code>.</p>
238    /// <p>Constraints:</p>
239    /// <ul>
240    /// <li>
241    /// <p>If supplied, must match existing VpcSecurityGroupIds.</p></li>
242    /// </ul>
243    pub fn vpc_security_group_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
244        self.inner = self.inner.vpc_security_group_ids(input.into());
245        self
246    }
247    /// <p>A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.</p>
248    /// <p>Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see <code>ModifyDBCluster</code>.</p>
249    /// <p>Constraints:</p>
250    /// <ul>
251    /// <li>
252    /// <p>If supplied, must match existing VpcSecurityGroupIds.</p></li>
253    /// </ul>
254    pub fn set_vpc_security_group_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
255        self.inner = self.inner.set_vpc_security_group_ids(input);
256        self
257    }
258    /// <p>A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.</p>
259    /// <p>Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see <code>ModifyDBCluster</code>.</p>
260    /// <p>Constraints:</p>
261    /// <ul>
262    /// <li>
263    /// <p>If supplied, must match existing VpcSecurityGroupIds.</p></li>
264    /// </ul>
265    pub fn get_vpc_security_group_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
266        self.inner.get_vpc_security_group_ids()
267    }
268    /// <p>Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the <code>PreferredMaintenanceWindow</code> setting for the DB instance.</p>
269    /// <p>If this parameter is set to <code>false</code>, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next call to <code>RebootDBInstance</code>, or the next failure reboot.</p>
270    /// <p>Default: <code>false</code></p>
271    pub fn apply_immediately(mut self, input: bool) -> Self {
272        self.inner = self.inner.apply_immediately(input);
273        self
274    }
275    /// <p>Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the <code>PreferredMaintenanceWindow</code> setting for the DB instance.</p>
276    /// <p>If this parameter is set to <code>false</code>, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next call to <code>RebootDBInstance</code>, or the next failure reboot.</p>
277    /// <p>Default: <code>false</code></p>
278    pub fn set_apply_immediately(mut self, input: ::std::option::Option<bool>) -> Self {
279        self.inner = self.inner.set_apply_immediately(input);
280        self
281    }
282    /// <p>Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the <code>PreferredMaintenanceWindow</code> setting for the DB instance.</p>
283    /// <p>If this parameter is set to <code>false</code>, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next call to <code>RebootDBInstance</code>, or the next failure reboot.</p>
284    /// <p>Default: <code>false</code></p>
285    pub fn get_apply_immediately(&self) -> &::std::option::Option<bool> {
286        self.inner.get_apply_immediately()
287    }
288    /// <p>Not supported by Neptune.</p>
289    pub fn master_user_password(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
290        self.inner = self.inner.master_user_password(input.into());
291        self
292    }
293    /// <p>Not supported by Neptune.</p>
294    pub fn set_master_user_password(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
295        self.inner = self.inner.set_master_user_password(input);
296        self
297    }
298    /// <p>Not supported by Neptune.</p>
299    pub fn get_master_user_password(&self) -> &::std::option::Option<::std::string::String> {
300        self.inner.get_master_user_password()
301    }
302    /// <p>The name of the DB parameter group to apply to the DB instance. Changing this setting doesn't result in an outage. The parameter group name itself is changed immediately, but the actual parameter changes are not applied until you reboot the instance without failover. The db instance will NOT be rebooted automatically and the parameter changes will NOT be applied during the next maintenance window.</p>
303    /// <p>Default: Uses existing setting</p>
304    /// <p>Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.</p>
305    pub fn db_parameter_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
306        self.inner = self.inner.db_parameter_group_name(input.into());
307        self
308    }
309    /// <p>The name of the DB parameter group to apply to the DB instance. Changing this setting doesn't result in an outage. The parameter group name itself is changed immediately, but the actual parameter changes are not applied until you reboot the instance without failover. The db instance will NOT be rebooted automatically and the parameter changes will NOT be applied during the next maintenance window.</p>
310    /// <p>Default: Uses existing setting</p>
311    /// <p>Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.</p>
312    pub fn set_db_parameter_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
313        self.inner = self.inner.set_db_parameter_group_name(input);
314        self
315    }
316    /// <p>The name of the DB parameter group to apply to the DB instance. Changing this setting doesn't result in an outage. The parameter group name itself is changed immediately, but the actual parameter changes are not applied until you reboot the instance without failover. The db instance will NOT be rebooted automatically and the parameter changes will NOT be applied during the next maintenance window.</p>
317    /// <p>Default: Uses existing setting</p>
318    /// <p>Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.</p>
319    pub fn get_db_parameter_group_name(&self) -> &::std::option::Option<::std::string::String> {
320        self.inner.get_db_parameter_group_name()
321    }
322    /// <p>Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see <code>ModifyDBCluster</code>.</p>
323    /// <p>Default: Uses existing setting</p>
324    pub fn backup_retention_period(mut self, input: i32) -> Self {
325        self.inner = self.inner.backup_retention_period(input);
326        self
327    }
328    /// <p>Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see <code>ModifyDBCluster</code>.</p>
329    /// <p>Default: Uses existing setting</p>
330    pub fn set_backup_retention_period(mut self, input: ::std::option::Option<i32>) -> Self {
331        self.inner = self.inner.set_backup_retention_period(input);
332        self
333    }
334    /// <p>Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see <code>ModifyDBCluster</code>.</p>
335    /// <p>Default: Uses existing setting</p>
336    pub fn get_backup_retention_period(&self) -> &::std::option::Option<i32> {
337        self.inner.get_backup_retention_period()
338    }
339    /// <p>The daily time range during which automated backups are created if automated backups are enabled.</p>
340    /// <p>Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see <code>ModifyDBCluster</code>.</p>
341    /// <p>Constraints:</p>
342    /// <ul>
343    /// <li>
344    /// <p>Must be in the format hh24:mi-hh24:mi</p></li>
345    /// <li>
346    /// <p>Must be in Universal Time Coordinated (UTC)</p></li>
347    /// <li>
348    /// <p>Must not conflict with the preferred maintenance window</p></li>
349    /// <li>
350    /// <p>Must be at least 30 minutes</p></li>
351    /// </ul>
352    pub fn preferred_backup_window(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
353        self.inner = self.inner.preferred_backup_window(input.into());
354        self
355    }
356    /// <p>The daily time range during which automated backups are created if automated backups are enabled.</p>
357    /// <p>Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see <code>ModifyDBCluster</code>.</p>
358    /// <p>Constraints:</p>
359    /// <ul>
360    /// <li>
361    /// <p>Must be in the format hh24:mi-hh24:mi</p></li>
362    /// <li>
363    /// <p>Must be in Universal Time Coordinated (UTC)</p></li>
364    /// <li>
365    /// <p>Must not conflict with the preferred maintenance window</p></li>
366    /// <li>
367    /// <p>Must be at least 30 minutes</p></li>
368    /// </ul>
369    pub fn set_preferred_backup_window(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
370        self.inner = self.inner.set_preferred_backup_window(input);
371        self
372    }
373    /// <p>The daily time range during which automated backups are created if automated backups are enabled.</p>
374    /// <p>Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see <code>ModifyDBCluster</code>.</p>
375    /// <p>Constraints:</p>
376    /// <ul>
377    /// <li>
378    /// <p>Must be in the format hh24:mi-hh24:mi</p></li>
379    /// <li>
380    /// <p>Must be in Universal Time Coordinated (UTC)</p></li>
381    /// <li>
382    /// <p>Must not conflict with the preferred maintenance window</p></li>
383    /// <li>
384    /// <p>Must be at least 30 minutes</p></li>
385    /// </ul>
386    pub fn get_preferred_backup_window(&self) -> &::std::option::Option<::std::string::String> {
387        self.inner.get_preferred_backup_window()
388    }
389    /// <p>The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter doesn't result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter will cause a reboot of the DB instance. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied.</p>
390    /// <p>Default: Uses existing setting</p>
391    /// <p>Format: ddd:hh24:mi-ddd:hh24:mi</p>
392    /// <p>Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun</p>
393    /// <p>Constraints: Must be at least 30 minutes</p>
394    pub fn preferred_maintenance_window(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
395        self.inner = self.inner.preferred_maintenance_window(input.into());
396        self
397    }
398    /// <p>The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter doesn't result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter will cause a reboot of the DB instance. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied.</p>
399    /// <p>Default: Uses existing setting</p>
400    /// <p>Format: ddd:hh24:mi-ddd:hh24:mi</p>
401    /// <p>Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun</p>
402    /// <p>Constraints: Must be at least 30 minutes</p>
403    pub fn set_preferred_maintenance_window(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
404        self.inner = self.inner.set_preferred_maintenance_window(input);
405        self
406    }
407    /// <p>The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter doesn't result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter will cause a reboot of the DB instance. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied.</p>
408    /// <p>Default: Uses existing setting</p>
409    /// <p>Format: ddd:hh24:mi-ddd:hh24:mi</p>
410    /// <p>Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun</p>
411    /// <p>Constraints: Must be at least 30 minutes</p>
412    pub fn get_preferred_maintenance_window(&self) -> &::std::option::Option<::std::string::String> {
413        self.inner.get_preferred_maintenance_window()
414    }
415    /// <p>Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter doesn't result in an outage and the change is applied during the next maintenance window unless the <code>ApplyImmediately</code> parameter is set to <code>true</code> for this request.</p>
416    pub fn multi_az(mut self, input: bool) -> Self {
417        self.inner = self.inner.multi_az(input);
418        self
419    }
420    /// <p>Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter doesn't result in an outage and the change is applied during the next maintenance window unless the <code>ApplyImmediately</code> parameter is set to <code>true</code> for this request.</p>
421    pub fn set_multi_az(mut self, input: ::std::option::Option<bool>) -> Self {
422        self.inner = self.inner.set_multi_az(input);
423        self
424    }
425    /// <p>Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter doesn't result in an outage and the change is applied during the next maintenance window unless the <code>ApplyImmediately</code> parameter is set to <code>true</code> for this request.</p>
426    pub fn get_multi_az(&self) -> &::std::option::Option<bool> {
427        self.inner.get_multi_az()
428    }
429    /// <p>The version number of the database engine to upgrade to. Currently, setting this parameter has no effect. To upgrade your database engine to the most recent release, use the <code>ApplyPendingMaintenanceAction</code> API.</p>
430    pub fn engine_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
431        self.inner = self.inner.engine_version(input.into());
432        self
433    }
434    /// <p>The version number of the database engine to upgrade to. Currently, setting this parameter has no effect. To upgrade your database engine to the most recent release, use the <code>ApplyPendingMaintenanceAction</code> API.</p>
435    pub fn set_engine_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
436        self.inner = self.inner.set_engine_version(input);
437        self
438    }
439    /// <p>The version number of the database engine to upgrade to. Currently, setting this parameter has no effect. To upgrade your database engine to the most recent release, use the <code>ApplyPendingMaintenanceAction</code> API.</p>
440    pub fn get_engine_version(&self) -> &::std::option::Option<::std::string::String> {
441        self.inner.get_engine_version()
442    }
443    /// <p>Indicates that major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.</p>
444    pub fn allow_major_version_upgrade(mut self, input: bool) -> Self {
445        self.inner = self.inner.allow_major_version_upgrade(input);
446        self
447    }
448    /// <p>Indicates that major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.</p>
449    pub fn set_allow_major_version_upgrade(mut self, input: ::std::option::Option<bool>) -> Self {
450        self.inner = self.inner.set_allow_major_version_upgrade(input);
451        self
452    }
453    /// <p>Indicates that major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.</p>
454    pub fn get_allow_major_version_upgrade(&self) -> &::std::option::Option<bool> {
455        self.inner.get_allow_major_version_upgrade()
456    }
457    /// <p>Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window. Changing this parameter doesn't result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to <code>true</code> during the maintenance window, and a newer minor version is available, and Neptune has enabled auto patching for that engine version.</p>
458    pub fn auto_minor_version_upgrade(mut self, input: bool) -> Self {
459        self.inner = self.inner.auto_minor_version_upgrade(input);
460        self
461    }
462    /// <p>Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window. Changing this parameter doesn't result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to <code>true</code> during the maintenance window, and a newer minor version is available, and Neptune has enabled auto patching for that engine version.</p>
463    pub fn set_auto_minor_version_upgrade(mut self, input: ::std::option::Option<bool>) -> Self {
464        self.inner = self.inner.set_auto_minor_version_upgrade(input);
465        self
466    }
467    /// <p>Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window. Changing this parameter doesn't result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to <code>true</code> during the maintenance window, and a newer minor version is available, and Neptune has enabled auto patching for that engine version.</p>
468    pub fn get_auto_minor_version_upgrade(&self) -> &::std::option::Option<bool> {
469        self.inner.get_auto_minor_version_upgrade()
470    }
471    /// <p>Not supported by Neptune.</p>
472    pub fn license_model(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
473        self.inner = self.inner.license_model(input.into());
474        self
475    }
476    /// <p>Not supported by Neptune.</p>
477    pub fn set_license_model(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
478        self.inner = self.inner.set_license_model(input);
479        self
480    }
481    /// <p>Not supported by Neptune.</p>
482    pub fn get_license_model(&self) -> &::std::option::Option<::std::string::String> {
483        self.inner.get_license_model()
484    }
485    /// <p>The new Provisioned IOPS (I/O operations per second) value for the instance.</p>
486    /// <p>Changing this setting doesn't result in an outage and the change is applied during the next maintenance window unless the <code>ApplyImmediately</code> parameter is set to <code>true</code> for this request.</p>
487    /// <p>Default: Uses existing setting</p>
488    pub fn iops(mut self, input: i32) -> Self {
489        self.inner = self.inner.iops(input);
490        self
491    }
492    /// <p>The new Provisioned IOPS (I/O operations per second) value for the instance.</p>
493    /// <p>Changing this setting doesn't result in an outage and the change is applied during the next maintenance window unless the <code>ApplyImmediately</code> parameter is set to <code>true</code> for this request.</p>
494    /// <p>Default: Uses existing setting</p>
495    pub fn set_iops(mut self, input: ::std::option::Option<i32>) -> Self {
496        self.inner = self.inner.set_iops(input);
497        self
498    }
499    /// <p>The new Provisioned IOPS (I/O operations per second) value for the instance.</p>
500    /// <p>Changing this setting doesn't result in an outage and the change is applied during the next maintenance window unless the <code>ApplyImmediately</code> parameter is set to <code>true</code> for this request.</p>
501    /// <p>Default: Uses existing setting</p>
502    pub fn get_iops(&self) -> &::std::option::Option<i32> {
503        self.inner.get_iops()
504    }
505    /// <p><i>(Not supported by Neptune)</i></p>
506    pub fn option_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
507        self.inner = self.inner.option_group_name(input.into());
508        self
509    }
510    /// <p><i>(Not supported by Neptune)</i></p>
511    pub fn set_option_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
512        self.inner = self.inner.set_option_group_name(input);
513        self
514    }
515    /// <p><i>(Not supported by Neptune)</i></p>
516    pub fn get_option_group_name(&self) -> &::std::option::Option<::std::string::String> {
517        self.inner.get_option_group_name()
518    }
519    /// <p>The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot will occur immediately if you set <code>Apply Immediately</code> to true, or will occur during the next maintenance window if <code>Apply Immediately</code> to false. This value is stored as a lowercase string.</p>
520    /// <p>Constraints:</p>
521    /// <ul>
522    /// <li>
523    /// <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p></li>
524    /// <li>
525    /// <p>The first character must be a letter.</p></li>
526    /// <li>
527    /// <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>
528    /// </ul>
529    /// <p>Example: <code>mydbinstance</code></p>
530    pub fn new_db_instance_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
531        self.inner = self.inner.new_db_instance_identifier(input.into());
532        self
533    }
534    /// <p>The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot will occur immediately if you set <code>Apply Immediately</code> to true, or will occur during the next maintenance window if <code>Apply Immediately</code> to false. This value is stored as a lowercase string.</p>
535    /// <p>Constraints:</p>
536    /// <ul>
537    /// <li>
538    /// <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p></li>
539    /// <li>
540    /// <p>The first character must be a letter.</p></li>
541    /// <li>
542    /// <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>
543    /// </ul>
544    /// <p>Example: <code>mydbinstance</code></p>
545    pub fn set_new_db_instance_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
546        self.inner = self.inner.set_new_db_instance_identifier(input);
547        self
548    }
549    /// <p>The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot will occur immediately if you set <code>Apply Immediately</code> to true, or will occur during the next maintenance window if <code>Apply Immediately</code> to false. This value is stored as a lowercase string.</p>
550    /// <p>Constraints:</p>
551    /// <ul>
552    /// <li>
553    /// <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p></li>
554    /// <li>
555    /// <p>The first character must be a letter.</p></li>
556    /// <li>
557    /// <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>
558    /// </ul>
559    /// <p>Example: <code>mydbinstance</code></p>
560    pub fn get_new_db_instance_identifier(&self) -> &::std::option::Option<::std::string::String> {
561        self.inner.get_new_db_instance_identifier()
562    }
563    /// <p>Not applicable. In Neptune the storage type is managed at the DB Cluster level.</p>
564    pub fn storage_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
565        self.inner = self.inner.storage_type(input.into());
566        self
567    }
568    /// <p>Not applicable. In Neptune the storage type is managed at the DB Cluster level.</p>
569    pub fn set_storage_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
570        self.inner = self.inner.set_storage_type(input);
571        self
572    }
573    /// <p>Not applicable. In Neptune the storage type is managed at the DB Cluster level.</p>
574    pub fn get_storage_type(&self) -> &::std::option::Option<::std::string::String> {
575        self.inner.get_storage_type()
576    }
577    /// <p>The ARN from the key store with which to associate the instance for TDE encryption.</p>
578    pub fn tde_credential_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
579        self.inner = self.inner.tde_credential_arn(input.into());
580        self
581    }
582    /// <p>The ARN from the key store with which to associate the instance for TDE encryption.</p>
583    pub fn set_tde_credential_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
584        self.inner = self.inner.set_tde_credential_arn(input);
585        self
586    }
587    /// <p>The ARN from the key store with which to associate the instance for TDE encryption.</p>
588    pub fn get_tde_credential_arn(&self) -> &::std::option::Option<::std::string::String> {
589        self.inner.get_tde_credential_arn()
590    }
591    /// <p>The password for the given ARN from the key store in order to access the device.</p>
592    pub fn tde_credential_password(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
593        self.inner = self.inner.tde_credential_password(input.into());
594        self
595    }
596    /// <p>The password for the given ARN from the key store in order to access the device.</p>
597    pub fn set_tde_credential_password(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
598        self.inner = self.inner.set_tde_credential_password(input);
599        self
600    }
601    /// <p>The password for the given ARN from the key store in order to access the device.</p>
602    pub fn get_tde_credential_password(&self) -> &::std::option::Option<::std::string::String> {
603        self.inner.get_tde_credential_password()
604    }
605    /// <p>Indicates the certificate that needs to be associated with the instance.</p>
606    pub fn ca_certificate_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
607        self.inner = self.inner.ca_certificate_identifier(input.into());
608        self
609    }
610    /// <p>Indicates the certificate that needs to be associated with the instance.</p>
611    pub fn set_ca_certificate_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
612        self.inner = self.inner.set_ca_certificate_identifier(input);
613        self
614    }
615    /// <p>Indicates the certificate that needs to be associated with the instance.</p>
616    pub fn get_ca_certificate_identifier(&self) -> &::std::option::Option<::std::string::String> {
617        self.inner.get_ca_certificate_identifier()
618    }
619    /// <p>Not supported.</p>
620    pub fn domain(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
621        self.inner = self.inner.domain(input.into());
622        self
623    }
624    /// <p>Not supported.</p>
625    pub fn set_domain(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
626        self.inner = self.inner.set_domain(input);
627        self
628    }
629    /// <p>Not supported.</p>
630    pub fn get_domain(&self) -> &::std::option::Option<::std::string::String> {
631        self.inner.get_domain()
632    }
633    /// <p>True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.</p>
634    pub fn copy_tags_to_snapshot(mut self, input: bool) -> Self {
635        self.inner = self.inner.copy_tags_to_snapshot(input);
636        self
637    }
638    /// <p>True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.</p>
639    pub fn set_copy_tags_to_snapshot(mut self, input: ::std::option::Option<bool>) -> Self {
640        self.inner = self.inner.set_copy_tags_to_snapshot(input);
641        self
642    }
643    /// <p>True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.</p>
644    pub fn get_copy_tags_to_snapshot(&self) -> &::std::option::Option<bool> {
645        self.inner.get_copy_tags_to_snapshot()
646    }
647    /// <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>
648    /// <p>If <code>MonitoringRoleArn</code> is specified, then you must also set <code>MonitoringInterval</code> to a value other than 0.</p>
649    /// <p>Valid Values: <code>0, 1, 5, 10, 15, 30, 60</code></p>
650    pub fn monitoring_interval(mut self, input: i32) -> Self {
651        self.inner = self.inner.monitoring_interval(input);
652        self
653    }
654    /// <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>
655    /// <p>If <code>MonitoringRoleArn</code> is specified, then you must also set <code>MonitoringInterval</code> to a value other than 0.</p>
656    /// <p>Valid Values: <code>0, 1, 5, 10, 15, 30, 60</code></p>
657    pub fn set_monitoring_interval(mut self, input: ::std::option::Option<i32>) -> Self {
658        self.inner = self.inner.set_monitoring_interval(input);
659        self
660    }
661    /// <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>
662    /// <p>If <code>MonitoringRoleArn</code> is specified, then you must also set <code>MonitoringInterval</code> to a value other than 0.</p>
663    /// <p>Valid Values: <code>0, 1, 5, 10, 15, 30, 60</code></p>
664    pub fn get_monitoring_interval(&self) -> &::std::option::Option<i32> {
665        self.inner.get_monitoring_interval()
666    }
667    /// <p>The port number on which the database accepts connections.</p>
668    /// <p>The value of the <code>DBPortNumber</code> parameter must not match any of the port values specified for options in the option group for the DB instance.</p>
669    /// <p>Your database will restart when you change the <code>DBPortNumber</code> value regardless of the value of the <code>ApplyImmediately</code> parameter.</p>
670    /// <p>Default: <code>8182</code></p>
671    pub fn db_port_number(mut self, input: i32) -> Self {
672        self.inner = self.inner.db_port_number(input);
673        self
674    }
675    /// <p>The port number on which the database accepts connections.</p>
676    /// <p>The value of the <code>DBPortNumber</code> parameter must not match any of the port values specified for options in the option group for the DB instance.</p>
677    /// <p>Your database will restart when you change the <code>DBPortNumber</code> value regardless of the value of the <code>ApplyImmediately</code> parameter.</p>
678    /// <p>Default: <code>8182</code></p>
679    pub fn set_db_port_number(mut self, input: ::std::option::Option<i32>) -> Self {
680        self.inner = self.inner.set_db_port_number(input);
681        self
682    }
683    /// <p>The port number on which the database accepts connections.</p>
684    /// <p>The value of the <code>DBPortNumber</code> parameter must not match any of the port values specified for options in the option group for the DB instance.</p>
685    /// <p>Your database will restart when you change the <code>DBPortNumber</code> value regardless of the value of the <code>ApplyImmediately</code> parameter.</p>
686    /// <p>Default: <code>8182</code></p>
687    pub fn get_db_port_number(&self) -> &::std::option::Option<i32> {
688        self.inner.get_db_port_number()
689    }
690    /// <p>This flag should no longer be used.</p>
691    #[deprecated]
692    pub fn publicly_accessible(mut self, input: bool) -> Self {
693        self.inner = self.inner.publicly_accessible(input);
694        self
695    }
696    /// <p>This flag should no longer be used.</p>
697    #[deprecated]
698    pub fn set_publicly_accessible(mut self, input: ::std::option::Option<bool>) -> Self {
699        self.inner = self.inner.set_publicly_accessible(input);
700        self
701    }
702    /// <p>This flag should no longer be used.</p>
703    #[deprecated]
704    pub fn get_publicly_accessible(&self) -> &::std::option::Option<bool> {
705        self.inner.get_publicly_accessible()
706    }
707    /// <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>
708    /// <p>If <code>MonitoringInterval</code> is set to a value other than 0, then you must supply a <code>MonitoringRoleArn</code> value.</p>
709    pub fn monitoring_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
710        self.inner = self.inner.monitoring_role_arn(input.into());
711        self
712    }
713    /// <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>
714    /// <p>If <code>MonitoringInterval</code> is set to a value other than 0, then you must supply a <code>MonitoringRoleArn</code> value.</p>
715    pub fn set_monitoring_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
716        self.inner = self.inner.set_monitoring_role_arn(input);
717        self
718    }
719    /// <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>
720    /// <p>If <code>MonitoringInterval</code> is set to a value other than 0, then you must supply a <code>MonitoringRoleArn</code> value.</p>
721    pub fn get_monitoring_role_arn(&self) -> &::std::option::Option<::std::string::String> {
722        self.inner.get_monitoring_role_arn()
723    }
724    /// <p>Not supported</p>
725    pub fn domain_iam_role_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
726        self.inner = self.inner.domain_iam_role_name(input.into());
727        self
728    }
729    /// <p>Not supported</p>
730    pub fn set_domain_iam_role_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
731        self.inner = self.inner.set_domain_iam_role_name(input);
732        self
733    }
734    /// <p>Not supported</p>
735    pub fn get_domain_iam_role_name(&self) -> &::std::option::Option<::std::string::String> {
736        self.inner.get_domain_iam_role_name()
737    }
738    /// <p>A value that specifies the order in which a Read Replica is promoted to the primary instance after a failure of the existing primary instance.</p>
739    /// <p>Default: 1</p>
740    /// <p>Valid Values: 0 - 15</p>
741    pub fn promotion_tier(mut self, input: i32) -> Self {
742        self.inner = self.inner.promotion_tier(input);
743        self
744    }
745    /// <p>A value that specifies the order in which a Read Replica is promoted to the primary instance after a failure of the existing primary instance.</p>
746    /// <p>Default: 1</p>
747    /// <p>Valid Values: 0 - 15</p>
748    pub fn set_promotion_tier(mut self, input: ::std::option::Option<i32>) -> Self {
749        self.inner = self.inner.set_promotion_tier(input);
750        self
751    }
752    /// <p>A value that specifies the order in which a Read Replica is promoted to the primary instance after a failure of the existing primary instance.</p>
753    /// <p>Default: 1</p>
754    /// <p>Valid Values: 0 - 15</p>
755    pub fn get_promotion_tier(&self) -> &::std::option::Option<i32> {
756        self.inner.get_promotion_tier()
757    }
758    /// <p>True to enable mapping of Amazon Identity and Access Management (IAM) accounts to database accounts, and otherwise false.</p>
759    /// <p>You can enable IAM database authentication for the following database engines</p>
760    /// <p>Not applicable. Mapping Amazon IAM accounts to database accounts is managed by the DB cluster. For more information, see <code>ModifyDBCluster</code>.</p>
761    /// <p>Default: <code>false</code></p>
762    pub fn enable_iam_database_authentication(mut self, input: bool) -> Self {
763        self.inner = self.inner.enable_iam_database_authentication(input);
764        self
765    }
766    /// <p>True to enable mapping of Amazon Identity and Access Management (IAM) accounts to database accounts, and otherwise false.</p>
767    /// <p>You can enable IAM database authentication for the following database engines</p>
768    /// <p>Not applicable. Mapping Amazon IAM accounts to database accounts is managed by the DB cluster. For more information, see <code>ModifyDBCluster</code>.</p>
769    /// <p>Default: <code>false</code></p>
770    pub fn set_enable_iam_database_authentication(mut self, input: ::std::option::Option<bool>) -> Self {
771        self.inner = self.inner.set_enable_iam_database_authentication(input);
772        self
773    }
774    /// <p>True to enable mapping of Amazon Identity and Access Management (IAM) accounts to database accounts, and otherwise false.</p>
775    /// <p>You can enable IAM database authentication for the following database engines</p>
776    /// <p>Not applicable. Mapping Amazon IAM accounts to database accounts is managed by the DB cluster. For more information, see <code>ModifyDBCluster</code>.</p>
777    /// <p>Default: <code>false</code></p>
778    pub fn get_enable_iam_database_authentication(&self) -> &::std::option::Option<bool> {
779        self.inner.get_enable_iam_database_authentication()
780    }
781    /// <p><i>(Not supported by Neptune)</i></p>
782    pub fn enable_performance_insights(mut self, input: bool) -> Self {
783        self.inner = self.inner.enable_performance_insights(input);
784        self
785    }
786    /// <p><i>(Not supported by Neptune)</i></p>
787    pub fn set_enable_performance_insights(mut self, input: ::std::option::Option<bool>) -> Self {
788        self.inner = self.inner.set_enable_performance_insights(input);
789        self
790    }
791    /// <p><i>(Not supported by Neptune)</i></p>
792    pub fn get_enable_performance_insights(&self) -> &::std::option::Option<bool> {
793        self.inner.get_enable_performance_insights()
794    }
795    /// <p><i>(Not supported by Neptune)</i></p>
796    pub fn performance_insights_kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
797        self.inner = self.inner.performance_insights_kms_key_id(input.into());
798        self
799    }
800    /// <p><i>(Not supported by Neptune)</i></p>
801    pub fn set_performance_insights_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
802        self.inner = self.inner.set_performance_insights_kms_key_id(input);
803        self
804    }
805    /// <p><i>(Not supported by Neptune)</i></p>
806    pub fn get_performance_insights_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
807        self.inner.get_performance_insights_kms_key_id()
808    }
809    /// <p>The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster.</p>
810    pub fn cloudwatch_logs_export_configuration(mut self, input: crate::types::CloudwatchLogsExportConfiguration) -> Self {
811        self.inner = self.inner.cloudwatch_logs_export_configuration(input);
812        self
813    }
814    /// <p>The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster.</p>
815    pub fn set_cloudwatch_logs_export_configuration(mut self, input: ::std::option::Option<crate::types::CloudwatchLogsExportConfiguration>) -> Self {
816        self.inner = self.inner.set_cloudwatch_logs_export_configuration(input);
817        self
818    }
819    /// <p>The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster.</p>
820    pub fn get_cloudwatch_logs_export_configuration(&self) -> &::std::option::Option<crate::types::CloudwatchLogsExportConfiguration> {
821        self.inner.get_cloudwatch_logs_export_configuration()
822    }
823    /// <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>
824    pub fn deletion_protection(mut self, input: bool) -> Self {
825        self.inner = self.inner.deletion_protection(input);
826        self
827    }
828    /// <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>
829    pub fn set_deletion_protection(mut self, input: ::std::option::Option<bool>) -> Self {
830        self.inner = self.inner.set_deletion_protection(input);
831        self
832    }
833    /// <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>
834    pub fn get_deletion_protection(&self) -> &::std::option::Option<bool> {
835        self.inner.get_deletion_protection()
836    }
837}