aws_sdk_deadline/operation/create_fleet/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_fleet::_create_fleet_output::CreateFleetOutputBuilder;
3
4pub use crate::operation::create_fleet::_create_fleet_input::CreateFleetInputBuilder;
5
6impl crate::operation::create_fleet::builders::CreateFleetInputBuilder {
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::create_fleet::CreateFleetOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::create_fleet::CreateFleetError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.create_fleet();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `CreateFleet`.
24///
25/// <p>Creates a fleet. Fleets gather information relating to compute, or capacity, for renders within your farms. You can choose to manage your own capacity or opt to have fleets fully managed by Deadline Cloud.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateFleetFluentBuilder {
28 handle: ::std::sync::Arc<crate::client::Handle>,
29 inner: crate::operation::create_fleet::builders::CreateFleetInputBuilder,
30 config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33 crate::client::customize::internal::CustomizableSend<
34 crate::operation::create_fleet::CreateFleetOutput,
35 crate::operation::create_fleet::CreateFleetError,
36 > for CreateFleetFluentBuilder
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::create_fleet::CreateFleetOutput,
44 crate::operation::create_fleet::CreateFleetError,
45 >,
46 > {
47 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48 }
49}
50impl CreateFleetFluentBuilder {
51 /// Creates a new `CreateFleetFluentBuilder`.
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 CreateFleet as a reference.
60 pub fn as_input(&self) -> &crate::operation::create_fleet::builders::CreateFleetInputBuilder {
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::create_fleet::CreateFleetOutput,
75 ::aws_smithy_runtime_api::client::result::SdkError<
76 crate::operation::create_fleet::CreateFleetError,
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::create_fleet::CreateFleet::operation_runtime_plugins(
85 self.handle.runtime_plugins.clone(),
86 &self.handle.conf,
87 self.config_override,
88 );
89 crate::operation::create_fleet::CreateFleet::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::create_fleet::CreateFleetOutput,
97 crate::operation::create_fleet::CreateFleetError,
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 token which the server uses to recognize retries of the same request.</p>
112 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113 self.inner = self.inner.client_token(input.into());
114 self
115 }
116 /// <p>The unique token which the server uses to recognize retries of the same request.</p>
117 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118 self.inner = self.inner.set_client_token(input);
119 self
120 }
121 /// <p>The unique token which the server uses to recognize retries of the same request.</p>
122 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
123 self.inner.get_client_token()
124 }
125 /// <p>The farm ID of the farm to connect to the fleet.</p>
126 pub fn farm_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127 self.inner = self.inner.farm_id(input.into());
128 self
129 }
130 /// <p>The farm ID of the farm to connect to the fleet.</p>
131 pub fn set_farm_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132 self.inner = self.inner.set_farm_id(input);
133 self
134 }
135 /// <p>The farm ID of the farm to connect to the fleet.</p>
136 pub fn get_farm_id(&self) -> &::std::option::Option<::std::string::String> {
137 self.inner.get_farm_id()
138 }
139 /// <p>The display name of the fleet.</p><important>
140 /// <p>This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.</p>
141 /// </important>
142 pub fn display_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
143 self.inner = self.inner.display_name(input.into());
144 self
145 }
146 /// <p>The display name of the fleet.</p><important>
147 /// <p>This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.</p>
148 /// </important>
149 pub fn set_display_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
150 self.inner = self.inner.set_display_name(input);
151 self
152 }
153 /// <p>The display name of the fleet.</p><important>
154 /// <p>This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.</p>
155 /// </important>
156 pub fn get_display_name(&self) -> &::std::option::Option<::std::string::String> {
157 self.inner.get_display_name()
158 }
159 /// <p>The description of the fleet.</p><important>
160 /// <p>This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.</p>
161 /// </important>
162 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
163 self.inner = self.inner.description(input.into());
164 self
165 }
166 /// <p>The description of the fleet.</p><important>
167 /// <p>This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.</p>
168 /// </important>
169 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
170 self.inner = self.inner.set_description(input);
171 self
172 }
173 /// <p>The description of the fleet.</p><important>
174 /// <p>This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.</p>
175 /// </important>
176 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
177 self.inner.get_description()
178 }
179 /// <p>The IAM role ARN for the role that the fleet's workers will use.</p>
180 pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
181 self.inner = self.inner.role_arn(input.into());
182 self
183 }
184 /// <p>The IAM role ARN for the role that the fleet's workers will use.</p>
185 pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
186 self.inner = self.inner.set_role_arn(input);
187 self
188 }
189 /// <p>The IAM role ARN for the role that the fleet's workers will use.</p>
190 pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
191 self.inner.get_role_arn()
192 }
193 /// <p>The minimum number of workers for the fleet.</p>
194 pub fn min_worker_count(mut self, input: i32) -> Self {
195 self.inner = self.inner.min_worker_count(input);
196 self
197 }
198 /// <p>The minimum number of workers for the fleet.</p>
199 pub fn set_min_worker_count(mut self, input: ::std::option::Option<i32>) -> Self {
200 self.inner = self.inner.set_min_worker_count(input);
201 self
202 }
203 /// <p>The minimum number of workers for the fleet.</p>
204 pub fn get_min_worker_count(&self) -> &::std::option::Option<i32> {
205 self.inner.get_min_worker_count()
206 }
207 /// <p>The maximum number of workers for the fleet.</p>
208 /// <p>Deadline Cloud limits the number of workers to less than or equal to the fleet's maximum worker count. The service maintains eventual consistency for the worker count. If you make multiple rapid calls to <code>CreateWorker</code> before the field updates, you might exceed your fleet's maximum worker count. For example, if your <code>maxWorkerCount</code> is 10 and you currently have 9 workers, making two quick <code>CreateWorker</code> calls might successfully create 2 workers instead of 1, resulting in 11 total workers.</p>
209 pub fn max_worker_count(mut self, input: i32) -> Self {
210 self.inner = self.inner.max_worker_count(input);
211 self
212 }
213 /// <p>The maximum number of workers for the fleet.</p>
214 /// <p>Deadline Cloud limits the number of workers to less than or equal to the fleet's maximum worker count. The service maintains eventual consistency for the worker count. If you make multiple rapid calls to <code>CreateWorker</code> before the field updates, you might exceed your fleet's maximum worker count. For example, if your <code>maxWorkerCount</code> is 10 and you currently have 9 workers, making two quick <code>CreateWorker</code> calls might successfully create 2 workers instead of 1, resulting in 11 total workers.</p>
215 pub fn set_max_worker_count(mut self, input: ::std::option::Option<i32>) -> Self {
216 self.inner = self.inner.set_max_worker_count(input);
217 self
218 }
219 /// <p>The maximum number of workers for the fleet.</p>
220 /// <p>Deadline Cloud limits the number of workers to less than or equal to the fleet's maximum worker count. The service maintains eventual consistency for the worker count. If you make multiple rapid calls to <code>CreateWorker</code> before the field updates, you might exceed your fleet's maximum worker count. For example, if your <code>maxWorkerCount</code> is 10 and you currently have 9 workers, making two quick <code>CreateWorker</code> calls might successfully create 2 workers instead of 1, resulting in 11 total workers.</p>
221 pub fn get_max_worker_count(&self) -> &::std::option::Option<i32> {
222 self.inner.get_max_worker_count()
223 }
224 /// <p>The configuration settings for the fleet. Customer managed fleets are self-managed. Service managed Amazon EC2 fleets are managed by Deadline Cloud.</p>
225 pub fn configuration(mut self, input: crate::types::FleetConfiguration) -> Self {
226 self.inner = self.inner.configuration(input);
227 self
228 }
229 /// <p>The configuration settings for the fleet. Customer managed fleets are self-managed. Service managed Amazon EC2 fleets are managed by Deadline Cloud.</p>
230 pub fn set_configuration(mut self, input: ::std::option::Option<crate::types::FleetConfiguration>) -> Self {
231 self.inner = self.inner.set_configuration(input);
232 self
233 }
234 /// <p>The configuration settings for the fleet. Customer managed fleets are self-managed. Service managed Amazon EC2 fleets are managed by Deadline Cloud.</p>
235 pub fn get_configuration(&self) -> &::std::option::Option<crate::types::FleetConfiguration> {
236 self.inner.get_configuration()
237 }
238 ///
239 /// Adds a key-value pair to `tags`.
240 ///
241 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
242 ///
243 /// <p>Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.</p>
244 pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
245 self.inner = self.inner.tags(k.into(), v.into());
246 self
247 }
248 /// <p>Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.</p>
249 pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
250 self.inner = self.inner.set_tags(input);
251 self
252 }
253 /// <p>Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.</p>
254 pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
255 self.inner.get_tags()
256 }
257 /// <p>Provides a script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet.</p>
258 pub fn host_configuration(mut self, input: crate::types::HostConfiguration) -> Self {
259 self.inner = self.inner.host_configuration(input);
260 self
261 }
262 /// <p>Provides a script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet.</p>
263 pub fn set_host_configuration(mut self, input: ::std::option::Option<crate::types::HostConfiguration>) -> Self {
264 self.inner = self.inner.set_host_configuration(input);
265 self
266 }
267 /// <p>Provides a script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet.</p>
268 pub fn get_host_configuration(&self) -> &::std::option::Option<crate::types::HostConfiguration> {
269 self.inner.get_host_configuration()
270 }
271}