// 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>
/// - 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())
}
}