aws_sdk_ec2/operation/describe_fleets/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::describe_fleets::_describe_fleets_output::DescribeFleetsOutputBuilder;
3
4pub use crate::operation::describe_fleets::_describe_fleets_input::DescribeFleetsInputBuilder;
5
6impl crate::operation::describe_fleets::builders::DescribeFleetsInputBuilder {
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_fleets::DescribeFleetsOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::describe_fleets::DescribeFleetsError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.describe_fleets();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `DescribeFleets`.
24///
25/// <p>Describes the specified EC2 Fleet or all of your EC2 Fleets.</p><important>
26/// <p>If a fleet is of type <code>instant</code>, you must specify the fleet ID in the request, otherwise the fleet does not appear in the response.</p>
27/// </important>
28/// <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#monitor-ec2-fleet">Describe your EC2 Fleet</a> in the <i>Amazon EC2 User Guide</i>.</p>
29#[derive(::std::clone::Clone, ::std::fmt::Debug)]
30pub struct DescribeFleetsFluentBuilder {
31    handle: ::std::sync::Arc<crate::client::Handle>,
32    inner: crate::operation::describe_fleets::builders::DescribeFleetsInputBuilder,
33    config_override: ::std::option::Option<crate::config::Builder>,
34}
35impl
36    crate::client::customize::internal::CustomizableSend<
37        crate::operation::describe_fleets::DescribeFleetsOutput,
38        crate::operation::describe_fleets::DescribeFleetsError,
39    > for DescribeFleetsFluentBuilder
40{
41    fn send(
42        self,
43        config_override: crate::config::Builder,
44    ) -> crate::client::customize::internal::BoxFuture<
45        crate::client::customize::internal::SendResult<
46            crate::operation::describe_fleets::DescribeFleetsOutput,
47            crate::operation::describe_fleets::DescribeFleetsError,
48        >,
49    > {
50        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
51    }
52}
53impl DescribeFleetsFluentBuilder {
54    /// Creates a new `DescribeFleetsFluentBuilder`.
55    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
56        Self {
57            handle,
58            inner: ::std::default::Default::default(),
59            config_override: ::std::option::Option::None,
60        }
61    }
62    /// Access the DescribeFleets as a reference.
63    pub fn as_input(&self) -> &crate::operation::describe_fleets::builders::DescribeFleetsInputBuilder {
64        &self.inner
65    }
66    /// Sends the request and returns the response.
67    ///
68    /// If an error occurs, an `SdkError` will be returned with additional details that
69    /// can be matched against.
70    ///
71    /// By default, any retryable failures will be retried twice. Retry behavior
72    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
73    /// set when configuring the client.
74    pub async fn send(
75        self,
76    ) -> ::std::result::Result<
77        crate::operation::describe_fleets::DescribeFleetsOutput,
78        ::aws_smithy_runtime_api::client::result::SdkError<
79            crate::operation::describe_fleets::DescribeFleetsError,
80            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
81        >,
82    > {
83        let input = self
84            .inner
85            .build()
86            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
87        let runtime_plugins = crate::operation::describe_fleets::DescribeFleets::operation_runtime_plugins(
88            self.handle.runtime_plugins.clone(),
89            &self.handle.conf,
90            self.config_override,
91        );
92        crate::operation::describe_fleets::DescribeFleets::orchestrate(&runtime_plugins, input).await
93    }
94
95    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
96    pub fn customize(
97        self,
98    ) -> crate::client::customize::CustomizableOperation<
99        crate::operation::describe_fleets::DescribeFleetsOutput,
100        crate::operation::describe_fleets::DescribeFleetsError,
101        Self,
102    > {
103        crate::client::customize::CustomizableOperation::new(self)
104    }
105    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
106        self.set_config_override(::std::option::Option::Some(config_override.into()));
107        self
108    }
109
110    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
111        self.config_override = config_override;
112        self
113    }
114    /// Create a paginator for this request
115    ///
116    /// Paginators are used by calling [`send().await`](crate::operation::describe_fleets::paginator::DescribeFleetsPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
117    pub fn into_paginator(self) -> crate::operation::describe_fleets::paginator::DescribeFleetsPaginator {
118        crate::operation::describe_fleets::paginator::DescribeFleetsPaginator::new(self.handle, self.inner)
119    }
120    /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
121    pub fn dry_run(mut self, input: bool) -> Self {
122        self.inner = self.inner.dry_run(input);
123        self
124    }
125    /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
126    pub fn set_dry_run(mut self, input: ::std::option::Option<bool>) -> Self {
127        self.inner = self.inner.set_dry_run(input);
128        self
129    }
130    /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
131    pub fn get_dry_run(&self) -> &::std::option::Option<bool> {
132        self.inner.get_dry_run()
133    }
134    /// <p>The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
135    pub fn max_results(mut self, input: i32) -> Self {
136        self.inner = self.inner.max_results(input);
137        self
138    }
139    /// <p>The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
140    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
141        self.inner = self.inner.set_max_results(input);
142        self
143    }
144    /// <p>The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
145    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
146        self.inner.get_max_results()
147    }
148    /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
149    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
150        self.inner = self.inner.next_token(input.into());
151        self
152    }
153    /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
154    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
155        self.inner = self.inner.set_next_token(input);
156        self
157    }
158    /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
159    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
160        self.inner.get_next_token()
161    }
162    ///
163    /// Appends an item to `FleetIds`.
164    ///
165    /// To override the contents of this collection use [`set_fleet_ids`](Self::set_fleet_ids).
166    ///
167    /// <p>The IDs of the EC2 Fleets.</p><note>
168    /// <p>If a fleet is of type <code>instant</code>, you must specify the fleet ID, otherwise it does not appear in the response.</p>
169    /// </note>
170    pub fn fleet_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
171        self.inner = self.inner.fleet_ids(input.into());
172        self
173    }
174    /// <p>The IDs of the EC2 Fleets.</p><note>
175    /// <p>If a fleet is of type <code>instant</code>, you must specify the fleet ID, otherwise it does not appear in the response.</p>
176    /// </note>
177    pub fn set_fleet_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
178        self.inner = self.inner.set_fleet_ids(input);
179        self
180    }
181    /// <p>The IDs of the EC2 Fleets.</p><note>
182    /// <p>If a fleet is of type <code>instant</code>, you must specify the fleet ID, otherwise it does not appear in the response.</p>
183    /// </note>
184    pub fn get_fleet_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
185        self.inner.get_fleet_ids()
186    }
187    ///
188    /// Appends an item to `Filters`.
189    ///
190    /// To override the contents of this collection use [`set_filters`](Self::set_filters).
191    ///
192    /// <p>The filters.</p>
193    /// <ul>
194    /// <li>
195    /// <p><code>activity-status</code> - The progress of the EC2 Fleet ( <code>error</code> | <code>pending-fulfillment</code> | <code>pending-termination</code> | <code>fulfilled</code>).</p></li>
196    /// <li>
197    /// <p><code>excess-capacity-termination-policy</code> - Indicates whether to terminate running instances if the target capacity is decreased below the current EC2 Fleet size (<code>true</code> | <code>false</code>).</p></li>
198    /// <li>
199    /// <p><code>fleet-state</code> - The state of the EC2 Fleet (<code>submitted</code> | <code>active</code> | <code>deleted</code> | <code>failed</code> | <code>deleted-running</code> | <code>deleted-terminating</code> | <code>modifying</code>).</p></li>
200    /// <li>
201    /// <p><code>replace-unhealthy-instances</code> - Indicates whether EC2 Fleet should replace unhealthy instances (<code>true</code> | <code>false</code>).</p></li>
202    /// <li>
203    /// <p><code>type</code> - The type of request (<code>instant</code> | <code>request</code> | <code>maintain</code>).</p></li>
204    /// </ul>
205    pub fn filters(mut self, input: crate::types::Filter) -> Self {
206        self.inner = self.inner.filters(input);
207        self
208    }
209    /// <p>The filters.</p>
210    /// <ul>
211    /// <li>
212    /// <p><code>activity-status</code> - The progress of the EC2 Fleet ( <code>error</code> | <code>pending-fulfillment</code> | <code>pending-termination</code> | <code>fulfilled</code>).</p></li>
213    /// <li>
214    /// <p><code>excess-capacity-termination-policy</code> - Indicates whether to terminate running instances if the target capacity is decreased below the current EC2 Fleet size (<code>true</code> | <code>false</code>).</p></li>
215    /// <li>
216    /// <p><code>fleet-state</code> - The state of the EC2 Fleet (<code>submitted</code> | <code>active</code> | <code>deleted</code> | <code>failed</code> | <code>deleted-running</code> | <code>deleted-terminating</code> | <code>modifying</code>).</p></li>
217    /// <li>
218    /// <p><code>replace-unhealthy-instances</code> - Indicates whether EC2 Fleet should replace unhealthy instances (<code>true</code> | <code>false</code>).</p></li>
219    /// <li>
220    /// <p><code>type</code> - The type of request (<code>instant</code> | <code>request</code> | <code>maintain</code>).</p></li>
221    /// </ul>
222    pub fn set_filters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Filter>>) -> Self {
223        self.inner = self.inner.set_filters(input);
224        self
225    }
226    /// <p>The filters.</p>
227    /// <ul>
228    /// <li>
229    /// <p><code>activity-status</code> - The progress of the EC2 Fleet ( <code>error</code> | <code>pending-fulfillment</code> | <code>pending-termination</code> | <code>fulfilled</code>).</p></li>
230    /// <li>
231    /// <p><code>excess-capacity-termination-policy</code> - Indicates whether to terminate running instances if the target capacity is decreased below the current EC2 Fleet size (<code>true</code> | <code>false</code>).</p></li>
232    /// <li>
233    /// <p><code>fleet-state</code> - The state of the EC2 Fleet (<code>submitted</code> | <code>active</code> | <code>deleted</code> | <code>failed</code> | <code>deleted-running</code> | <code>deleted-terminating</code> | <code>modifying</code>).</p></li>
234    /// <li>
235    /// <p><code>replace-unhealthy-instances</code> - Indicates whether EC2 Fleet should replace unhealthy instances (<code>true</code> | <code>false</code>).</p></li>
236    /// <li>
237    /// <p><code>type</code> - The type of request (<code>instant</code> | <code>request</code> | <code>maintain</code>).</p></li>
238    /// </ul>
239    pub fn get_filters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Filter>> {
240        self.inner.get_filters()
241    }
242}