aws_sdk_iot/operation/list_command_executions/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::list_command_executions::_list_command_executions_output::ListCommandExecutionsOutputBuilder;
3
4pub use crate::operation::list_command_executions::_list_command_executions_input::ListCommandExecutionsInputBuilder;
5
6impl crate::operation::list_command_executions::builders::ListCommandExecutionsInputBuilder {
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::list_command_executions::ListCommandExecutionsOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::list_command_executions::ListCommandExecutionsError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.list_command_executions();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `ListCommandExecutions`.
24///
25/// <p>List all command executions.</p><important>
26/// <ul>
27/// <li>
28/// <p>You must provide only the <code>startedTimeFilter</code> or the <code>completedTimeFilter</code> information. If you provide both time filters, the API will generate an error. You can use this information to retrieve a list of command executions within a specific timeframe.</p></li>
29/// <li>
30/// <p>You must provide only the <code>commandArn</code> or the <code>thingArn</code> information depending on whether you want to list executions for a specific command or an IoT thing. If you provide both fields, the API will generate an error.</p></li>
31/// </ul>
32/// <p>For more information about considerations for using this API, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/iot-remote-command-execution-start-monitor.html#iot-remote-command-execution-list-cli">List command executions in your account (CLI)</a>.</p>
33/// </important>
34#[derive(::std::clone::Clone, ::std::fmt::Debug)]
35pub struct ListCommandExecutionsFluentBuilder {
36    handle: ::std::sync::Arc<crate::client::Handle>,
37    inner: crate::operation::list_command_executions::builders::ListCommandExecutionsInputBuilder,
38    config_override: ::std::option::Option<crate::config::Builder>,
39}
40impl
41    crate::client::customize::internal::CustomizableSend<
42        crate::operation::list_command_executions::ListCommandExecutionsOutput,
43        crate::operation::list_command_executions::ListCommandExecutionsError,
44    > for ListCommandExecutionsFluentBuilder
45{
46    fn send(
47        self,
48        config_override: crate::config::Builder,
49    ) -> crate::client::customize::internal::BoxFuture<
50        crate::client::customize::internal::SendResult<
51            crate::operation::list_command_executions::ListCommandExecutionsOutput,
52            crate::operation::list_command_executions::ListCommandExecutionsError,
53        >,
54    > {
55        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
56    }
57}
58impl ListCommandExecutionsFluentBuilder {
59    /// Creates a new `ListCommandExecutionsFluentBuilder`.
60    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
61        Self {
62            handle,
63            inner: ::std::default::Default::default(),
64            config_override: ::std::option::Option::None,
65        }
66    }
67    /// Access the ListCommandExecutions as a reference.
68    pub fn as_input(&self) -> &crate::operation::list_command_executions::builders::ListCommandExecutionsInputBuilder {
69        &self.inner
70    }
71    /// Sends the request and returns the response.
72    ///
73    /// If an error occurs, an `SdkError` will be returned with additional details that
74    /// can be matched against.
75    ///
76    /// By default, any retryable failures will be retried twice. Retry behavior
77    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
78    /// set when configuring the client.
79    pub async fn send(
80        self,
81    ) -> ::std::result::Result<
82        crate::operation::list_command_executions::ListCommandExecutionsOutput,
83        ::aws_smithy_runtime_api::client::result::SdkError<
84            crate::operation::list_command_executions::ListCommandExecutionsError,
85            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
86        >,
87    > {
88        let input = self
89            .inner
90            .build()
91            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
92        let runtime_plugins = crate::operation::list_command_executions::ListCommandExecutions::operation_runtime_plugins(
93            self.handle.runtime_plugins.clone(),
94            &self.handle.conf,
95            self.config_override,
96        );
97        crate::operation::list_command_executions::ListCommandExecutions::orchestrate(&runtime_plugins, input).await
98    }
99
100    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
101    pub fn customize(
102        self,
103    ) -> crate::client::customize::CustomizableOperation<
104        crate::operation::list_command_executions::ListCommandExecutionsOutput,
105        crate::operation::list_command_executions::ListCommandExecutionsError,
106        Self,
107    > {
108        crate::client::customize::CustomizableOperation::new(self)
109    }
110    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
111        self.set_config_override(::std::option::Option::Some(config_override.into()));
112        self
113    }
114
115    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
116        self.config_override = config_override;
117        self
118    }
119    /// Create a paginator for this request
120    ///
121    /// Paginators are used by calling [`send().await`](crate::operation::list_command_executions::paginator::ListCommandExecutionsPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
122    pub fn into_paginator(self) -> crate::operation::list_command_executions::paginator::ListCommandExecutionsPaginator {
123        crate::operation::list_command_executions::paginator::ListCommandExecutionsPaginator::new(self.handle, self.inner)
124    }
125    /// <p>The maximum number of results to return in this operation.</p>
126    pub fn max_results(mut self, input: i32) -> Self {
127        self.inner = self.inner.max_results(input);
128        self
129    }
130    /// <p>The maximum number of results to return in this operation.</p>
131    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
132        self.inner = self.inner.set_max_results(input);
133        self
134    }
135    /// <p>The maximum number of results to return in this operation.</p>
136    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
137        self.inner.get_max_results()
138    }
139    /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <code>null</code> to receive the first set of results.</p>
140    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141        self.inner = self.inner.next_token(input.into());
142        self
143    }
144    /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <code>null</code> to receive the first set of results.</p>
145    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146        self.inner = self.inner.set_next_token(input);
147        self
148    }
149    /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <code>null</code> to receive the first set of results.</p>
150    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
151        self.inner.get_next_token()
152    }
153    /// <p>The namespace of the command.</p>
154    pub fn namespace(mut self, input: crate::types::CommandNamespace) -> Self {
155        self.inner = self.inner.namespace(input);
156        self
157    }
158    /// <p>The namespace of the command.</p>
159    pub fn set_namespace(mut self, input: ::std::option::Option<crate::types::CommandNamespace>) -> Self {
160        self.inner = self.inner.set_namespace(input);
161        self
162    }
163    /// <p>The namespace of the command.</p>
164    pub fn get_namespace(&self) -> &::std::option::Option<crate::types::CommandNamespace> {
165        self.inner.get_namespace()
166    }
167    /// <p>List all command executions for the device that have a particular status. For example, you can filter the list to display only command executions that have failed or timed out.</p>
168    pub fn status(mut self, input: crate::types::CommandExecutionStatus) -> Self {
169        self.inner = self.inner.status(input);
170        self
171    }
172    /// <p>List all command executions for the device that have a particular status. For example, you can filter the list to display only command executions that have failed or timed out.</p>
173    pub fn set_status(mut self, input: ::std::option::Option<crate::types::CommandExecutionStatus>) -> Self {
174        self.inner = self.inner.set_status(input);
175        self
176    }
177    /// <p>List all command executions for the device that have a particular status. For example, you can filter the list to display only command executions that have failed or timed out.</p>
178    pub fn get_status(&self) -> &::std::option::Option<crate::types::CommandExecutionStatus> {
179        self.inner.get_status()
180    }
181    /// <p>Specify whether to list the command executions that were created in the ascending or descending order. By default, the API returns all commands in the descending order based on the start time or completion time of the executions, that are determined by the <code>startTimeFilter</code> and <code>completeTimeFilter</code> parameters.</p>
182    pub fn sort_order(mut self, input: crate::types::SortOrder) -> Self {
183        self.inner = self.inner.sort_order(input);
184        self
185    }
186    /// <p>Specify whether to list the command executions that were created in the ascending or descending order. By default, the API returns all commands in the descending order based on the start time or completion time of the executions, that are determined by the <code>startTimeFilter</code> and <code>completeTimeFilter</code> parameters.</p>
187    pub fn set_sort_order(mut self, input: ::std::option::Option<crate::types::SortOrder>) -> Self {
188        self.inner = self.inner.set_sort_order(input);
189        self
190    }
191    /// <p>Specify whether to list the command executions that were created in the ascending or descending order. By default, the API returns all commands in the descending order based on the start time or completion time of the executions, that are determined by the <code>startTimeFilter</code> and <code>completeTimeFilter</code> parameters.</p>
192    pub fn get_sort_order(&self) -> &::std::option::Option<crate::types::SortOrder> {
193        self.inner.get_sort_order()
194    }
195    /// <p>List all command executions that started any time before or after the date and time that you specify. The date and time uses the format <code>yyyy-MM-dd'T'HH:mm</code>.</p>
196    pub fn started_time_filter(mut self, input: crate::types::TimeFilter) -> Self {
197        self.inner = self.inner.started_time_filter(input);
198        self
199    }
200    /// <p>List all command executions that started any time before or after the date and time that you specify. The date and time uses the format <code>yyyy-MM-dd'T'HH:mm</code>.</p>
201    pub fn set_started_time_filter(mut self, input: ::std::option::Option<crate::types::TimeFilter>) -> Self {
202        self.inner = self.inner.set_started_time_filter(input);
203        self
204    }
205    /// <p>List all command executions that started any time before or after the date and time that you specify. The date and time uses the format <code>yyyy-MM-dd'T'HH:mm</code>.</p>
206    pub fn get_started_time_filter(&self) -> &::std::option::Option<crate::types::TimeFilter> {
207        self.inner.get_started_time_filter()
208    }
209    /// <p>List all command executions that completed any time before or after the date and time that you specify. The date and time uses the format <code>yyyy-MM-dd'T'HH:mm</code>.</p>
210    pub fn completed_time_filter(mut self, input: crate::types::TimeFilter) -> Self {
211        self.inner = self.inner.completed_time_filter(input);
212        self
213    }
214    /// <p>List all command executions that completed any time before or after the date and time that you specify. The date and time uses the format <code>yyyy-MM-dd'T'HH:mm</code>.</p>
215    pub fn set_completed_time_filter(mut self, input: ::std::option::Option<crate::types::TimeFilter>) -> Self {
216        self.inner = self.inner.set_completed_time_filter(input);
217        self
218    }
219    /// <p>List all command executions that completed any time before or after the date and time that you specify. The date and time uses the format <code>yyyy-MM-dd'T'HH:mm</code>.</p>
220    pub fn get_completed_time_filter(&self) -> &::std::option::Option<crate::types::TimeFilter> {
221        self.inner.get_completed_time_filter()
222    }
223    /// <p>The Amazon Resource Number (ARN) of the target device. You can use this information to list all command executions for a particular device.</p>
224    pub fn target_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
225        self.inner = self.inner.target_arn(input.into());
226        self
227    }
228    /// <p>The Amazon Resource Number (ARN) of the target device. You can use this information to list all command executions for a particular device.</p>
229    pub fn set_target_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
230        self.inner = self.inner.set_target_arn(input);
231        self
232    }
233    /// <p>The Amazon Resource Number (ARN) of the target device. You can use this information to list all command executions for a particular device.</p>
234    pub fn get_target_arn(&self) -> &::std::option::Option<::std::string::String> {
235        self.inner.get_target_arn()
236    }
237    /// <p>The Amazon Resource Number (ARN) of the command. You can use this information to list all command executions for a particular command.</p>
238    pub fn command_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
239        self.inner = self.inner.command_arn(input.into());
240        self
241    }
242    /// <p>The Amazon Resource Number (ARN) of the command. You can use this information to list all command executions for a particular command.</p>
243    pub fn set_command_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
244        self.inner = self.inner.set_command_arn(input);
245        self
246    }
247    /// <p>The Amazon Resource Number (ARN) of the command. You can use this information to list all command executions for a particular command.</p>
248    pub fn get_command_arn(&self) -> &::std::option::Option<::std::string::String> {
249        self.inner.get_command_arn()
250    }
251}