pub struct TerminateGameSessionFluentBuilder { /* private fields */ }
Expand description
Fluent builder constructing a request to TerminateGameSession
.
Ends a game session that's currently in progress. Use this action to terminate any game session that isn't in ERROR
status. Terminating a game session is the most efficient way to free up a server process when it's hosting a game session that's in a bad state or not ending properly. You can use this action to terminate a game session that's being hosted on any type of Amazon GameLift Servers fleet compute, including computes for managed EC2, managed container, and Anywhere fleets. The game server must be integrated with Amazon GameLift Servers server SDK 5.x or greater.
Request options
Request termination for a single game session. Provide the game session ID and the termination mode. There are two potential methods for terminating a game session:
-
Initiate a graceful termination using the normal game session shutdown sequence. With this mode, the Amazon GameLift Servers service prompts the server process that's hosting the game session by calling the server SDK callback method
OnProcessTerminate()
. The callback implementation is part of the custom game server code. It might involve a variety of actions to gracefully end a game session, such as notifying players, before stopping the server process. -
Force an immediate game session termination. With this mode, the Amazon GameLift Servers service takes action to stop the server process, which ends the game session without the normal game session shutdown sequence.
Results
If successful, game session termination is initiated. During this activity, the game session status is changed to TERMINATING
. When completed, the server process that was hosting the game session has been stopped and replaced with a new server process that's ready to host a new game session. The old game session's status is changed to TERMINATED
with a status reason that indicates the termination method used.
Learn more
Add Amazon GameLift Servers to your game server
Amazon GameLift Servers server SDK 5 reference guide for OnProcessTerminate()
(C++) (C#) (Unreal) (Go)
Implementations§
Source§impl TerminateGameSessionFluentBuilder
impl TerminateGameSessionFluentBuilder
Sourcepub fn as_input(&self) -> &TerminateGameSessionInputBuilder
pub fn as_input(&self) -> &TerminateGameSessionInputBuilder
Access the TerminateGameSession as a reference.
Sourcepub async fn send(
self,
) -> Result<TerminateGameSessionOutput, SdkError<TerminateGameSessionError, HttpResponse>>
pub async fn send( self, ) -> Result<TerminateGameSessionOutput, SdkError<TerminateGameSessionError, HttpResponse>>
Sends the request and returns the response.
If an error occurs, an SdkError
will be returned with additional details that
can be matched against.
By default, any retryable failures will be retried twice. Retry behavior is configurable with the RetryConfig, which can be set when configuring the client.
Sourcepub fn customize(
self,
) -> CustomizableOperation<TerminateGameSessionOutput, TerminateGameSessionError, Self>
pub fn customize( self, ) -> CustomizableOperation<TerminateGameSessionOutput, TerminateGameSessionError, Self>
Consumes this builder, creating a customizable operation that can be modified before being sent.
Sourcepub fn game_session_id(self, input: impl Into<String>) -> Self
pub fn game_session_id(self, input: impl Into<String>) -> Self
A unique identifier for the game session to be terminated. A game session ARN has the following format: arn:aws:gamelift:
.
Sourcepub fn set_game_session_id(self, input: Option<String>) -> Self
pub fn set_game_session_id(self, input: Option<String>) -> Self
A unique identifier for the game session to be terminated. A game session ARN has the following format: arn:aws:gamelift:
.
Sourcepub fn get_game_session_id(&self) -> &Option<String>
pub fn get_game_session_id(&self) -> &Option<String>
A unique identifier for the game session to be terminated. A game session ARN has the following format: arn:aws:gamelift:
.
Sourcepub fn termination_mode(self, input: TerminationMode) -> Self
pub fn termination_mode(self, input: TerminationMode) -> Self
The method to use to terminate the game session. Available methods include:
-
TRIGGER_ON_PROCESS_TERMINATE
– Prompts the Amazon GameLift Servers service to send anOnProcessTerminate()
callback to the server process and initiate the normal game session shutdown sequence. TheOnProcessTerminate
method, which is implemented in the game server code, must include a call to the server SDK actionProcessEnding()
, which is how the server process signals to Amazon GameLift Servers that a game session is ending. If the server process doesn't callProcessEnding()
, the game session termination won't conclude successfully. -
FORCE_TERMINATE
– Prompts the Amazon GameLift Servers service to stop the server process immediately. Amazon GameLift Servers takes action (depending on the type of fleet) to shut down the server process without the normal game session shutdown sequence.This method is not available for game sessions that are running on Anywhere fleets unless the fleet is deployed with the Amazon GameLift Servers Agent. In this scenario, a force terminate request results in an invalid or bad request exception.
Sourcepub fn set_termination_mode(self, input: Option<TerminationMode>) -> Self
pub fn set_termination_mode(self, input: Option<TerminationMode>) -> Self
The method to use to terminate the game session. Available methods include:
-
TRIGGER_ON_PROCESS_TERMINATE
– Prompts the Amazon GameLift Servers service to send anOnProcessTerminate()
callback to the server process and initiate the normal game session shutdown sequence. TheOnProcessTerminate
method, which is implemented in the game server code, must include a call to the server SDK actionProcessEnding()
, which is how the server process signals to Amazon GameLift Servers that a game session is ending. If the server process doesn't callProcessEnding()
, the game session termination won't conclude successfully. -
FORCE_TERMINATE
– Prompts the Amazon GameLift Servers service to stop the server process immediately. Amazon GameLift Servers takes action (depending on the type of fleet) to shut down the server process without the normal game session shutdown sequence.This method is not available for game sessions that are running on Anywhere fleets unless the fleet is deployed with the Amazon GameLift Servers Agent. In this scenario, a force terminate request results in an invalid or bad request exception.
Sourcepub fn get_termination_mode(&self) -> &Option<TerminationMode>
pub fn get_termination_mode(&self) -> &Option<TerminationMode>
The method to use to terminate the game session. Available methods include:
-
TRIGGER_ON_PROCESS_TERMINATE
– Prompts the Amazon GameLift Servers service to send anOnProcessTerminate()
callback to the server process and initiate the normal game session shutdown sequence. TheOnProcessTerminate
method, which is implemented in the game server code, must include a call to the server SDK actionProcessEnding()
, which is how the server process signals to Amazon GameLift Servers that a game session is ending. If the server process doesn't callProcessEnding()
, the game session termination won't conclude successfully. -
FORCE_TERMINATE
– Prompts the Amazon GameLift Servers service to stop the server process immediately. Amazon GameLift Servers takes action (depending on the type of fleet) to shut down the server process without the normal game session shutdown sequence.This method is not available for game sessions that are running on Anywhere fleets unless the fleet is deployed with the Amazon GameLift Servers Agent. In this scenario, a force terminate request results in an invalid or bad request exception.
Trait Implementations§
Source§impl Clone for TerminateGameSessionFluentBuilder
impl Clone for TerminateGameSessionFluentBuilder
Source§fn clone(&self) -> TerminateGameSessionFluentBuilder
fn clone(&self) -> TerminateGameSessionFluentBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for TerminateGameSessionFluentBuilder
impl !RefUnwindSafe for TerminateGameSessionFluentBuilder
impl Send for TerminateGameSessionFluentBuilder
impl Sync for TerminateGameSessionFluentBuilder
impl Unpin for TerminateGameSessionFluentBuilder
impl !UnwindSafe for TerminateGameSessionFluentBuilder
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);