aws_sdk_guardduty/operation/get_coverage_statistics/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::get_coverage_statistics::_get_coverage_statistics_output::GetCoverageStatisticsOutputBuilder;
3
4pub use crate::operation::get_coverage_statistics::_get_coverage_statistics_input::GetCoverageStatisticsInputBuilder;
5
6impl crate::operation::get_coverage_statistics::builders::GetCoverageStatisticsInputBuilder {
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::get_coverage_statistics::GetCoverageStatisticsOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::get_coverage_statistics::GetCoverageStatisticsError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.get_coverage_statistics();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `GetCoverageStatistics`.
24///
25/// <p>Retrieves aggregated statistics for your account. If you are a GuardDuty administrator, you can retrieve the statistics for all the resources associated with the active member accounts in your organization who have enabled Runtime Monitoring and have the GuardDuty security agent running on their resources.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct GetCoverageStatisticsFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::get_coverage_statistics::builders::GetCoverageStatisticsInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::get_coverage_statistics::GetCoverageStatisticsOutput,
35        crate::operation::get_coverage_statistics::GetCoverageStatisticsError,
36    > for GetCoverageStatisticsFluentBuilder
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::get_coverage_statistics::GetCoverageStatisticsOutput,
44            crate::operation::get_coverage_statistics::GetCoverageStatisticsError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl GetCoverageStatisticsFluentBuilder {
51    /// Creates a new `GetCoverageStatisticsFluentBuilder`.
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 GetCoverageStatistics as a reference.
60    pub fn as_input(&self) -> &crate::operation::get_coverage_statistics::builders::GetCoverageStatisticsInputBuilder {
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::get_coverage_statistics::GetCoverageStatisticsOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::get_coverage_statistics::GetCoverageStatisticsError,
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::get_coverage_statistics::GetCoverageStatistics::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::get_coverage_statistics::GetCoverageStatistics::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::get_coverage_statistics::GetCoverageStatisticsOutput,
97        crate::operation::get_coverage_statistics::GetCoverageStatisticsError,
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    /// <p>The unique ID of the GuardDuty detector.</p>
112    /// <p>To find the <code>detectorId</code> in the current Region, see the Settings page in the GuardDuty console, or run the <a href="https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html">ListDetectors</a> API.</p>
113    pub fn detector_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
114        self.inner = self.inner.detector_id(input.into());
115        self
116    }
117    /// <p>The unique ID of the GuardDuty detector.</p>
118    /// <p>To find the <code>detectorId</code> in the current Region, see the Settings page in the GuardDuty console, or run the <a href="https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html">ListDetectors</a> API.</p>
119    pub fn set_detector_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
120        self.inner = self.inner.set_detector_id(input);
121        self
122    }
123    /// <p>The unique ID of the GuardDuty detector.</p>
124    /// <p>To find the <code>detectorId</code> in the current Region, see the Settings page in the GuardDuty console, or run the <a href="https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html">ListDetectors</a> API.</p>
125    pub fn get_detector_id(&self) -> &::std::option::Option<::std::string::String> {
126        self.inner.get_detector_id()
127    }
128    /// <p>Represents the criteria used to filter the coverage statistics.</p>
129    pub fn filter_criteria(mut self, input: crate::types::CoverageFilterCriteria) -> Self {
130        self.inner = self.inner.filter_criteria(input);
131        self
132    }
133    /// <p>Represents the criteria used to filter the coverage statistics.</p>
134    pub fn set_filter_criteria(mut self, input: ::std::option::Option<crate::types::CoverageFilterCriteria>) -> Self {
135        self.inner = self.inner.set_filter_criteria(input);
136        self
137    }
138    /// <p>Represents the criteria used to filter the coverage statistics.</p>
139    pub fn get_filter_criteria(&self) -> &::std::option::Option<crate::types::CoverageFilterCriteria> {
140        self.inner.get_filter_criteria()
141    }
142    ///
143    /// Appends an item to `StatisticsType`.
144    ///
145    /// To override the contents of this collection use [`set_statistics_type`](Self::set_statistics_type).
146    ///
147    /// <p>Represents the statistics type used to aggregate the coverage details.</p>
148    pub fn statistics_type(mut self, input: crate::types::CoverageStatisticsType) -> Self {
149        self.inner = self.inner.statistics_type(input);
150        self
151    }
152    /// <p>Represents the statistics type used to aggregate the coverage details.</p>
153    pub fn set_statistics_type(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::CoverageStatisticsType>>) -> Self {
154        self.inner = self.inner.set_statistics_type(input);
155        self
156    }
157    /// <p>Represents the statistics type used to aggregate the coverage details.</p>
158    pub fn get_statistics_type(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::CoverageStatisticsType>> {
159        self.inner.get_statistics_type()
160    }
161}