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 ListResolverQueryLogConfigsOutput {
    /// <p>If there are more than <code>MaxResults</code> query logging configurations, you can submit another <code>ListResolverQueryLogConfigs</code> request to get the next group of configurations. In the next request, specify the value of <code>NextToken</code> from the previous response.</p>
    pub next_token: ::std::option::Option<::std::string::String>,
    /// <p>The total number of query logging configurations that were created by the current account in the specified Region. This count can differ from the number of query logging configurations that are returned in a <code>ListResolverQueryLogConfigs</code> response, depending on the values that you specify in the request.</p>
    pub total_count: i32,
    /// <p>The total number of query logging configurations that were created by the current account in the specified Region and that match the filters that were specified in the <code>ListResolverQueryLogConfigs</code> request. For the total number of query logging configurations that were created by the current account in the specified Region, see <code>TotalCount</code>.</p>
    pub total_filtered_count: i32,
    /// <p>A list that contains one <code>ResolverQueryLogConfig</code> element for each query logging configuration that matches the values that you specified for <code>Filter</code>.</p>
    pub resolver_query_log_configs: ::std::option::Option<::std::vec::Vec<crate::types::ResolverQueryLogConfig>>,
    _request_id: Option<String>,
}
impl ListResolverQueryLogConfigsOutput {
    /// <p>If there are more than <code>MaxResults</code> query logging configurations, you can submit another <code>ListResolverQueryLogConfigs</code> request to get the next group of configurations. In the next request, specify the value of <code>NextToken</code> from the previous response.</p>
    pub fn next_token(&self) -> ::std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>The total number of query logging configurations that were created by the current account in the specified Region. This count can differ from the number of query logging configurations that are returned in a <code>ListResolverQueryLogConfigs</code> response, depending on the values that you specify in the request.</p>
    pub fn total_count(&self) -> i32 {
        self.total_count
    }
    /// <p>The total number of query logging configurations that were created by the current account in the specified Region and that match the filters that were specified in the <code>ListResolverQueryLogConfigs</code> request. For the total number of query logging configurations that were created by the current account in the specified Region, see <code>TotalCount</code>.</p>
    pub fn total_filtered_count(&self) -> i32 {
        self.total_filtered_count
    }
    /// <p>A list that contains one <code>ResolverQueryLogConfig</code> element for each query logging configuration that matches the values that you specified for <code>Filter</code>.</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 `.resolver_query_log_configs.is_none()`.
    pub fn resolver_query_log_configs(&self) -> &[crate::types::ResolverQueryLogConfig] {
        self.resolver_query_log_configs.as_deref().unwrap_or_default()
    }
}
impl ::aws_types::request_id::RequestId for ListResolverQueryLogConfigsOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl ListResolverQueryLogConfigsOutput {
    /// Creates a new builder-style object to manufacture [`ListResolverQueryLogConfigsOutput`](crate::operation::list_resolver_query_log_configs::ListResolverQueryLogConfigsOutput).
    pub fn builder() -> crate::operation::list_resolver_query_log_configs::builders::ListResolverQueryLogConfigsOutputBuilder {
        crate::operation::list_resolver_query_log_configs::builders::ListResolverQueryLogConfigsOutputBuilder::default()
    }
}

/// A builder for [`ListResolverQueryLogConfigsOutput`](crate::operation::list_resolver_query_log_configs::ListResolverQueryLogConfigsOutput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct ListResolverQueryLogConfigsOutputBuilder {
    pub(crate) next_token: ::std::option::Option<::std::string::String>,
    pub(crate) total_count: ::std::option::Option<i32>,
    pub(crate) total_filtered_count: ::std::option::Option<i32>,
    pub(crate) resolver_query_log_configs: ::std::option::Option<::std::vec::Vec<crate::types::ResolverQueryLogConfig>>,
    _request_id: Option<String>,
}
impl ListResolverQueryLogConfigsOutputBuilder {
    /// <p>If there are more than <code>MaxResults</code> query logging configurations, you can submit another <code>ListResolverQueryLogConfigs</code> request to get the next group of configurations. In the next request, specify the value of <code>NextToken</code> from the previous response.</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>If there are more than <code>MaxResults</code> query logging configurations, you can submit another <code>ListResolverQueryLogConfigs</code> request to get the next group of configurations. In the next request, specify the value of <code>NextToken</code> from the previous response.</p>
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.next_token = input;
        self
    }
    /// <p>If there are more than <code>MaxResults</code> query logging configurations, you can submit another <code>ListResolverQueryLogConfigs</code> request to get the next group of configurations. In the next request, specify the value of <code>NextToken</code> from the previous response.</p>
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
        &self.next_token
    }
    /// <p>The total number of query logging configurations that were created by the current account in the specified Region. This count can differ from the number of query logging configurations that are returned in a <code>ListResolverQueryLogConfigs</code> response, depending on the values that you specify in the request.</p>
    pub fn total_count(mut self, input: i32) -> Self {
        self.total_count = ::std::option::Option::Some(input);
        self
    }
    /// <p>The total number of query logging configurations that were created by the current account in the specified Region. This count can differ from the number of query logging configurations that are returned in a <code>ListResolverQueryLogConfigs</code> response, depending on the values that you specify in the request.</p>
    pub fn set_total_count(mut self, input: ::std::option::Option<i32>) -> Self {
        self.total_count = input;
        self
    }
    /// <p>The total number of query logging configurations that were created by the current account in the specified Region. This count can differ from the number of query logging configurations that are returned in a <code>ListResolverQueryLogConfigs</code> response, depending on the values that you specify in the request.</p>
    pub fn get_total_count(&self) -> &::std::option::Option<i32> {
        &self.total_count
    }
    /// <p>The total number of query logging configurations that were created by the current account in the specified Region and that match the filters that were specified in the <code>ListResolverQueryLogConfigs</code> request. For the total number of query logging configurations that were created by the current account in the specified Region, see <code>TotalCount</code>.</p>
    pub fn total_filtered_count(mut self, input: i32) -> Self {
        self.total_filtered_count = ::std::option::Option::Some(input);
        self
    }
    /// <p>The total number of query logging configurations that were created by the current account in the specified Region and that match the filters that were specified in the <code>ListResolverQueryLogConfigs</code> request. For the total number of query logging configurations that were created by the current account in the specified Region, see <code>TotalCount</code>.</p>
    pub fn set_total_filtered_count(mut self, input: ::std::option::Option<i32>) -> Self {
        self.total_filtered_count = input;
        self
    }
    /// <p>The total number of query logging configurations that were created by the current account in the specified Region and that match the filters that were specified in the <code>ListResolverQueryLogConfigs</code> request. For the total number of query logging configurations that were created by the current account in the specified Region, see <code>TotalCount</code>.</p>
    pub fn get_total_filtered_count(&self) -> &::std::option::Option<i32> {
        &self.total_filtered_count
    }
    /// Appends an item to `resolver_query_log_configs`.
    ///
    /// To override the contents of this collection use [`set_resolver_query_log_configs`](Self::set_resolver_query_log_configs).
    ///
    /// <p>A list that contains one <code>ResolverQueryLogConfig</code> element for each query logging configuration that matches the values that you specified for <code>Filter</code>.</p>
    pub fn resolver_query_log_configs(mut self, input: crate::types::ResolverQueryLogConfig) -> Self {
        let mut v = self.resolver_query_log_configs.unwrap_or_default();
        v.push(input);
        self.resolver_query_log_configs = ::std::option::Option::Some(v);
        self
    }
    /// <p>A list that contains one <code>ResolverQueryLogConfig</code> element for each query logging configuration that matches the values that you specified for <code>Filter</code>.</p>
    pub fn set_resolver_query_log_configs(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ResolverQueryLogConfig>>) -> Self {
        self.resolver_query_log_configs = input;
        self
    }
    /// <p>A list that contains one <code>ResolverQueryLogConfig</code> element for each query logging configuration that matches the values that you specified for <code>Filter</code>.</p>
    pub fn get_resolver_query_log_configs(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ResolverQueryLogConfig>> {
        &self.resolver_query_log_configs
    }
    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 [`ListResolverQueryLogConfigsOutput`](crate::operation::list_resolver_query_log_configs::ListResolverQueryLogConfigsOutput).
    pub fn build(self) -> crate::operation::list_resolver_query_log_configs::ListResolverQueryLogConfigsOutput {
        crate::operation::list_resolver_query_log_configs::ListResolverQueryLogConfigsOutput {
            next_token: self.next_token,
            total_count: self.total_count.unwrap_or_default(),
            total_filtered_count: self.total_filtered_count.unwrap_or_default(),
            resolver_query_log_configs: self.resolver_query_log_configs,
            _request_id: self._request_id,
        }
    }
}