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
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 theCreateGameServerGroup()
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 validDeleteGameServerGroup()
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
impl GameServerGroup
sourcepub fn game_server_group_name(&self) -> Option<&str>
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.
sourcepub fn game_server_group_arn(&self) -> Option<&str>
pub fn game_server_group_arn(&self) -> Option<&str>
A generated unique ID for the game server group.
sourcepub fn role_arn(&self) -> Option<&str>
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.
sourcepub fn instance_definitions(&self) -> &[InstanceDefinition]
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()
.
sourcepub fn balancing_strategy(&self) -> Option<&BalancingStrategy>
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.
sourcepub fn game_server_protection_policy(
&self
) -> Option<&GameServerProtectionPolicy>
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.
sourcepub fn auto_scaling_group_arn(&self) -> Option<&str>
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.
sourcepub fn status(&self) -> Option<&GameServerGroupStatus>
pub fn status(&self) -> Option<&GameServerGroupStatus>
The current status of the game server group. Possible statuses include:
-
NEW
- Amazon GameLift FleetIQ has validated theCreateGameServerGroup()
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 validDeleteGameServerGroup()
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.
sourcepub fn status_reason(&self) -> Option<&str>
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.
sourcepub fn suspended_actions(&self) -> &[GameServerGroupAction]
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()
.
sourcepub fn creation_time(&self) -> Option<&DateTime>
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"
).
sourcepub fn last_updated_time(&self) -> Option<&DateTime>
pub fn last_updated_time(&self) -> Option<&DateTime>
A timestamp that indicates when this game server group was last updated.
source§impl GameServerGroup
impl GameServerGroup
sourcepub fn builder() -> GameServerGroupBuilder
pub fn builder() -> GameServerGroupBuilder
Creates a new builder-style object to manufacture GameServerGroup
.
Trait Implementations§
source§impl Clone for GameServerGroup
impl Clone for GameServerGroup
source§fn clone(&self) -> GameServerGroup
fn clone(&self) -> GameServerGroup
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for GameServerGroup
impl Debug for GameServerGroup
source§impl PartialEq for GameServerGroup
impl PartialEq for GameServerGroup
source§fn eq(&self, other: &GameServerGroup) -> bool
fn eq(&self, other: &GameServerGroup) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for GameServerGroup
Auto Trait Implementations§
impl Freeze for GameServerGroup
impl RefUnwindSafe for GameServerGroup
impl Send for GameServerGroup
impl Sync for GameServerGroup
impl Unpin for GameServerGroup
impl UnwindSafe for GameServerGroup
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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