// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. ///

Contains the parameters for CreateSchedulingPolicy.

#[non_exhaustive] #[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] pub struct CreateSchedulingPolicyInput { ///

The name of the scheduling policy. It can be up to 128 letters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_).

pub name: ::std::option::Option<::std::string::String>, ///

The fair share policy of the scheduling policy.

pub fairshare_policy: ::std::option::Option, ///

The tags that you apply to the scheduling policy to help you categorize and organize your resources. Each tag consists of a key and an optional value. For more information, see Tagging Amazon Web Services Resources in Amazon Web Services General Reference.

///

These tags can be updated or removed using the TagResource and UntagResource API operations.

pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>, } impl CreateSchedulingPolicyInput { ///

The name of the scheduling policy. It can be up to 128 letters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_).

pub fn name(&self) -> ::std::option::Option<&str> { self.name.as_deref() } ///

The fair share policy of the scheduling policy.

pub fn fairshare_policy(&self) -> ::std::option::Option<&crate::types::FairsharePolicy> { self.fairshare_policy.as_ref() } ///

The tags that you apply to the scheduling policy to help you categorize and organize your resources. Each tag consists of a key and an optional value. For more information, see Tagging Amazon Web Services Resources in Amazon Web Services General Reference.

///

These tags can be updated or removed using the TagResource and UntagResource API operations.

pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> { self.tags.as_ref() } } impl CreateSchedulingPolicyInput { /// Creates a new builder-style object to manufacture [`CreateSchedulingPolicyInput`](crate::operation::create_scheduling_policy::CreateSchedulingPolicyInput). pub fn builder() -> crate::operation::create_scheduling_policy::builders::CreateSchedulingPolicyInputBuilder { crate::operation::create_scheduling_policy::builders::CreateSchedulingPolicyInputBuilder::default() } } /// A builder for [`CreateSchedulingPolicyInput`](crate::operation::create_scheduling_policy::CreateSchedulingPolicyInput). #[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] #[non_exhaustive] pub struct CreateSchedulingPolicyInputBuilder { pub(crate) name: ::std::option::Option<::std::string::String>, pub(crate) fairshare_policy: ::std::option::Option, pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>, } impl CreateSchedulingPolicyInputBuilder { ///

The name of the scheduling policy. It can be up to 128 letters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_).

/// This field is required. pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { self.name = ::std::option::Option::Some(input.into()); self } ///

The name of the scheduling policy. It can be up to 128 letters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_).

pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self { self.name = input; self } ///

The name of the scheduling policy. It can be up to 128 letters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_).

pub fn get_name(&self) -> &::std::option::Option<::std::string::String> { &self.name } ///

The fair share policy of the scheduling policy.

pub fn fairshare_policy(mut self, input: crate::types::FairsharePolicy) -> Self { self.fairshare_policy = ::std::option::Option::Some(input); self } ///

The fair share policy of the scheduling policy.

pub fn set_fairshare_policy(mut self, input: ::std::option::Option) -> Self { self.fairshare_policy = input; self } ///

The fair share policy of the scheduling policy.

pub fn get_fairshare_policy(&self) -> &::std::option::Option { &self.fairshare_policy } /// Adds a key-value pair to `tags`. /// /// To override the contents of this collection use [`set_tags`](Self::set_tags). /// ///

The tags that you apply to the scheduling policy to help you categorize and organize your resources. Each tag consists of a key and an optional value. For more information, see Tagging Amazon Web Services Resources in Amazon Web Services General Reference.

///

These tags can be updated or removed using the TagResource and UntagResource API operations.

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 } ///

The tags that you apply to the scheduling policy to help you categorize and organize your resources. Each tag consists of a key and an optional value. For more information, see Tagging Amazon Web Services Resources in Amazon Web Services General Reference.

///

These tags can be updated or removed using the TagResource and UntagResource API operations.

pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self { self.tags = input; self } ///

The tags that you apply to the scheduling policy to help you categorize and organize your resources. Each tag consists of a key and an optional value. For more information, see Tagging Amazon Web Services Resources in Amazon Web Services General Reference.

///

These tags can be updated or removed using the TagResource and UntagResource API operations.

pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> { &self.tags } /// Consumes the builder and constructs a [`CreateSchedulingPolicyInput`](crate::operation::create_scheduling_policy::CreateSchedulingPolicyInput). pub fn build( self, ) -> ::std::result::Result< crate::operation::create_scheduling_policy::CreateSchedulingPolicyInput, ::aws_smithy_types::error::operation::BuildError, > { ::std::result::Result::Ok(crate::operation::create_scheduling_policy::CreateSchedulingPolicyInput { name: self.name, fairshare_policy: self.fairshare_policy, tags: self.tags, }) } }