pub struct StartGameSessionPlacementFluentBuilder { /* private fields */ }
Expand description
Fluent builder constructing a request to StartGameSessionPlacement
.
Makes a request to start a new game session using a game session queue. When processing a placement request, Amazon GameLift Servers looks for the best possible available resource to host the game session, based on how the queue is configured to prioritize factors such as resource cost, latency, and location. After selecting an available resource, Amazon GameLift Servers prompts the resource to start a game session. A placement request can include a list of players to create a set of player sessions. The request can also include information to pass to the new game session, such as to specify a game map or other options.
Request options
Use this operation to make the following types of requests.
-
Request a placement using the queue's default prioritization process (see the default prioritization described in PriorityConfiguration). Include these required parameters:
-
GameSessionQueueName
-
MaximumPlayerSessionCount
-
PlacementID
-
-
Request a placement and prioritize based on latency. Include these parameters:
-
Required parameters
GameSessionQueueName
,MaximumPlayerSessionCount
,PlacementID
. -
PlayerLatencies
. Include a set of latency values for destinations in the queue. When a request includes latency data, Amazon GameLift Servers automatically reorder the queue's locations priority list based on lowest available latency values. If a request includes latency data for multiple players, Amazon GameLift Servers calculates each location's average latency for all players and reorders to find the lowest latency across all players. -
Don't include
PriorityConfigurationOverride
.
-
Prioritize based on a custom list of locations. If you're using a queue that's configured to prioritize location first (see PriorityConfiguration for game session queues), you can optionally use the PriorityConfigurationOverride parameter to substitute a different location priority list for this placement request. Amazon GameLift Servers searches each location on the priority override list to find an available hosting resource for the new game session. Specify a fallback strategy to use in the event that Amazon GameLift Servers fails to place the game session in any of the locations on the override list.
-
-
Request a placement and prioritized based on a custom list of locations.
-
You can request new player sessions for a group of players. Include the DesiredPlayerSessions parameter and include at minimum a unique player ID for each. You can also include player-specific data to pass to the new game session.
Result
If successful, this operation generates a new game session placement request and adds it to the game session queue for processing. You can track the status of individual placement requests by calling DescribeGameSessionPlacement or by monitoring queue notifications. When the request status is FULFILLED
, a new game session has started and the placement request is updated with connection information for the game session (IP address and port). If the request included player session data, Amazon GameLift Servers creates a player session for each player ID in the request.
The request results in a InvalidRequestException
in the following situations:
-
If the request includes both PlayerLatencies and PriorityConfigurationOverride parameters.
-
If the request includes the PriorityConfigurationOverride parameter and specifies a queue that doesn't prioritize locations.
Amazon GameLift Servers continues to retry each placement request until it reaches the queue's timeout setting. If a request times out, you can resubmit the request to the same queue or try a different queue.
Implementations§
Source§impl StartGameSessionPlacementFluentBuilder
impl StartGameSessionPlacementFluentBuilder
Sourcepub fn as_input(&self) -> &StartGameSessionPlacementInputBuilder
pub fn as_input(&self) -> &StartGameSessionPlacementInputBuilder
Access the StartGameSessionPlacement as a reference.
Sourcepub async fn send(
self,
) -> Result<StartGameSessionPlacementOutput, SdkError<StartGameSessionPlacementError, HttpResponse>>
pub async fn send( self, ) -> Result<StartGameSessionPlacementOutput, SdkError<StartGameSessionPlacementError, 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<StartGameSessionPlacementOutput, StartGameSessionPlacementError, Self>
pub fn customize( self, ) -> CustomizableOperation<StartGameSessionPlacementOutput, StartGameSessionPlacementError, Self>
Consumes this builder, creating a customizable operation that can be modified before being sent.
Sourcepub fn placement_id(self, input: impl Into<String>) -> Self
pub fn placement_id(self, input: impl Into<String>) -> Self
A unique identifier to assign to the new game session placement. This value is developer-defined. The value must be unique across all Regions and cannot be reused.
Sourcepub fn set_placement_id(self, input: Option<String>) -> Self
pub fn set_placement_id(self, input: Option<String>) -> Self
A unique identifier to assign to the new game session placement. This value is developer-defined. The value must be unique across all Regions and cannot be reused.
Sourcepub fn get_placement_id(&self) -> &Option<String>
pub fn get_placement_id(&self) -> &Option<String>
A unique identifier to assign to the new game session placement. This value is developer-defined. The value must be unique across all Regions and cannot be reused.
Sourcepub fn game_session_queue_name(self, input: impl Into<String>) -> Self
pub fn game_session_queue_name(self, input: impl Into<String>) -> Self
Name of the queue to use to place the new game session. You can use either the queue name or ARN value.
Sourcepub fn set_game_session_queue_name(self, input: Option<String>) -> Self
pub fn set_game_session_queue_name(self, input: Option<String>) -> Self
Name of the queue to use to place the new game session. You can use either the queue name or ARN value.
Sourcepub fn get_game_session_queue_name(&self) -> &Option<String>
pub fn get_game_session_queue_name(&self) -> &Option<String>
Name of the queue to use to place the new game session. You can use either the queue name or ARN value.
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"}
.
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"}
.
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"}
.
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 game_session_name(self, input: impl Into<String>) -> Self
pub fn game_session_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_game_session_name(self, input: Option<String>) -> Self
pub fn set_game_session_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_game_session_name(&self) -> &Option<String>
pub fn get_game_session_name(&self) -> &Option<String>
A descriptive label that is associated with a game session. Session names do not need to be unique.
Sourcepub fn player_latencies(self, input: PlayerLatency) -> Self
pub fn player_latencies(self, input: PlayerLatency) -> Self
Appends an item to PlayerLatencies
.
To override the contents of this collection use set_player_latencies
.
A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences when connected to Amazon Web Services Regions. This information is used to try to place the new game session where it can offer the best possible gameplay experience for the players.
Sourcepub fn set_player_latencies(self, input: Option<Vec<PlayerLatency>>) -> Self
pub fn set_player_latencies(self, input: Option<Vec<PlayerLatency>>) -> Self
A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences when connected to Amazon Web Services Regions. This information is used to try to place the new game session where it can offer the best possible gameplay experience for the players.
Sourcepub fn get_player_latencies(&self) -> &Option<Vec<PlayerLatency>>
pub fn get_player_latencies(&self) -> &Option<Vec<PlayerLatency>>
A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences when connected to Amazon Web Services Regions. This information is used to try to place the new game session where it can offer the best possible gameplay experience for the players.
Sourcepub fn desired_player_sessions(self, input: DesiredPlayerSession) -> Self
pub fn desired_player_sessions(self, input: DesiredPlayerSession) -> Self
Appends an item to DesiredPlayerSessions
.
To override the contents of this collection use set_desired_player_sessions
.
Set of information on each player to create a player session for.
Sourcepub fn set_desired_player_sessions(
self,
input: Option<Vec<DesiredPlayerSession>>,
) -> Self
pub fn set_desired_player_sessions( self, input: Option<Vec<DesiredPlayerSession>>, ) -> Self
Set of information on each player to create a player session for.
Sourcepub fn get_desired_player_sessions(&self) -> &Option<Vec<DesiredPlayerSession>>
pub fn get_desired_player_sessions(&self) -> &Option<Vec<DesiredPlayerSession>>
Set of information on each player to create a player session for.
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. For more information, 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. For more information, 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. For more information, see Start a game session.
Sourcepub fn priority_configuration_override(
self,
input: PriorityConfigurationOverride,
) -> Self
pub fn priority_configuration_override( self, input: PriorityConfigurationOverride, ) -> Self
A prioritized list of locations to use for the game session placement and instructions on how to use it. This list overrides a queue's prioritized location list for this game session placement request only. You can include Amazon Web Services Regions, local zones, and custom locations (for Anywhere fleets). You can choose to limit placements to locations on the override list only, or you can prioritize locations on the override list first and then fall back to the queue's other locations if needed. Choose a fallback strategy to use in the event that Amazon GameLift Servers fails to place a game session in any of the locations on the priority override list.
Sourcepub fn set_priority_configuration_override(
self,
input: Option<PriorityConfigurationOverride>,
) -> Self
pub fn set_priority_configuration_override( self, input: Option<PriorityConfigurationOverride>, ) -> Self
A prioritized list of locations to use for the game session placement and instructions on how to use it. This list overrides a queue's prioritized location list for this game session placement request only. You can include Amazon Web Services Regions, local zones, and custom locations (for Anywhere fleets). You can choose to limit placements to locations on the override list only, or you can prioritize locations on the override list first and then fall back to the queue's other locations if needed. Choose a fallback strategy to use in the event that Amazon GameLift Servers fails to place a game session in any of the locations on the priority override list.
Sourcepub fn get_priority_configuration_override(
&self,
) -> &Option<PriorityConfigurationOverride>
pub fn get_priority_configuration_override( &self, ) -> &Option<PriorityConfigurationOverride>
A prioritized list of locations to use for the game session placement and instructions on how to use it. This list overrides a queue's prioritized location list for this game session placement request only. You can include Amazon Web Services Regions, local zones, and custom locations (for Anywhere fleets). You can choose to limit placements to locations on the override list only, or you can prioritize locations on the override list first and then fall back to the queue's other locations if needed. Choose a fallback strategy to use in the event that Amazon GameLift Servers fails to place a game session in any of the locations on the priority override list.
Trait Implementations§
Source§impl Clone for StartGameSessionPlacementFluentBuilder
impl Clone for StartGameSessionPlacementFluentBuilder
Source§fn clone(&self) -> StartGameSessionPlacementFluentBuilder
fn clone(&self) -> StartGameSessionPlacementFluentBuilder
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 StartGameSessionPlacementFluentBuilder
impl !RefUnwindSafe for StartGameSessionPlacementFluentBuilder
impl Send for StartGameSessionPlacementFluentBuilder
impl Sync for StartGameSessionPlacementFluentBuilder
impl Unpin for StartGameSessionPlacementFluentBuilder
impl !UnwindSafe for StartGameSessionPlacementFluentBuilder
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);