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

Start a game session

All APIs by task

Implementations§

source§

impl CreateGameSessionFluentBuilder

source

pub fn as_input(&self) -> &CreateGameSessionInputBuilder

Access the CreateGameSession as a reference.

source

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.

source

pub fn customize( self ) -> CustomizableOperation<CreateGameSessionOutput, CreateGameSessionError, Self>

Consumes this builder, creating a customizable operation that can be modified before being sent.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

pub fn maximum_player_session_count(self, input: i32) -> Self

The maximum number of players that can be connected simultaneously to the game session.

source

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.

source

pub fn get_maximum_player_session_count(&self) -> &Option<i32>

The maximum number of players that can be connected simultaneously to the game session.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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: ::gamesession/ / . 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.

source

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: ::gamesession/ / . 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.

source

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: ::gamesession/ / . 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.

source

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).

source

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).

source

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).

source

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.

source

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.

source

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

source§

fn clone(&self) -> CreateGameSessionFluentBuilder

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 CreateGameSessionFluentBuilder

source§

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

Formats the value using the given formatter. Read more

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