aws_sdk_s3/operation/put_bucket_request_payment/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::put_bucket_request_payment::_put_bucket_request_payment_output::PutBucketRequestPaymentOutputBuilder;
3
4pub use crate::operation::put_bucket_request_payment::_put_bucket_request_payment_input::PutBucketRequestPaymentInputBuilder;
5
6impl crate::operation::put_bucket_request_payment::builders::PutBucketRequestPaymentInputBuilder {
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::put_bucket_request_payment::PutBucketRequestPaymentOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::put_bucket_request_payment::PutBucketRequestPaymentError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.put_bucket_request_payment();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `PutBucketRequestPayment`.
24///
25/// <note>
26/// <p>This operation is not supported for directory buckets.</p>
27/// </note>
28/// <p>Sets the request payment configuration for a bucket. By default, the bucket owner pays for downloads from the bucket. This configuration parameter enables the bucket owner (only) to specify that the person requesting the download will be charged for the download. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester Pays Buckets</a>.</p>
29/// <p>The following operations are related to <code>PutBucketRequestPayment</code>:</p>
30/// <ul>
31/// <li>
32/// <p><a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a></p></li>
33/// <li>
34/// <p><a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketRequestPayment.html">GetBucketRequestPayment</a></p></li>
35/// </ul>
36#[derive(::std::clone::Clone, ::std::fmt::Debug)]
37pub struct PutBucketRequestPaymentFluentBuilder {
38 handle: ::std::sync::Arc<crate::client::Handle>,
39 inner: crate::operation::put_bucket_request_payment::builders::PutBucketRequestPaymentInputBuilder,
40 config_override: ::std::option::Option<crate::config::Builder>,
41}
42impl
43 crate::client::customize::internal::CustomizableSend<
44 crate::operation::put_bucket_request_payment::PutBucketRequestPaymentOutput,
45 crate::operation::put_bucket_request_payment::PutBucketRequestPaymentError,
46 > for PutBucketRequestPaymentFluentBuilder
47{
48 fn send(
49 self,
50 config_override: crate::config::Builder,
51 ) -> crate::client::customize::internal::BoxFuture<
52 crate::client::customize::internal::SendResult<
53 crate::operation::put_bucket_request_payment::PutBucketRequestPaymentOutput,
54 crate::operation::put_bucket_request_payment::PutBucketRequestPaymentError,
55 >,
56 > {
57 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
58 }
59}
60impl PutBucketRequestPaymentFluentBuilder {
61 /// Creates a new `PutBucketRequestPaymentFluentBuilder`.
62 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
63 Self {
64 handle,
65 inner: ::std::default::Default::default(),
66 config_override: ::std::option::Option::None,
67 }
68 }
69 /// Access the PutBucketRequestPayment as a reference.
70 pub fn as_input(&self) -> &crate::operation::put_bucket_request_payment::builders::PutBucketRequestPaymentInputBuilder {
71 &self.inner
72 }
73 /// Sends the request and returns the response.
74 ///
75 /// If an error occurs, an `SdkError` will be returned with additional details that
76 /// can be matched against.
77 ///
78 /// By default, any retryable failures will be retried twice. Retry behavior
79 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
80 /// set when configuring the client.
81 pub async fn send(
82 self,
83 ) -> ::std::result::Result<
84 crate::operation::put_bucket_request_payment::PutBucketRequestPaymentOutput,
85 ::aws_smithy_runtime_api::client::result::SdkError<
86 crate::operation::put_bucket_request_payment::PutBucketRequestPaymentError,
87 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
88 >,
89 > {
90 let input = self
91 .inner
92 .build()
93 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
94 let runtime_plugins = crate::operation::put_bucket_request_payment::PutBucketRequestPayment::operation_runtime_plugins(
95 self.handle.runtime_plugins.clone(),
96 &self.handle.conf,
97 self.config_override,
98 );
99 crate::operation::put_bucket_request_payment::PutBucketRequestPayment::orchestrate(&runtime_plugins, input).await
100 }
101
102 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
103 pub fn customize(
104 self,
105 ) -> crate::client::customize::CustomizableOperation<
106 crate::operation::put_bucket_request_payment::PutBucketRequestPaymentOutput,
107 crate::operation::put_bucket_request_payment::PutBucketRequestPaymentError,
108 Self,
109 > {
110 crate::client::customize::CustomizableOperation::new(self)
111 }
112 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
113 self.set_config_override(::std::option::Option::Some(config_override.into()));
114 self
115 }
116
117 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
118 self.config_override = config_override;
119 self
120 }
121 /// <p>The bucket name.</p>
122 pub fn bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
123 self.inner = self.inner.bucket(input.into());
124 self
125 }
126 /// <p>The bucket name.</p>
127 pub fn set_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
128 self.inner = self.inner.set_bucket(input);
129 self
130 }
131 /// <p>The bucket name.</p>
132 pub fn get_bucket(&self) -> &::std::option::Option<::std::string::String> {
133 self.inner.get_bucket()
134 }
135 /// <p>The Base64 encoded 128-bit <code>MD5</code> digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see <a href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p>
136 /// <p>For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.</p>
137 pub fn content_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
138 self.inner = self.inner.content_md5(input.into());
139 self
140 }
141 /// <p>The Base64 encoded 128-bit <code>MD5</code> digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see <a href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p>
142 /// <p>For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.</p>
143 pub fn set_content_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
144 self.inner = self.inner.set_content_md5(input);
145 self
146 }
147 /// <p>The Base64 encoded 128-bit <code>MD5</code> digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see <a href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p>
148 /// <p>For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.</p>
149 pub fn get_content_md5(&self) -> &::std::option::Option<::std::string::String> {
150 self.inner.get_content_md5()
151 }
152 /// <p>Indicates the algorithm used to create the checksum for the request when you use the SDK. This header will not provide any additional functionality if you don't use the SDK. When you send this header, there must be a corresponding <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad Request</code>. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
153 /// <p>If you provide an individual checksum, Amazon S3 ignores any provided <code>ChecksumAlgorithm</code> parameter.</p>
154 pub fn checksum_algorithm(mut self, input: crate::types::ChecksumAlgorithm) -> Self {
155 self.inner = self.inner.checksum_algorithm(input);
156 self
157 }
158 /// <p>Indicates the algorithm used to create the checksum for the request when you use the SDK. This header will not provide any additional functionality if you don't use the SDK. When you send this header, there must be a corresponding <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad Request</code>. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
159 /// <p>If you provide an individual checksum, Amazon S3 ignores any provided <code>ChecksumAlgorithm</code> parameter.</p>
160 pub fn set_checksum_algorithm(mut self, input: ::std::option::Option<crate::types::ChecksumAlgorithm>) -> Self {
161 self.inner = self.inner.set_checksum_algorithm(input);
162 self
163 }
164 /// <p>Indicates the algorithm used to create the checksum for the request when you use the SDK. This header will not provide any additional functionality if you don't use the SDK. When you send this header, there must be a corresponding <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad Request</code>. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
165 /// <p>If you provide an individual checksum, Amazon S3 ignores any provided <code>ChecksumAlgorithm</code> parameter.</p>
166 pub fn get_checksum_algorithm(&self) -> &::std::option::Option<crate::types::ChecksumAlgorithm> {
167 self.inner.get_checksum_algorithm()
168 }
169 /// <p>Container for Payer.</p>
170 pub fn request_payment_configuration(mut self, input: crate::types::RequestPaymentConfiguration) -> Self {
171 self.inner = self.inner.request_payment_configuration(input);
172 self
173 }
174 /// <p>Container for Payer.</p>
175 pub fn set_request_payment_configuration(mut self, input: ::std::option::Option<crate::types::RequestPaymentConfiguration>) -> Self {
176 self.inner = self.inner.set_request_payment_configuration(input);
177 self
178 }
179 /// <p>Container for Payer.</p>
180 pub fn get_request_payment_configuration(&self) -> &::std::option::Option<crate::types::RequestPaymentConfiguration> {
181 self.inner.get_request_payment_configuration()
182 }
183 /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
184 pub fn expected_bucket_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
185 self.inner = self.inner.expected_bucket_owner(input.into());
186 self
187 }
188 /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
189 pub fn set_expected_bucket_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
190 self.inner = self.inner.set_expected_bucket_owner(input);
191 self
192 }
193 /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
194 pub fn get_expected_bucket_owner(&self) -> &::std::option::Option<::std::string::String> {
195 self.inner.get_expected_bucket_owner()
196 }
197}