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}