aws_sdk_backup/operation/start_copy_job/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::start_copy_job::_start_copy_job_output::StartCopyJobOutputBuilder;
3
4pub use crate::operation::start_copy_job::_start_copy_job_input::StartCopyJobInputBuilder;
5
6impl crate::operation::start_copy_job::builders::StartCopyJobInputBuilder {
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::start_copy_job::StartCopyJobOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::start_copy_job::StartCopyJobError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.start_copy_job();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `StartCopyJob`.
24///
25/// <p>Starts a job to create a one-time copy of the specified resource.</p>
26/// <p>Does not support continuous backups.</p>
27#[derive(::std::clone::Clone, ::std::fmt::Debug)]
28pub struct StartCopyJobFluentBuilder {
29 handle: ::std::sync::Arc<crate::client::Handle>,
30 inner: crate::operation::start_copy_job::builders::StartCopyJobInputBuilder,
31 config_override: ::std::option::Option<crate::config::Builder>,
32}
33impl
34 crate::client::customize::internal::CustomizableSend<
35 crate::operation::start_copy_job::StartCopyJobOutput,
36 crate::operation::start_copy_job::StartCopyJobError,
37 > for StartCopyJobFluentBuilder
38{
39 fn send(
40 self,
41 config_override: crate::config::Builder,
42 ) -> crate::client::customize::internal::BoxFuture<
43 crate::client::customize::internal::SendResult<
44 crate::operation::start_copy_job::StartCopyJobOutput,
45 crate::operation::start_copy_job::StartCopyJobError,
46 >,
47 > {
48 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
49 }
50}
51impl StartCopyJobFluentBuilder {
52 /// Creates a new `StartCopyJobFluentBuilder`.
53 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
54 Self {
55 handle,
56 inner: ::std::default::Default::default(),
57 config_override: ::std::option::Option::None,
58 }
59 }
60 /// Access the StartCopyJob as a reference.
61 pub fn as_input(&self) -> &crate::operation::start_copy_job::builders::StartCopyJobInputBuilder {
62 &self.inner
63 }
64 /// Sends the request and returns the response.
65 ///
66 /// If an error occurs, an `SdkError` will be returned with additional details that
67 /// can be matched against.
68 ///
69 /// By default, any retryable failures will be retried twice. Retry behavior
70 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
71 /// set when configuring the client.
72 pub async fn send(
73 self,
74 ) -> ::std::result::Result<
75 crate::operation::start_copy_job::StartCopyJobOutput,
76 ::aws_smithy_runtime_api::client::result::SdkError<
77 crate::operation::start_copy_job::StartCopyJobError,
78 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
79 >,
80 > {
81 let input = self
82 .inner
83 .build()
84 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
85 let runtime_plugins = crate::operation::start_copy_job::StartCopyJob::operation_runtime_plugins(
86 self.handle.runtime_plugins.clone(),
87 &self.handle.conf,
88 self.config_override,
89 );
90 crate::operation::start_copy_job::StartCopyJob::orchestrate(&runtime_plugins, input).await
91 }
92
93 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
94 pub fn customize(
95 self,
96 ) -> crate::client::customize::CustomizableOperation<
97 crate::operation::start_copy_job::StartCopyJobOutput,
98 crate::operation::start_copy_job::StartCopyJobError,
99 Self,
100 > {
101 crate::client::customize::CustomizableOperation::new(self)
102 }
103 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
104 self.set_config_override(::std::option::Option::Some(config_override.into()));
105 self
106 }
107
108 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
109 self.config_override = config_override;
110 self
111 }
112 /// <p>An ARN that uniquely identifies a recovery point to use for the copy job; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.</p>
113 pub fn recovery_point_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
114 self.inner = self.inner.recovery_point_arn(input.into());
115 self
116 }
117 /// <p>An ARN that uniquely identifies a recovery point to use for the copy job; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.</p>
118 pub fn set_recovery_point_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
119 self.inner = self.inner.set_recovery_point_arn(input);
120 self
121 }
122 /// <p>An ARN that uniquely identifies a recovery point to use for the copy job; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.</p>
123 pub fn get_recovery_point_arn(&self) -> &::std::option::Option<::std::string::String> {
124 self.inner.get_recovery_point_arn()
125 }
126 /// <p>The name of a logical source container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Amazon Web Services Region where they are created.</p>
127 pub fn source_backup_vault_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
128 self.inner = self.inner.source_backup_vault_name(input.into());
129 self
130 }
131 /// <p>The name of a logical source container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Amazon Web Services Region where they are created.</p>
132 pub fn set_source_backup_vault_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
133 self.inner = self.inner.set_source_backup_vault_name(input);
134 self
135 }
136 /// <p>The name of a logical source container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Amazon Web Services Region where they are created.</p>
137 pub fn get_source_backup_vault_name(&self) -> &::std::option::Option<::std::string::String> {
138 self.inner.get_source_backup_vault_name()
139 }
140 /// <p>An Amazon Resource Name (ARN) that uniquely identifies a destination backup vault to copy to; for example, <code>arn:aws:backup:us-east-1:123456789012:backup-vault:aBackupVault</code>.</p>
141 pub fn destination_backup_vault_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
142 self.inner = self.inner.destination_backup_vault_arn(input.into());
143 self
144 }
145 /// <p>An Amazon Resource Name (ARN) that uniquely identifies a destination backup vault to copy to; for example, <code>arn:aws:backup:us-east-1:123456789012:backup-vault:aBackupVault</code>.</p>
146 pub fn set_destination_backup_vault_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
147 self.inner = self.inner.set_destination_backup_vault_arn(input);
148 self
149 }
150 /// <p>An Amazon Resource Name (ARN) that uniquely identifies a destination backup vault to copy to; for example, <code>arn:aws:backup:us-east-1:123456789012:backup-vault:aBackupVault</code>.</p>
151 pub fn get_destination_backup_vault_arn(&self) -> &::std::option::Option<::std::string::String> {
152 self.inner.get_destination_backup_vault_arn()
153 }
154 /// <p>Specifies the IAM role ARN used to copy the target recovery point; for example, <code>arn:aws:iam::123456789012:role/S3Access</code>.</p>
155 pub fn iam_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
156 self.inner = self.inner.iam_role_arn(input.into());
157 self
158 }
159 /// <p>Specifies the IAM role ARN used to copy the target recovery point; for example, <code>arn:aws:iam::123456789012:role/S3Access</code>.</p>
160 pub fn set_iam_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
161 self.inner = self.inner.set_iam_role_arn(input);
162 self
163 }
164 /// <p>Specifies the IAM role ARN used to copy the target recovery point; for example, <code>arn:aws:iam::123456789012:role/S3Access</code>.</p>
165 pub fn get_iam_role_arn(&self) -> &::std::option::Option<::std::string::String> {
166 self.inner.get_iam_role_arn()
167 }
168 /// <p>A customer-chosen string that you can use to distinguish between otherwise identical calls to <code>StartCopyJob</code>. Retrying a successful request with the same idempotency token results in a success message with no action taken.</p>
169 pub fn idempotency_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
170 self.inner = self.inner.idempotency_token(input.into());
171 self
172 }
173 /// <p>A customer-chosen string that you can use to distinguish between otherwise identical calls to <code>StartCopyJob</code>. Retrying a successful request with the same idempotency token results in a success message with no action taken.</p>
174 pub fn set_idempotency_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
175 self.inner = self.inner.set_idempotency_token(input);
176 self
177 }
178 /// <p>A customer-chosen string that you can use to distinguish between otherwise identical calls to <code>StartCopyJob</code>. Retrying a successful request with the same idempotency token results in a success message with no action taken.</p>
179 pub fn get_idempotency_token(&self) -> &::std::option::Option<::std::string::String> {
180 self.inner.get_idempotency_token()
181 }
182 /// <p>Specifies the time period, in days, before a recovery point transitions to cold storage or is deleted.</p>
183 /// <p>Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, on the console, the retention setting must be 90 days greater than the transition to cold after days setting. The transition to cold after days setting can't be changed after a backup has been transitioned to cold.</p>
184 /// <p>Resource types that can transition to cold storage are listed in the <a href="https://docs.aws.amazon.com/aws-backup/latest/devguide/backup-feature-availability.html#features-by-resource">Feature availability by resource</a> table. Backup ignores this expression for other resource types.</p>
185 /// <p>To remove the existing lifecycle and retention periods and keep your recovery points indefinitely, specify -1 for <code>MoveToColdStorageAfterDays</code> and <code>DeleteAfterDays</code>.</p>
186 pub fn lifecycle(mut self, input: crate::types::Lifecycle) -> Self {
187 self.inner = self.inner.lifecycle(input);
188 self
189 }
190 /// <p>Specifies the time period, in days, before a recovery point transitions to cold storage or is deleted.</p>
191 /// <p>Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, on the console, the retention setting must be 90 days greater than the transition to cold after days setting. The transition to cold after days setting can't be changed after a backup has been transitioned to cold.</p>
192 /// <p>Resource types that can transition to cold storage are listed in the <a href="https://docs.aws.amazon.com/aws-backup/latest/devguide/backup-feature-availability.html#features-by-resource">Feature availability by resource</a> table. Backup ignores this expression for other resource types.</p>
193 /// <p>To remove the existing lifecycle and retention periods and keep your recovery points indefinitely, specify -1 for <code>MoveToColdStorageAfterDays</code> and <code>DeleteAfterDays</code>.</p>
194 pub fn set_lifecycle(mut self, input: ::std::option::Option<crate::types::Lifecycle>) -> Self {
195 self.inner = self.inner.set_lifecycle(input);
196 self
197 }
198 /// <p>Specifies the time period, in days, before a recovery point transitions to cold storage or is deleted.</p>
199 /// <p>Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, on the console, the retention setting must be 90 days greater than the transition to cold after days setting. The transition to cold after days setting can't be changed after a backup has been transitioned to cold.</p>
200 /// <p>Resource types that can transition to cold storage are listed in the <a href="https://docs.aws.amazon.com/aws-backup/latest/devguide/backup-feature-availability.html#features-by-resource">Feature availability by resource</a> table. Backup ignores this expression for other resource types.</p>
201 /// <p>To remove the existing lifecycle and retention periods and keep your recovery points indefinitely, specify -1 for <code>MoveToColdStorageAfterDays</code> and <code>DeleteAfterDays</code>.</p>
202 pub fn get_lifecycle(&self) -> &::std::option::Option<crate::types::Lifecycle> {
203 self.inner.get_lifecycle()
204 }
205}