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}