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
133
134
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>An Active Directory error.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct ActiveDirectoryError {
    /// <p>The directory ID of the directory that an error pertains to.</p>
    pub active_directory_id: ::std::option::Option<::std::string::String>,
    /// <p>The type of Active Directory error.</p>
    pub r#type: ::std::option::Option<crate::types::ActiveDirectoryErrorType>,
    /// <p>A detailed error message.</p>
    pub message: ::std::option::Option<::std::string::String>,
    pub(crate) meta: ::aws_smithy_types::error::ErrorMetadata,
}
impl ActiveDirectoryError {
    /// <p>The directory ID of the directory that an error pertains to.</p>
    pub fn active_directory_id(&self) -> ::std::option::Option<&str> {
        self.active_directory_id.as_deref()
    }
    /// <p>The type of Active Directory error.</p>
    pub fn r#type(&self) -> ::std::option::Option<&crate::types::ActiveDirectoryErrorType> {
        self.r#type.as_ref()
    }
}
impl ActiveDirectoryError {
    /// Returns the error message.
    pub fn message(&self) -> ::std::option::Option<&str> {
        self.message.as_deref()
    }
}
impl ::std::fmt::Display for ActiveDirectoryError {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        ::std::write!(f, "ActiveDirectoryError")?;
        if let ::std::option::Option::Some(inner_1) = &self.message {
            {
                ::std::write!(f, ": {}", inner_1)?;
            }
        }
        Ok(())
    }
}
impl ::std::error::Error for ActiveDirectoryError {}
impl ::aws_types::request_id::RequestId for crate::types::error::ActiveDirectoryError {
    fn request_id(&self) -> Option<&str> {
        use ::aws_smithy_types::error::metadata::ProvideErrorMetadata;
        self.meta().request_id()
    }
}
impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for ActiveDirectoryError {
    fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata {
        &self.meta
    }
}
impl ActiveDirectoryError {
    /// Creates a new builder-style object to manufacture [`ActiveDirectoryError`](crate::types::error::ActiveDirectoryError).
    pub fn builder() -> crate::types::error::builders::ActiveDirectoryErrorBuilder {
        crate::types::error::builders::ActiveDirectoryErrorBuilder::default()
    }
}

/// A builder for [`ActiveDirectoryError`](crate::types::error::ActiveDirectoryError).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct ActiveDirectoryErrorBuilder {
    pub(crate) active_directory_id: ::std::option::Option<::std::string::String>,
    pub(crate) r#type: ::std::option::Option<crate::types::ActiveDirectoryErrorType>,
    pub(crate) message: ::std::option::Option<::std::string::String>,
    meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>,
}
impl ActiveDirectoryErrorBuilder {
    /// <p>The directory ID of the directory that an error pertains to.</p>
    /// This field is required.
    pub fn active_directory_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.active_directory_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The directory ID of the directory that an error pertains to.</p>
    pub fn set_active_directory_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.active_directory_id = input;
        self
    }
    /// <p>The directory ID of the directory that an error pertains to.</p>
    pub fn get_active_directory_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.active_directory_id
    }
    /// <p>The type of Active Directory error.</p>
    pub fn r#type(mut self, input: crate::types::ActiveDirectoryErrorType) -> Self {
        self.r#type = ::std::option::Option::Some(input);
        self
    }
    /// <p>The type of Active Directory error.</p>
    pub fn set_type(mut self, input: ::std::option::Option<crate::types::ActiveDirectoryErrorType>) -> Self {
        self.r#type = input;
        self
    }
    /// <p>The type of Active Directory error.</p>
    pub fn get_type(&self) -> &::std::option::Option<crate::types::ActiveDirectoryErrorType> {
        &self.r#type
    }
    /// <p>A detailed error message.</p>
    pub fn message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.message = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>A detailed error message.</p>
    pub fn set_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.message = input;
        self
    }
    /// <p>A detailed error message.</p>
    pub fn get_message(&self) -> &::std::option::Option<::std::string::String> {
        &self.message
    }
    /// Sets error metadata
    pub fn meta(mut self, meta: ::aws_smithy_types::error::ErrorMetadata) -> Self {
        self.meta = Some(meta);
        self
    }

    /// Sets error metadata
    pub fn set_meta(&mut self, meta: std::option::Option<::aws_smithy_types::error::ErrorMetadata>) -> &mut Self {
        self.meta = meta;
        self
    }
    /// Consumes the builder and constructs a [`ActiveDirectoryError`](crate::types::error::ActiveDirectoryError).
    pub fn build(self) -> crate::types::error::ActiveDirectoryError {
        crate::types::error::ActiveDirectoryError {
            active_directory_id: self.active_directory_id,
            r#type: self.r#type,
            message: self.message,
            meta: self.meta.unwrap_or_default(),
        }
    }
}