1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct StopApplicationInput {
    /// <p>The unique identifier of the application you want to stop.</p>
    pub application_id: ::std::option::Option<::std::string::String>,
    /// <p>Stopping an application process can take a long time. Setting this parameter to true lets you force stop the application so you don't need to wait until the process finishes to apply another action on the application. The default value is false.</p>
    pub force_stop: ::std::option::Option<bool>,
}
impl StopApplicationInput {
    /// <p>The unique identifier of the application you want to stop.</p>
    pub fn application_id(&self) -> ::std::option::Option<&str> {
        self.application_id.as_deref()
    }
    /// <p>Stopping an application process can take a long time. Setting this parameter to true lets you force stop the application so you don't need to wait until the process finishes to apply another action on the application. The default value is false.</p>
    pub fn force_stop(&self) -> ::std::option::Option<bool> {
        self.force_stop
    }
}
impl StopApplicationInput {
    /// Creates a new builder-style object to manufacture [`StopApplicationInput`](crate::operation::stop_application::StopApplicationInput).
    pub fn builder() -> crate::operation::stop_application::builders::StopApplicationInputBuilder {
        crate::operation::stop_application::builders::StopApplicationInputBuilder::default()
    }
}

/// A builder for [`StopApplicationInput`](crate::operation::stop_application::StopApplicationInput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct StopApplicationInputBuilder {
    pub(crate) application_id: ::std::option::Option<::std::string::String>,
    pub(crate) force_stop: ::std::option::Option<bool>,
}
impl StopApplicationInputBuilder {
    /// <p>The unique identifier of the application you want to stop.</p>
    /// This field is required.
    pub fn application_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.application_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The unique identifier of the application you want to stop.</p>
    pub fn set_application_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.application_id = input;
        self
    }
    /// <p>The unique identifier of the application you want to stop.</p>
    pub fn get_application_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.application_id
    }
    /// <p>Stopping an application process can take a long time. Setting this parameter to true lets you force stop the application so you don't need to wait until the process finishes to apply another action on the application. The default value is false.</p>
    pub fn force_stop(mut self, input: bool) -> Self {
        self.force_stop = ::std::option::Option::Some(input);
        self
    }
    /// <p>Stopping an application process can take a long time. Setting this parameter to true lets you force stop the application so you don't need to wait until the process finishes to apply another action on the application. The default value is false.</p>
    pub fn set_force_stop(mut self, input: ::std::option::Option<bool>) -> Self {
        self.force_stop = input;
        self
    }
    /// <p>Stopping an application process can take a long time. Setting this parameter to true lets you force stop the application so you don't need to wait until the process finishes to apply another action on the application. The default value is false.</p>
    pub fn get_force_stop(&self) -> &::std::option::Option<bool> {
        &self.force_stop
    }
    /// Consumes the builder and constructs a [`StopApplicationInput`](crate::operation::stop_application::StopApplicationInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<crate::operation::stop_application::StopApplicationInput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::stop_application::StopApplicationInput {
            application_id: self.application_id,
            force_stop: self.force_stop,
        })
    }
}