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
// 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 ListMetricsOutput {
/// <p>The metrics that match your request.</p>
pub metrics: ::std::option::Option<::std::vec::Vec<crate::types::Metric>>,
/// <p>The token that marks the start of the next batch of returned results.</p>
pub next_token: ::std::option::Option<::std::string::String>,
/// <p>If you are using this operation in a monitoring account, this array contains the account IDs of the source accounts where the metrics in the returned data are from.</p>
/// <p>This field is a 1:1 mapping between each metric that is returned and the ID of the owning account.</p>
pub owning_accounts: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
_request_id: Option<String>,
}
impl ListMetricsOutput {
/// <p>The metrics that match your request.</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 `.metrics.is_none()`.
pub fn metrics(&self) -> &[crate::types::Metric] {
self.metrics.as_deref().unwrap_or_default()
}
/// <p>The token that marks the start of the next batch of returned results.</p>
pub fn next_token(&self) -> ::std::option::Option<&str> {
self.next_token.as_deref()
}
/// <p>If you are using this operation in a monitoring account, this array contains the account IDs of the source accounts where the metrics in the returned data are from.</p>
/// <p>This field is a 1:1 mapping between each metric that is returned and the ID of the owning account.</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 `.owning_accounts.is_none()`.
pub fn owning_accounts(&self) -> &[::std::string::String] {
self.owning_accounts.as_deref().unwrap_or_default()
}
}
impl ::aws_types::request_id::RequestId for ListMetricsOutput {
fn request_id(&self) -> Option<&str> {
self._request_id.as_deref()
}
}
impl ListMetricsOutput {
/// Creates a new builder-style object to manufacture [`ListMetricsOutput`](crate::operation::list_metrics::ListMetricsOutput).
pub fn builder() -> crate::operation::list_metrics::builders::ListMetricsOutputBuilder {
crate::operation::list_metrics::builders::ListMetricsOutputBuilder::default()
}
}
/// A builder for [`ListMetricsOutput`](crate::operation::list_metrics::ListMetricsOutput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct ListMetricsOutputBuilder {
pub(crate) metrics: ::std::option::Option<::std::vec::Vec<crate::types::Metric>>,
pub(crate) next_token: ::std::option::Option<::std::string::String>,
pub(crate) owning_accounts: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
_request_id: Option<String>,
}
impl ListMetricsOutputBuilder {
/// Appends an item to `metrics`.
///
/// To override the contents of this collection use [`set_metrics`](Self::set_metrics).
///
/// <p>The metrics that match your request.</p>
pub fn metrics(mut self, input: crate::types::Metric) -> Self {
let mut v = self.metrics.unwrap_or_default();
v.push(input);
self.metrics = ::std::option::Option::Some(v);
self
}
/// <p>The metrics that match your request.</p>
pub fn set_metrics(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Metric>>) -> Self {
self.metrics = input;
self
}
/// <p>The metrics that match your request.</p>
pub fn get_metrics(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Metric>> {
&self.metrics
}
/// <p>The token that marks the start of the next batch of returned 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>The token that marks the start of the next batch of returned results.</p>
pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.next_token = input;
self
}
/// <p>The token that marks the start of the next batch of returned results.</p>
pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
&self.next_token
}
/// Appends an item to `owning_accounts`.
///
/// To override the contents of this collection use [`set_owning_accounts`](Self::set_owning_accounts).
///
/// <p>If you are using this operation in a monitoring account, this array contains the account IDs of the source accounts where the metrics in the returned data are from.</p>
/// <p>This field is a 1:1 mapping between each metric that is returned and the ID of the owning account.</p>
pub fn owning_accounts(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.owning_accounts.unwrap_or_default();
v.push(input.into());
self.owning_accounts = ::std::option::Option::Some(v);
self
}
/// <p>If you are using this operation in a monitoring account, this array contains the account IDs of the source accounts where the metrics in the returned data are from.</p>
/// <p>This field is a 1:1 mapping between each metric that is returned and the ID of the owning account.</p>
pub fn set_owning_accounts(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.owning_accounts = input;
self
}
/// <p>If you are using this operation in a monitoring account, this array contains the account IDs of the source accounts where the metrics in the returned data are from.</p>
/// <p>This field is a 1:1 mapping between each metric that is returned and the ID of the owning account.</p>
pub fn get_owning_accounts(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.owning_accounts
}
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 [`ListMetricsOutput`](crate::operation::list_metrics::ListMetricsOutput).
pub fn build(self) -> crate::operation::list_metrics::ListMetricsOutput {
crate::operation::list_metrics::ListMetricsOutput {
metrics: self.metrics,
next_token: self.next_token,
owning_accounts: self.owning_accounts,
_request_id: self._request_id,
}
}
}