aws_sdk_ec2/operation/copy_image/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::copy_image::_copy_image_output::CopyImageOutputBuilder;
3
4pub use crate::operation::copy_image::_copy_image_input::CopyImageInputBuilder;
5
6impl crate::operation::copy_image::builders::CopyImageInputBuilder {
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::copy_image::CopyImageOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::copy_image::CopyImageError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.copy_image();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `CopyImage`.
24///
25/// <p>Initiates an AMI copy operation. You can copy an AMI from one Region to another, or from a Region to an Outpost. You can't copy an AMI from an Outpost to a Region, from one Outpost to another, or within the same Outpost. To copy an AMI to another partition, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateStoreImageTask.html">CreateStoreImageTask</a>.</p>
26/// <p>When you copy an AMI from one Region to another, the destination Region is the current Region.</p>
27/// <p>When you copy an AMI from a Region to an Outpost, specify the ARN of the Outpost as the destination. Backing snapshots copied to an Outpost are encrypted by default using the default encryption key for the Region or the key that you specify. Outposts do not support unencrypted snapshots.</p>
28/// <p>For information about the prerequisites when copying an AMI, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html">Copy an AMI</a> in the <i>Amazon EC2 User Guide</i>.</p>
29#[derive(::std::clone::Clone, ::std::fmt::Debug)]
30pub struct CopyImageFluentBuilder {
31 handle: ::std::sync::Arc<crate::client::Handle>,
32 inner: crate::operation::copy_image::builders::CopyImageInputBuilder,
33 config_override: ::std::option::Option<crate::config::Builder>,
34}
35impl crate::client::customize::internal::CustomizableSend<crate::operation::copy_image::CopyImageOutput, crate::operation::copy_image::CopyImageError>
36 for CopyImageFluentBuilder
37{
38 fn send(
39 self,
40 config_override: crate::config::Builder,
41 ) -> crate::client::customize::internal::BoxFuture<
42 crate::client::customize::internal::SendResult<crate::operation::copy_image::CopyImageOutput, crate::operation::copy_image::CopyImageError>,
43 > {
44 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
45 }
46}
47impl CopyImageFluentBuilder {
48 /// Creates a new `CopyImageFluentBuilder`.
49 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
50 Self {
51 handle,
52 inner: ::std::default::Default::default(),
53 config_override: ::std::option::Option::None,
54 }
55 }
56 /// Access the CopyImage as a reference.
57 pub fn as_input(&self) -> &crate::operation::copy_image::builders::CopyImageInputBuilder {
58 &self.inner
59 }
60 /// Sends the request and returns the response.
61 ///
62 /// If an error occurs, an `SdkError` will be returned with additional details that
63 /// can be matched against.
64 ///
65 /// By default, any retryable failures will be retried twice. Retry behavior
66 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
67 /// set when configuring the client.
68 pub async fn send(
69 self,
70 ) -> ::std::result::Result<
71 crate::operation::copy_image::CopyImageOutput,
72 ::aws_smithy_runtime_api::client::result::SdkError<
73 crate::operation::copy_image::CopyImageError,
74 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
75 >,
76 > {
77 let input = self
78 .inner
79 .build()
80 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
81 let runtime_plugins = crate::operation::copy_image::CopyImage::operation_runtime_plugins(
82 self.handle.runtime_plugins.clone(),
83 &self.handle.conf,
84 self.config_override,
85 );
86 crate::operation::copy_image::CopyImage::orchestrate(&runtime_plugins, input).await
87 }
88
89 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
90 pub fn customize(
91 self,
92 ) -> crate::client::customize::CustomizableOperation<
93 crate::operation::copy_image::CopyImageOutput,
94 crate::operation::copy_image::CopyImageError,
95 Self,
96 > {
97 crate::client::customize::CustomizableOperation::new(self)
98 }
99 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
100 self.set_config_override(::std::option::Option::Some(config_override.into()));
101 self
102 }
103
104 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
105 self.config_override = config_override;
106 self
107 }
108 /// <p>Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring idempotency</a> in the <i>Amazon EC2 API Reference</i>.</p>
109 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
110 self.inner = self.inner.client_token(input.into());
111 self
112 }
113 /// <p>Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring idempotency</a> in the <i>Amazon EC2 API Reference</i>.</p>
114 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
115 self.inner = self.inner.set_client_token(input);
116 self
117 }
118 /// <p>Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring idempotency</a> in the <i>Amazon EC2 API Reference</i>.</p>
119 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
120 self.inner.get_client_token()
121 }
122 /// <p>A description for the new AMI in the destination Region.</p>
123 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
124 self.inner = self.inner.description(input.into());
125 self
126 }
127 /// <p>A description for the new AMI in the destination Region.</p>
128 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
129 self.inner = self.inner.set_description(input);
130 self
131 }
132 /// <p>A description for the new AMI in the destination Region.</p>
133 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
134 self.inner.get_description()
135 }
136 /// <p>Specifies whether the destination snapshots of the copied image should be encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted copy of an encrypted snapshot. The default KMS key for Amazon EBS is used unless you specify a non-default Key Management Service (KMS) KMS key using <code>KmsKeyId</code>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html">Use encryption with EBS-backed AMIs</a> in the <i>Amazon EC2 User Guide</i>.</p>
137 pub fn encrypted(mut self, input: bool) -> Self {
138 self.inner = self.inner.encrypted(input);
139 self
140 }
141 /// <p>Specifies whether the destination snapshots of the copied image should be encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted copy of an encrypted snapshot. The default KMS key for Amazon EBS is used unless you specify a non-default Key Management Service (KMS) KMS key using <code>KmsKeyId</code>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html">Use encryption with EBS-backed AMIs</a> in the <i>Amazon EC2 User Guide</i>.</p>
142 pub fn set_encrypted(mut self, input: ::std::option::Option<bool>) -> Self {
143 self.inner = self.inner.set_encrypted(input);
144 self
145 }
146 /// <p>Specifies whether the destination snapshots of the copied image should be encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted copy of an encrypted snapshot. The default KMS key for Amazon EBS is used unless you specify a non-default Key Management Service (KMS) KMS key using <code>KmsKeyId</code>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html">Use encryption with EBS-backed AMIs</a> in the <i>Amazon EC2 User Guide</i>.</p>
147 pub fn get_encrypted(&self) -> &::std::option::Option<bool> {
148 self.inner.get_encrypted()
149 }
150 /// <p>The identifier of the symmetric Key Management Service (KMS) KMS key to use when creating encrypted volumes. If this parameter is not specified, your Amazon Web Services managed KMS key for Amazon EBS is used. If you specify a KMS key, you must also set the encrypted state to <code>true</code>.</p>
151 /// <p>You can specify a KMS key using any of the following:</p>
152 /// <ul>
153 /// <li>
154 /// <p>Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.</p></li>
155 /// <li>
156 /// <p>Key alias. For example, alias/ExampleAlias.</p></li>
157 /// <li>
158 /// <p>Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.</p></li>
159 /// <li>
160 /// <p>Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.</p></li>
161 /// </ul>
162 /// <p>Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an identifier that is not valid, the action can appear to complete, but eventually fails.</p>
163 /// <p>The specified KMS key must exist in the destination Region.</p>
164 /// <p>Amazon EBS does not support asymmetric KMS keys.</p>
165 pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
166 self.inner = self.inner.kms_key_id(input.into());
167 self
168 }
169 /// <p>The identifier of the symmetric Key Management Service (KMS) KMS key to use when creating encrypted volumes. If this parameter is not specified, your Amazon Web Services managed KMS key for Amazon EBS is used. If you specify a KMS key, you must also set the encrypted state to <code>true</code>.</p>
170 /// <p>You can specify a KMS key using any of the following:</p>
171 /// <ul>
172 /// <li>
173 /// <p>Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.</p></li>
174 /// <li>
175 /// <p>Key alias. For example, alias/ExampleAlias.</p></li>
176 /// <li>
177 /// <p>Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.</p></li>
178 /// <li>
179 /// <p>Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.</p></li>
180 /// </ul>
181 /// <p>Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an identifier that is not valid, the action can appear to complete, but eventually fails.</p>
182 /// <p>The specified KMS key must exist in the destination Region.</p>
183 /// <p>Amazon EBS does not support asymmetric KMS keys.</p>
184 pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
185 self.inner = self.inner.set_kms_key_id(input);
186 self
187 }
188 /// <p>The identifier of the symmetric Key Management Service (KMS) KMS key to use when creating encrypted volumes. If this parameter is not specified, your Amazon Web Services managed KMS key for Amazon EBS is used. If you specify a KMS key, you must also set the encrypted state to <code>true</code>.</p>
189 /// <p>You can specify a KMS key using any of the following:</p>
190 /// <ul>
191 /// <li>
192 /// <p>Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.</p></li>
193 /// <li>
194 /// <p>Key alias. For example, alias/ExampleAlias.</p></li>
195 /// <li>
196 /// <p>Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.</p></li>
197 /// <li>
198 /// <p>Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.</p></li>
199 /// </ul>
200 /// <p>Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an identifier that is not valid, the action can appear to complete, but eventually fails.</p>
201 /// <p>The specified KMS key must exist in the destination Region.</p>
202 /// <p>Amazon EBS does not support asymmetric KMS keys.</p>
203 pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
204 self.inner.get_kms_key_id()
205 }
206 /// <p>The name of the new AMI in the destination Region.</p>
207 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
208 self.inner = self.inner.name(input.into());
209 self
210 }
211 /// <p>The name of the new AMI in the destination Region.</p>
212 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
213 self.inner = self.inner.set_name(input);
214 self
215 }
216 /// <p>The name of the new AMI in the destination Region.</p>
217 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
218 self.inner.get_name()
219 }
220 /// <p>The ID of the AMI to copy.</p>
221 pub fn source_image_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
222 self.inner = self.inner.source_image_id(input.into());
223 self
224 }
225 /// <p>The ID of the AMI to copy.</p>
226 pub fn set_source_image_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
227 self.inner = self.inner.set_source_image_id(input);
228 self
229 }
230 /// <p>The ID of the AMI to copy.</p>
231 pub fn get_source_image_id(&self) -> &::std::option::Option<::std::string::String> {
232 self.inner.get_source_image_id()
233 }
234 /// <p>The name of the Region that contains the AMI to copy.</p>
235 pub fn source_region(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
236 self.inner = self.inner.source_region(input.into());
237 self
238 }
239 /// <p>The name of the Region that contains the AMI to copy.</p>
240 pub fn set_source_region(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
241 self.inner = self.inner.set_source_region(input);
242 self
243 }
244 /// <p>The name of the Region that contains the AMI to copy.</p>
245 pub fn get_source_region(&self) -> &::std::option::Option<::std::string::String> {
246 self.inner.get_source_region()
247 }
248 /// <p>The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an Amazon Web Services Region to an Outpost. The AMI must be in the Region of the destination Outpost. You cannot copy an AMI from an Outpost to a Region, from one Outpost to another, or within the same Outpost.</p>
249 /// <p>For more information, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/snapshots-outposts.html#copy-amis">Copy AMIs from an Amazon Web Services Region to an Outpost</a> in the <i>Amazon EBS User Guide</i>.</p>
250 pub fn destination_outpost_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
251 self.inner = self.inner.destination_outpost_arn(input.into());
252 self
253 }
254 /// <p>The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an Amazon Web Services Region to an Outpost. The AMI must be in the Region of the destination Outpost. You cannot copy an AMI from an Outpost to a Region, from one Outpost to another, or within the same Outpost.</p>
255 /// <p>For more information, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/snapshots-outposts.html#copy-amis">Copy AMIs from an Amazon Web Services Region to an Outpost</a> in the <i>Amazon EBS User Guide</i>.</p>
256 pub fn set_destination_outpost_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
257 self.inner = self.inner.set_destination_outpost_arn(input);
258 self
259 }
260 /// <p>The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an Amazon Web Services Region to an Outpost. The AMI must be in the Region of the destination Outpost. You cannot copy an AMI from an Outpost to a Region, from one Outpost to another, or within the same Outpost.</p>
261 /// <p>For more information, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/snapshots-outposts.html#copy-amis">Copy AMIs from an Amazon Web Services Region to an Outpost</a> in the <i>Amazon EBS User Guide</i>.</p>
262 pub fn get_destination_outpost_arn(&self) -> &::std::option::Option<::std::string::String> {
263 self.inner.get_destination_outpost_arn()
264 }
265 /// <p>Indicates whether to include your user-defined AMI tags when copying the AMI.</p>
266 /// <p>The following tags will not be copied:</p>
267 /// <ul>
268 /// <li>
269 /// <p>System tags (prefixed with <code>aws:</code>)</p></li>
270 /// <li>
271 /// <p>For public and shared AMIs, user-defined tags that are attached by other Amazon Web Services accounts</p></li>
272 /// </ul>
273 /// <p>Default: Your user-defined AMI tags are not copied.</p>
274 pub fn copy_image_tags(mut self, input: bool) -> Self {
275 self.inner = self.inner.copy_image_tags(input);
276 self
277 }
278 /// <p>Indicates whether to include your user-defined AMI tags when copying the AMI.</p>
279 /// <p>The following tags will not be copied:</p>
280 /// <ul>
281 /// <li>
282 /// <p>System tags (prefixed with <code>aws:</code>)</p></li>
283 /// <li>
284 /// <p>For public and shared AMIs, user-defined tags that are attached by other Amazon Web Services accounts</p></li>
285 /// </ul>
286 /// <p>Default: Your user-defined AMI tags are not copied.</p>
287 pub fn set_copy_image_tags(mut self, input: ::std::option::Option<bool>) -> Self {
288 self.inner = self.inner.set_copy_image_tags(input);
289 self
290 }
291 /// <p>Indicates whether to include your user-defined AMI tags when copying the AMI.</p>
292 /// <p>The following tags will not be copied:</p>
293 /// <ul>
294 /// <li>
295 /// <p>System tags (prefixed with <code>aws:</code>)</p></li>
296 /// <li>
297 /// <p>For public and shared AMIs, user-defined tags that are attached by other Amazon Web Services accounts</p></li>
298 /// </ul>
299 /// <p>Default: Your user-defined AMI tags are not copied.</p>
300 pub fn get_copy_image_tags(&self) -> &::std::option::Option<bool> {
301 self.inner.get_copy_image_tags()
302 }
303 ///
304 /// Appends an item to `TagSpecifications`.
305 ///
306 /// To override the contents of this collection use [`set_tag_specifications`](Self::set_tag_specifications).
307 ///
308 /// <p>The tags to apply to the new AMI and new snapshots. You can tag the AMI, the snapshots, or both.</p>
309 /// <ul>
310 /// <li>
311 /// <p>To tag the new AMI, the value for <code>ResourceType</code> must be <code>image</code>.</p></li>
312 /// <li>
313 /// <p>To tag the new snapshots, the value for <code>ResourceType</code> must be <code>snapshot</code>. The same tag is applied to all the new snapshots.</p></li>
314 /// </ul>
315 /// <p>If you specify other values for <code>ResourceType</code>, the request fails.</p>
316 /// <p>To tag an AMI or snapshot after it has been created, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html">CreateTags</a>.</p>
317 pub fn tag_specifications(mut self, input: crate::types::TagSpecification) -> Self {
318 self.inner = self.inner.tag_specifications(input);
319 self
320 }
321 /// <p>The tags to apply to the new AMI and new snapshots. You can tag the AMI, the snapshots, or both.</p>
322 /// <ul>
323 /// <li>
324 /// <p>To tag the new AMI, the value for <code>ResourceType</code> must be <code>image</code>.</p></li>
325 /// <li>
326 /// <p>To tag the new snapshots, the value for <code>ResourceType</code> must be <code>snapshot</code>. The same tag is applied to all the new snapshots.</p></li>
327 /// </ul>
328 /// <p>If you specify other values for <code>ResourceType</code>, the request fails.</p>
329 /// <p>To tag an AMI or snapshot after it has been created, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html">CreateTags</a>.</p>
330 pub fn set_tag_specifications(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::TagSpecification>>) -> Self {
331 self.inner = self.inner.set_tag_specifications(input);
332 self
333 }
334 /// <p>The tags to apply to the new AMI and new snapshots. You can tag the AMI, the snapshots, or both.</p>
335 /// <ul>
336 /// <li>
337 /// <p>To tag the new AMI, the value for <code>ResourceType</code> must be <code>image</code>.</p></li>
338 /// <li>
339 /// <p>To tag the new snapshots, the value for <code>ResourceType</code> must be <code>snapshot</code>. The same tag is applied to all the new snapshots.</p></li>
340 /// </ul>
341 /// <p>If you specify other values for <code>ResourceType</code>, the request fails.</p>
342 /// <p>To tag an AMI or snapshot after it has been created, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html">CreateTags</a>.</p>
343 pub fn get_tag_specifications(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::TagSpecification>> {
344 self.inner.get_tag_specifications()
345 }
346 /// <p>Specify a completion duration, in 15 minute increments, to initiate a time-based AMI copy. The specified completion duration applies to each of the snapshots associated with the AMI. Each snapshot associated with the AMI will be completed within the specified completion duration, regardless of their size.</p>
347 /// <p>If you do not specify a value, the AMI copy operation is completed on a best-effort basis.</p>
348 /// <p>For more information, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/time-based-copies.html"> Time-based copies</a>.</p>
349 pub fn snapshot_copy_completion_duration_minutes(mut self, input: i64) -> Self {
350 self.inner = self.inner.snapshot_copy_completion_duration_minutes(input);
351 self
352 }
353 /// <p>Specify a completion duration, in 15 minute increments, to initiate a time-based AMI copy. The specified completion duration applies to each of the snapshots associated with the AMI. Each snapshot associated with the AMI will be completed within the specified completion duration, regardless of their size.</p>
354 /// <p>If you do not specify a value, the AMI copy operation is completed on a best-effort basis.</p>
355 /// <p>For more information, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/time-based-copies.html"> Time-based copies</a>.</p>
356 pub fn set_snapshot_copy_completion_duration_minutes(mut self, input: ::std::option::Option<i64>) -> Self {
357 self.inner = self.inner.set_snapshot_copy_completion_duration_minutes(input);
358 self
359 }
360 /// <p>Specify a completion duration, in 15 minute increments, to initiate a time-based AMI copy. The specified completion duration applies to each of the snapshots associated with the AMI. Each snapshot associated with the AMI will be completed within the specified completion duration, regardless of their size.</p>
361 /// <p>If you do not specify a value, the AMI copy operation is completed on a best-effort basis.</p>
362 /// <p>For more information, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/time-based-copies.html"> Time-based copies</a>.</p>
363 pub fn get_snapshot_copy_completion_duration_minutes(&self) -> &::std::option::Option<i64> {
364 self.inner.get_snapshot_copy_completion_duration_minutes()
365 }
366 /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
367 pub fn dry_run(mut self, input: bool) -> Self {
368 self.inner = self.inner.dry_run(input);
369 self
370 }
371 /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
372 pub fn set_dry_run(mut self, input: ::std::option::Option<bool>) -> Self {
373 self.inner = self.inner.set_dry_run(input);
374 self
375 }
376 /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
377 pub fn get_dry_run(&self) -> &::std::option::Option<bool> {
378 self.inner.get_dry_run()
379 }
380}