// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
/// Shared displayName + description for Create operations where both are present. displayName is @required here - this mixin is Create-only by design (Update has optional displayName).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct CreateFleetInput {
/// <p>The farm ID of the farm to connect to the fleet.</p>
pub farm_id: ::std::option::Option<::std::string::String>,
/// <p>The unique token which the server uses to recognize retries of the same request.</p>
pub client_token: ::std::option::Option<::std::string::String>,
/// <p>The display name of the fleet.</p><important>
/// <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>
/// </important>
pub display_name: ::std::option::Option<::std::string::String>,
/// <p>The description of the fleet.</p><important>
/// <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>
/// </important>
pub description: ::std::option::Option<::std::string::String>,
/// <p>The IAM role ARN for the role that the fleet's workers will use.</p>
pub role_arn: ::std::option::Option<::std::string::String>,
/// <p>The minimum number of workers for the fleet.</p>
pub min_worker_count: ::std::option::Option<i32>,
/// <p>The maximum number of workers for the fleet.</p>
/// <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>
pub max_worker_count: ::std::option::Option<i32>,
/// <p>The configuration settings for the fleet. Customer managed fleets are self-managed. Service managed Amazon EC2 fleets are managed by Deadline Cloud.</p>
pub configuration: ::std::option::Option<crate::types::FleetConfiguration>,
/// <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>
pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
/// <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>
pub host_configuration: ::std::option::Option<crate::types::HostConfiguration>,
}
impl CreateFleetInput {
/// <p>The farm ID of the farm to connect to the fleet.</p>
pub fn farm_id(&self) -> ::std::option::Option<&str> {
self.farm_id.as_deref()
}
/// <p>The unique token which the server uses to recognize retries of the same request.</p>
pub fn client_token(&self) -> ::std::option::Option<&str> {
self.client_token.as_deref()
}
/// <p>The display name of the fleet.</p><important>
/// <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>
/// </important>
pub fn display_name(&self) -> ::std::option::Option<&str> {
self.display_name.as_deref()
}
/// <p>The description of the fleet.</p><important>
/// <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>
/// </important>
pub fn description(&self) -> ::std::option::Option<&str> {
self.description.as_deref()
}
/// <p>The IAM role ARN for the role that the fleet's workers will use.</p>
pub fn role_arn(&self) -> ::std::option::Option<&str> {
self.role_arn.as_deref()
}
/// <p>The minimum number of workers for the fleet.</p>
pub fn min_worker_count(&self) -> ::std::option::Option<i32> {
self.min_worker_count
}
/// <p>The maximum number of workers for the fleet.</p>
/// <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>
pub fn max_worker_count(&self) -> ::std::option::Option<i32> {
self.max_worker_count
}
/// <p>The configuration settings for the fleet. Customer managed fleets are self-managed. Service managed Amazon EC2 fleets are managed by Deadline Cloud.</p>
pub fn configuration(&self) -> ::std::option::Option<&crate::types::FleetConfiguration> {
self.configuration.as_ref()
}
/// <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>
pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
self.tags.as_ref()
}
/// <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>
pub fn host_configuration(&self) -> ::std::option::Option<&crate::types::HostConfiguration> {
self.host_configuration.as_ref()
}
}
impl ::std::fmt::Debug for CreateFleetInput {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("CreateFleetInput");
formatter.field("farm_id", &self.farm_id);
formatter.field("client_token", &self.client_token);
formatter.field("display_name", &self.display_name);
formatter.field("description", &"*** Sensitive Data Redacted ***");
formatter.field("role_arn", &self.role_arn);
formatter.field("min_worker_count", &self.min_worker_count);
formatter.field("max_worker_count", &self.max_worker_count);
formatter.field("configuration", &self.configuration);
formatter.field("tags", &self.tags);
formatter.field("host_configuration", &self.host_configuration);
formatter.finish()
}
}
impl CreateFleetInput {
/// Creates a new builder-style object to manufacture [`CreateFleetInput`](crate::operation::create_fleet::CreateFleetInput).
pub fn builder() -> crate::operation::create_fleet::builders::CreateFleetInputBuilder {
crate::operation::create_fleet::builders::CreateFleetInputBuilder::default()
}
}
/// A builder for [`CreateFleetInput`](crate::operation::create_fleet::CreateFleetInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct CreateFleetInputBuilder {
pub(crate) farm_id: ::std::option::Option<::std::string::String>,
pub(crate) client_token: ::std::option::Option<::std::string::String>,
pub(crate) display_name: ::std::option::Option<::std::string::String>,
pub(crate) description: ::std::option::Option<::std::string::String>,
pub(crate) role_arn: ::std::option::Option<::std::string::String>,
pub(crate) min_worker_count: ::std::option::Option<i32>,
pub(crate) max_worker_count: ::std::option::Option<i32>,
pub(crate) configuration: ::std::option::Option<crate::types::FleetConfiguration>,
pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
pub(crate) host_configuration: ::std::option::Option<crate::types::HostConfiguration>,
}
impl CreateFleetInputBuilder {
/// <p>The farm ID of the farm to connect to the fleet.</p>
/// This field is required.
pub fn farm_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.farm_id = ::std::option::Option::Some(input.into());
self
}
/// <p>The farm ID of the farm to connect to the fleet.</p>
pub fn set_farm_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.farm_id = input;
self
}
/// <p>The farm ID of the farm to connect to the fleet.</p>
pub fn get_farm_id(&self) -> &::std::option::Option<::std::string::String> {
&self.farm_id
}
/// <p>The unique token which the server uses to recognize retries of the same request.</p>
pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.client_token = ::std::option::Option::Some(input.into());
self
}
/// <p>The unique token which the server uses to recognize retries of the same request.</p>
pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.client_token = input;
self
}
/// <p>The unique token which the server uses to recognize retries of the same request.</p>
pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
&self.client_token
}
/// <p>The display name of the fleet.</p><important>
/// <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>
/// </important>
/// This field is required.
pub fn display_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.display_name = ::std::option::Option::Some(input.into());
self
}
/// <p>The display name of the fleet.</p><important>
/// <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>
/// </important>
pub fn set_display_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.display_name = input;
self
}
/// <p>The display name of the fleet.</p><important>
/// <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>
/// </important>
pub fn get_display_name(&self) -> &::std::option::Option<::std::string::String> {
&self.display_name
}
/// <p>The description of the fleet.</p><important>
/// <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>
/// </important>
pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.description = ::std::option::Option::Some(input.into());
self
}
/// <p>The description of the fleet.</p><important>
/// <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>
/// </important>
pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.description = input;
self
}
/// <p>The description of the fleet.</p><important>
/// <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>
/// </important>
pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
&self.description
}
/// <p>The IAM role ARN for the role that the fleet's workers will use.</p>
/// This field is required.
pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.role_arn = ::std::option::Option::Some(input.into());
self
}
/// <p>The IAM role ARN for the role that the fleet's workers will use.</p>
pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.role_arn = input;
self
}
/// <p>The IAM role ARN for the role that the fleet's workers will use.</p>
pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.role_arn
}
/// <p>The minimum number of workers for the fleet.</p>
pub fn min_worker_count(mut self, input: i32) -> Self {
self.min_worker_count = ::std::option::Option::Some(input);
self
}
/// <p>The minimum number of workers for the fleet.</p>
pub fn set_min_worker_count(mut self, input: ::std::option::Option<i32>) -> Self {
self.min_worker_count = input;
self
}
/// <p>The minimum number of workers for the fleet.</p>
pub fn get_min_worker_count(&self) -> &::std::option::Option<i32> {
&self.min_worker_count
}
/// <p>The maximum number of workers for the fleet.</p>
/// <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>
/// This field is required.
pub fn max_worker_count(mut self, input: i32) -> Self {
self.max_worker_count = ::std::option::Option::Some(input);
self
}
/// <p>The maximum number of workers for the fleet.</p>
/// <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>
pub fn set_max_worker_count(mut self, input: ::std::option::Option<i32>) -> Self {
self.max_worker_count = input;
self
}
/// <p>The maximum number of workers for the fleet.</p>
/// <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>
pub fn get_max_worker_count(&self) -> &::std::option::Option<i32> {
&self.max_worker_count
}
/// <p>The configuration settings for the fleet. Customer managed fleets are self-managed. Service managed Amazon EC2 fleets are managed by Deadline Cloud.</p>
/// This field is required.
pub fn configuration(mut self, input: crate::types::FleetConfiguration) -> Self {
self.configuration = ::std::option::Option::Some(input);
self
}
/// <p>The configuration settings for the fleet. Customer managed fleets are self-managed. Service managed Amazon EC2 fleets are managed by Deadline Cloud.</p>
pub fn set_configuration(mut self, input: ::std::option::Option<crate::types::FleetConfiguration>) -> Self {
self.configuration = input;
self
}
/// <p>The configuration settings for the fleet. Customer managed fleets are self-managed. Service managed Amazon EC2 fleets are managed by Deadline Cloud.</p>
pub fn get_configuration(&self) -> &::std::option::Option<crate::types::FleetConfiguration> {
&self.configuration
}
/// Adds a key-value pair to `tags`.
///
/// To override the contents of this collection use [`set_tags`](Self::set_tags).
///
/// <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>
pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut hash_map = self.tags.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.tags = ::std::option::Option::Some(hash_map);
self
}
/// <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>
pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
self.tags = input;
self
}
/// <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>
pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
&self.tags
}
/// <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>
pub fn host_configuration(mut self, input: crate::types::HostConfiguration) -> Self {
self.host_configuration = ::std::option::Option::Some(input);
self
}
/// <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>
pub fn set_host_configuration(mut self, input: ::std::option::Option<crate::types::HostConfiguration>) -> Self {
self.host_configuration = input;
self
}
/// <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>
pub fn get_host_configuration(&self) -> &::std::option::Option<crate::types::HostConfiguration> {
&self.host_configuration
}
/// Consumes the builder and constructs a [`CreateFleetInput`](crate::operation::create_fleet::CreateFleetInput).
pub fn build(self) -> ::std::result::Result<crate::operation::create_fleet::CreateFleetInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::create_fleet::CreateFleetInput {
farm_id: self.farm_id,
client_token: self.client_token,
display_name: self.display_name,
description: self.description,
role_arn: self.role_arn,
min_worker_count: self.min_worker_count,
max_worker_count: self.max_worker_count,
configuration: self.configuration,
tags: self.tags,
host_configuration: self.host_configuration,
})
}
}
impl ::std::fmt::Debug for CreateFleetInputBuilder {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("CreateFleetInputBuilder");
formatter.field("farm_id", &self.farm_id);
formatter.field("client_token", &self.client_token);
formatter.field("display_name", &self.display_name);
formatter.field("description", &"*** Sensitive Data Redacted ***");
formatter.field("role_arn", &self.role_arn);
formatter.field("min_worker_count", &self.min_worker_count);
formatter.field("max_worker_count", &self.max_worker_count);
formatter.field("configuration", &self.configuration);
formatter.field("tags", &self.tags);
formatter.field("host_configuration", &self.host_configuration);
formatter.finish()
}
}