aws_sdk_kinesis/operation/disable_enhanced_monitoring/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::disable_enhanced_monitoring::_disable_enhanced_monitoring_output::DisableEnhancedMonitoringOutputBuilder;
3
4pub use crate::operation::disable_enhanced_monitoring::_disable_enhanced_monitoring_input::DisableEnhancedMonitoringInputBuilder;
5
6impl crate::operation::disable_enhanced_monitoring::builders::DisableEnhancedMonitoringInputBuilder {
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::disable_enhanced_monitoring::DisableEnhancedMonitoringOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::disable_enhanced_monitoring::DisableEnhancedMonitoringError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.disable_enhanced_monitoring();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `DisableEnhancedMonitoring`.
24///
25/// <p>Disables enhanced monitoring.</p><note>
26/// <p>When invoking this API, you must use either the <code>StreamARN</code> or the <code>StreamName</code> parameter, or both. It is recommended that you use the <code>StreamARN</code> input parameter when you invoke this API.</p>
27/// </note>
28#[derive(::std::clone::Clone, ::std::fmt::Debug)]
29pub struct DisableEnhancedMonitoringFluentBuilder {
30 handle: ::std::sync::Arc<crate::client::Handle>,
31 inner: crate::operation::disable_enhanced_monitoring::builders::DisableEnhancedMonitoringInputBuilder,
32 config_override: ::std::option::Option<crate::config::Builder>,
33}
34impl
35 crate::client::customize::internal::CustomizableSend<
36 crate::operation::disable_enhanced_monitoring::DisableEnhancedMonitoringOutput,
37 crate::operation::disable_enhanced_monitoring::DisableEnhancedMonitoringError,
38 > for DisableEnhancedMonitoringFluentBuilder
39{
40 fn send(
41 self,
42 config_override: crate::config::Builder,
43 ) -> crate::client::customize::internal::BoxFuture<
44 crate::client::customize::internal::SendResult<
45 crate::operation::disable_enhanced_monitoring::DisableEnhancedMonitoringOutput,
46 crate::operation::disable_enhanced_monitoring::DisableEnhancedMonitoringError,
47 >,
48 > {
49 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
50 }
51}
52impl DisableEnhancedMonitoringFluentBuilder {
53 /// Creates a new `DisableEnhancedMonitoringFluentBuilder`.
54 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
55 Self {
56 handle,
57 inner: ::std::default::Default::default(),
58 config_override: ::std::option::Option::None,
59 }
60 }
61 /// Access the DisableEnhancedMonitoring as a reference.
62 pub fn as_input(&self) -> &crate::operation::disable_enhanced_monitoring::builders::DisableEnhancedMonitoringInputBuilder {
63 &self.inner
64 }
65 /// Sends the request and returns the response.
66 ///
67 /// If an error occurs, an `SdkError` will be returned with additional details that
68 /// can be matched against.
69 ///
70 /// By default, any retryable failures will be retried twice. Retry behavior
71 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
72 /// set when configuring the client.
73 pub async fn send(
74 self,
75 ) -> ::std::result::Result<
76 crate::operation::disable_enhanced_monitoring::DisableEnhancedMonitoringOutput,
77 ::aws_smithy_runtime_api::client::result::SdkError<
78 crate::operation::disable_enhanced_monitoring::DisableEnhancedMonitoringError,
79 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
80 >,
81 > {
82 let input = self
83 .inner
84 .build()
85 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
86 let runtime_plugins = crate::operation::disable_enhanced_monitoring::DisableEnhancedMonitoring::operation_runtime_plugins(
87 self.handle.runtime_plugins.clone(),
88 &self.handle.conf,
89 self.config_override,
90 );
91 crate::operation::disable_enhanced_monitoring::DisableEnhancedMonitoring::orchestrate(&runtime_plugins, input).await
92 }
93
94 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
95 pub fn customize(
96 self,
97 ) -> crate::client::customize::CustomizableOperation<
98 crate::operation::disable_enhanced_monitoring::DisableEnhancedMonitoringOutput,
99 crate::operation::disable_enhanced_monitoring::DisableEnhancedMonitoringError,
100 Self,
101 > {
102 crate::client::customize::CustomizableOperation::new(self)
103 }
104 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
105 self.set_config_override(::std::option::Option::Some(config_override.into()));
106 self
107 }
108
109 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
110 self.config_override = config_override;
111 self
112 }
113 /// <p>The name of the Kinesis data stream for which to disable enhanced monitoring.</p>
114 pub fn stream_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
115 self.inner = self.inner.stream_name(input.into());
116 self
117 }
118 /// <p>The name of the Kinesis data stream for which to disable enhanced monitoring.</p>
119 pub fn set_stream_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
120 self.inner = self.inner.set_stream_name(input);
121 self
122 }
123 /// <p>The name of the Kinesis data stream for which to disable enhanced monitoring.</p>
124 pub fn get_stream_name(&self) -> &::std::option::Option<::std::string::String> {
125 self.inner.get_stream_name()
126 }
127 ///
128 /// Appends an item to `ShardLevelMetrics`.
129 ///
130 /// To override the contents of this collection use [`set_shard_level_metrics`](Self::set_shard_level_metrics).
131 ///
132 /// <p>List of shard-level metrics to disable.</p>
133 /// <p>The following are the valid shard-level metrics. The value "<code>ALL</code>" disables every metric.</p>
134 /// <ul>
135 /// <li>
136 /// <p><code>IncomingBytes</code></p></li>
137 /// <li>
138 /// <p><code>IncomingRecords</code></p></li>
139 /// <li>
140 /// <p><code>OutgoingBytes</code></p></li>
141 /// <li>
142 /// <p><code>OutgoingRecords</code></p></li>
143 /// <li>
144 /// <p><code>WriteProvisionedThroughputExceeded</code></p></li>
145 /// <li>
146 /// <p><code>ReadProvisionedThroughputExceeded</code></p></li>
147 /// <li>
148 /// <p><code>IteratorAgeMilliseconds</code></p></li>
149 /// <li>
150 /// <p><code>ALL</code></p></li>
151 /// </ul>
152 /// <p>For more information, see <a href="https://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html">Monitoring the Amazon Kinesis Data Streams Service with Amazon CloudWatch</a> in the <i>Amazon Kinesis Data Streams Developer Guide</i>.</p>
153 pub fn shard_level_metrics(mut self, input: crate::types::MetricsName) -> Self {
154 self.inner = self.inner.shard_level_metrics(input);
155 self
156 }
157 /// <p>List of shard-level metrics to disable.</p>
158 /// <p>The following are the valid shard-level metrics. The value "<code>ALL</code>" disables every metric.</p>
159 /// <ul>
160 /// <li>
161 /// <p><code>IncomingBytes</code></p></li>
162 /// <li>
163 /// <p><code>IncomingRecords</code></p></li>
164 /// <li>
165 /// <p><code>OutgoingBytes</code></p></li>
166 /// <li>
167 /// <p><code>OutgoingRecords</code></p></li>
168 /// <li>
169 /// <p><code>WriteProvisionedThroughputExceeded</code></p></li>
170 /// <li>
171 /// <p><code>ReadProvisionedThroughputExceeded</code></p></li>
172 /// <li>
173 /// <p><code>IteratorAgeMilliseconds</code></p></li>
174 /// <li>
175 /// <p><code>ALL</code></p></li>
176 /// </ul>
177 /// <p>For more information, see <a href="https://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html">Monitoring the Amazon Kinesis Data Streams Service with Amazon CloudWatch</a> in the <i>Amazon Kinesis Data Streams Developer Guide</i>.</p>
178 pub fn set_shard_level_metrics(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::MetricsName>>) -> Self {
179 self.inner = self.inner.set_shard_level_metrics(input);
180 self
181 }
182 /// <p>List of shard-level metrics to disable.</p>
183 /// <p>The following are the valid shard-level metrics. The value "<code>ALL</code>" disables every metric.</p>
184 /// <ul>
185 /// <li>
186 /// <p><code>IncomingBytes</code></p></li>
187 /// <li>
188 /// <p><code>IncomingRecords</code></p></li>
189 /// <li>
190 /// <p><code>OutgoingBytes</code></p></li>
191 /// <li>
192 /// <p><code>OutgoingRecords</code></p></li>
193 /// <li>
194 /// <p><code>WriteProvisionedThroughputExceeded</code></p></li>
195 /// <li>
196 /// <p><code>ReadProvisionedThroughputExceeded</code></p></li>
197 /// <li>
198 /// <p><code>IteratorAgeMilliseconds</code></p></li>
199 /// <li>
200 /// <p><code>ALL</code></p></li>
201 /// </ul>
202 /// <p>For more information, see <a href="https://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html">Monitoring the Amazon Kinesis Data Streams Service with Amazon CloudWatch</a> in the <i>Amazon Kinesis Data Streams Developer Guide</i>.</p>
203 pub fn get_shard_level_metrics(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::MetricsName>> {
204 self.inner.get_shard_level_metrics()
205 }
206 /// <p>The ARN of the stream.</p>
207 pub fn stream_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
208 self.inner = self.inner.stream_arn(input.into());
209 self
210 }
211 /// <p>The ARN of the stream.</p>
212 pub fn set_stream_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
213 self.inner = self.inner.set_stream_arn(input);
214 self
215 }
216 /// <p>The ARN of the stream.</p>
217 pub fn get_stream_arn(&self) -> &::std::option::Option<::std::string::String> {
218 self.inner.get_stream_arn()
219 }
220}