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}