aws_sdk_appfabric/operation/create_app_bundle/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_app_bundle::_create_app_bundle_output::CreateAppBundleOutputBuilder;
3
4pub use crate::operation::create_app_bundle::_create_app_bundle_input::CreateAppBundleInputBuilder;
5
6impl crate::operation::create_app_bundle::builders::CreateAppBundleInputBuilder {
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_app_bundle::CreateAppBundleOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_app_bundle::CreateAppBundleError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_app_bundle();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateAppBundle`.
24///
25/// <p>Creates an app bundle to collect data from an application using AppFabric.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateAppBundleFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::create_app_bundle::builders::CreateAppBundleInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::create_app_bundle::CreateAppBundleOutput,
35        crate::operation::create_app_bundle::CreateAppBundleError,
36    > for CreateAppBundleFluentBuilder
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_app_bundle::CreateAppBundleOutput,
44            crate::operation::create_app_bundle::CreateAppBundleError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl CreateAppBundleFluentBuilder {
51    /// Creates a new `CreateAppBundleFluentBuilder`.
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 CreateAppBundle as a reference.
60    pub fn as_input(&self) -> &crate::operation::create_app_bundle::builders::CreateAppBundleInputBuilder {
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_app_bundle::CreateAppBundleOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::create_app_bundle::CreateAppBundleError,
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_app_bundle::CreateAppBundle::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::create_app_bundle::CreateAppBundle::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_app_bundle::CreateAppBundleOutput,
97        crate::operation::create_app_bundle::CreateAppBundleError,
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>Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a <a href="https://wikipedia.org/wiki/Universally_unique_identifier">UUID type of value</a>.</p>
112    /// <p>If you don't provide this value, then Amazon Web Services generates a random one for you.</p>
113    /// <p>If you retry the operation with the same <code>ClientToken</code>, but with different parameters, the retry fails with an <code>IdempotentParameterMismatch</code> error.</p>
114    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
115        self.inner = self.inner.client_token(input.into());
116        self
117    }
118    /// <p>Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a <a href="https://wikipedia.org/wiki/Universally_unique_identifier">UUID type of value</a>.</p>
119    /// <p>If you don't provide this value, then Amazon Web Services generates a random one for you.</p>
120    /// <p>If you retry the operation with the same <code>ClientToken</code>, but with different parameters, the retry fails with an <code>IdempotentParameterMismatch</code> error.</p>
121    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
122        self.inner = self.inner.set_client_token(input);
123        self
124    }
125    /// <p>Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a <a href="https://wikipedia.org/wiki/Universally_unique_identifier">UUID type of value</a>.</p>
126    /// <p>If you don't provide this value, then Amazon Web Services generates a random one for you.</p>
127    /// <p>If you retry the operation with the same <code>ClientToken</code>, but with different parameters, the retry fails with an <code>IdempotentParameterMismatch</code> error.</p>
128    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
129        self.inner.get_client_token()
130    }
131    /// <p>The Amazon Resource Name (ARN) of the Key Management Service (KMS) key to use to encrypt the application data. If this is not specified, an Amazon Web Services owned key is used for encryption.</p>
132    pub fn customer_managed_key_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
133        self.inner = self.inner.customer_managed_key_identifier(input.into());
134        self
135    }
136    /// <p>The Amazon Resource Name (ARN) of the Key Management Service (KMS) key to use to encrypt the application data. If this is not specified, an Amazon Web Services owned key is used for encryption.</p>
137    pub fn set_customer_managed_key_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
138        self.inner = self.inner.set_customer_managed_key_identifier(input);
139        self
140    }
141    /// <p>The Amazon Resource Name (ARN) of the Key Management Service (KMS) key to use to encrypt the application data. If this is not specified, an Amazon Web Services owned key is used for encryption.</p>
142    pub fn get_customer_managed_key_identifier(&self) -> &::std::option::Option<::std::string::String> {
143        self.inner.get_customer_managed_key_identifier()
144    }
145    ///
146    /// Appends an item to `tags`.
147    ///
148    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
149    ///
150    /// <p>A map of the key-value pairs of the tag or tags to assign to the resource.</p>
151    pub fn tags(mut self, input: crate::types::Tag) -> Self {
152        self.inner = self.inner.tags(input);
153        self
154    }
155    /// <p>A map of the key-value pairs of the tag or tags to assign to the resource.</p>
156    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
157        self.inner = self.inner.set_tags(input);
158        self
159    }
160    /// <p>A map of the key-value pairs of the tag or tags to assign to the resource.</p>
161    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
162        self.inner.get_tags()
163    }
164}