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

/// <p>The system generated response showing the DNS aliases that Amazon FSx is attempting to disassociate from the file system. Use the API operation to monitor the status of the aliases Amazon FSx is removing from the file system.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct DisassociateFileSystemAliasesOutput {
    /// <p>An array of one or more DNS aliases that Amazon FSx is attempting to disassociate from the file system.</p>
    pub aliases: ::std::option::Option<::std::vec::Vec<crate::types::Alias>>,
    _request_id: Option<String>,
}
impl DisassociateFileSystemAliasesOutput {
    /// <p>An array of one or more DNS aliases that Amazon FSx is attempting to disassociate from the file system.</p>
    ///
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.aliases.is_none()`.
    pub fn aliases(&self) -> &[crate::types::Alias] {
        self.aliases.as_deref().unwrap_or_default()
    }
}
impl ::aws_types::request_id::RequestId for DisassociateFileSystemAliasesOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl DisassociateFileSystemAliasesOutput {
    /// Creates a new builder-style object to manufacture [`DisassociateFileSystemAliasesOutput`](crate::operation::disassociate_file_system_aliases::DisassociateFileSystemAliasesOutput).
    pub fn builder() -> crate::operation::disassociate_file_system_aliases::builders::DisassociateFileSystemAliasesOutputBuilder {
        crate::operation::disassociate_file_system_aliases::builders::DisassociateFileSystemAliasesOutputBuilder::default()
    }
}

/// A builder for [`DisassociateFileSystemAliasesOutput`](crate::operation::disassociate_file_system_aliases::DisassociateFileSystemAliasesOutput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct DisassociateFileSystemAliasesOutputBuilder {
    pub(crate) aliases: ::std::option::Option<::std::vec::Vec<crate::types::Alias>>,
    _request_id: Option<String>,
}
impl DisassociateFileSystemAliasesOutputBuilder {
    /// Appends an item to `aliases`.
    ///
    /// To override the contents of this collection use [`set_aliases`](Self::set_aliases).
    ///
    /// <p>An array of one or more DNS aliases that Amazon FSx is attempting to disassociate from the file system.</p>
    pub fn aliases(mut self, input: crate::types::Alias) -> Self {
        let mut v = self.aliases.unwrap_or_default();
        v.push(input);
        self.aliases = ::std::option::Option::Some(v);
        self
    }
    /// <p>An array of one or more DNS aliases that Amazon FSx is attempting to disassociate from the file system.</p>
    pub fn set_aliases(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Alias>>) -> Self {
        self.aliases = input;
        self
    }
    /// <p>An array of one or more DNS aliases that Amazon FSx is attempting to disassociate from the file system.</p>
    pub fn get_aliases(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Alias>> {
        &self.aliases
    }
    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 [`DisassociateFileSystemAliasesOutput`](crate::operation::disassociate_file_system_aliases::DisassociateFileSystemAliasesOutput).
    pub fn build(self) -> crate::operation::disassociate_file_system_aliases::DisassociateFileSystemAliasesOutput {
        crate::operation::disassociate_file_system_aliases::DisassociateFileSystemAliasesOutput {
            aliases: self.aliases,
            _request_id: self._request_id,
        }
    }
}