aws_sdk_pinpoint/operation/get_application_date_range_kpi/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::get_application_date_range_kpi::_get_application_date_range_kpi_output::GetApplicationDateRangeKpiOutputBuilder;
3
4pub use crate::operation::get_application_date_range_kpi::_get_application_date_range_kpi_input::GetApplicationDateRangeKpiInputBuilder;
5
6impl crate::operation::get_application_date_range_kpi::builders::GetApplicationDateRangeKpiInputBuilder {
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_application_date_range_kpi::GetApplicationDateRangeKpiOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::get_application_date_range_kpi::GetApplicationDateRangeKpiError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.get_application_date_range_kpi();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `GetApplicationDateRangeKpi`.
24///
25/// <p>Retrieves (queries) pre-aggregated data for a standard metric that applies to an application.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct GetApplicationDateRangeKpiFluentBuilder {
28 handle: ::std::sync::Arc<crate::client::Handle>,
29 inner: crate::operation::get_application_date_range_kpi::builders::GetApplicationDateRangeKpiInputBuilder,
30 config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33 crate::client::customize::internal::CustomizableSend<
34 crate::operation::get_application_date_range_kpi::GetApplicationDateRangeKpiOutput,
35 crate::operation::get_application_date_range_kpi::GetApplicationDateRangeKpiError,
36 > for GetApplicationDateRangeKpiFluentBuilder
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_application_date_range_kpi::GetApplicationDateRangeKpiOutput,
44 crate::operation::get_application_date_range_kpi::GetApplicationDateRangeKpiError,
45 >,
46 > {
47 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48 }
49}
50impl GetApplicationDateRangeKpiFluentBuilder {
51 /// Creates a new `GetApplicationDateRangeKpiFluentBuilder`.
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 GetApplicationDateRangeKpi as a reference.
60 pub fn as_input(&self) -> &crate::operation::get_application_date_range_kpi::builders::GetApplicationDateRangeKpiInputBuilder {
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_application_date_range_kpi::GetApplicationDateRangeKpiOutput,
75 ::aws_smithy_runtime_api::client::result::SdkError<
76 crate::operation::get_application_date_range_kpi::GetApplicationDateRangeKpiError,
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_application_date_range_kpi::GetApplicationDateRangeKpi::operation_runtime_plugins(
85 self.handle.runtime_plugins.clone(),
86 &self.handle.conf,
87 self.config_override,
88 );
89 crate::operation::get_application_date_range_kpi::GetApplicationDateRangeKpi::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_application_date_range_kpi::GetApplicationDateRangeKpiOutput,
97 crate::operation::get_application_date_range_kpi::GetApplicationDateRangeKpiError,
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 identifier for the application. This identifier is displayed as the <b>Project ID</b> on the Amazon Pinpoint console.</p>
112 pub fn application_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113 self.inner = self.inner.application_id(input.into());
114 self
115 }
116 /// <p>The unique identifier for the application. This identifier is displayed as the <b>Project ID</b> on the Amazon Pinpoint console.</p>
117 pub fn set_application_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118 self.inner = self.inner.set_application_id(input);
119 self
120 }
121 /// <p>The unique identifier for the application. This identifier is displayed as the <b>Project ID</b> on the Amazon Pinpoint console.</p>
122 pub fn get_application_id(&self) -> &::std::option::Option<::std::string::String> {
123 self.inner.get_application_id()
124 }
125 /// <p>The last date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-26T20:00:00Z for 8:00 PM UTC July 26, 2019.</p>
126 pub fn end_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
127 self.inner = self.inner.end_time(input);
128 self
129 }
130 /// <p>The last date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-26T20:00:00Z for 8:00 PM UTC July 26, 2019.</p>
131 pub fn set_end_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
132 self.inner = self.inner.set_end_time(input);
133 self
134 }
135 /// <p>The last date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-26T20:00:00Z for 8:00 PM UTC July 26, 2019.</p>
136 pub fn get_end_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
137 self.inner.get_end_time()
138 }
139 /// <p>The name of the metric, also referred to as a <i>key performance indicator (KPI)</i>, to retrieve data for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. Examples are email-open-rate and successful-delivery-rate. For a list of valid values, see the <a href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon Pinpoint Developer Guide</a>.</p>
140 pub fn kpi_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141 self.inner = self.inner.kpi_name(input.into());
142 self
143 }
144 /// <p>The name of the metric, also referred to as a <i>key performance indicator (KPI)</i>, to retrieve data for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. Examples are email-open-rate and successful-delivery-rate. For a list of valid values, see the <a href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon Pinpoint Developer Guide</a>.</p>
145 pub fn set_kpi_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146 self.inner = self.inner.set_kpi_name(input);
147 self
148 }
149 /// <p>The name of the metric, also referred to as a <i>key performance indicator (KPI)</i>, to retrieve data for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. Examples are email-open-rate and successful-delivery-rate. For a list of valid values, see the <a href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon Pinpoint Developer Guide</a>.</p>
150 pub fn get_kpi_name(&self) -> &::std::option::Option<::std::string::String> {
151 self.inner.get_kpi_name()
152 }
153 /// <p>The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.</p>
154 pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
155 self.inner = self.inner.next_token(input.into());
156 self
157 }
158 /// <p>The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.</p>
159 pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
160 self.inner = self.inner.set_next_token(input);
161 self
162 }
163 /// <p>The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.</p>
164 pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
165 self.inner.get_next_token()
166 }
167 /// <p>The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.</p>
168 pub fn page_size(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
169 self.inner = self.inner.page_size(input.into());
170 self
171 }
172 /// <p>The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.</p>
173 pub fn set_page_size(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
174 self.inner = self.inner.set_page_size(input);
175 self
176 }
177 /// <p>The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.</p>
178 pub fn get_page_size(&self) -> &::std::option::Option<::std::string::String> {
179 self.inner.get_page_size()
180 }
181 /// <p>The first date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-19T20:00:00Z for 8:00 PM UTC July 19, 2019. This value should also be fewer than 90 days from the current day.</p>
182 pub fn start_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
183 self.inner = self.inner.start_time(input);
184 self
185 }
186 /// <p>The first date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-19T20:00:00Z for 8:00 PM UTC July 19, 2019. This value should also be fewer than 90 days from the current day.</p>
187 pub fn set_start_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
188 self.inner = self.inner.set_start_time(input);
189 self
190 }
191 /// <p>The first date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-19T20:00:00Z for 8:00 PM UTC July 19, 2019. This value should also be fewer than 90 days from the current day.</p>
192 pub fn get_start_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
193 self.inner.get_start_time()
194 }
195}