// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`UpdateGameSession`](crate::operation::update_game_session::builders::UpdateGameSessionFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`game_session_id(impl Into<String>)`](crate::operation::update_game_session::builders::UpdateGameSessionFluentBuilder::game_session_id) / [`set_game_session_id(Option<String>)`](crate::operation::update_game_session::builders::UpdateGameSessionFluentBuilder::set_game_session_id):<br>required: **true**<br><p>A unique identifier for the game session to update.</p><br>
/// - [`maximum_player_session_count(i32)`](crate::operation::update_game_session::builders::UpdateGameSessionFluentBuilder::maximum_player_session_count) / [`set_maximum_player_session_count(Option<i32>)`](crate::operation::update_game_session::builders::UpdateGameSessionFluentBuilder::set_maximum_player_session_count):<br>required: **false**<br><p>The maximum number of players that can be connected simultaneously to the game session.</p><br>
/// - [`name(impl Into<String>)`](crate::operation::update_game_session::builders::UpdateGameSessionFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::update_game_session::builders::UpdateGameSessionFluentBuilder::set_name):<br>required: **false**<br><p>A descriptive label that is associated with a game session. Session names do not need to be unique.</p><br>
/// - [`player_session_creation_policy(PlayerSessionCreationPolicy)`](crate::operation::update_game_session::builders::UpdateGameSessionFluentBuilder::player_session_creation_policy) / [`set_player_session_creation_policy(Option<PlayerSessionCreationPolicy>)`](crate::operation::update_game_session::builders::UpdateGameSessionFluentBuilder::set_player_session_creation_policy):<br>required: **false**<br><p>A policy that determines whether the game session is accepting new players.</p><br>
/// - [`protection_policy(ProtectionPolicy)`](crate::operation::update_game_session::builders::UpdateGameSessionFluentBuilder::protection_policy) / [`set_protection_policy(Option<ProtectionPolicy>)`](crate::operation::update_game_session::builders::UpdateGameSessionFluentBuilder::set_protection_policy):<br>required: **false**<br><p>Game session protection policy to apply to this game session only.</p> <ul> <li> <p><b>NoProtection</b> -- The game session can be terminated during a scale-down event.</p></li> <li> <p><b>FullProtection</b> -- If the game session is in an <code>ACTIVE</code> status, it cannot be terminated during a scale-down event.</p></li> </ul><br>
/// - [`game_properties(GameProperty)`](crate::operation::update_game_session::builders::UpdateGameSessionFluentBuilder::game_properties) / [`set_game_properties(Option<Vec::<GameProperty>>)`](crate::operation::update_game_session::builders::UpdateGameSessionFluentBuilder::set_game_properties):<br>required: **false**<br><p>A set of key-value pairs that can store custom data in a game session. For example: <code>{"Key": "difficulty", "Value": "novice"}</code>. You can use this parameter to modify game properties in an active game session. This action adds new properties and modifies existing properties. There is no way to delete properties. For an example, see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#game-properties-update">Update the value of a game property</a>.</p><br>
/// - On success, responds with [`UpdateGameSessionOutput`](crate::operation::update_game_session::UpdateGameSessionOutput) with field(s):
/// - [`game_session(Option<GameSession>)`](crate::operation::update_game_session::UpdateGameSessionOutput::game_session): <p>The updated game session properties.</p>
/// - On failure, responds with [`SdkError<UpdateGameSessionError>`](crate::operation::update_game_session::UpdateGameSessionError)
pub fn update_game_session(&self) -> crate::operation::update_game_session::builders::UpdateGameSessionFluentBuilder {
crate::operation::update_game_session::builders::UpdateGameSessionFluentBuilder::new(self.handle.clone())
}
}