aws_sdk_odb/operation/create_cloud_vm_cluster/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_cloud_vm_cluster::_create_cloud_vm_cluster_output::CreateCloudVmClusterOutputBuilder;
3
4pub use crate::operation::create_cloud_vm_cluster::_create_cloud_vm_cluster_input::CreateCloudVmClusterInputBuilder;
5
6impl crate::operation::create_cloud_vm_cluster::builders::CreateCloudVmClusterInputBuilder {
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_cloud_vm_cluster::CreateCloudVmClusterOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_cloud_vm_cluster::CreateCloudVmClusterError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_cloud_vm_cluster();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateCloudVmCluster`.
24///
25/// <p>Creates a VM cluster on the specified Exadata infrastructure.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateCloudVmClusterFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::create_cloud_vm_cluster::builders::CreateCloudVmClusterInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::create_cloud_vm_cluster::CreateCloudVmClusterOutput,
35        crate::operation::create_cloud_vm_cluster::CreateCloudVmClusterError,
36    > for CreateCloudVmClusterFluentBuilder
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_cloud_vm_cluster::CreateCloudVmClusterOutput,
44            crate::operation::create_cloud_vm_cluster::CreateCloudVmClusterError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl CreateCloudVmClusterFluentBuilder {
51    /// Creates a new `CreateCloudVmClusterFluentBuilder`.
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 CreateCloudVmCluster as a reference.
60    pub fn as_input(&self) -> &crate::operation::create_cloud_vm_cluster::builders::CreateCloudVmClusterInputBuilder {
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_cloud_vm_cluster::CreateCloudVmClusterOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::create_cloud_vm_cluster::CreateCloudVmClusterError,
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_cloud_vm_cluster::CreateCloudVmCluster::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::create_cloud_vm_cluster::CreateCloudVmCluster::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_cloud_vm_cluster::CreateCloudVmClusterOutput,
97        crate::operation::create_cloud_vm_cluster::CreateCloudVmClusterError,
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 unique identifier of the Exadata infrastructure for this VM cluster.</p>
112    pub fn cloud_exadata_infrastructure_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113        self.inner = self.inner.cloud_exadata_infrastructure_id(input.into());
114        self
115    }
116    /// <p>The unique identifier of the Exadata infrastructure for this VM cluster.</p>
117    pub fn set_cloud_exadata_infrastructure_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118        self.inner = self.inner.set_cloud_exadata_infrastructure_id(input);
119        self
120    }
121    /// <p>The unique identifier of the Exadata infrastructure for this VM cluster.</p>
122    pub fn get_cloud_exadata_infrastructure_id(&self) -> &::std::option::Option<::std::string::String> {
123        self.inner.get_cloud_exadata_infrastructure_id()
124    }
125    /// <p>The number of CPU cores to enable on the VM cluster.</p>
126    pub fn cpu_core_count(mut self, input: i32) -> Self {
127        self.inner = self.inner.cpu_core_count(input);
128        self
129    }
130    /// <p>The number of CPU cores to enable on the VM cluster.</p>
131    pub fn set_cpu_core_count(mut self, input: ::std::option::Option<i32>) -> Self {
132        self.inner = self.inner.set_cpu_core_count(input);
133        self
134    }
135    /// <p>The number of CPU cores to enable on the VM cluster.</p>
136    pub fn get_cpu_core_count(&self) -> &::std::option::Option<i32> {
137        self.inner.get_cpu_core_count()
138    }
139    /// <p>A user-friendly name for the VM cluster.</p>
140    pub fn display_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141        self.inner = self.inner.display_name(input.into());
142        self
143    }
144    /// <p>A user-friendly name for the VM cluster.</p>
145    pub fn set_display_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146        self.inner = self.inner.set_display_name(input);
147        self
148    }
149    /// <p>A user-friendly name for the VM cluster.</p>
150    pub fn get_display_name(&self) -> &::std::option::Option<::std::string::String> {
151        self.inner.get_display_name()
152    }
153    /// <p>A valid software version of Oracle Grid Infrastructure (GI). To get the list of valid values, use the <code>ListGiVersions</code> operation and specify the shape of the Exadata infrastructure.</p>
154    /// <p>Example: <code>19.0.0.0</code></p>
155    pub fn gi_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
156        self.inner = self.inner.gi_version(input.into());
157        self
158    }
159    /// <p>A valid software version of Oracle Grid Infrastructure (GI). To get the list of valid values, use the <code>ListGiVersions</code> operation and specify the shape of the Exadata infrastructure.</p>
160    /// <p>Example: <code>19.0.0.0</code></p>
161    pub fn set_gi_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
162        self.inner = self.inner.set_gi_version(input);
163        self
164    }
165    /// <p>A valid software version of Oracle Grid Infrastructure (GI). To get the list of valid values, use the <code>ListGiVersions</code> operation and specify the shape of the Exadata infrastructure.</p>
166    /// <p>Example: <code>19.0.0.0</code></p>
167    pub fn get_gi_version(&self) -> &::std::option::Option<::std::string::String> {
168        self.inner.get_gi_version()
169    }
170    /// <p>The host name for the VM cluster.</p>
171    /// <p>Constraints:</p>
172    /// <ul>
173    /// <li>
174    /// <p>Can't be "localhost" or "hostname".</p></li>
175    /// <li>
176    /// <p>Can't contain "-version".</p></li>
177    /// <li>
178    /// <p>The maximum length of the combined hostname and domain is 63 characters.</p></li>
179    /// <li>
180    /// <p>The hostname must be unique within the subnet.</p></li>
181    /// </ul>
182    pub fn hostname(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
183        self.inner = self.inner.hostname(input.into());
184        self
185    }
186    /// <p>The host name for the VM cluster.</p>
187    /// <p>Constraints:</p>
188    /// <ul>
189    /// <li>
190    /// <p>Can't be "localhost" or "hostname".</p></li>
191    /// <li>
192    /// <p>Can't contain "-version".</p></li>
193    /// <li>
194    /// <p>The maximum length of the combined hostname and domain is 63 characters.</p></li>
195    /// <li>
196    /// <p>The hostname must be unique within the subnet.</p></li>
197    /// </ul>
198    pub fn set_hostname(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
199        self.inner = self.inner.set_hostname(input);
200        self
201    }
202    /// <p>The host name for the VM cluster.</p>
203    /// <p>Constraints:</p>
204    /// <ul>
205    /// <li>
206    /// <p>Can't be "localhost" or "hostname".</p></li>
207    /// <li>
208    /// <p>Can't contain "-version".</p></li>
209    /// <li>
210    /// <p>The maximum length of the combined hostname and domain is 63 characters.</p></li>
211    /// <li>
212    /// <p>The hostname must be unique within the subnet.</p></li>
213    /// </ul>
214    pub fn get_hostname(&self) -> &::std::option::Option<::std::string::String> {
215        self.inner.get_hostname()
216    }
217    ///
218    /// Appends an item to `sshPublicKeys`.
219    ///
220    /// To override the contents of this collection use [`set_ssh_public_keys`](Self::set_ssh_public_keys).
221    ///
222    /// <p>The public key portion of one or more key pairs used for SSH access to the VM cluster.</p>
223    pub fn ssh_public_keys(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
224        self.inner = self.inner.ssh_public_keys(input.into());
225        self
226    }
227    /// <p>The public key portion of one or more key pairs used for SSH access to the VM cluster.</p>
228    pub fn set_ssh_public_keys(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
229        self.inner = self.inner.set_ssh_public_keys(input);
230        self
231    }
232    /// <p>The public key portion of one or more key pairs used for SSH access to the VM cluster.</p>
233    pub fn get_ssh_public_keys(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
234        self.inner.get_ssh_public_keys()
235    }
236    /// <p>The unique identifier of the ODB network for the VM cluster.</p>
237    pub fn odb_network_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
238        self.inner = self.inner.odb_network_id(input.into());
239        self
240    }
241    /// <p>The unique identifier of the ODB network for the VM cluster.</p>
242    pub fn set_odb_network_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
243        self.inner = self.inner.set_odb_network_id(input);
244        self
245    }
246    /// <p>The unique identifier of the ODB network for the VM cluster.</p>
247    pub fn get_odb_network_id(&self) -> &::std::option::Option<::std::string::String> {
248        self.inner.get_odb_network_id()
249    }
250    /// <p>A name for the Grid Infrastructure cluster. The name isn't case sensitive.</p>
251    pub fn cluster_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
252        self.inner = self.inner.cluster_name(input.into());
253        self
254    }
255    /// <p>A name for the Grid Infrastructure cluster. The name isn't case sensitive.</p>
256    pub fn set_cluster_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
257        self.inner = self.inner.set_cluster_name(input);
258        self
259    }
260    /// <p>A name for the Grid Infrastructure cluster. The name isn't case sensitive.</p>
261    pub fn get_cluster_name(&self) -> &::std::option::Option<::std::string::String> {
262        self.inner.get_cluster_name()
263    }
264    /// <p>The set of preferences for the various diagnostic collection options for the VM cluster.</p>
265    pub fn data_collection_options(mut self, input: crate::types::DataCollectionOptions) -> Self {
266        self.inner = self.inner.data_collection_options(input);
267        self
268    }
269    /// <p>The set of preferences for the various diagnostic collection options for the VM cluster.</p>
270    pub fn set_data_collection_options(mut self, input: ::std::option::Option<crate::types::DataCollectionOptions>) -> Self {
271        self.inner = self.inner.set_data_collection_options(input);
272        self
273    }
274    /// <p>The set of preferences for the various diagnostic collection options for the VM cluster.</p>
275    pub fn get_data_collection_options(&self) -> &::std::option::Option<crate::types::DataCollectionOptions> {
276        self.inner.get_data_collection_options()
277    }
278    /// <p>The size of the data disk group, in terabytes (TBs), to allocate for the VM cluster.</p>
279    pub fn data_storage_size_in_tbs(mut self, input: f64) -> Self {
280        self.inner = self.inner.data_storage_size_in_tbs(input);
281        self
282    }
283    /// <p>The size of the data disk group, in terabytes (TBs), to allocate for the VM cluster.</p>
284    pub fn set_data_storage_size_in_tbs(mut self, input: ::std::option::Option<f64>) -> Self {
285        self.inner = self.inner.set_data_storage_size_in_tbs(input);
286        self
287    }
288    /// <p>The size of the data disk group, in terabytes (TBs), to allocate for the VM cluster.</p>
289    pub fn get_data_storage_size_in_tbs(&self) -> &::std::option::Option<f64> {
290        self.inner.get_data_storage_size_in_tbs()
291    }
292    /// <p>The amount of local node storage, in gigabytes (GBs), to allocate for the VM cluster.</p>
293    pub fn db_node_storage_size_in_gbs(mut self, input: i32) -> Self {
294        self.inner = self.inner.db_node_storage_size_in_gbs(input);
295        self
296    }
297    /// <p>The amount of local node storage, in gigabytes (GBs), to allocate for the VM cluster.</p>
298    pub fn set_db_node_storage_size_in_gbs(mut self, input: ::std::option::Option<i32>) -> Self {
299        self.inner = self.inner.set_db_node_storage_size_in_gbs(input);
300        self
301    }
302    /// <p>The amount of local node storage, in gigabytes (GBs), to allocate for the VM cluster.</p>
303    pub fn get_db_node_storage_size_in_gbs(&self) -> &::std::option::Option<i32> {
304        self.inner.get_db_node_storage_size_in_gbs()
305    }
306    ///
307    /// Appends an item to `dbServers`.
308    ///
309    /// To override the contents of this collection use [`set_db_servers`](Self::set_db_servers).
310    ///
311    /// <p>The list of database servers for the VM cluster.</p>
312    pub fn db_servers(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
313        self.inner = self.inner.db_servers(input.into());
314        self
315    }
316    /// <p>The list of database servers for the VM cluster.</p>
317    pub fn set_db_servers(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
318        self.inner = self.inner.set_db_servers(input);
319        self
320    }
321    /// <p>The list of database servers for the VM cluster.</p>
322    pub fn get_db_servers(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
323        self.inner.get_db_servers()
324    }
325    ///
326    /// Adds a key-value pair to `tags`.
327    ///
328    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
329    ///
330    /// <p>The list of resource tags to apply to the VM cluster.</p>
331    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
332        self.inner = self.inner.tags(k.into(), v.into());
333        self
334    }
335    /// <p>The list of resource tags to apply to the VM cluster.</p>
336    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
337        self.inner = self.inner.set_tags(input);
338        self
339    }
340    /// <p>The list of resource tags to apply to the VM cluster.</p>
341    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
342        self.inner.get_tags()
343    }
344    /// <p>Specifies whether to enable database backups to local Exadata storage for the VM cluster.</p>
345    pub fn is_local_backup_enabled(mut self, input: bool) -> Self {
346        self.inner = self.inner.is_local_backup_enabled(input);
347        self
348    }
349    /// <p>Specifies whether to enable database backups to local Exadata storage for the VM cluster.</p>
350    pub fn set_is_local_backup_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
351        self.inner = self.inner.set_is_local_backup_enabled(input);
352        self
353    }
354    /// <p>Specifies whether to enable database backups to local Exadata storage for the VM cluster.</p>
355    pub fn get_is_local_backup_enabled(&self) -> &::std::option::Option<bool> {
356        self.inner.get_is_local_backup_enabled()
357    }
358    /// <p>Specifies whether to create a sparse disk group for the VM cluster.</p>
359    pub fn is_sparse_diskgroup_enabled(mut self, input: bool) -> Self {
360        self.inner = self.inner.is_sparse_diskgroup_enabled(input);
361        self
362    }
363    /// <p>Specifies whether to create a sparse disk group for the VM cluster.</p>
364    pub fn set_is_sparse_diskgroup_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
365        self.inner = self.inner.set_is_sparse_diskgroup_enabled(input);
366        self
367    }
368    /// <p>Specifies whether to create a sparse disk group for the VM cluster.</p>
369    pub fn get_is_sparse_diskgroup_enabled(&self) -> &::std::option::Option<bool> {
370        self.inner.get_is_sparse_diskgroup_enabled()
371    }
372    /// <p>The Oracle license model to apply to the VM cluster.</p>
373    /// <p>Default: <code>LICENSE_INCLUDED</code></p>
374    pub fn license_model(mut self, input: crate::types::LicenseModel) -> Self {
375        self.inner = self.inner.license_model(input);
376        self
377    }
378    /// <p>The Oracle license model to apply to the VM cluster.</p>
379    /// <p>Default: <code>LICENSE_INCLUDED</code></p>
380    pub fn set_license_model(mut self, input: ::std::option::Option<crate::types::LicenseModel>) -> Self {
381        self.inner = self.inner.set_license_model(input);
382        self
383    }
384    /// <p>The Oracle license model to apply to the VM cluster.</p>
385    /// <p>Default: <code>LICENSE_INCLUDED</code></p>
386    pub fn get_license_model(&self) -> &::std::option::Option<crate::types::LicenseModel> {
387        self.inner.get_license_model()
388    }
389    /// <p>The amount of memory, in gigabytes (GBs), to allocate for the VM cluster.</p>
390    pub fn memory_size_in_gbs(mut self, input: i32) -> Self {
391        self.inner = self.inner.memory_size_in_gbs(input);
392        self
393    }
394    /// <p>The amount of memory, in gigabytes (GBs), to allocate for the VM cluster.</p>
395    pub fn set_memory_size_in_gbs(mut self, input: ::std::option::Option<i32>) -> Self {
396        self.inner = self.inner.set_memory_size_in_gbs(input);
397        self
398    }
399    /// <p>The amount of memory, in gigabytes (GBs), to allocate for the VM cluster.</p>
400    pub fn get_memory_size_in_gbs(&self) -> &::std::option::Option<i32> {
401        self.inner.get_memory_size_in_gbs()
402    }
403    /// <p>The version of the operating system of the image for the VM cluster.</p>
404    pub fn system_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
405        self.inner = self.inner.system_version(input.into());
406        self
407    }
408    /// <p>The version of the operating system of the image for the VM cluster.</p>
409    pub fn set_system_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
410        self.inner = self.inner.set_system_version(input);
411        self
412    }
413    /// <p>The version of the operating system of the image for the VM cluster.</p>
414    pub fn get_system_version(&self) -> &::std::option::Option<::std::string::String> {
415        self.inner.get_system_version()
416    }
417    /// <p>The time zone for the VM cluster. For a list of valid values for time zone, you can check the options in the console.</p>
418    /// <p>Default: UTC</p>
419    pub fn time_zone(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
420        self.inner = self.inner.time_zone(input.into());
421        self
422    }
423    /// <p>The time zone for the VM cluster. For a list of valid values for time zone, you can check the options in the console.</p>
424    /// <p>Default: UTC</p>
425    pub fn set_time_zone(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
426        self.inner = self.inner.set_time_zone(input);
427        self
428    }
429    /// <p>The time zone for the VM cluster. For a list of valid values for time zone, you can check the options in the console.</p>
430    /// <p>Default: UTC</p>
431    pub fn get_time_zone(&self) -> &::std::option::Option<::std::string::String> {
432        self.inner.get_time_zone()
433    }
434    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency. The client token is valid for up to 24 hours after it's first used.</p>
435    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
436        self.inner = self.inner.client_token(input.into());
437        self
438    }
439    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency. The client token is valid for up to 24 hours after it's first used.</p>
440    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
441        self.inner = self.inner.set_client_token(input);
442        self
443    }
444    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency. The client token is valid for up to 24 hours after it's first used.</p>
445    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
446        self.inner.get_client_token()
447    }
448    /// <p>The port number for TCP connections to the single client access name (SCAN) listener.</p>
449    /// <p>Valid values: <code>1024–8999</code> with the following exceptions: <code>2484</code>, <code>6100</code>, <code>6200</code>, <code>7060</code>, <code>7070</code>, <code>7085</code>, and <code>7879</code></p>
450    /// <p>Default: <code>1521</code></p>
451    pub fn scan_listener_port_tcp(mut self, input: i32) -> Self {
452        self.inner = self.inner.scan_listener_port_tcp(input);
453        self
454    }
455    /// <p>The port number for TCP connections to the single client access name (SCAN) listener.</p>
456    /// <p>Valid values: <code>1024–8999</code> with the following exceptions: <code>2484</code>, <code>6100</code>, <code>6200</code>, <code>7060</code>, <code>7070</code>, <code>7085</code>, and <code>7879</code></p>
457    /// <p>Default: <code>1521</code></p>
458    pub fn set_scan_listener_port_tcp(mut self, input: ::std::option::Option<i32>) -> Self {
459        self.inner = self.inner.set_scan_listener_port_tcp(input);
460        self
461    }
462    /// <p>The port number for TCP connections to the single client access name (SCAN) listener.</p>
463    /// <p>Valid values: <code>1024–8999</code> with the following exceptions: <code>2484</code>, <code>6100</code>, <code>6200</code>, <code>7060</code>, <code>7070</code>, <code>7085</code>, and <code>7879</code></p>
464    /// <p>Default: <code>1521</code></p>
465    pub fn get_scan_listener_port_tcp(&self) -> &::std::option::Option<i32> {
466        self.inner.get_scan_listener_port_tcp()
467    }
468}