aws_sdk_backup/operation/create_restore_testing_selection/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_restore_testing_selection::_create_restore_testing_selection_output::CreateRestoreTestingSelectionOutputBuilder;
3
4pub use crate::operation::create_restore_testing_selection::_create_restore_testing_selection_input::CreateRestoreTestingSelectionInputBuilder;
5
6impl crate::operation::create_restore_testing_selection::builders::CreateRestoreTestingSelectionInputBuilder {
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::create_restore_testing_selection::CreateRestoreTestingSelectionOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_restore_testing_selection::CreateRestoreTestingSelectionError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_restore_testing_selection();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateRestoreTestingSelection`.
24///
25/// <p>This request can be sent after CreateRestoreTestingPlan request returns successfully. This is the second part of creating a resource testing plan, and it must be completed sequentially.</p>
26/// <p>This consists of <code>RestoreTestingSelectionName</code>, <code>ProtectedResourceType</code>, and one of the following:</p>
27/// <ul>
28/// <li>
29/// <p><code>ProtectedResourceArns</code></p></li>
30/// <li>
31/// <p><code>ProtectedResourceConditions</code></p></li>
32/// </ul>
33/// <p>Each protected resource type can have one single value.</p>
34/// <p>A restore testing selection can include a wildcard value ("*") for <code>ProtectedResourceArns</code> along with <code>ProtectedResourceConditions</code>. Alternatively, you can include up to 30 specific protected resource ARNs in <code>ProtectedResourceArns</code>.</p>
35/// <p>Cannot select by both protected resource types AND specific ARNs. Request will fail if both are included.</p>
36#[derive(::std::clone::Clone, ::std::fmt::Debug)]
37pub struct CreateRestoreTestingSelectionFluentBuilder {
38    handle: ::std::sync::Arc<crate::client::Handle>,
39    inner: crate::operation::create_restore_testing_selection::builders::CreateRestoreTestingSelectionInputBuilder,
40    config_override: ::std::option::Option<crate::config::Builder>,
41}
42impl
43    crate::client::customize::internal::CustomizableSend<
44        crate::operation::create_restore_testing_selection::CreateRestoreTestingSelectionOutput,
45        crate::operation::create_restore_testing_selection::CreateRestoreTestingSelectionError,
46    > for CreateRestoreTestingSelectionFluentBuilder
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::create_restore_testing_selection::CreateRestoreTestingSelectionOutput,
54            crate::operation::create_restore_testing_selection::CreateRestoreTestingSelectionError,
55        >,
56    > {
57        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
58    }
59}
60impl CreateRestoreTestingSelectionFluentBuilder {
61    /// Creates a new `CreateRestoreTestingSelectionFluentBuilder`.
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 CreateRestoreTestingSelection as a reference.
70    pub fn as_input(&self) -> &crate::operation::create_restore_testing_selection::builders::CreateRestoreTestingSelectionInputBuilder {
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::create_restore_testing_selection::CreateRestoreTestingSelectionOutput,
85        ::aws_smithy_runtime_api::client::result::SdkError<
86            crate::operation::create_restore_testing_selection::CreateRestoreTestingSelectionError,
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::create_restore_testing_selection::CreateRestoreTestingSelection::operation_runtime_plugins(
95            self.handle.runtime_plugins.clone(),
96            &self.handle.conf,
97            self.config_override,
98        );
99        crate::operation::create_restore_testing_selection::CreateRestoreTestingSelection::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::create_restore_testing_selection::CreateRestoreTestingSelectionOutput,
107        crate::operation::create_restore_testing_selection::CreateRestoreTestingSelectionError,
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>This is an optional unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice. If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.</p>
122    pub fn creator_request_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
123        self.inner = self.inner.creator_request_id(input.into());
124        self
125    }
126    /// <p>This is an optional unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice. If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.</p>
127    pub fn set_creator_request_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
128        self.inner = self.inner.set_creator_request_id(input);
129        self
130    }
131    /// <p>This is an optional unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice. If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.</p>
132    pub fn get_creator_request_id(&self) -> &::std::option::Option<::std::string::String> {
133        self.inner.get_creator_request_id()
134    }
135    /// <p>Input the restore testing plan name that was returned from the related CreateRestoreTestingPlan request.</p>
136    pub fn restore_testing_plan_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
137        self.inner = self.inner.restore_testing_plan_name(input.into());
138        self
139    }
140    /// <p>Input the restore testing plan name that was returned from the related CreateRestoreTestingPlan request.</p>
141    pub fn set_restore_testing_plan_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
142        self.inner = self.inner.set_restore_testing_plan_name(input);
143        self
144    }
145    /// <p>Input the restore testing plan name that was returned from the related CreateRestoreTestingPlan request.</p>
146    pub fn get_restore_testing_plan_name(&self) -> &::std::option::Option<::std::string::String> {
147        self.inner.get_restore_testing_plan_name()
148    }
149    /// <p>This consists of <code>RestoreTestingSelectionName</code>, <code>ProtectedResourceType</code>, and one of the following:</p>
150    /// <ul>
151    /// <li>
152    /// <p><code>ProtectedResourceArns</code></p></li>
153    /// <li>
154    /// <p><code>ProtectedResourceConditions</code></p></li>
155    /// </ul>
156    /// <p>Each protected resource type can have one single value.</p>
157    /// <p>A restore testing selection can include a wildcard value ("*") for <code>ProtectedResourceArns</code> along with <code>ProtectedResourceConditions</code>. Alternatively, you can include up to 30 specific protected resource ARNs in <code>ProtectedResourceArns</code>.</p>
158    pub fn restore_testing_selection(mut self, input: crate::types::RestoreTestingSelectionForCreate) -> Self {
159        self.inner = self.inner.restore_testing_selection(input);
160        self
161    }
162    /// <p>This consists of <code>RestoreTestingSelectionName</code>, <code>ProtectedResourceType</code>, and one of the following:</p>
163    /// <ul>
164    /// <li>
165    /// <p><code>ProtectedResourceArns</code></p></li>
166    /// <li>
167    /// <p><code>ProtectedResourceConditions</code></p></li>
168    /// </ul>
169    /// <p>Each protected resource type can have one single value.</p>
170    /// <p>A restore testing selection can include a wildcard value ("*") for <code>ProtectedResourceArns</code> along with <code>ProtectedResourceConditions</code>. Alternatively, you can include up to 30 specific protected resource ARNs in <code>ProtectedResourceArns</code>.</p>
171    pub fn set_restore_testing_selection(mut self, input: ::std::option::Option<crate::types::RestoreTestingSelectionForCreate>) -> Self {
172        self.inner = self.inner.set_restore_testing_selection(input);
173        self
174    }
175    /// <p>This consists of <code>RestoreTestingSelectionName</code>, <code>ProtectedResourceType</code>, and one of the following:</p>
176    /// <ul>
177    /// <li>
178    /// <p><code>ProtectedResourceArns</code></p></li>
179    /// <li>
180    /// <p><code>ProtectedResourceConditions</code></p></li>
181    /// </ul>
182    /// <p>Each protected resource type can have one single value.</p>
183    /// <p>A restore testing selection can include a wildcard value ("*") for <code>ProtectedResourceArns</code> along with <code>ProtectedResourceConditions</code>. Alternatively, you can include up to 30 specific protected resource ARNs in <code>ProtectedResourceArns</code>.</p>
184    pub fn get_restore_testing_selection(&self) -> &::std::option::Option<crate::types::RestoreTestingSelectionForCreate> {
185        self.inner.get_restore_testing_selection()
186    }
187}