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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
// 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 CreateProvisioningTemplateVersionOutput {
    /// <p>The ARN that identifies the provisioning template.</p>
    pub template_arn: ::std::option::Option<::std::string::String>,
    /// <p>The name of the provisioning template.</p>
    pub template_name: ::std::option::Option<::std::string::String>,
    /// <p>The version of the provisioning template.</p>
    pub version_id: ::std::option::Option<i32>,
    /// <p>True if the provisioning template version is the default version, otherwise false.</p>
    pub is_default_version: bool,
    _request_id: Option<String>,
}
impl CreateProvisioningTemplateVersionOutput {
    /// <p>The ARN that identifies the provisioning template.</p>
    pub fn template_arn(&self) -> ::std::option::Option<&str> {
        self.template_arn.as_deref()
    }
    /// <p>The name of the provisioning template.</p>
    pub fn template_name(&self) -> ::std::option::Option<&str> {
        self.template_name.as_deref()
    }
    /// <p>The version of the provisioning template.</p>
    pub fn version_id(&self) -> ::std::option::Option<i32> {
        self.version_id
    }
    /// <p>True if the provisioning template version is the default version, otherwise false.</p>
    pub fn is_default_version(&self) -> bool {
        self.is_default_version
    }
}
impl ::aws_types::request_id::RequestId for CreateProvisioningTemplateVersionOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl CreateProvisioningTemplateVersionOutput {
    /// Creates a new builder-style object to manufacture [`CreateProvisioningTemplateVersionOutput`](crate::operation::create_provisioning_template_version::CreateProvisioningTemplateVersionOutput).
    pub fn builder() -> crate::operation::create_provisioning_template_version::builders::CreateProvisioningTemplateVersionOutputBuilder {
        crate::operation::create_provisioning_template_version::builders::CreateProvisioningTemplateVersionOutputBuilder::default()
    }
}

/// A builder for [`CreateProvisioningTemplateVersionOutput`](crate::operation::create_provisioning_template_version::CreateProvisioningTemplateVersionOutput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct CreateProvisioningTemplateVersionOutputBuilder {
    pub(crate) template_arn: ::std::option::Option<::std::string::String>,
    pub(crate) template_name: ::std::option::Option<::std::string::String>,
    pub(crate) version_id: ::std::option::Option<i32>,
    pub(crate) is_default_version: ::std::option::Option<bool>,
    _request_id: Option<String>,
}
impl CreateProvisioningTemplateVersionOutputBuilder {
    /// <p>The ARN that identifies the provisioning template.</p>
    pub fn template_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.template_arn = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The ARN that identifies the provisioning template.</p>
    pub fn set_template_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.template_arn = input;
        self
    }
    /// <p>The ARN that identifies the provisioning template.</p>
    pub fn get_template_arn(&self) -> &::std::option::Option<::std::string::String> {
        &self.template_arn
    }
    /// <p>The name of the provisioning template.</p>
    pub fn template_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.template_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the provisioning template.</p>
    pub fn set_template_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.template_name = input;
        self
    }
    /// <p>The name of the provisioning template.</p>
    pub fn get_template_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.template_name
    }
    /// <p>The version of the provisioning template.</p>
    pub fn version_id(mut self, input: i32) -> Self {
        self.version_id = ::std::option::Option::Some(input);
        self
    }
    /// <p>The version of the provisioning template.</p>
    pub fn set_version_id(mut self, input: ::std::option::Option<i32>) -> Self {
        self.version_id = input;
        self
    }
    /// <p>The version of the provisioning template.</p>
    pub fn get_version_id(&self) -> &::std::option::Option<i32> {
        &self.version_id
    }
    /// <p>True if the provisioning template version is the default version, otherwise false.</p>
    pub fn is_default_version(mut self, input: bool) -> Self {
        self.is_default_version = ::std::option::Option::Some(input);
        self
    }
    /// <p>True if the provisioning template version is the default version, otherwise false.</p>
    pub fn set_is_default_version(mut self, input: ::std::option::Option<bool>) -> Self {
        self.is_default_version = input;
        self
    }
    /// <p>True if the provisioning template version is the default version, otherwise false.</p>
    pub fn get_is_default_version(&self) -> &::std::option::Option<bool> {
        &self.is_default_version
    }
    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
        self._request_id = Some(request_id.into());
        self
    }

    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
        self._request_id = request_id;
        self
    }
    /// Consumes the builder and constructs a [`CreateProvisioningTemplateVersionOutput`](crate::operation::create_provisioning_template_version::CreateProvisioningTemplateVersionOutput).
    pub fn build(self) -> crate::operation::create_provisioning_template_version::CreateProvisioningTemplateVersionOutput {
        crate::operation::create_provisioning_template_version::CreateProvisioningTemplateVersionOutput {
            template_arn: self.template_arn,
            template_name: self.template_name,
            version_id: self.version_id,
            is_default_version: self.is_default_version.unwrap_or_default(),
            _request_id: self._request_id,
        }
    }
}