aws_sdk_odb/operation/create_cloud_exadata_infrastructure/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_cloud_exadata_infrastructure::_create_cloud_exadata_infrastructure_output::CreateCloudExadataInfrastructureOutputBuilder;
3
4pub use crate::operation::create_cloud_exadata_infrastructure::_create_cloud_exadata_infrastructure_input::CreateCloudExadataInfrastructureInputBuilder;
5
6impl crate::operation::create_cloud_exadata_infrastructure::builders::CreateCloudExadataInfrastructureInputBuilder {
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_exadata_infrastructure::CreateCloudExadataInfrastructureOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_cloud_exadata_infrastructure::CreateCloudExadataInfrastructureError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_cloud_exadata_infrastructure();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateCloudExadataInfrastructure`.
24///
25/// <p>Creates an Exadata infrastructure.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateCloudExadataInfrastructureFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::create_cloud_exadata_infrastructure::builders::CreateCloudExadataInfrastructureInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::create_cloud_exadata_infrastructure::CreateCloudExadataInfrastructureOutput,
35        crate::operation::create_cloud_exadata_infrastructure::CreateCloudExadataInfrastructureError,
36    > for CreateCloudExadataInfrastructureFluentBuilder
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_exadata_infrastructure::CreateCloudExadataInfrastructureOutput,
44            crate::operation::create_cloud_exadata_infrastructure::CreateCloudExadataInfrastructureError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl CreateCloudExadataInfrastructureFluentBuilder {
51    /// Creates a new `CreateCloudExadataInfrastructureFluentBuilder`.
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 CreateCloudExadataInfrastructure as a reference.
60    pub fn as_input(&self) -> &crate::operation::create_cloud_exadata_infrastructure::builders::CreateCloudExadataInfrastructureInputBuilder {
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_exadata_infrastructure::CreateCloudExadataInfrastructureOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::create_cloud_exadata_infrastructure::CreateCloudExadataInfrastructureError,
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_exadata_infrastructure::CreateCloudExadataInfrastructure::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::create_cloud_exadata_infrastructure::CreateCloudExadataInfrastructure::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_exadata_infrastructure::CreateCloudExadataInfrastructureOutput,
97        crate::operation::create_cloud_exadata_infrastructure::CreateCloudExadataInfrastructureError,
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>A user-friendly name for the Exadata infrastructure.</p>
112    pub fn display_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113        self.inner = self.inner.display_name(input.into());
114        self
115    }
116    /// <p>A user-friendly name for the Exadata infrastructure.</p>
117    pub fn set_display_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118        self.inner = self.inner.set_display_name(input);
119        self
120    }
121    /// <p>A user-friendly name for the Exadata infrastructure.</p>
122    pub fn get_display_name(&self) -> &::std::option::Option<::std::string::String> {
123        self.inner.get_display_name()
124    }
125    /// <p>The model name of the Exadata infrastructure. For the list of valid model names, use the <code>ListDbSystemShapes</code> operation.</p>
126    pub fn shape(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127        self.inner = self.inner.shape(input.into());
128        self
129    }
130    /// <p>The model name of the Exadata infrastructure. For the list of valid model names, use the <code>ListDbSystemShapes</code> operation.</p>
131    pub fn set_shape(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132        self.inner = self.inner.set_shape(input);
133        self
134    }
135    /// <p>The model name of the Exadata infrastructure. For the list of valid model names, use the <code>ListDbSystemShapes</code> operation.</p>
136    pub fn get_shape(&self) -> &::std::option::Option<::std::string::String> {
137        self.inner.get_shape()
138    }
139    /// <p>The name of the Availability Zone (AZ) where the Exadata infrastructure is located.</p>
140    /// <p>This operation requires that you specify a value for either <code>availabilityZone</code> or <code>availabilityZoneId</code>.</p>
141    /// <p>Example: <code>us-east-1a</code></p>
142    pub fn availability_zone(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
143        self.inner = self.inner.availability_zone(input.into());
144        self
145    }
146    /// <p>The name of the Availability Zone (AZ) where the Exadata infrastructure is located.</p>
147    /// <p>This operation requires that you specify a value for either <code>availabilityZone</code> or <code>availabilityZoneId</code>.</p>
148    /// <p>Example: <code>us-east-1a</code></p>
149    pub fn set_availability_zone(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
150        self.inner = self.inner.set_availability_zone(input);
151        self
152    }
153    /// <p>The name of the Availability Zone (AZ) where the Exadata infrastructure is located.</p>
154    /// <p>This operation requires that you specify a value for either <code>availabilityZone</code> or <code>availabilityZoneId</code>.</p>
155    /// <p>Example: <code>us-east-1a</code></p>
156    pub fn get_availability_zone(&self) -> &::std::option::Option<::std::string::String> {
157        self.inner.get_availability_zone()
158    }
159    /// <p>The AZ ID of the AZ where the Exadata infrastructure is located.</p>
160    /// <p>This operation requires that you specify a value for either <code>availabilityZone</code> or <code>availabilityZoneId</code>.</p>
161    /// <p>Example: <code>use1-az1</code></p>
162    pub fn availability_zone_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
163        self.inner = self.inner.availability_zone_id(input.into());
164        self
165    }
166    /// <p>The AZ ID of the AZ where the Exadata infrastructure is located.</p>
167    /// <p>This operation requires that you specify a value for either <code>availabilityZone</code> or <code>availabilityZoneId</code>.</p>
168    /// <p>Example: <code>use1-az1</code></p>
169    pub fn set_availability_zone_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
170        self.inner = self.inner.set_availability_zone_id(input);
171        self
172    }
173    /// <p>The AZ ID of the AZ where the Exadata infrastructure is located.</p>
174    /// <p>This operation requires that you specify a value for either <code>availabilityZone</code> or <code>availabilityZoneId</code>.</p>
175    /// <p>Example: <code>use1-az1</code></p>
176    pub fn get_availability_zone_id(&self) -> &::std::option::Option<::std::string::String> {
177        self.inner.get_availability_zone_id()
178    }
179    ///
180    /// Adds a key-value pair to `tags`.
181    ///
182    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
183    ///
184    /// <p>The list of resource tags to apply to the Exadata infrastructure.</p>
185    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
186        self.inner = self.inner.tags(k.into(), v.into());
187        self
188    }
189    /// <p>The list of resource tags to apply to the Exadata infrastructure.</p>
190    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
191        self.inner = self.inner.set_tags(input);
192        self
193    }
194    /// <p>The list of resource tags to apply to the Exadata infrastructure.</p>
195    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
196        self.inner.get_tags()
197    }
198    /// <p>The number of database servers for the Exadata infrastructure. Valid values for this parameter depend on the shape. To get information about the minimum and maximum values, use the <code>ListDbSystemShapes</code> operation.</p>
199    pub fn compute_count(mut self, input: i32) -> Self {
200        self.inner = self.inner.compute_count(input);
201        self
202    }
203    /// <p>The number of database servers for the Exadata infrastructure. Valid values for this parameter depend on the shape. To get information about the minimum and maximum values, use the <code>ListDbSystemShapes</code> operation.</p>
204    pub fn set_compute_count(mut self, input: ::std::option::Option<i32>) -> Self {
205        self.inner = self.inner.set_compute_count(input);
206        self
207    }
208    /// <p>The number of database servers for the Exadata infrastructure. Valid values for this parameter depend on the shape. To get information about the minimum and maximum values, use the <code>ListDbSystemShapes</code> operation.</p>
209    pub fn get_compute_count(&self) -> &::std::option::Option<i32> {
210        self.inner.get_compute_count()
211    }
212    ///
213    /// Appends an item to `customerContactsToSendToOCI`.
214    ///
215    /// To override the contents of this collection use [`set_customer_contacts_to_send_to_oci`](Self::set_customer_contacts_to_send_to_oci).
216    ///
217    /// <p>The email addresses of contacts to receive notification from Oracle about maintenance updates for the Exadata infrastructure.</p>
218    pub fn customer_contacts_to_send_to_oci(mut self, input: crate::types::CustomerContact) -> Self {
219        self.inner = self.inner.customer_contacts_to_send_to_oci(input);
220        self
221    }
222    /// <p>The email addresses of contacts to receive notification from Oracle about maintenance updates for the Exadata infrastructure.</p>
223    pub fn set_customer_contacts_to_send_to_oci(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::CustomerContact>>) -> Self {
224        self.inner = self.inner.set_customer_contacts_to_send_to_oci(input);
225        self
226    }
227    /// <p>The email addresses of contacts to receive notification from Oracle about maintenance updates for the Exadata infrastructure.</p>
228    pub fn get_customer_contacts_to_send_to_oci(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::CustomerContact>> {
229        self.inner.get_customer_contacts_to_send_to_oci()
230    }
231    /// <p>The maintenance window configuration for the Exadata Cloud infrastructure.</p>
232    /// <p>This allows you to define when maintenance operations such as patching and updates can be performed on the infrastructure.</p>
233    pub fn maintenance_window(mut self, input: crate::types::MaintenanceWindow) -> Self {
234        self.inner = self.inner.maintenance_window(input);
235        self
236    }
237    /// <p>The maintenance window configuration for the Exadata Cloud infrastructure.</p>
238    /// <p>This allows you to define when maintenance operations such as patching and updates can be performed on the infrastructure.</p>
239    pub fn set_maintenance_window(mut self, input: ::std::option::Option<crate::types::MaintenanceWindow>) -> Self {
240        self.inner = self.inner.set_maintenance_window(input);
241        self
242    }
243    /// <p>The maintenance window configuration for the Exadata Cloud infrastructure.</p>
244    /// <p>This allows you to define when maintenance operations such as patching and updates can be performed on the infrastructure.</p>
245    pub fn get_maintenance_window(&self) -> &::std::option::Option<crate::types::MaintenanceWindow> {
246        self.inner.get_maintenance_window()
247    }
248    /// <p>The number of storage servers to activate for this Exadata infrastructure. Valid values for this parameter depend on the shape. To get information about the minimum and maximum values, use the <code>ListDbSystemShapes</code> operation.</p>
249    pub fn storage_count(mut self, input: i32) -> Self {
250        self.inner = self.inner.storage_count(input);
251        self
252    }
253    /// <p>The number of storage servers to activate for this Exadata infrastructure. Valid values for this parameter depend on the shape. To get information about the minimum and maximum values, use the <code>ListDbSystemShapes</code> operation.</p>
254    pub fn set_storage_count(mut self, input: ::std::option::Option<i32>) -> Self {
255        self.inner = self.inner.set_storage_count(input);
256        self
257    }
258    /// <p>The number of storage servers to activate for this Exadata infrastructure. Valid values for this parameter depend on the shape. To get information about the minimum and maximum values, use the <code>ListDbSystemShapes</code> operation.</p>
259    pub fn get_storage_count(&self) -> &::std::option::Option<i32> {
260        self.inner.get_storage_count()
261    }
262    /// <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>
263    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
264        self.inner = self.inner.client_token(input.into());
265        self
266    }
267    /// <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>
268    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
269        self.inner = self.inner.set_client_token(input);
270        self
271    }
272    /// <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>
273    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
274        self.inner.get_client_token()
275    }
276    /// <p>The database server model type of the Exadata infrastructure. For the list of valid model names, use the <code>ListDbSystemShapes</code> operation.</p>
277    pub fn database_server_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
278        self.inner = self.inner.database_server_type(input.into());
279        self
280    }
281    /// <p>The database server model type of the Exadata infrastructure. For the list of valid model names, use the <code>ListDbSystemShapes</code> operation.</p>
282    pub fn set_database_server_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
283        self.inner = self.inner.set_database_server_type(input);
284        self
285    }
286    /// <p>The database server model type of the Exadata infrastructure. For the list of valid model names, use the <code>ListDbSystemShapes</code> operation.</p>
287    pub fn get_database_server_type(&self) -> &::std::option::Option<::std::string::String> {
288        self.inner.get_database_server_type()
289    }
290    /// <p>The storage server model type of the Exadata infrastructure. For the list of valid model names, use the <code>ListDbSystemShapes</code> operation.</p>
291    pub fn storage_server_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
292        self.inner = self.inner.storage_server_type(input.into());
293        self
294    }
295    /// <p>The storage server model type of the Exadata infrastructure. For the list of valid model names, use the <code>ListDbSystemShapes</code> operation.</p>
296    pub fn set_storage_server_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
297        self.inner = self.inner.set_storage_server_type(input);
298        self
299    }
300    /// <p>The storage server model type of the Exadata infrastructure. For the list of valid model names, use the <code>ListDbSystemShapes</code> operation.</p>
301    pub fn get_storage_server_type(&self) -> &::std::option::Option<::std::string::String> {
302        self.inner.get_storage_server_type()
303    }
304}