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
135
136
137
138
139
140
// 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 ListBotLocalesOutput {
    /// <p>The identifier of the bot to list locales for.</p>
    pub bot_id: ::std::option::Option<::std::string::String>,
    /// <p>The version of the bot.</p>
    pub bot_version: ::std::option::Option<::std::string::String>,
    /// <p>A token that indicates whether there are more results to return in a response to the <code>ListBotLocales</code> operation. If the <code>nextToken</code> field is present, you send the contents as the <code>nextToken</code> parameter of a <code>ListBotLocales</code> operation request to get the next page of results.</p>
    pub next_token: ::std::option::Option<::std::string::String>,
    /// <p>Summary information for the locales that meet the filter criteria specified in the request. The length of the list is specified in the <code>maxResults</code> parameter of the request. If there are more locales available, the <code>nextToken</code> field contains a token to get the next page of results.</p>
    pub bot_locale_summaries: ::std::option::Option<::std::vec::Vec<crate::types::BotLocaleSummary>>,
    _request_id: Option<String>,
}
impl ListBotLocalesOutput {
    /// <p>The identifier of the bot to list locales for.</p>
    pub fn bot_id(&self) -> ::std::option::Option<&str> {
        self.bot_id.as_deref()
    }
    /// <p>The version of the bot.</p>
    pub fn bot_version(&self) -> ::std::option::Option<&str> {
        self.bot_version.as_deref()
    }
    /// <p>A token that indicates whether there are more results to return in a response to the <code>ListBotLocales</code> operation. If the <code>nextToken</code> field is present, you send the contents as the <code>nextToken</code> parameter of a <code>ListBotLocales</code> operation request to get the next page of results.</p>
    pub fn next_token(&self) -> ::std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>Summary information for the locales that meet the filter criteria specified in the request. The length of the list is specified in the <code>maxResults</code> parameter of the request. If there are more locales available, the <code>nextToken</code> field contains a token to get the next page of results.</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 `.bot_locale_summaries.is_none()`.
    pub fn bot_locale_summaries(&self) -> &[crate::types::BotLocaleSummary] {
        self.bot_locale_summaries.as_deref().unwrap_or_default()
    }
}
impl ::aws_types::request_id::RequestId for ListBotLocalesOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl ListBotLocalesOutput {
    /// Creates a new builder-style object to manufacture [`ListBotLocalesOutput`](crate::operation::list_bot_locales::ListBotLocalesOutput).
    pub fn builder() -> crate::operation::list_bot_locales::builders::ListBotLocalesOutputBuilder {
        crate::operation::list_bot_locales::builders::ListBotLocalesOutputBuilder::default()
    }
}

/// A builder for [`ListBotLocalesOutput`](crate::operation::list_bot_locales::ListBotLocalesOutput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct ListBotLocalesOutputBuilder {
    pub(crate) bot_id: ::std::option::Option<::std::string::String>,
    pub(crate) bot_version: ::std::option::Option<::std::string::String>,
    pub(crate) next_token: ::std::option::Option<::std::string::String>,
    pub(crate) bot_locale_summaries: ::std::option::Option<::std::vec::Vec<crate::types::BotLocaleSummary>>,
    _request_id: Option<String>,
}
impl ListBotLocalesOutputBuilder {
    /// <p>The identifier of the bot to list locales for.</p>
    pub fn bot_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.bot_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The identifier of the bot to list locales for.</p>
    pub fn set_bot_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.bot_id = input;
        self
    }
    /// <p>The identifier of the bot to list locales for.</p>
    pub fn get_bot_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.bot_id
    }
    /// <p>The version of the bot.</p>
    pub fn bot_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.bot_version = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The version of the bot.</p>
    pub fn set_bot_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.bot_version = input;
        self
    }
    /// <p>The version of the bot.</p>
    pub fn get_bot_version(&self) -> &::std::option::Option<::std::string::String> {
        &self.bot_version
    }
    /// <p>A token that indicates whether there are more results to return in a response to the <code>ListBotLocales</code> operation. If the <code>nextToken</code> field is present, you send the contents as the <code>nextToken</code> parameter of a <code>ListBotLocales</code> operation request to get the next page of results.</p>
    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.next_token = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>A token that indicates whether there are more results to return in a response to the <code>ListBotLocales</code> operation. If the <code>nextToken</code> field is present, you send the contents as the <code>nextToken</code> parameter of a <code>ListBotLocales</code> operation request to get the next page of results.</p>
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.next_token = input;
        self
    }
    /// <p>A token that indicates whether there are more results to return in a response to the <code>ListBotLocales</code> operation. If the <code>nextToken</code> field is present, you send the contents as the <code>nextToken</code> parameter of a <code>ListBotLocales</code> operation request to get the next page of results.</p>
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
        &self.next_token
    }
    /// Appends an item to `bot_locale_summaries`.
    ///
    /// To override the contents of this collection use [`set_bot_locale_summaries`](Self::set_bot_locale_summaries).
    ///
    /// <p>Summary information for the locales that meet the filter criteria specified in the request. The length of the list is specified in the <code>maxResults</code> parameter of the request. If there are more locales available, the <code>nextToken</code> field contains a token to get the next page of results.</p>
    pub fn bot_locale_summaries(mut self, input: crate::types::BotLocaleSummary) -> Self {
        let mut v = self.bot_locale_summaries.unwrap_or_default();
        v.push(input);
        self.bot_locale_summaries = ::std::option::Option::Some(v);
        self
    }
    /// <p>Summary information for the locales that meet the filter criteria specified in the request. The length of the list is specified in the <code>maxResults</code> parameter of the request. If there are more locales available, the <code>nextToken</code> field contains a token to get the next page of results.</p>
    pub fn set_bot_locale_summaries(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::BotLocaleSummary>>) -> Self {
        self.bot_locale_summaries = input;
        self
    }
    /// <p>Summary information for the locales that meet the filter criteria specified in the request. The length of the list is specified in the <code>maxResults</code> parameter of the request. If there are more locales available, the <code>nextToken</code> field contains a token to get the next page of results.</p>
    pub fn get_bot_locale_summaries(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::BotLocaleSummary>> {
        &self.bot_locale_summaries
    }
    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 [`ListBotLocalesOutput`](crate::operation::list_bot_locales::ListBotLocalesOutput).
    pub fn build(self) -> crate::operation::list_bot_locales::ListBotLocalesOutput {
        crate::operation::list_bot_locales::ListBotLocalesOutput {
            bot_id: self.bot_id,
            bot_version: self.bot_version,
            next_token: self.next_token,
            bot_locale_summaries: self.bot_locale_summaries,
            _request_id: self._request_id,
        }
    }
}