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
// 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 UpdateConfigurationInput {
    /// <p>The Amazon Resource Name (ARN) of the configuration.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The description of the configuration revision.</p>
    #[doc(hidden)]
    pub description: std::option::Option<std::string::String>,
    /// <p>Contents of the <filename>
    /// server.properties
    /// </filename> file. When using the API, you must ensure that the contents of the file are base64 encoded. When using the AWS Management Console, the SDK, or the AWS CLI, the contents of <filename>
    /// server.properties
    /// </filename> can be in plaintext.</p>
    #[doc(hidden)]
    pub server_properties: std::option::Option<aws_smithy_types::Blob>,
}
impl UpdateConfigurationInput {
    /// <p>The Amazon Resource Name (ARN) of the configuration.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The description of the configuration revision.</p>
    pub fn description(&self) -> std::option::Option<&str> {
        self.description.as_deref()
    }
    /// <p>Contents of the <filename>
    /// server.properties
    /// </filename> file. When using the API, you must ensure that the contents of the file are base64 encoded. When using the AWS Management Console, the SDK, or the AWS CLI, the contents of <filename>
    /// server.properties
    /// </filename> can be in plaintext.</p>
    pub fn server_properties(&self) -> std::option::Option<&aws_smithy_types::Blob> {
        self.server_properties.as_ref()
    }
}
impl UpdateConfigurationInput {
    /// Creates a new builder-style object to manufacture [`UpdateConfigurationInput`](crate::operation::update_configuration::UpdateConfigurationInput).
    pub fn builder(
    ) -> crate::operation::update_configuration::builders::UpdateConfigurationInputBuilder {
        crate::operation::update_configuration::builders::UpdateConfigurationInputBuilder::default()
    }
}

/// A builder for [`UpdateConfigurationInput`](crate::operation::update_configuration::UpdateConfigurationInput).
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct UpdateConfigurationInputBuilder {
    pub(crate) arn: std::option::Option<std::string::String>,
    pub(crate) description: std::option::Option<std::string::String>,
    pub(crate) server_properties: std::option::Option<aws_smithy_types::Blob>,
}
impl UpdateConfigurationInputBuilder {
    /// <p>The Amazon Resource Name (ARN) of the configuration.</p>
    pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
        self.arn = Some(input.into());
        self
    }
    /// <p>The Amazon Resource Name (ARN) of the configuration.</p>
    pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
        self.arn = input;
        self
    }
    /// <p>The description of the configuration revision.</p>
    pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
        self.description = Some(input.into());
        self
    }
    /// <p>The description of the configuration revision.</p>
    pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
        self.description = input;
        self
    }
    /// <p>Contents of the <filename>
    /// server.properties
    /// </filename> file. When using the API, you must ensure that the contents of the file are base64 encoded. When using the AWS Management Console, the SDK, or the AWS CLI, the contents of <filename>
    /// server.properties
    /// </filename> can be in plaintext.</p>
    pub fn server_properties(mut self, input: aws_smithy_types::Blob) -> Self {
        self.server_properties = Some(input);
        self
    }
    /// <p>Contents of the <filename>
    /// server.properties
    /// </filename> file. When using the API, you must ensure that the contents of the file are base64 encoded. When using the AWS Management Console, the SDK, or the AWS CLI, the contents of <filename>
    /// server.properties
    /// </filename> can be in plaintext.</p>
    pub fn set_server_properties(
        mut self,
        input: std::option::Option<aws_smithy_types::Blob>,
    ) -> Self {
        self.server_properties = input;
        self
    }
    /// Consumes the builder and constructs a [`UpdateConfigurationInput`](crate::operation::update_configuration::UpdateConfigurationInput).
    pub fn build(
        self,
    ) -> Result<
        crate::operation::update_configuration::UpdateConfigurationInput,
        aws_smithy_http::operation::error::BuildError,
    > {
        Ok(
            crate::operation::update_configuration::UpdateConfigurationInput {
                arn: self.arn,
                description: self.description,
                server_properties: self.server_properties,
            },
        )
    }
}