aws_sdk_macie2/operation/update_classification_job/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::update_classification_job::_update_classification_job_output::UpdateClassificationJobOutputBuilder;
3
4pub use crate::operation::update_classification_job::_update_classification_job_input::UpdateClassificationJobInputBuilder;
5
6impl crate::operation::update_classification_job::builders::UpdateClassificationJobInputBuilder {
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::update_classification_job::UpdateClassificationJobOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::update_classification_job::UpdateClassificationJobError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.update_classification_job();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `UpdateClassificationJob`.
24///
25/// <p>Changes the status of a classification job.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct UpdateClassificationJobFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::update_classification_job::builders::UpdateClassificationJobInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::update_classification_job::UpdateClassificationJobOutput,
35        crate::operation::update_classification_job::UpdateClassificationJobError,
36    > for UpdateClassificationJobFluentBuilder
37{
38    fn send(
39        self,
40        config_override: crate::config::Builder,
41    ) -> crate::client::customize::internal::BoxFuture<
42        crate::client::customize::internal::SendResult<
43            crate::operation::update_classification_job::UpdateClassificationJobOutput,
44            crate::operation::update_classification_job::UpdateClassificationJobError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl UpdateClassificationJobFluentBuilder {
51    /// Creates a new `UpdateClassificationJobFluentBuilder`.
52    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
53        Self {
54            handle,
55            inner: ::std::default::Default::default(),
56            config_override: ::std::option::Option::None,
57        }
58    }
59    /// Access the UpdateClassificationJob as a reference.
60    pub fn as_input(&self) -> &crate::operation::update_classification_job::builders::UpdateClassificationJobInputBuilder {
61        &self.inner
62    }
63    /// Sends the request and returns the response.
64    ///
65    /// If an error occurs, an `SdkError` will be returned with additional details that
66    /// can be matched against.
67    ///
68    /// By default, any retryable failures will be retried twice. Retry behavior
69    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
70    /// set when configuring the client.
71    pub async fn send(
72        self,
73    ) -> ::std::result::Result<
74        crate::operation::update_classification_job::UpdateClassificationJobOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::update_classification_job::UpdateClassificationJobError,
77            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
78        >,
79    > {
80        let input = self
81            .inner
82            .build()
83            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
84        let runtime_plugins = crate::operation::update_classification_job::UpdateClassificationJob::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::update_classification_job::UpdateClassificationJob::orchestrate(&runtime_plugins, input).await
90    }
91
92    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
93    pub fn customize(
94        self,
95    ) -> crate::client::customize::CustomizableOperation<
96        crate::operation::update_classification_job::UpdateClassificationJobOutput,
97        crate::operation::update_classification_job::UpdateClassificationJobError,
98        Self,
99    > {
100        crate::client::customize::CustomizableOperation::new(self)
101    }
102    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
103        self.set_config_override(::std::option::Option::Some(config_override.into()));
104        self
105    }
106
107    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
108        self.config_override = config_override;
109        self
110    }
111    /// <p>The unique identifier for the classification job.</p>
112    pub fn job_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113        self.inner = self.inner.job_id(input.into());
114        self
115    }
116    /// <p>The unique identifier for the classification job.</p>
117    pub fn set_job_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118        self.inner = self.inner.set_job_id(input);
119        self
120    }
121    /// <p>The unique identifier for the classification job.</p>
122    pub fn get_job_id(&self) -> &::std::option::Option<::std::string::String> {
123        self.inner.get_job_id()
124    }
125    /// <p>The new status for the job. Valid values are:</p>
126    /// <ul>
127    /// <li>
128    /// <p>CANCELLED - Stops the job permanently and cancels it. This value is valid only if the job's current status is IDLE, PAUSED, RUNNING, or USER_PAUSED.</p>
129    /// <p>If you specify this value and the job's current status is RUNNING, Amazon Macie immediately begins to stop all processing tasks for the job. You can't resume or restart a job after you cancel it.</p></li>
130    /// <li>
131    /// <p>RUNNING - Resumes the job. This value is valid only if the job's current status is USER_PAUSED.</p>
132    /// <p>If you paused the job while it was actively running and you specify this value less than 30 days after you paused the job, Macie immediately resumes processing from the point where you paused the job. Otherwise, Macie resumes the job according to the schedule and other settings for the job.</p></li>
133    /// <li>
134    /// <p>USER_PAUSED - Pauses the job temporarily. This value is valid only if the job's current status is IDLE, PAUSED, or RUNNING. If you specify this value and the job's current status is RUNNING, Macie immediately begins to pause all processing tasks for the job.</p>
135    /// <p>If you pause a one-time job and you don't resume it within 30 days, the job expires and Macie cancels the job. If you pause a recurring job when its status is RUNNING and you don't resume it within 30 days, the job run expires and Macie cancels the run. To check the expiration date, refer to the UserPausedDetails.jobExpiresAt property.</p></li>
136    /// </ul>
137    pub fn job_status(mut self, input: crate::types::JobStatus) -> Self {
138        self.inner = self.inner.job_status(input);
139        self
140    }
141    /// <p>The new status for the job. Valid values are:</p>
142    /// <ul>
143    /// <li>
144    /// <p>CANCELLED - Stops the job permanently and cancels it. This value is valid only if the job's current status is IDLE, PAUSED, RUNNING, or USER_PAUSED.</p>
145    /// <p>If you specify this value and the job's current status is RUNNING, Amazon Macie immediately begins to stop all processing tasks for the job. You can't resume or restart a job after you cancel it.</p></li>
146    /// <li>
147    /// <p>RUNNING - Resumes the job. This value is valid only if the job's current status is USER_PAUSED.</p>
148    /// <p>If you paused the job while it was actively running and you specify this value less than 30 days after you paused the job, Macie immediately resumes processing from the point where you paused the job. Otherwise, Macie resumes the job according to the schedule and other settings for the job.</p></li>
149    /// <li>
150    /// <p>USER_PAUSED - Pauses the job temporarily. This value is valid only if the job's current status is IDLE, PAUSED, or RUNNING. If you specify this value and the job's current status is RUNNING, Macie immediately begins to pause all processing tasks for the job.</p>
151    /// <p>If you pause a one-time job and you don't resume it within 30 days, the job expires and Macie cancels the job. If you pause a recurring job when its status is RUNNING and you don't resume it within 30 days, the job run expires and Macie cancels the run. To check the expiration date, refer to the UserPausedDetails.jobExpiresAt property.</p></li>
152    /// </ul>
153    pub fn set_job_status(mut self, input: ::std::option::Option<crate::types::JobStatus>) -> Self {
154        self.inner = self.inner.set_job_status(input);
155        self
156    }
157    /// <p>The new status for the job. Valid values are:</p>
158    /// <ul>
159    /// <li>
160    /// <p>CANCELLED - Stops the job permanently and cancels it. This value is valid only if the job's current status is IDLE, PAUSED, RUNNING, or USER_PAUSED.</p>
161    /// <p>If you specify this value and the job's current status is RUNNING, Amazon Macie immediately begins to stop all processing tasks for the job. You can't resume or restart a job after you cancel it.</p></li>
162    /// <li>
163    /// <p>RUNNING - Resumes the job. This value is valid only if the job's current status is USER_PAUSED.</p>
164    /// <p>If you paused the job while it was actively running and you specify this value less than 30 days after you paused the job, Macie immediately resumes processing from the point where you paused the job. Otherwise, Macie resumes the job according to the schedule and other settings for the job.</p></li>
165    /// <li>
166    /// <p>USER_PAUSED - Pauses the job temporarily. This value is valid only if the job's current status is IDLE, PAUSED, or RUNNING. If you specify this value and the job's current status is RUNNING, Macie immediately begins to pause all processing tasks for the job.</p>
167    /// <p>If you pause a one-time job and you don't resume it within 30 days, the job expires and Macie cancels the job. If you pause a recurring job when its status is RUNNING and you don't resume it within 30 days, the job run expires and Macie cancels the run. To check the expiration date, refer to the UserPausedDetails.jobExpiresAt property.</p></li>
168    /// </ul>
169    pub fn get_job_status(&self) -> &::std::option::Option<crate::types::JobStatus> {
170        self.inner.get_job_status()
171    }
172}