Struct aws_sdk_gamelift::operation::create_game_session::builders::CreateGameSessionFluentBuilder
source · pub struct CreateGameSessionFluentBuilder { /* private fields */ }
Expand description
Fluent builder constructing a request to CreateGameSession
.
Creates a multiplayer game session for players in a specific fleet location. This operation prompts an available server process to start a game session and retrieves connection information for the new game session. As an alternative, consider using the Amazon GameLift game session placement feature with StartGameSessionPlacement , which uses the FleetIQ algorithm and queues to optimize the placement process.
When creating a game session, you specify exactly where you want to place it and provide a set of game session configuration settings. The target fleet must be in ACTIVE
status.
You can use this operation in the following ways:
-
To create a game session on an instance in a fleet's home Region, provide a fleet or alias ID along with your game session configuration.
-
To create a game session on an instance in a fleet's remote location, provide a fleet or alias ID and a location name, along with your game session configuration.
-
To create a game session on an instance in an Anywhere fleet, specify the fleet's custom location.
If successful, Amazon GameLift initiates a workflow to start a new game session and returns a GameSession
object containing the game session configuration and status. When the game session status is ACTIVE
, it is updated with connection information and you can create player sessions for the game session. By default, newly created game sessions are open to new players. You can restrict new player access by using UpdateGameSession to change the game session's player session creation policy.
Amazon GameLift retains logs for active for 14 days. To access the logs, call GetGameSessionLogUrl to download the log files.
Available in Amazon GameLift Local.
Learn more
Implementations§
source§impl CreateGameSessionFluentBuilder
impl CreateGameSessionFluentBuilder
sourcepub fn as_input(&self) -> &CreateGameSessionInputBuilder
pub fn as_input(&self) -> &CreateGameSessionInputBuilder
Access the CreateGameSession as a reference.
sourcepub async fn send(
self
) -> Result<CreateGameSessionOutput, SdkError<CreateGameSessionError, HttpResponse>>
pub async fn send( self ) -> Result<CreateGameSessionOutput, SdkError<CreateGameSessionError, 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<CreateGameSessionOutput, CreateGameSessionError, Self>
pub fn customize( self ) -> CustomizableOperation<CreateGameSessionOutput, CreateGameSessionError, Self>
Consumes this builder, creating a customizable operation that can be modified before being sent.
sourcepub fn fleet_id(self, input: impl Into<String>) -> Self
pub fn fleet_id(self, input: impl Into<String>) -> Self
A unique identifier for the fleet to create a game session in. You can use either the fleet ID or ARN value. Each request must reference either a fleet ID or alias ID, but not both.
sourcepub fn set_fleet_id(self, input: Option<String>) -> Self
pub fn set_fleet_id(self, input: Option<String>) -> Self
A unique identifier for the fleet to create a game session in. You can use either the fleet ID or ARN value. Each request must reference either a fleet ID or alias ID, but not both.
sourcepub fn get_fleet_id(&self) -> &Option<String>
pub fn get_fleet_id(&self) -> &Option<String>
A unique identifier for the fleet to create a game session in. You can use either the fleet ID or ARN value. Each request must reference either a fleet ID or alias ID, but not both.
sourcepub fn alias_id(self, input: impl Into<String>) -> Self
pub fn alias_id(self, input: impl Into<String>) -> Self
A unique identifier for the alias associated with the fleet to create a game session in. You can use either the alias ID or ARN value. Each request must reference either a fleet ID or alias ID, but not both.
sourcepub fn set_alias_id(self, input: Option<String>) -> Self
pub fn set_alias_id(self, input: Option<String>) -> Self
A unique identifier for the alias associated with the fleet to create a game session in. You can use either the alias ID or ARN value. Each request must reference either a fleet ID or alias ID, but not both.
sourcepub fn get_alias_id(&self) -> &Option<String>
pub fn get_alias_id(&self) -> &Option<String>
A unique identifier for the alias associated with the fleet to create a game session in. You can use either the alias ID or ARN value. Each request must reference either a fleet ID or alias ID, but not both.
sourcepub fn maximum_player_session_count(self, input: i32) -> Self
pub fn maximum_player_session_count(self, input: i32) -> Self
The maximum number of players that can be connected simultaneously to the game session.
sourcepub fn set_maximum_player_session_count(self, input: Option<i32>) -> Self
pub fn set_maximum_player_session_count(self, input: Option<i32>) -> Self
The maximum number of players that can be connected simultaneously to the game session.
sourcepub fn get_maximum_player_session_count(&self) -> &Option<i32>
pub fn get_maximum_player_session_count(&self) -> &Option<i32>
The maximum number of players that can be connected simultaneously to the game session.
sourcepub fn name(self, input: impl Into<String>) -> Self
pub fn name(self, input: impl Into<String>) -> Self
A descriptive label that is associated with a game session. Session names do not need to be unique.
sourcepub fn set_name(self, input: Option<String>) -> Self
pub fn set_name(self, input: Option<String>) -> Self
A descriptive label that is associated with a game session. Session names do not need to be unique.
sourcepub fn get_name(&self) -> &Option<String>
pub fn get_name(&self) -> &Option<String>
A descriptive label that is associated with a game session. Session names do not need to be unique.
sourcepub fn game_properties(self, input: GameProperty) -> Self
pub fn game_properties(self, input: GameProperty) -> Self
Appends an item to GameProperties
.
To override the contents of this collection use set_game_properties
.
A set of key-value pairs that can store custom data in a game session. For example: {"Key": "difficulty", "Value": "novice"}
. For an example, see Create a game session with custom properties.
sourcepub fn set_game_properties(self, input: Option<Vec<GameProperty>>) -> Self
pub fn set_game_properties(self, input: Option<Vec<GameProperty>>) -> Self
A set of key-value pairs that can store custom data in a game session. For example: {"Key": "difficulty", "Value": "novice"}
. For an example, see Create a game session with custom properties.
sourcepub fn get_game_properties(&self) -> &Option<Vec<GameProperty>>
pub fn get_game_properties(&self) -> &Option<Vec<GameProperty>>
A set of key-value pairs that can store custom data in a game session. For example: {"Key": "difficulty", "Value": "novice"}
. For an example, see Create a game session with custom properties.
sourcepub fn creator_id(self, input: impl Into<String>) -> Self
pub fn creator_id(self, input: impl Into<String>) -> Self
A unique identifier for a player or entity creating the game session.
If you add a resource creation limit policy to a fleet, the CreateGameSession
operation requires a CreatorId
. Amazon GameLift limits the number of game session creation requests with the same CreatorId
in a specified time period.
If you your fleet doesn't have a resource creation limit policy and you provide a CreatorId
in your CreateGameSession
requests, Amazon GameLift limits requests to one request per CreatorId
per second.
To not limit CreateGameSession
requests with the same CreatorId
, don't provide a CreatorId
in your CreateGameSession
request.
sourcepub fn set_creator_id(self, input: Option<String>) -> Self
pub fn set_creator_id(self, input: Option<String>) -> Self
A unique identifier for a player or entity creating the game session.
If you add a resource creation limit policy to a fleet, the CreateGameSession
operation requires a CreatorId
. Amazon GameLift limits the number of game session creation requests with the same CreatorId
in a specified time period.
If you your fleet doesn't have a resource creation limit policy and you provide a CreatorId
in your CreateGameSession
requests, Amazon GameLift limits requests to one request per CreatorId
per second.
To not limit CreateGameSession
requests with the same CreatorId
, don't provide a CreatorId
in your CreateGameSession
request.
sourcepub fn get_creator_id(&self) -> &Option<String>
pub fn get_creator_id(&self) -> &Option<String>
A unique identifier for a player or entity creating the game session.
If you add a resource creation limit policy to a fleet, the CreateGameSession
operation requires a CreatorId
. Amazon GameLift limits the number of game session creation requests with the same CreatorId
in a specified time period.
If you your fleet doesn't have a resource creation limit policy and you provide a CreatorId
in your CreateGameSession
requests, Amazon GameLift limits requests to one request per CreatorId
per second.
To not limit CreateGameSession
requests with the same CreatorId
, don't provide a CreatorId
in your CreateGameSession
request.
sourcepub fn game_session_id(self, input: impl Into<String>) -> Self
pub fn game_session_id(self, input: impl Into<String>) -> Self
This parameter is deprecated. Use IdempotencyToken
instead.
Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID.
sourcepub fn set_game_session_id(self, input: Option<String>) -> Self
pub fn set_game_session_id(self, input: Option<String>) -> Self
This parameter is deprecated. Use IdempotencyToken
instead.
Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID.
sourcepub fn get_game_session_id(&self) -> &Option<String>
pub fn get_game_session_id(&self) -> &Option<String>
This parameter is deprecated. Use IdempotencyToken
instead.
Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID.
sourcepub fn idempotency_token(self, input: impl Into<String>) -> Self
pub fn idempotency_token(self, input: impl Into<String>) -> Self
Custom string that uniquely identifies the new game session request. This is useful for ensuring that game session requests with the same idempotency token are processed only once. Subsequent requests with the same string return the original GameSession
object, with an updated status. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. A game session ARN has the following format: arn:aws:gamelift:
. Idempotency tokens remain in use for 30 days after a game session has ended; game session objects are retained for this time period and then deleted.
sourcepub fn set_idempotency_token(self, input: Option<String>) -> Self
pub fn set_idempotency_token(self, input: Option<String>) -> Self
Custom string that uniquely identifies the new game session request. This is useful for ensuring that game session requests with the same idempotency token are processed only once. Subsequent requests with the same string return the original GameSession
object, with an updated status. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. A game session ARN has the following format: arn:aws:gamelift:
. Idempotency tokens remain in use for 30 days after a game session has ended; game session objects are retained for this time period and then deleted.
sourcepub fn get_idempotency_token(&self) -> &Option<String>
pub fn get_idempotency_token(&self) -> &Option<String>
Custom string that uniquely identifies the new game session request. This is useful for ensuring that game session requests with the same idempotency token are processed only once. Subsequent requests with the same string return the original GameSession
object, with an updated status. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. A game session ARN has the following format: arn:aws:gamelift:
. Idempotency tokens remain in use for 30 days after a game session has ended; game session objects are retained for this time period and then deleted.
sourcepub fn game_session_data(self, input: impl Into<String>) -> Self
pub fn game_session_data(self, input: impl Into<String>) -> Self
A set of custom game session properties, formatted as a single string value. This data is passed to a game server process with a request to start a new game session (see Start a Game Session).
sourcepub fn set_game_session_data(self, input: Option<String>) -> Self
pub fn set_game_session_data(self, input: Option<String>) -> Self
A set of custom game session properties, formatted as a single string value. This data is passed to a game server process with a request to start a new game session (see Start a Game Session).
sourcepub fn get_game_session_data(&self) -> &Option<String>
pub fn get_game_session_data(&self) -> &Option<String>
A set of custom game session properties, formatted as a single string value. This data is passed to a game server process with a request to start a new game session (see Start a Game Session).
sourcepub fn location(self, input: impl Into<String>) -> Self
pub fn location(self, input: impl Into<String>) -> Self
A fleet's remote location to place the new game session in. If this parameter is not set, the new game session is placed in the fleet's home Region. Specify a remote location with an Amazon Web Services Region code such as us-west-2
. When using an Anywhere fleet, this parameter is required and must be set to the Anywhere fleet's custom location.
sourcepub fn set_location(self, input: Option<String>) -> Self
pub fn set_location(self, input: Option<String>) -> Self
A fleet's remote location to place the new game session in. If this parameter is not set, the new game session is placed in the fleet's home Region. Specify a remote location with an Amazon Web Services Region code such as us-west-2
. When using an Anywhere fleet, this parameter is required and must be set to the Anywhere fleet's custom location.
sourcepub fn get_location(&self) -> &Option<String>
pub fn get_location(&self) -> &Option<String>
A fleet's remote location to place the new game session in. If this parameter is not set, the new game session is placed in the fleet's home Region. Specify a remote location with an Amazon Web Services Region code such as us-west-2
. When using an Anywhere fleet, this parameter is required and must be set to the Anywhere fleet's custom location.
Trait Implementations§
source§impl Clone for CreateGameSessionFluentBuilder
impl Clone for CreateGameSessionFluentBuilder
source§fn clone(&self) -> CreateGameSessionFluentBuilder
fn clone(&self) -> CreateGameSessionFluentBuilder
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 CreateGameSessionFluentBuilder
impl !RefUnwindSafe for CreateGameSessionFluentBuilder
impl Send for CreateGameSessionFluentBuilder
impl Sync for CreateGameSessionFluentBuilder
impl Unpin for CreateGameSessionFluentBuilder
impl !UnwindSafe for CreateGameSessionFluentBuilder
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