aws_sdk_s3control/operation/list_access_points/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::list_access_points::_list_access_points_output::ListAccessPointsOutputBuilder;
3
4pub use crate::operation::list_access_points::_list_access_points_input::ListAccessPointsInputBuilder;
5
6impl crate::operation::list_access_points::builders::ListAccessPointsInputBuilder {
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::list_access_points::ListAccessPointsOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::list_access_points::ListAccessPointsError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.list_access_points();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `ListAccessPoints`.
24///
25/// <note>
26/// <p>This operation is not supported by directory buckets.</p>
27/// </note>
28/// <p>Returns a list of the access points. You can retrieve up to 1,000 access points per call. If the call returns more than 1,000 access points (or the number specified in <code>maxResults</code>, whichever is less), the response will include a continuation token that you can use to list the additional access points.</p>
29/// <p>Returns only access points attached to S3 buckets by default. To return all access points specify <code>DataSourceType</code> as <code>ALL</code>.</p>
30/// <p></p>
31/// <p>All Amazon S3 on Outposts REST API requests for this action require an additional parameter of <code>x-amz-outpost-id</code> to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of <code>s3-control</code>. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the <code>x-amz-outpost-id</code> derived by using the access point ARN, see the <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html#API_control_GetAccessPoint_Examples">Examples</a> section.</p>
32/// <p>The following actions are related to <code>ListAccessPoints</code>:</p>
33/// <ul>
34/// <li>
35/// <p><a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html">CreateAccessPoint</a></p></li>
36/// <li>
37/// <p><a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html">DeleteAccessPoint</a></p></li>
38/// <li>
39/// <p><a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html">GetAccessPoint</a></p></li>
40/// </ul>
41#[derive(::std::clone::Clone, ::std::fmt::Debug)]
42pub struct ListAccessPointsFluentBuilder {
43    handle: ::std::sync::Arc<crate::client::Handle>,
44    inner: crate::operation::list_access_points::builders::ListAccessPointsInputBuilder,
45    config_override: ::std::option::Option<crate::config::Builder>,
46}
47impl
48    crate::client::customize::internal::CustomizableSend<
49        crate::operation::list_access_points::ListAccessPointsOutput,
50        crate::operation::list_access_points::ListAccessPointsError,
51    > for ListAccessPointsFluentBuilder
52{
53    fn send(
54        self,
55        config_override: crate::config::Builder,
56    ) -> crate::client::customize::internal::BoxFuture<
57        crate::client::customize::internal::SendResult<
58            crate::operation::list_access_points::ListAccessPointsOutput,
59            crate::operation::list_access_points::ListAccessPointsError,
60        >,
61    > {
62        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
63    }
64}
65impl ListAccessPointsFluentBuilder {
66    /// Creates a new `ListAccessPointsFluentBuilder`.
67    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
68        Self {
69            handle,
70            inner: ::std::default::Default::default(),
71            config_override: ::std::option::Option::None,
72        }
73    }
74    /// Access the ListAccessPoints as a reference.
75    pub fn as_input(&self) -> &crate::operation::list_access_points::builders::ListAccessPointsInputBuilder {
76        &self.inner
77    }
78    /// Sends the request and returns the response.
79    ///
80    /// If an error occurs, an `SdkError` will be returned with additional details that
81    /// can be matched against.
82    ///
83    /// By default, any retryable failures will be retried twice. Retry behavior
84    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
85    /// set when configuring the client.
86    pub async fn send(
87        self,
88    ) -> ::std::result::Result<
89        crate::operation::list_access_points::ListAccessPointsOutput,
90        ::aws_smithy_runtime_api::client::result::SdkError<
91            crate::operation::list_access_points::ListAccessPointsError,
92            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
93        >,
94    > {
95        let input = self
96            .inner
97            .build()
98            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
99        let runtime_plugins = crate::operation::list_access_points::ListAccessPoints::operation_runtime_plugins(
100            self.handle.runtime_plugins.clone(),
101            &self.handle.conf,
102            self.config_override,
103        );
104        crate::operation::list_access_points::ListAccessPoints::orchestrate(&runtime_plugins, input).await
105    }
106
107    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
108    pub fn customize(
109        self,
110    ) -> crate::client::customize::CustomizableOperation<
111        crate::operation::list_access_points::ListAccessPointsOutput,
112        crate::operation::list_access_points::ListAccessPointsError,
113        Self,
114    > {
115        crate::client::customize::CustomizableOperation::new(self)
116    }
117    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
118        self.set_config_override(::std::option::Option::Some(config_override.into()));
119        self
120    }
121
122    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
123        self.config_override = config_override;
124        self
125    }
126    /// Create a paginator for this request
127    ///
128    /// Paginators are used by calling [`send().await`](crate::operation::list_access_points::paginator::ListAccessPointsPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
129    pub fn into_paginator(self) -> crate::operation::list_access_points::paginator::ListAccessPointsPaginator {
130        crate::operation::list_access_points::paginator::ListAccessPointsPaginator::new(self.handle, self.inner)
131    }
132    /// <p>The Amazon Web Services account ID for the account that owns the specified access points.</p>
133    pub fn account_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
134        self.inner = self.inner.account_id(input.into());
135        self
136    }
137    /// <p>The Amazon Web Services account ID for the account that owns the specified access points.</p>
138    pub fn set_account_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
139        self.inner = self.inner.set_account_id(input);
140        self
141    }
142    /// <p>The Amazon Web Services account ID for the account that owns the specified access points.</p>
143    pub fn get_account_id(&self) -> &::std::option::Option<::std::string::String> {
144        self.inner.get_account_id()
145    }
146    /// <p>The name of the bucket whose associated access points you want to list.</p>
147    /// <p>For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.</p>
148    /// <p>For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format <code>arn:aws:s3-outposts:<region>
149    /// :
150    /// <account-id>
151    /// :outpost/
152    /// <outpost-id>
153    /// /bucket/
154    /// <my-bucket-name></my-bucket-name>
155    /// </outpost-id>
156    /// </account-id>
157    /// </region></code>. For example, to access the bucket <code>reports</code> through Outpost <code>my-outpost</code> owned by account <code>123456789012</code> in Region <code>us-west-2</code>, use the URL encoding of <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports</code>. The value must be URL encoded.</p>
158    pub fn bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
159        self.inner = self.inner.bucket(input.into());
160        self
161    }
162    /// <p>The name of the bucket whose associated access points you want to list.</p>
163    /// <p>For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.</p>
164    /// <p>For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format <code>arn:aws:s3-outposts:<region>
165    /// :
166    /// <account-id>
167    /// :outpost/
168    /// <outpost-id>
169    /// /bucket/
170    /// <my-bucket-name></my-bucket-name>
171    /// </outpost-id>
172    /// </account-id>
173    /// </region></code>. For example, to access the bucket <code>reports</code> through Outpost <code>my-outpost</code> owned by account <code>123456789012</code> in Region <code>us-west-2</code>, use the URL encoding of <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports</code>. The value must be URL encoded.</p>
174    pub fn set_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
175        self.inner = self.inner.set_bucket(input);
176        self
177    }
178    /// <p>The name of the bucket whose associated access points you want to list.</p>
179    /// <p>For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.</p>
180    /// <p>For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format <code>arn:aws:s3-outposts:<region>
181    /// :
182    /// <account-id>
183    /// :outpost/
184    /// <outpost-id>
185    /// /bucket/
186    /// <my-bucket-name></my-bucket-name>
187    /// </outpost-id>
188    /// </account-id>
189    /// </region></code>. For example, to access the bucket <code>reports</code> through Outpost <code>my-outpost</code> owned by account <code>123456789012</code> in Region <code>us-west-2</code>, use the URL encoding of <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports</code>. The value must be URL encoded.</p>
190    pub fn get_bucket(&self) -> &::std::option::Option<::std::string::String> {
191        self.inner.get_bucket()
192    }
193    /// <p>A continuation token. If a previous call to <code>ListAccessPoints</code> returned a continuation token in the <code>NextToken</code> field, then providing that value here causes Amazon S3 to retrieve the next page of results.</p>
194    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
195        self.inner = self.inner.next_token(input.into());
196        self
197    }
198    /// <p>A continuation token. If a previous call to <code>ListAccessPoints</code> returned a continuation token in the <code>NextToken</code> field, then providing that value here causes Amazon S3 to retrieve the next page of results.</p>
199    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
200        self.inner = self.inner.set_next_token(input);
201        self
202    }
203    /// <p>A continuation token. If a previous call to <code>ListAccessPoints</code> returned a continuation token in the <code>NextToken</code> field, then providing that value here causes Amazon S3 to retrieve the next page of results.</p>
204    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
205        self.inner.get_next_token()
206    }
207    /// <p>The maximum number of access points that you want to include in the list. If the specified bucket has more than this number of access points, then the response will include a continuation token in the <code>NextToken</code> field that you can use to retrieve the next page of access points.</p>
208    pub fn max_results(mut self, input: i32) -> Self {
209        self.inner = self.inner.max_results(input);
210        self
211    }
212    /// <p>The maximum number of access points that you want to include in the list. If the specified bucket has more than this number of access points, then the response will include a continuation token in the <code>NextToken</code> field that you can use to retrieve the next page of access points.</p>
213    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
214        self.inner = self.inner.set_max_results(input);
215        self
216    }
217    /// <p>The maximum number of access points that you want to include in the list. If the specified bucket has more than this number of access points, then the response will include a continuation token in the <code>NextToken</code> field that you can use to retrieve the next page of access points.</p>
218    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
219        self.inner.get_max_results()
220    }
221    /// <p>The unique identifier for the data source of the access point.</p>
222    pub fn data_source_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
223        self.inner = self.inner.data_source_id(input.into());
224        self
225    }
226    /// <p>The unique identifier for the data source of the access point.</p>
227    pub fn set_data_source_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
228        self.inner = self.inner.set_data_source_id(input);
229        self
230    }
231    /// <p>The unique identifier for the data source of the access point.</p>
232    pub fn get_data_source_id(&self) -> &::std::option::Option<::std::string::String> {
233        self.inner.get_data_source_id()
234    }
235    /// <p>The type of the data source that the access point is attached to. Returns only access points attached to S3 buckets by default. To return all access points specify <code>DataSourceType</code> as <code>ALL</code>.</p>
236    pub fn data_source_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
237        self.inner = self.inner.data_source_type(input.into());
238        self
239    }
240    /// <p>The type of the data source that the access point is attached to. Returns only access points attached to S3 buckets by default. To return all access points specify <code>DataSourceType</code> as <code>ALL</code>.</p>
241    pub fn set_data_source_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
242        self.inner = self.inner.set_data_source_type(input);
243        self
244    }
245    /// <p>The type of the data source that the access point is attached to. Returns only access points attached to S3 buckets by default. To return all access points specify <code>DataSourceType</code> as <code>ALL</code>.</p>
246    pub fn get_data_source_type(&self) -> &::std::option::Option<::std::string::String> {
247        self.inner.get_data_source_type()
248    }
249}