Struct aws_sdk_gamelift::types::GameServerGroup

source ·
#[non_exhaustive]
pub struct GameServerGroup { pub game_server_group_name: Option<String>, pub game_server_group_arn: Option<String>, pub role_arn: Option<String>, pub instance_definitions: Option<Vec<InstanceDefinition>>, pub balancing_strategy: Option<BalancingStrategy>, pub game_server_protection_policy: Option<GameServerProtectionPolicy>, pub auto_scaling_group_arn: Option<String>, pub status: Option<GameServerGroupStatus>, pub status_reason: Option<String>, pub suspended_actions: Option<Vec<GameServerGroupAction>>, pub creation_time: Option<DateTime>, pub last_updated_time: Option<DateTime>, }
Expand description

This data type is used with the Amazon GameLift FleetIQ and game server groups.

Properties that describe a game server group resource. A game server group manages certain properties related to a corresponding Amazon EC2 Auto Scaling group.

A game server group is created by a successful call to CreateGameServerGroup and deleted by calling DeleteGameServerGroup. Game server group activity can be temporarily suspended and resumed by calling SuspendGameServerGroup and ResumeGameServerGroup, respectively.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§game_server_group_name: Option<String>

A developer-defined identifier for the game server group. The name is unique for each Region in each Amazon Web Services account.

§game_server_group_arn: Option<String>

A generated unique ID for the game server group.

§role_arn: Option<String>

The Amazon Resource Name (ARN) for an IAM role that allows Amazon GameLift to access your Amazon EC2 Auto Scaling groups.

§instance_definitions: Option<Vec<InstanceDefinition>>

The set of Amazon EC2 instance types that Amazon GameLift FleetIQ can use when balancing and automatically scaling instances in the corresponding Auto Scaling group.

§balancing_strategy: Option<BalancingStrategy>

Indicates how Amazon GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances in the game server group. Method options include the following:

  • SPOT_ONLY - Only Spot Instances are used in the game server group. If Spot Instances are unavailable or not viable for game hosting, the game server group provides no hosting capacity until Spot Instances can again be used. Until then, no new instances are started, and the existing nonviable Spot Instances are terminated (after current gameplay ends) and are not replaced.

  • SPOT_PREFERRED - (default value) Spot Instances are used whenever available in the game server group. If Spot Instances are unavailable, the game server group continues to provide hosting capacity by falling back to On-Demand Instances. Existing nonviable Spot Instances are terminated (after current gameplay ends) and are replaced with new On-Demand Instances.

  • ON_DEMAND_ONLY - Only On-Demand Instances are used in the game server group. No Spot Instances are used, even when available, while this balancing strategy is in force.

§game_server_protection_policy: Option<GameServerProtectionPolicy>

A flag that indicates whether instances in the game server group are protected from early termination. Unprotected instances that have active game servers running might be terminated during a scale-down event, causing players to be dropped from the game. Protected instances cannot be terminated while there are active game servers running except in the event of a forced game server group deletion (see ). An exception to this is with Spot Instances, which can be terminated by Amazon Web Services regardless of protection status.

§auto_scaling_group_arn: Option<String>

A generated unique ID for the Amazon EC2 Auto Scaling group that is associated with this game server group.

§status: Option<GameServerGroupStatus>

The current status of the game server group. Possible statuses include:

  • NEW - Amazon GameLift FleetIQ has validated the CreateGameServerGroup() request.

  • ACTIVATING - Amazon GameLift FleetIQ is setting up a game server group, which includes creating an Auto Scaling group in your Amazon Web Services account.

  • ACTIVE - The game server group has been successfully created.

  • DELETE_SCHEDULED - A request to delete the game server group has been received.

  • DELETING - Amazon GameLift FleetIQ has received a valid DeleteGameServerGroup() request and is processing it. Amazon GameLift FleetIQ must first complete and release hosts before it deletes the Auto Scaling group and the game server group.

  • DELETED - The game server group has been successfully deleted.

  • ERROR - The asynchronous processes of activating or deleting a game server group has failed, resulting in an error state.

§status_reason: Option<String>

Additional information about the current game server group status. This information might provide additional insight on groups that are in ERROR status.

§suspended_actions: Option<Vec<GameServerGroupAction>>

A list of activities that are currently suspended for this game server group. If this property is empty, all activities are occurring.

§creation_time: Option<DateTime>

A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

§last_updated_time: Option<DateTime>

A timestamp that indicates when this game server group was last updated.

Implementations§

source§

impl GameServerGroup

source

pub fn game_server_group_name(&self) -> Option<&str>

A developer-defined identifier for the game server group. The name is unique for each Region in each Amazon Web Services account.

source

pub fn game_server_group_arn(&self) -> Option<&str>

A generated unique ID for the game server group.

source

pub fn role_arn(&self) -> Option<&str>

The Amazon Resource Name (ARN) for an IAM role that allows Amazon GameLift to access your Amazon EC2 Auto Scaling groups.

source

pub fn instance_definitions(&self) -> &[InstanceDefinition]

The set of Amazon EC2 instance types that Amazon GameLift FleetIQ can use when balancing and automatically scaling instances in the corresponding Auto Scaling group.

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .instance_definitions.is_none().

source

pub fn balancing_strategy(&self) -> Option<&BalancingStrategy>

Indicates how Amazon GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances in the game server group. Method options include the following:

  • SPOT_ONLY - Only Spot Instances are used in the game server group. If Spot Instances are unavailable or not viable for game hosting, the game server group provides no hosting capacity until Spot Instances can again be used. Until then, no new instances are started, and the existing nonviable Spot Instances are terminated (after current gameplay ends) and are not replaced.

  • SPOT_PREFERRED - (default value) Spot Instances are used whenever available in the game server group. If Spot Instances are unavailable, the game server group continues to provide hosting capacity by falling back to On-Demand Instances. Existing nonviable Spot Instances are terminated (after current gameplay ends) and are replaced with new On-Demand Instances.

  • ON_DEMAND_ONLY - Only On-Demand Instances are used in the game server group. No Spot Instances are used, even when available, while this balancing strategy is in force.

source

pub fn game_server_protection_policy( &self ) -> Option<&GameServerProtectionPolicy>

A flag that indicates whether instances in the game server group are protected from early termination. Unprotected instances that have active game servers running might be terminated during a scale-down event, causing players to be dropped from the game. Protected instances cannot be terminated while there are active game servers running except in the event of a forced game server group deletion (see ). An exception to this is with Spot Instances, which can be terminated by Amazon Web Services regardless of protection status.

source

pub fn auto_scaling_group_arn(&self) -> Option<&str>

A generated unique ID for the Amazon EC2 Auto Scaling group that is associated with this game server group.

source

pub fn status(&self) -> Option<&GameServerGroupStatus>

The current status of the game server group. Possible statuses include:

  • NEW - Amazon GameLift FleetIQ has validated the CreateGameServerGroup() request.

  • ACTIVATING - Amazon GameLift FleetIQ is setting up a game server group, which includes creating an Auto Scaling group in your Amazon Web Services account.

  • ACTIVE - The game server group has been successfully created.

  • DELETE_SCHEDULED - A request to delete the game server group has been received.

  • DELETING - Amazon GameLift FleetIQ has received a valid DeleteGameServerGroup() request and is processing it. Amazon GameLift FleetIQ must first complete and release hosts before it deletes the Auto Scaling group and the game server group.

  • DELETED - The game server group has been successfully deleted.

  • ERROR - The asynchronous processes of activating or deleting a game server group has failed, resulting in an error state.

source

pub fn status_reason(&self) -> Option<&str>

Additional information about the current game server group status. This information might provide additional insight on groups that are in ERROR status.

source

pub fn suspended_actions(&self) -> &[GameServerGroupAction]

A list of activities that are currently suspended for this game server group. If this property is empty, all activities are occurring.

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .suspended_actions.is_none().

source

pub fn creation_time(&self) -> Option<&DateTime>

A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

source

pub fn last_updated_time(&self) -> Option<&DateTime>

A timestamp that indicates when this game server group was last updated.

source§

impl GameServerGroup

source

pub fn builder() -> GameServerGroupBuilder

Creates a new builder-style object to manufacture GameServerGroup.

Trait Implementations§

source§

impl Clone for GameServerGroup

source§

fn clone(&self) -> GameServerGroup

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GameServerGroup

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for GameServerGroup

source§

fn eq(&self, other: &GameServerGroup) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for GameServerGroup

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more