aws_sdk_s3control/operation/describe_multi_region_access_point_operation/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::describe_multi_region_access_point_operation::_describe_multi_region_access_point_operation_output::DescribeMultiRegionAccessPointOperationOutputBuilder;
3
4pub use crate::operation::describe_multi_region_access_point_operation::_describe_multi_region_access_point_operation_input::DescribeMultiRegionAccessPointOperationInputBuilder;
5
6impl crate::operation::describe_multi_region_access_point_operation::builders::DescribeMultiRegionAccessPointOperationInputBuilder {
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::describe_multi_region_access_point_operation::DescribeMultiRegionAccessPointOperationOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::describe_multi_region_access_point_operation::DescribeMultiRegionAccessPointOperationError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.describe_multi_region_access_point_operation();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `DescribeMultiRegionAccessPointOperation`.
24///
25/// <note>
26/// <p>This operation is not supported by directory buckets.</p>
27/// </note>
28/// <p>Retrieves the status of an asynchronous request to manage a Multi-Region Access Point. For more information about managing Multi-Region Access Points and how asynchronous requests work, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/MrapOperations.html">Using Multi-Region Access Points</a> in the <i>Amazon S3 User Guide</i>.</p>
29/// <p>The following actions are related to <code>GetMultiRegionAccessPoint</code>:</p>
30/// <ul>
31/// <li>
32/// <p><a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html">CreateMultiRegionAccessPoint</a></p></li>
33/// <li>
34/// <p><a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteMultiRegionAccessPoint.html">DeleteMultiRegionAccessPoint</a></p></li>
35/// <li>
36/// <p><a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPoint.html">GetMultiRegionAccessPoint</a></p></li>
37/// <li>
38/// <p><a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListMultiRegionAccessPoints.html">ListMultiRegionAccessPoints</a></p></li>
39/// </ul>
40#[derive(::std::clone::Clone, ::std::fmt::Debug)]
41pub struct DescribeMultiRegionAccessPointOperationFluentBuilder {
42    handle: ::std::sync::Arc<crate::client::Handle>,
43    inner: crate::operation::describe_multi_region_access_point_operation::builders::DescribeMultiRegionAccessPointOperationInputBuilder,
44    config_override: ::std::option::Option<crate::config::Builder>,
45}
46impl
47    crate::client::customize::internal::CustomizableSend<
48        crate::operation::describe_multi_region_access_point_operation::DescribeMultiRegionAccessPointOperationOutput,
49        crate::operation::describe_multi_region_access_point_operation::DescribeMultiRegionAccessPointOperationError,
50    > for DescribeMultiRegionAccessPointOperationFluentBuilder
51{
52    fn send(
53        self,
54        config_override: crate::config::Builder,
55    ) -> crate::client::customize::internal::BoxFuture<
56        crate::client::customize::internal::SendResult<
57            crate::operation::describe_multi_region_access_point_operation::DescribeMultiRegionAccessPointOperationOutput,
58            crate::operation::describe_multi_region_access_point_operation::DescribeMultiRegionAccessPointOperationError,
59        >,
60    > {
61        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
62    }
63}
64impl DescribeMultiRegionAccessPointOperationFluentBuilder {
65    /// Creates a new `DescribeMultiRegionAccessPointOperationFluentBuilder`.
66    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
67        Self {
68            handle,
69            inner: ::std::default::Default::default(),
70            config_override: ::std::option::Option::None,
71        }
72    }
73    /// Access the DescribeMultiRegionAccessPointOperation as a reference.
74    pub fn as_input(
75        &self,
76    ) -> &crate::operation::describe_multi_region_access_point_operation::builders::DescribeMultiRegionAccessPointOperationInputBuilder {
77        &self.inner
78    }
79    /// Sends the request and returns the response.
80    ///
81    /// If an error occurs, an `SdkError` will be returned with additional details that
82    /// can be matched against.
83    ///
84    /// By default, any retryable failures will be retried twice. Retry behavior
85    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
86    /// set when configuring the client.
87    pub async fn send(
88        self,
89    ) -> ::std::result::Result<
90        crate::operation::describe_multi_region_access_point_operation::DescribeMultiRegionAccessPointOperationOutput,
91        ::aws_smithy_runtime_api::client::result::SdkError<
92            crate::operation::describe_multi_region_access_point_operation::DescribeMultiRegionAccessPointOperationError,
93            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
94        >,
95    > {
96        let input = self
97            .inner
98            .build()
99            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
100        let runtime_plugins =
101            crate::operation::describe_multi_region_access_point_operation::DescribeMultiRegionAccessPointOperation::operation_runtime_plugins(
102                self.handle.runtime_plugins.clone(),
103                &self.handle.conf,
104                self.config_override,
105            );
106        crate::operation::describe_multi_region_access_point_operation::DescribeMultiRegionAccessPointOperation::orchestrate(&runtime_plugins, input)
107            .await
108    }
109
110    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
111    pub fn customize(
112        self,
113    ) -> crate::client::customize::CustomizableOperation<
114        crate::operation::describe_multi_region_access_point_operation::DescribeMultiRegionAccessPointOperationOutput,
115        crate::operation::describe_multi_region_access_point_operation::DescribeMultiRegionAccessPointOperationError,
116        Self,
117    > {
118        crate::client::customize::CustomizableOperation::new(self)
119    }
120    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
121        self.set_config_override(::std::option::Option::Some(config_override.into()));
122        self
123    }
124
125    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
126        self.config_override = config_override;
127        self
128    }
129    /// <p>The Amazon Web Services account ID for the owner of the Multi-Region Access Point.</p>
130    pub fn account_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
131        self.inner = self.inner.account_id(input.into());
132        self
133    }
134    /// <p>The Amazon Web Services account ID for the owner of the Multi-Region Access Point.</p>
135    pub fn set_account_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
136        self.inner = self.inner.set_account_id(input);
137        self
138    }
139    /// <p>The Amazon Web Services account ID for the owner of the Multi-Region Access Point.</p>
140    pub fn get_account_id(&self) -> &::std::option::Option<::std::string::String> {
141        self.inner.get_account_id()
142    }
143    /// <p>The request token associated with the request you want to know about. This request token is returned as part of the response when you make an asynchronous request. You provide this token to query about the status of the asynchronous action.</p>
144    pub fn request_token_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
145        self.inner = self.inner.request_token_arn(input.into());
146        self
147    }
148    /// <p>The request token associated with the request you want to know about. This request token is returned as part of the response when you make an asynchronous request. You provide this token to query about the status of the asynchronous action.</p>
149    pub fn set_request_token_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
150        self.inner = self.inner.set_request_token_arn(input);
151        self
152    }
153    /// <p>The request token associated with the request you want to know about. This request token is returned as part of the response when you make an asynchronous request. You provide this token to query about the status of the asynchronous action.</p>
154    pub fn get_request_token_arn(&self) -> &::std::option::Option<::std::string::String> {
155        self.inner.get_request_token_arn()
156    }
157}