aws_sdk_s3/operation/rename_object/_rename_object_input.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct RenameObjectInput {
6 /// <p>The bucket name of the directory bucket containing the object.</p>
7 /// <p>You must use virtual-hosted-style requests in the format <code>Bucket-name.s3express-zone-id.region-code.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format <code>bucket-base-name--zone-id--x-s3 </code> (for example, <code>amzn-s3-demo-bucket--usw2-az1--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
8 pub bucket: ::std::option::Option<::std::string::String>,
9 /// <p>Key name of the object to rename.</p>
10 pub key: ::std::option::Option<::std::string::String>,
11 /// <p>Specifies the source for the rename operation. The value must be URL encoded.</p>
12 pub rename_source: ::std::option::Option<::std::string::String>,
13 /// <p>Renames the object only if the ETag (entity tag) value provided during the operation matches the ETag of the object in S3. The <code>If-Match</code> header field makes the request method conditional on ETags. If the ETag values do not match, the operation returns a <code>412 Precondition Failed</code> error.</p>
14 /// <p>Expects the ETag value as a string.</p>
15 pub destination_if_match: ::std::option::Option<::std::string::String>,
16 /// <p>Renames the object only if the destination does not already exist in the specified directory bucket. If the object does exist when you send a request with <code>If-None-Match:*</code>, the S3 API will return a <code>412 Precondition Failed</code> error, preventing an overwrite. The <code>If-None-Match</code> header prevents overwrites of existing data by validating that there's not an object with the same key name already in your directory bucket.</p>
17 /// <p>Expects the <code>*</code> character (asterisk).</p>
18 pub destination_if_none_match: ::std::option::Option<::std::string::String>,
19 /// <p>Renames the object if the destination exists and if it has been modified since the specified time.</p>
20 pub destination_if_modified_since: ::std::option::Option<::aws_smithy_types::DateTime>,
21 /// <p>Renames the object if it hasn't been modified since the specified time.</p>
22 pub destination_if_unmodified_since: ::std::option::Option<::aws_smithy_types::DateTime>,
23 /// <p>Renames the object if the source exists and if its entity tag (ETag) matches the specified ETag.</p>
24 pub source_if_match: ::std::option::Option<::std::string::String>,
25 /// <p>Renames the object if the source exists and if its entity tag (ETag) is different than the specified ETag. If an asterisk (<code>*</code>) character is provided, the operation will fail and return a <code>412 Precondition Failed</code> error.</p>
26 pub source_if_none_match: ::std::option::Option<::std::string::String>,
27 /// <p>Renames the object if the source exists and if it has been modified since the specified time.</p>
28 pub source_if_modified_since: ::std::option::Option<::aws_smithy_types::DateTime>,
29 /// <p>Renames the object if the source exists and hasn't been modified since the specified time.</p>
30 pub source_if_unmodified_since: ::std::option::Option<::aws_smithy_types::DateTime>,
31 /// <p>A unique string with a max of 64 ASCII characters in the ASCII range of 33 - 126. <code>RenameObject</code> supports idempotency using a client token. To make an idempotent API request using <code>RenameObject</code>, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails and an <code>IdempotentParameterMismatch</code> error is returned.</p>
32 pub client_token: ::std::option::Option<::std::string::String>,
33}
34impl RenameObjectInput {
35 /// <p>The bucket name of the directory bucket containing the object.</p>
36 /// <p>You must use virtual-hosted-style requests in the format <code>Bucket-name.s3express-zone-id.region-code.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format <code>bucket-base-name--zone-id--x-s3 </code> (for example, <code>amzn-s3-demo-bucket--usw2-az1--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
37 pub fn bucket(&self) -> ::std::option::Option<&str> {
38 self.bucket.as_deref()
39 }
40 /// <p>Key name of the object to rename.</p>
41 pub fn key(&self) -> ::std::option::Option<&str> {
42 self.key.as_deref()
43 }
44 /// <p>Specifies the source for the rename operation. The value must be URL encoded.</p>
45 pub fn rename_source(&self) -> ::std::option::Option<&str> {
46 self.rename_source.as_deref()
47 }
48 /// <p>Renames the object only if the ETag (entity tag) value provided during the operation matches the ETag of the object in S3. The <code>If-Match</code> header field makes the request method conditional on ETags. If the ETag values do not match, the operation returns a <code>412 Precondition Failed</code> error.</p>
49 /// <p>Expects the ETag value as a string.</p>
50 pub fn destination_if_match(&self) -> ::std::option::Option<&str> {
51 self.destination_if_match.as_deref()
52 }
53 /// <p>Renames the object only if the destination does not already exist in the specified directory bucket. If the object does exist when you send a request with <code>If-None-Match:*</code>, the S3 API will return a <code>412 Precondition Failed</code> error, preventing an overwrite. The <code>If-None-Match</code> header prevents overwrites of existing data by validating that there's not an object with the same key name already in your directory bucket.</p>
54 /// <p>Expects the <code>*</code> character (asterisk).</p>
55 pub fn destination_if_none_match(&self) -> ::std::option::Option<&str> {
56 self.destination_if_none_match.as_deref()
57 }
58 /// <p>Renames the object if the destination exists and if it has been modified since the specified time.</p>
59 pub fn destination_if_modified_since(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
60 self.destination_if_modified_since.as_ref()
61 }
62 /// <p>Renames the object if it hasn't been modified since the specified time.</p>
63 pub fn destination_if_unmodified_since(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
64 self.destination_if_unmodified_since.as_ref()
65 }
66 /// <p>Renames the object if the source exists and if its entity tag (ETag) matches the specified ETag.</p>
67 pub fn source_if_match(&self) -> ::std::option::Option<&str> {
68 self.source_if_match.as_deref()
69 }
70 /// <p>Renames the object if the source exists and if its entity tag (ETag) is different than the specified ETag. If an asterisk (<code>*</code>) character is provided, the operation will fail and return a <code>412 Precondition Failed</code> error.</p>
71 pub fn source_if_none_match(&self) -> ::std::option::Option<&str> {
72 self.source_if_none_match.as_deref()
73 }
74 /// <p>Renames the object if the source exists and if it has been modified since the specified time.</p>
75 pub fn source_if_modified_since(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
76 self.source_if_modified_since.as_ref()
77 }
78 /// <p>Renames the object if the source exists and hasn't been modified since the specified time.</p>
79 pub fn source_if_unmodified_since(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
80 self.source_if_unmodified_since.as_ref()
81 }
82 /// <p>A unique string with a max of 64 ASCII characters in the ASCII range of 33 - 126. <code>RenameObject</code> supports idempotency using a client token. To make an idempotent API request using <code>RenameObject</code>, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails and an <code>IdempotentParameterMismatch</code> error is returned.</p>
83 pub fn client_token(&self) -> ::std::option::Option<&str> {
84 self.client_token.as_deref()
85 }
86}
87impl RenameObjectInput {
88 /// Creates a new builder-style object to manufacture [`RenameObjectInput`](crate::operation::rename_object::RenameObjectInput).
89 pub fn builder() -> crate::operation::rename_object::builders::RenameObjectInputBuilder {
90 crate::operation::rename_object::builders::RenameObjectInputBuilder::default()
91 }
92}
93
94/// A builder for [`RenameObjectInput`](crate::operation::rename_object::RenameObjectInput).
95#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
96#[non_exhaustive]
97pub struct RenameObjectInputBuilder {
98 pub(crate) bucket: ::std::option::Option<::std::string::String>,
99 pub(crate) key: ::std::option::Option<::std::string::String>,
100 pub(crate) rename_source: ::std::option::Option<::std::string::String>,
101 pub(crate) destination_if_match: ::std::option::Option<::std::string::String>,
102 pub(crate) destination_if_none_match: ::std::option::Option<::std::string::String>,
103 pub(crate) destination_if_modified_since: ::std::option::Option<::aws_smithy_types::DateTime>,
104 pub(crate) destination_if_unmodified_since: ::std::option::Option<::aws_smithy_types::DateTime>,
105 pub(crate) source_if_match: ::std::option::Option<::std::string::String>,
106 pub(crate) source_if_none_match: ::std::option::Option<::std::string::String>,
107 pub(crate) source_if_modified_since: ::std::option::Option<::aws_smithy_types::DateTime>,
108 pub(crate) source_if_unmodified_since: ::std::option::Option<::aws_smithy_types::DateTime>,
109 pub(crate) client_token: ::std::option::Option<::std::string::String>,
110}
111impl RenameObjectInputBuilder {
112 /// <p>The bucket name of the directory bucket containing the object.</p>
113 /// <p>You must use virtual-hosted-style requests in the format <code>Bucket-name.s3express-zone-id.region-code.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format <code>bucket-base-name--zone-id--x-s3 </code> (for example, <code>amzn-s3-demo-bucket--usw2-az1--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
114 /// This field is required.
115 pub fn bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
116 self.bucket = ::std::option::Option::Some(input.into());
117 self
118 }
119 /// <p>The bucket name of the directory bucket containing the object.</p>
120 /// <p>You must use virtual-hosted-style requests in the format <code>Bucket-name.s3express-zone-id.region-code.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format <code>bucket-base-name--zone-id--x-s3 </code> (for example, <code>amzn-s3-demo-bucket--usw2-az1--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
121 pub fn set_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
122 self.bucket = input;
123 self
124 }
125 /// <p>The bucket name of the directory bucket containing the object.</p>
126 /// <p>You must use virtual-hosted-style requests in the format <code>Bucket-name.s3express-zone-id.region-code.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format <code>bucket-base-name--zone-id--x-s3 </code> (for example, <code>amzn-s3-demo-bucket--usw2-az1--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
127 pub fn get_bucket(&self) -> &::std::option::Option<::std::string::String> {
128 &self.bucket
129 }
130 /// <p>Key name of the object to rename.</p>
131 /// This field is required.
132 pub fn key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
133 self.key = ::std::option::Option::Some(input.into());
134 self
135 }
136 /// <p>Key name of the object to rename.</p>
137 pub fn set_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
138 self.key = input;
139 self
140 }
141 /// <p>Key name of the object to rename.</p>
142 pub fn get_key(&self) -> &::std::option::Option<::std::string::String> {
143 &self.key
144 }
145 /// <p>Specifies the source for the rename operation. The value must be URL encoded.</p>
146 /// This field is required.
147 pub fn rename_source(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
148 self.rename_source = ::std::option::Option::Some(input.into());
149 self
150 }
151 /// <p>Specifies the source for the rename operation. The value must be URL encoded.</p>
152 pub fn set_rename_source(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
153 self.rename_source = input;
154 self
155 }
156 /// <p>Specifies the source for the rename operation. The value must be URL encoded.</p>
157 pub fn get_rename_source(&self) -> &::std::option::Option<::std::string::String> {
158 &self.rename_source
159 }
160 /// <p>Renames the object only if the ETag (entity tag) value provided during the operation matches the ETag of the object in S3. The <code>If-Match</code> header field makes the request method conditional on ETags. If the ETag values do not match, the operation returns a <code>412 Precondition Failed</code> error.</p>
161 /// <p>Expects the ETag value as a string.</p>
162 pub fn destination_if_match(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
163 self.destination_if_match = ::std::option::Option::Some(input.into());
164 self
165 }
166 /// <p>Renames the object only if the ETag (entity tag) value provided during the operation matches the ETag of the object in S3. The <code>If-Match</code> header field makes the request method conditional on ETags. If the ETag values do not match, the operation returns a <code>412 Precondition Failed</code> error.</p>
167 /// <p>Expects the ETag value as a string.</p>
168 pub fn set_destination_if_match(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
169 self.destination_if_match = input;
170 self
171 }
172 /// <p>Renames the object only if the ETag (entity tag) value provided during the operation matches the ETag of the object in S3. The <code>If-Match</code> header field makes the request method conditional on ETags. If the ETag values do not match, the operation returns a <code>412 Precondition Failed</code> error.</p>
173 /// <p>Expects the ETag value as a string.</p>
174 pub fn get_destination_if_match(&self) -> &::std::option::Option<::std::string::String> {
175 &self.destination_if_match
176 }
177 /// <p>Renames the object only if the destination does not already exist in the specified directory bucket. If the object does exist when you send a request with <code>If-None-Match:*</code>, the S3 API will return a <code>412 Precondition Failed</code> error, preventing an overwrite. The <code>If-None-Match</code> header prevents overwrites of existing data by validating that there's not an object with the same key name already in your directory bucket.</p>
178 /// <p>Expects the <code>*</code> character (asterisk).</p>
179 pub fn destination_if_none_match(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
180 self.destination_if_none_match = ::std::option::Option::Some(input.into());
181 self
182 }
183 /// <p>Renames the object only if the destination does not already exist in the specified directory bucket. If the object does exist when you send a request with <code>If-None-Match:*</code>, the S3 API will return a <code>412 Precondition Failed</code> error, preventing an overwrite. The <code>If-None-Match</code> header prevents overwrites of existing data by validating that there's not an object with the same key name already in your directory bucket.</p>
184 /// <p>Expects the <code>*</code> character (asterisk).</p>
185 pub fn set_destination_if_none_match(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
186 self.destination_if_none_match = input;
187 self
188 }
189 /// <p>Renames the object only if the destination does not already exist in the specified directory bucket. If the object does exist when you send a request with <code>If-None-Match:*</code>, the S3 API will return a <code>412 Precondition Failed</code> error, preventing an overwrite. The <code>If-None-Match</code> header prevents overwrites of existing data by validating that there's not an object with the same key name already in your directory bucket.</p>
190 /// <p>Expects the <code>*</code> character (asterisk).</p>
191 pub fn get_destination_if_none_match(&self) -> &::std::option::Option<::std::string::String> {
192 &self.destination_if_none_match
193 }
194 /// <p>Renames the object if the destination exists and if it has been modified since the specified time.</p>
195 pub fn destination_if_modified_since(mut self, input: ::aws_smithy_types::DateTime) -> Self {
196 self.destination_if_modified_since = ::std::option::Option::Some(input);
197 self
198 }
199 /// <p>Renames the object if the destination exists and if it has been modified since the specified time.</p>
200 pub fn set_destination_if_modified_since(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
201 self.destination_if_modified_since = input;
202 self
203 }
204 /// <p>Renames the object if the destination exists and if it has been modified since the specified time.</p>
205 pub fn get_destination_if_modified_since(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
206 &self.destination_if_modified_since
207 }
208 /// <p>Renames the object if it hasn't been modified since the specified time.</p>
209 pub fn destination_if_unmodified_since(mut self, input: ::aws_smithy_types::DateTime) -> Self {
210 self.destination_if_unmodified_since = ::std::option::Option::Some(input);
211 self
212 }
213 /// <p>Renames the object if it hasn't been modified since the specified time.</p>
214 pub fn set_destination_if_unmodified_since(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
215 self.destination_if_unmodified_since = input;
216 self
217 }
218 /// <p>Renames the object if it hasn't been modified since the specified time.</p>
219 pub fn get_destination_if_unmodified_since(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
220 &self.destination_if_unmodified_since
221 }
222 /// <p>Renames the object if the source exists and if its entity tag (ETag) matches the specified ETag.</p>
223 pub fn source_if_match(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
224 self.source_if_match = ::std::option::Option::Some(input.into());
225 self
226 }
227 /// <p>Renames the object if the source exists and if its entity tag (ETag) matches the specified ETag.</p>
228 pub fn set_source_if_match(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
229 self.source_if_match = input;
230 self
231 }
232 /// <p>Renames the object if the source exists and if its entity tag (ETag) matches the specified ETag.</p>
233 pub fn get_source_if_match(&self) -> &::std::option::Option<::std::string::String> {
234 &self.source_if_match
235 }
236 /// <p>Renames the object if the source exists and if its entity tag (ETag) is different than the specified ETag. If an asterisk (<code>*</code>) character is provided, the operation will fail and return a <code>412 Precondition Failed</code> error.</p>
237 pub fn source_if_none_match(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
238 self.source_if_none_match = ::std::option::Option::Some(input.into());
239 self
240 }
241 /// <p>Renames the object if the source exists and if its entity tag (ETag) is different than the specified ETag. If an asterisk (<code>*</code>) character is provided, the operation will fail and return a <code>412 Precondition Failed</code> error.</p>
242 pub fn set_source_if_none_match(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
243 self.source_if_none_match = input;
244 self
245 }
246 /// <p>Renames the object if the source exists and if its entity tag (ETag) is different than the specified ETag. If an asterisk (<code>*</code>) character is provided, the operation will fail and return a <code>412 Precondition Failed</code> error.</p>
247 pub fn get_source_if_none_match(&self) -> &::std::option::Option<::std::string::String> {
248 &self.source_if_none_match
249 }
250 /// <p>Renames the object if the source exists and if it has been modified since the specified time.</p>
251 pub fn source_if_modified_since(mut self, input: ::aws_smithy_types::DateTime) -> Self {
252 self.source_if_modified_since = ::std::option::Option::Some(input);
253 self
254 }
255 /// <p>Renames the object if the source exists and if it has been modified since the specified time.</p>
256 pub fn set_source_if_modified_since(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
257 self.source_if_modified_since = input;
258 self
259 }
260 /// <p>Renames the object if the source exists and if it has been modified since the specified time.</p>
261 pub fn get_source_if_modified_since(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
262 &self.source_if_modified_since
263 }
264 /// <p>Renames the object if the source exists and hasn't been modified since the specified time.</p>
265 pub fn source_if_unmodified_since(mut self, input: ::aws_smithy_types::DateTime) -> Self {
266 self.source_if_unmodified_since = ::std::option::Option::Some(input);
267 self
268 }
269 /// <p>Renames the object if the source exists and hasn't been modified since the specified time.</p>
270 pub fn set_source_if_unmodified_since(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
271 self.source_if_unmodified_since = input;
272 self
273 }
274 /// <p>Renames the object if the source exists and hasn't been modified since the specified time.</p>
275 pub fn get_source_if_unmodified_since(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
276 &self.source_if_unmodified_since
277 }
278 /// <p>A unique string with a max of 64 ASCII characters in the ASCII range of 33 - 126. <code>RenameObject</code> supports idempotency using a client token. To make an idempotent API request using <code>RenameObject</code>, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails and an <code>IdempotentParameterMismatch</code> error is returned.</p>
279 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
280 self.client_token = ::std::option::Option::Some(input.into());
281 self
282 }
283 /// <p>A unique string with a max of 64 ASCII characters in the ASCII range of 33 - 126. <code>RenameObject</code> supports idempotency using a client token. To make an idempotent API request using <code>RenameObject</code>, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails and an <code>IdempotentParameterMismatch</code> error is returned.</p>
284 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
285 self.client_token = input;
286 self
287 }
288 /// <p>A unique string with a max of 64 ASCII characters in the ASCII range of 33 - 126. <code>RenameObject</code> supports idempotency using a client token. To make an idempotent API request using <code>RenameObject</code>, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails and an <code>IdempotentParameterMismatch</code> error is returned.</p>
289 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
290 &self.client_token
291 }
292 /// Consumes the builder and constructs a [`RenameObjectInput`](crate::operation::rename_object::RenameObjectInput).
293 pub fn build(
294 self,
295 ) -> ::std::result::Result<crate::operation::rename_object::RenameObjectInput, ::aws_smithy_types::error::operation::BuildError> {
296 ::std::result::Result::Ok(crate::operation::rename_object::RenameObjectInput {
297 bucket: self.bucket,
298 key: self.key,
299 rename_source: self.rename_source,
300 destination_if_match: self.destination_if_match,
301 destination_if_none_match: self.destination_if_none_match,
302 destination_if_modified_since: self.destination_if_modified_since,
303 destination_if_unmodified_since: self.destination_if_unmodified_since,
304 source_if_match: self.source_if_match,
305 source_if_none_match: self.source_if_none_match,
306 source_if_modified_since: self.source_if_modified_since,
307 source_if_unmodified_since: self.source_if_unmodified_since,
308 client_token: self.client_token,
309 })
310 }
311}