aws_sdk_lookoutmetrics/types/
_alert_filters.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct AlertFilters {
7 pub metric_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
9 pub dimension_filter_list: ::std::option::Option<::std::vec::Vec<crate::types::DimensionFilter>>,
11}
12impl AlertFilters {
13 pub fn metric_list(&self) -> &[::std::string::String] {
17 self.metric_list.as_deref().unwrap_or_default()
18 }
19 pub fn dimension_filter_list(&self) -> &[crate::types::DimensionFilter] {
23 self.dimension_filter_list.as_deref().unwrap_or_default()
24 }
25}
26impl AlertFilters {
27 pub fn builder() -> crate::types::builders::AlertFiltersBuilder {
29 crate::types::builders::AlertFiltersBuilder::default()
30 }
31}
32
33#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
35#[non_exhaustive]
36pub struct AlertFiltersBuilder {
37 pub(crate) metric_list: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
38 pub(crate) dimension_filter_list: ::std::option::Option<::std::vec::Vec<crate::types::DimensionFilter>>,
39}
40impl AlertFiltersBuilder {
41 pub fn metric_list(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
47 let mut v = self.metric_list.unwrap_or_default();
48 v.push(input.into());
49 self.metric_list = ::std::option::Option::Some(v);
50 self
51 }
52 pub fn set_metric_list(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
54 self.metric_list = input;
55 self
56 }
57 pub fn get_metric_list(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
59 &self.metric_list
60 }
61 pub fn dimension_filter_list(mut self, input: crate::types::DimensionFilter) -> Self {
67 let mut v = self.dimension_filter_list.unwrap_or_default();
68 v.push(input);
69 self.dimension_filter_list = ::std::option::Option::Some(v);
70 self
71 }
72 pub fn set_dimension_filter_list(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::DimensionFilter>>) -> Self {
74 self.dimension_filter_list = input;
75 self
76 }
77 pub fn get_dimension_filter_list(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::DimensionFilter>> {
79 &self.dimension_filter_list
80 }
81 pub fn build(self) -> crate::types::AlertFilters {
83 crate::types::AlertFilters {
84 metric_list: self.metric_list,
85 dimension_filter_list: self.dimension_filter_list,
86 }
87 }
88}