Skip to main content

aws_sdk_cloudwatch/operation/describe_anomaly_detectors/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::describe_anomaly_detectors::_describe_anomaly_detectors_input::DescribeAnomalyDetectorsInputBuilder;
3
4pub use crate::operation::describe_anomaly_detectors::_describe_anomaly_detectors_output::DescribeAnomalyDetectorsOutputBuilder;
5
6impl crate::operation::describe_anomaly_detectors::builders::DescribeAnomalyDetectorsInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::describe_anomaly_detectors::DescribeAnomalyDetectorsOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::describe_anomaly_detectors::DescribeAnomalyDetectorsError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.describe_anomaly_detectors();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `DescribeAnomalyDetectors`.
24///
25/// <p>Lists the anomaly detection models that you have created in your account. For single metric anomaly detectors, you can list all of the models in your account or filter the results to only the models that are related to a certain namespace, metric name, or metric dimension. For metric math anomaly detectors, you can list them by adding <code>METRIC_MATH</code> to the <code>AnomalyDetectorTypes</code> array. This will return all metric math anomaly detectors in your account.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct DescribeAnomalyDetectorsFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::describe_anomaly_detectors::builders::DescribeAnomalyDetectorsInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::describe_anomaly_detectors::DescribeAnomalyDetectorsOutput,
35        crate::operation::describe_anomaly_detectors::DescribeAnomalyDetectorsError,
36    > for DescribeAnomalyDetectorsFluentBuilder
37{
38    fn send(
39        self,
40        config_override: crate::config::Builder,
41    ) -> crate::client::customize::internal::BoxFuture<
42        crate::client::customize::internal::SendResult<
43            crate::operation::describe_anomaly_detectors::DescribeAnomalyDetectorsOutput,
44            crate::operation::describe_anomaly_detectors::DescribeAnomalyDetectorsError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl DescribeAnomalyDetectorsFluentBuilder {
51    /// Creates a new `DescribeAnomalyDetectorsFluentBuilder`.
52    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
53        Self {
54            handle,
55            inner: ::std::default::Default::default(),
56            config_override: ::std::option::Option::None,
57        }
58    }
59    /// Access the DescribeAnomalyDetectors as a reference.
60    pub fn as_input(&self) -> &crate::operation::describe_anomaly_detectors::builders::DescribeAnomalyDetectorsInputBuilder {
61        &self.inner
62    }
63    /// Sends the request and returns the response.
64    ///
65    /// If an error occurs, an `SdkError` will be returned with additional details that
66    /// can be matched against.
67    ///
68    /// By default, any retryable failures will be retried twice. Retry behavior
69    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
70    /// set when configuring the client.
71    pub async fn send(
72        self,
73    ) -> ::std::result::Result<
74        crate::operation::describe_anomaly_detectors::DescribeAnomalyDetectorsOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::describe_anomaly_detectors::DescribeAnomalyDetectorsError,
77            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
78        >,
79    > {
80        let input = self
81            .inner
82            .build()
83            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
84        let runtime_plugins = crate::operation::describe_anomaly_detectors::DescribeAnomalyDetectors::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::describe_anomaly_detectors::DescribeAnomalyDetectors::orchestrate(&runtime_plugins, input).await
90    }
91
92    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
93    pub fn customize(
94        self,
95    ) -> crate::client::customize::CustomizableOperation<
96        crate::operation::describe_anomaly_detectors::DescribeAnomalyDetectorsOutput,
97        crate::operation::describe_anomaly_detectors::DescribeAnomalyDetectorsError,
98        Self,
99    > {
100        crate::client::customize::CustomizableOperation::new(self)
101    }
102    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
103        self.set_config_override(::std::option::Option::Some(config_override.into()));
104        self
105    }
106
107    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
108        self.config_override = config_override;
109        self
110    }
111    /// Create a paginator for this request
112    ///
113    /// Paginators are used by calling [`send().await`](crate::operation::describe_anomaly_detectors::paginator::DescribeAnomalyDetectorsPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
114    pub fn into_paginator(self) -> crate::operation::describe_anomaly_detectors::paginator::DescribeAnomalyDetectorsPaginator {
115        crate::operation::describe_anomaly_detectors::paginator::DescribeAnomalyDetectorsPaginator::new(self.handle, self.inner)
116    }
117    /// <p>Use the token returned by the previous operation to request the next page of results.</p>
118    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
119        self.inner = self.inner.next_token(input.into());
120        self
121    }
122    /// <p>Use the token returned by the previous operation to request the next page of results.</p>
123    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
124        self.inner = self.inner.set_next_token(input);
125        self
126    }
127    /// <p>Use the token returned by the previous operation to request the next page of results.</p>
128    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
129        self.inner.get_next_token()
130    }
131    /// <p>The maximum number of results to return in one operation. The maximum value that you can specify is 100.</p>
132    /// <p>To retrieve the remaining results, make another call with the returned <code>NextToken</code> value.</p>
133    pub fn max_results(mut self, input: i32) -> Self {
134        self.inner = self.inner.max_results(input);
135        self
136    }
137    /// <p>The maximum number of results to return in one operation. The maximum value that you can specify is 100.</p>
138    /// <p>To retrieve the remaining results, make another call with the returned <code>NextToken</code> value.</p>
139    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
140        self.inner = self.inner.set_max_results(input);
141        self
142    }
143    /// <p>The maximum number of results to return in one operation. The maximum value that you can specify is 100.</p>
144    /// <p>To retrieve the remaining results, make another call with the returned <code>NextToken</code> value.</p>
145    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
146        self.inner.get_max_results()
147    }
148    /// <p>Limits the results to only the anomaly detection models that are associated with the specified namespace.</p>
149    pub fn namespace(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
150        self.inner = self.inner.namespace(input.into());
151        self
152    }
153    /// <p>Limits the results to only the anomaly detection models that are associated with the specified namespace.</p>
154    pub fn set_namespace(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
155        self.inner = self.inner.set_namespace(input);
156        self
157    }
158    /// <p>Limits the results to only the anomaly detection models that are associated with the specified namespace.</p>
159    pub fn get_namespace(&self) -> &::std::option::Option<::std::string::String> {
160        self.inner.get_namespace()
161    }
162    /// <p>Limits the results to only the anomaly detection models that are associated with the specified metric name. If there are multiple metrics with this name in different namespaces that have anomaly detection models, they're all returned.</p>
163    pub fn metric_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
164        self.inner = self.inner.metric_name(input.into());
165        self
166    }
167    /// <p>Limits the results to only the anomaly detection models that are associated with the specified metric name. If there are multiple metrics with this name in different namespaces that have anomaly detection models, they're all returned.</p>
168    pub fn set_metric_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
169        self.inner = self.inner.set_metric_name(input);
170        self
171    }
172    /// <p>Limits the results to only the anomaly detection models that are associated with the specified metric name. If there are multiple metrics with this name in different namespaces that have anomaly detection models, they're all returned.</p>
173    pub fn get_metric_name(&self) -> &::std::option::Option<::std::string::String> {
174        self.inner.get_metric_name()
175    }
176    ///
177    /// Appends an item to `Dimensions`.
178    ///
179    /// To override the contents of this collection use [`set_dimensions`](Self::set_dimensions).
180    ///
181    /// <p>Limits the results to only the anomaly detection models that are associated with the specified metric dimensions. If there are multiple metrics that have these dimensions and have anomaly detection models associated, they're all returned.</p>
182    pub fn dimensions(mut self, input: crate::types::Dimension) -> Self {
183        self.inner = self.inner.dimensions(input);
184        self
185    }
186    /// <p>Limits the results to only the anomaly detection models that are associated with the specified metric dimensions. If there are multiple metrics that have these dimensions and have anomaly detection models associated, they're all returned.</p>
187    pub fn set_dimensions(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Dimension>>) -> Self {
188        self.inner = self.inner.set_dimensions(input);
189        self
190    }
191    /// <p>Limits the results to only the anomaly detection models that are associated with the specified metric dimensions. If there are multiple metrics that have these dimensions and have anomaly detection models associated, they're all returned.</p>
192    pub fn get_dimensions(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Dimension>> {
193        self.inner.get_dimensions()
194    }
195    ///
196    /// Appends an item to `AnomalyDetectorTypes`.
197    ///
198    /// To override the contents of this collection use [`set_anomaly_detector_types`](Self::set_anomaly_detector_types).
199    ///
200    /// <p>The anomaly detector types to request when using <code>DescribeAnomalyDetectorsInput</code>. If empty, defaults to <code>SINGLE_METRIC</code>.</p>
201    pub fn anomaly_detector_types(mut self, input: crate::types::AnomalyDetectorType) -> Self {
202        self.inner = self.inner.anomaly_detector_types(input);
203        self
204    }
205    /// <p>The anomaly detector types to request when using <code>DescribeAnomalyDetectorsInput</code>. If empty, defaults to <code>SINGLE_METRIC</code>.</p>
206    pub fn set_anomaly_detector_types(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AnomalyDetectorType>>) -> Self {
207        self.inner = self.inner.set_anomaly_detector_types(input);
208        self
209    }
210    /// <p>The anomaly detector types to request when using <code>DescribeAnomalyDetectorsInput</code>. If empty, defaults to <code>SINGLE_METRIC</code>.</p>
211    pub fn get_anomaly_detector_types(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AnomalyDetectorType>> {
212        self.inner.get_anomaly_detector_types()
213    }
214}