/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace GameLift { namespace Model { /** */ class UpdateMatchmakingConfigurationRequest : public GameLiftRequest { public: AWS_GAMELIFT_API UpdateMatchmakingConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateMatchmakingConfiguration"; } AWS_GAMELIFT_API Aws::String SerializePayload() const override; AWS_GAMELIFT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

A unique identifier for the matchmaking configuration to update. You can use * either the configuration name or ARN value.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

A unique identifier for the matchmaking configuration to update. You can use * either the configuration name or ARN value.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

A unique identifier for the matchmaking configuration to update. You can use * either the configuration name or ARN value.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

A unique identifier for the matchmaking configuration to update. You can use * either the configuration name or ARN value.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

A unique identifier for the matchmaking configuration to update. You can use * either the configuration name or ARN value.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

A unique identifier for the matchmaking configuration to update. You can use * either the configuration name or ARN value.

*/ inline UpdateMatchmakingConfigurationRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

A unique identifier for the matchmaking configuration to update. You can use * either the configuration name or ARN value.

*/ inline UpdateMatchmakingConfigurationRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

A unique identifier for the matchmaking configuration to update. You can use * either the configuration name or ARN value.

*/ inline UpdateMatchmakingConfigurationRequest& WithName(const char* value) { SetName(value); return *this;} /** *

A description for the matchmaking configuration.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A description for the matchmaking configuration.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A description for the matchmaking configuration.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A description for the matchmaking configuration.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A description for the matchmaking configuration.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A description for the matchmaking configuration.

*/ inline UpdateMatchmakingConfigurationRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description for the matchmaking configuration.

*/ inline UpdateMatchmakingConfigurationRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description for the matchmaking configuration.

*/ inline UpdateMatchmakingConfigurationRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The Amazon Resource Name (ARN) * that is assigned to a Amazon GameLift game session queue resource and uniquely * identifies it. ARNs are unique across all Regions. Format is * arn:aws:gamelift:<region>::gamesessionqueue/<queue * name>. Queues can be located in any Region. Queues are used to start * new Amazon GameLift-hosted game sessions for matches that are created with this * matchmaking configuration. If FlexMatchMode is set to * STANDALONE, do not set this parameter.

*/ inline const Aws::Vector& GetGameSessionQueueArns() const{ return m_gameSessionQueueArns; } /** *

The Amazon Resource Name (ARN) * that is assigned to a Amazon GameLift game session queue resource and uniquely * identifies it. ARNs are unique across all Regions. Format is * arn:aws:gamelift:<region>::gamesessionqueue/<queue * name>. Queues can be located in any Region. Queues are used to start * new Amazon GameLift-hosted game sessions for matches that are created with this * matchmaking configuration. If FlexMatchMode is set to * STANDALONE, do not set this parameter.

*/ inline bool GameSessionQueueArnsHasBeenSet() const { return m_gameSessionQueueArnsHasBeenSet; } /** *

The Amazon Resource Name (ARN) * that is assigned to a Amazon GameLift game session queue resource and uniquely * identifies it. ARNs are unique across all Regions. Format is * arn:aws:gamelift:<region>::gamesessionqueue/<queue * name>. Queues can be located in any Region. Queues are used to start * new Amazon GameLift-hosted game sessions for matches that are created with this * matchmaking configuration. If FlexMatchMode is set to * STANDALONE, do not set this parameter.

*/ inline void SetGameSessionQueueArns(const Aws::Vector& value) { m_gameSessionQueueArnsHasBeenSet = true; m_gameSessionQueueArns = value; } /** *

The Amazon Resource Name (ARN) * that is assigned to a Amazon GameLift game session queue resource and uniquely * identifies it. ARNs are unique across all Regions. Format is * arn:aws:gamelift:<region>::gamesessionqueue/<queue * name>. Queues can be located in any Region. Queues are used to start * new Amazon GameLift-hosted game sessions for matches that are created with this * matchmaking configuration. If FlexMatchMode is set to * STANDALONE, do not set this parameter.

*/ inline void SetGameSessionQueueArns(Aws::Vector&& value) { m_gameSessionQueueArnsHasBeenSet = true; m_gameSessionQueueArns = std::move(value); } /** *

The Amazon Resource Name (ARN) * that is assigned to a Amazon GameLift game session queue resource and uniquely * identifies it. ARNs are unique across all Regions. Format is * arn:aws:gamelift:<region>::gamesessionqueue/<queue * name>. Queues can be located in any Region. Queues are used to start * new Amazon GameLift-hosted game sessions for matches that are created with this * matchmaking configuration. If FlexMatchMode is set to * STANDALONE, do not set this parameter.

*/ inline UpdateMatchmakingConfigurationRequest& WithGameSessionQueueArns(const Aws::Vector& value) { SetGameSessionQueueArns(value); return *this;} /** *

The Amazon Resource Name (ARN) * that is assigned to a Amazon GameLift game session queue resource and uniquely * identifies it. ARNs are unique across all Regions. Format is * arn:aws:gamelift:<region>::gamesessionqueue/<queue * name>. Queues can be located in any Region. Queues are used to start * new Amazon GameLift-hosted game sessions for matches that are created with this * matchmaking configuration. If FlexMatchMode is set to * STANDALONE, do not set this parameter.

*/ inline UpdateMatchmakingConfigurationRequest& WithGameSessionQueueArns(Aws::Vector&& value) { SetGameSessionQueueArns(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) * that is assigned to a Amazon GameLift game session queue resource and uniquely * identifies it. ARNs are unique across all Regions. Format is * arn:aws:gamelift:<region>::gamesessionqueue/<queue * name>. Queues can be located in any Region. Queues are used to start * new Amazon GameLift-hosted game sessions for matches that are created with this * matchmaking configuration. If FlexMatchMode is set to * STANDALONE, do not set this parameter.

*/ inline UpdateMatchmakingConfigurationRequest& AddGameSessionQueueArns(const Aws::String& value) { m_gameSessionQueueArnsHasBeenSet = true; m_gameSessionQueueArns.push_back(value); return *this; } /** *

The Amazon Resource Name (ARN) * that is assigned to a Amazon GameLift game session queue resource and uniquely * identifies it. ARNs are unique across all Regions. Format is * arn:aws:gamelift:<region>::gamesessionqueue/<queue * name>. Queues can be located in any Region. Queues are used to start * new Amazon GameLift-hosted game sessions for matches that are created with this * matchmaking configuration. If FlexMatchMode is set to * STANDALONE, do not set this parameter.

*/ inline UpdateMatchmakingConfigurationRequest& AddGameSessionQueueArns(Aws::String&& value) { m_gameSessionQueueArnsHasBeenSet = true; m_gameSessionQueueArns.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Name (ARN) * that is assigned to a Amazon GameLift game session queue resource and uniquely * identifies it. ARNs are unique across all Regions. Format is * arn:aws:gamelift:<region>::gamesessionqueue/<queue * name>. Queues can be located in any Region. Queues are used to start * new Amazon GameLift-hosted game sessions for matches that are created with this * matchmaking configuration. If FlexMatchMode is set to * STANDALONE, do not set this parameter.

*/ inline UpdateMatchmakingConfigurationRequest& AddGameSessionQueueArns(const char* value) { m_gameSessionQueueArnsHasBeenSet = true; m_gameSessionQueueArns.push_back(value); return *this; } /** *

The maximum duration, in seconds, that a matchmaking ticket can remain in * process before timing out. Requests that fail due to timing out can be * resubmitted as needed.

*/ inline int GetRequestTimeoutSeconds() const{ return m_requestTimeoutSeconds; } /** *

The maximum duration, in seconds, that a matchmaking ticket can remain in * process before timing out. Requests that fail due to timing out can be * resubmitted as needed.

*/ inline bool RequestTimeoutSecondsHasBeenSet() const { return m_requestTimeoutSecondsHasBeenSet; } /** *

The maximum duration, in seconds, that a matchmaking ticket can remain in * process before timing out. Requests that fail due to timing out can be * resubmitted as needed.

*/ inline void SetRequestTimeoutSeconds(int value) { m_requestTimeoutSecondsHasBeenSet = true; m_requestTimeoutSeconds = value; } /** *

The maximum duration, in seconds, that a matchmaking ticket can remain in * process before timing out. Requests that fail due to timing out can be * resubmitted as needed.

*/ inline UpdateMatchmakingConfigurationRequest& WithRequestTimeoutSeconds(int value) { SetRequestTimeoutSeconds(value); return *this;} /** *

The length of time (in seconds) to wait for players to accept a proposed * match, if acceptance is required.

*/ inline int GetAcceptanceTimeoutSeconds() const{ return m_acceptanceTimeoutSeconds; } /** *

The length of time (in seconds) to wait for players to accept a proposed * match, if acceptance is required.

*/ inline bool AcceptanceTimeoutSecondsHasBeenSet() const { return m_acceptanceTimeoutSecondsHasBeenSet; } /** *

The length of time (in seconds) to wait for players to accept a proposed * match, if acceptance is required.

*/ inline void SetAcceptanceTimeoutSeconds(int value) { m_acceptanceTimeoutSecondsHasBeenSet = true; m_acceptanceTimeoutSeconds = value; } /** *

The length of time (in seconds) to wait for players to accept a proposed * match, if acceptance is required.

*/ inline UpdateMatchmakingConfigurationRequest& WithAcceptanceTimeoutSeconds(int value) { SetAcceptanceTimeoutSeconds(value); return *this;} /** *

A flag that indicates whether a match that was created with this * configuration must be accepted by the matched players. To require acceptance, * set to TRUE. With this option enabled, matchmaking tickets use the status * REQUIRES_ACCEPTANCE to indicate when a completed potential match is * waiting for player acceptance.

*/ inline bool GetAcceptanceRequired() const{ return m_acceptanceRequired; } /** *

A flag that indicates whether a match that was created with this * configuration must be accepted by the matched players. To require acceptance, * set to TRUE. With this option enabled, matchmaking tickets use the status * REQUIRES_ACCEPTANCE to indicate when a completed potential match is * waiting for player acceptance.

*/ inline bool AcceptanceRequiredHasBeenSet() const { return m_acceptanceRequiredHasBeenSet; } /** *

A flag that indicates whether a match that was created with this * configuration must be accepted by the matched players. To require acceptance, * set to TRUE. With this option enabled, matchmaking tickets use the status * REQUIRES_ACCEPTANCE to indicate when a completed potential match is * waiting for player acceptance.

*/ inline void SetAcceptanceRequired(bool value) { m_acceptanceRequiredHasBeenSet = true; m_acceptanceRequired = value; } /** *

A flag that indicates whether a match that was created with this * configuration must be accepted by the matched players. To require acceptance, * set to TRUE. With this option enabled, matchmaking tickets use the status * REQUIRES_ACCEPTANCE to indicate when a completed potential match is * waiting for player acceptance.

*/ inline UpdateMatchmakingConfigurationRequest& WithAcceptanceRequired(bool value) { SetAcceptanceRequired(value); return *this;} /** *

A unique identifier for the matchmaking rule set to use with this * configuration. You can use either the rule set name or ARN value. A matchmaking * configuration can only use rule sets that are defined in the same Region.

*/ inline const Aws::String& GetRuleSetName() const{ return m_ruleSetName; } /** *

A unique identifier for the matchmaking rule set to use with this * configuration. You can use either the rule set name or ARN value. A matchmaking * configuration can only use rule sets that are defined in the same Region.

*/ inline bool RuleSetNameHasBeenSet() const { return m_ruleSetNameHasBeenSet; } /** *

A unique identifier for the matchmaking rule set to use with this * configuration. You can use either the rule set name or ARN value. A matchmaking * configuration can only use rule sets that are defined in the same Region.

*/ inline void SetRuleSetName(const Aws::String& value) { m_ruleSetNameHasBeenSet = true; m_ruleSetName = value; } /** *

A unique identifier for the matchmaking rule set to use with this * configuration. You can use either the rule set name or ARN value. A matchmaking * configuration can only use rule sets that are defined in the same Region.

*/ inline void SetRuleSetName(Aws::String&& value) { m_ruleSetNameHasBeenSet = true; m_ruleSetName = std::move(value); } /** *

A unique identifier for the matchmaking rule set to use with this * configuration. You can use either the rule set name or ARN value. A matchmaking * configuration can only use rule sets that are defined in the same Region.

*/ inline void SetRuleSetName(const char* value) { m_ruleSetNameHasBeenSet = true; m_ruleSetName.assign(value); } /** *

A unique identifier for the matchmaking rule set to use with this * configuration. You can use either the rule set name or ARN value. A matchmaking * configuration can only use rule sets that are defined in the same Region.

*/ inline UpdateMatchmakingConfigurationRequest& WithRuleSetName(const Aws::String& value) { SetRuleSetName(value); return *this;} /** *

A unique identifier for the matchmaking rule set to use with this * configuration. You can use either the rule set name or ARN value. A matchmaking * configuration can only use rule sets that are defined in the same Region.

*/ inline UpdateMatchmakingConfigurationRequest& WithRuleSetName(Aws::String&& value) { SetRuleSetName(std::move(value)); return *this;} /** *

A unique identifier for the matchmaking rule set to use with this * configuration. You can use either the rule set name or ARN value. A matchmaking * configuration can only use rule sets that are defined in the same Region.

*/ inline UpdateMatchmakingConfigurationRequest& WithRuleSetName(const char* value) { SetRuleSetName(value); return *this;} /** *

An SNS topic ARN that is set up to receive matchmaking notifications. See * Setting up notifications for matchmaking for more information.

*/ inline const Aws::String& GetNotificationTarget() const{ return m_notificationTarget; } /** *

An SNS topic ARN that is set up to receive matchmaking notifications. See * Setting up notifications for matchmaking for more information.

*/ inline bool NotificationTargetHasBeenSet() const { return m_notificationTargetHasBeenSet; } /** *

An SNS topic ARN that is set up to receive matchmaking notifications. See * Setting up notifications for matchmaking for more information.

*/ inline void SetNotificationTarget(const Aws::String& value) { m_notificationTargetHasBeenSet = true; m_notificationTarget = value; } /** *

An SNS topic ARN that is set up to receive matchmaking notifications. See * Setting up notifications for matchmaking for more information.

*/ inline void SetNotificationTarget(Aws::String&& value) { m_notificationTargetHasBeenSet = true; m_notificationTarget = std::move(value); } /** *

An SNS topic ARN that is set up to receive matchmaking notifications. See * Setting up notifications for matchmaking for more information.

*/ inline void SetNotificationTarget(const char* value) { m_notificationTargetHasBeenSet = true; m_notificationTarget.assign(value); } /** *

An SNS topic ARN that is set up to receive matchmaking notifications. See * Setting up notifications for matchmaking for more information.

*/ inline UpdateMatchmakingConfigurationRequest& WithNotificationTarget(const Aws::String& value) { SetNotificationTarget(value); return *this;} /** *

An SNS topic ARN that is set up to receive matchmaking notifications. See * Setting up notifications for matchmaking for more information.

*/ inline UpdateMatchmakingConfigurationRequest& WithNotificationTarget(Aws::String&& value) { SetNotificationTarget(std::move(value)); return *this;} /** *

An SNS topic ARN that is set up to receive matchmaking notifications. See * Setting up notifications for matchmaking for more information.

*/ inline UpdateMatchmakingConfigurationRequest& WithNotificationTarget(const char* value) { SetNotificationTarget(value); return *this;} /** *

The number of player slots in a match to keep open for future players. For * example, if the configuration's rule set specifies a match for a single * 10-person team, and the additional player count is set to 2, 10 players will be * selected for the match and 2 more player slots will be open for future players. * This parameter is not used if FlexMatchMode is set to * STANDALONE.

*/ inline int GetAdditionalPlayerCount() const{ return m_additionalPlayerCount; } /** *

The number of player slots in a match to keep open for future players. For * example, if the configuration's rule set specifies a match for a single * 10-person team, and the additional player count is set to 2, 10 players will be * selected for the match and 2 more player slots will be open for future players. * This parameter is not used if FlexMatchMode is set to * STANDALONE.

*/ inline bool AdditionalPlayerCountHasBeenSet() const { return m_additionalPlayerCountHasBeenSet; } /** *

The number of player slots in a match to keep open for future players. For * example, if the configuration's rule set specifies a match for a single * 10-person team, and the additional player count is set to 2, 10 players will be * selected for the match and 2 more player slots will be open for future players. * This parameter is not used if FlexMatchMode is set to * STANDALONE.

*/ inline void SetAdditionalPlayerCount(int value) { m_additionalPlayerCountHasBeenSet = true; m_additionalPlayerCount = value; } /** *

The number of player slots in a match to keep open for future players. For * example, if the configuration's rule set specifies a match for a single * 10-person team, and the additional player count is set to 2, 10 players will be * selected for the match and 2 more player slots will be open for future players. * This parameter is not used if FlexMatchMode is set to * STANDALONE.

*/ inline UpdateMatchmakingConfigurationRequest& WithAdditionalPlayerCount(int value) { SetAdditionalPlayerCount(value); return *this;} /** *

Information to add to all events related to the matchmaking configuration. *

*/ inline const Aws::String& GetCustomEventData() const{ return m_customEventData; } /** *

Information to add to all events related to the matchmaking configuration. *

*/ inline bool CustomEventDataHasBeenSet() const { return m_customEventDataHasBeenSet; } /** *

Information to add to all events related to the matchmaking configuration. *

*/ inline void SetCustomEventData(const Aws::String& value) { m_customEventDataHasBeenSet = true; m_customEventData = value; } /** *

Information to add to all events related to the matchmaking configuration. *

*/ inline void SetCustomEventData(Aws::String&& value) { m_customEventDataHasBeenSet = true; m_customEventData = std::move(value); } /** *

Information to add to all events related to the matchmaking configuration. *

*/ inline void SetCustomEventData(const char* value) { m_customEventDataHasBeenSet = true; m_customEventData.assign(value); } /** *

Information to add to all events related to the matchmaking configuration. *

*/ inline UpdateMatchmakingConfigurationRequest& WithCustomEventData(const Aws::String& value) { SetCustomEventData(value); return *this;} /** *

Information to add to all events related to the matchmaking configuration. *

*/ inline UpdateMatchmakingConfigurationRequest& WithCustomEventData(Aws::String&& value) { SetCustomEventData(std::move(value)); return *this;} /** *

Information to add to all events related to the matchmaking configuration. *

*/ inline UpdateMatchmakingConfigurationRequest& WithCustomEventData(const char* value) { SetCustomEventData(value); return *this;} /** *

A set of custom properties for a game session, formatted as key:value pairs. * These properties are passed to a game server process with a request to start a * new game session (see Start * a Game Session). This information is added to the new * GameSession object that is created for a successful match. This * parameter is not used if FlexMatchMode is set to * STANDALONE.

*/ inline const Aws::Vector& GetGameProperties() const{ return m_gameProperties; } /** *

A set of custom properties for a game session, formatted as key:value pairs. * These properties are passed to a game server process with a request to start a * new game session (see Start * a Game Session). This information is added to the new * GameSession object that is created for a successful match. This * parameter is not used if FlexMatchMode is set to * STANDALONE.

*/ inline bool GamePropertiesHasBeenSet() const { return m_gamePropertiesHasBeenSet; } /** *

A set of custom properties for a game session, formatted as key:value pairs. * These properties are passed to a game server process with a request to start a * new game session (see Start * a Game Session). This information is added to the new * GameSession object that is created for a successful match. This * parameter is not used if FlexMatchMode is set to * STANDALONE.

*/ inline void SetGameProperties(const Aws::Vector& value) { m_gamePropertiesHasBeenSet = true; m_gameProperties = value; } /** *

A set of custom properties for a game session, formatted as key:value pairs. * These properties are passed to a game server process with a request to start a * new game session (see Start * a Game Session). This information is added to the new * GameSession object that is created for a successful match. This * parameter is not used if FlexMatchMode is set to * STANDALONE.

*/ inline void SetGameProperties(Aws::Vector&& value) { m_gamePropertiesHasBeenSet = true; m_gameProperties = std::move(value); } /** *

A set of custom properties for a game session, formatted as key:value pairs. * These properties are passed to a game server process with a request to start a * new game session (see Start * a Game Session). This information is added to the new * GameSession object that is created for a successful match. This * parameter is not used if FlexMatchMode is set to * STANDALONE.

*/ inline UpdateMatchmakingConfigurationRequest& WithGameProperties(const Aws::Vector& value) { SetGameProperties(value); return *this;} /** *

A set of custom properties for a game session, formatted as key:value pairs. * These properties are passed to a game server process with a request to start a * new game session (see Start * a Game Session). This information is added to the new * GameSession object that is created for a successful match. This * parameter is not used if FlexMatchMode is set to * STANDALONE.

*/ inline UpdateMatchmakingConfigurationRequest& WithGameProperties(Aws::Vector&& value) { SetGameProperties(std::move(value)); return *this;} /** *

A set of custom properties for a game session, formatted as key:value pairs. * These properties are passed to a game server process with a request to start a * new game session (see Start * a Game Session). This information is added to the new * GameSession object that is created for a successful match. This * parameter is not used if FlexMatchMode is set to * STANDALONE.

*/ inline UpdateMatchmakingConfigurationRequest& AddGameProperties(const GameProperty& value) { m_gamePropertiesHasBeenSet = true; m_gameProperties.push_back(value); return *this; } /** *

A set of custom properties for a game session, formatted as key:value pairs. * These properties are passed to a game server process with a request to start a * new game session (see Start * a Game Session). This information is added to the new * GameSession object that is created for a successful match. This * parameter is not used if FlexMatchMode is set to * STANDALONE.

*/ inline UpdateMatchmakingConfigurationRequest& AddGameProperties(GameProperty&& value) { m_gamePropertiesHasBeenSet = true; m_gameProperties.push_back(std::move(value)); return *this; } /** *

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). This information is added to the game session that is * created for a successful match. This parameter is not used if * FlexMatchMode is set to STANDALONE.

*/ inline const Aws::String& GetGameSessionData() const{ return m_gameSessionData; } /** *

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). This information is added to the game session that is * created for a successful match. This parameter is not used if * FlexMatchMode is set to STANDALONE.

*/ inline bool GameSessionDataHasBeenSet() const { return m_gameSessionDataHasBeenSet; } /** *

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). This information is added to the game session that is * created for a successful match. This parameter is not used if * FlexMatchMode is set to STANDALONE.

*/ inline void SetGameSessionData(const Aws::String& value) { m_gameSessionDataHasBeenSet = true; m_gameSessionData = value; } /** *

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). This information is added to the game session that is * created for a successful match. This parameter is not used if * FlexMatchMode is set to STANDALONE.

*/ inline void SetGameSessionData(Aws::String&& value) { m_gameSessionDataHasBeenSet = true; m_gameSessionData = std::move(value); } /** *

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). This information is added to the game session that is * created for a successful match. This parameter is not used if * FlexMatchMode is set to STANDALONE.

*/ inline void SetGameSessionData(const char* value) { m_gameSessionDataHasBeenSet = true; m_gameSessionData.assign(value); } /** *

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). This information is added to the game session that is * created for a successful match. This parameter is not used if * FlexMatchMode is set to STANDALONE.

*/ inline UpdateMatchmakingConfigurationRequest& WithGameSessionData(const Aws::String& value) { SetGameSessionData(value); return *this;} /** *

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). This information is added to the game session that is * created for a successful match. This parameter is not used if * FlexMatchMode is set to STANDALONE.

*/ inline UpdateMatchmakingConfigurationRequest& WithGameSessionData(Aws::String&& value) { SetGameSessionData(std::move(value)); return *this;} /** *

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). This information is added to the game session that is * created for a successful match. This parameter is not used if * FlexMatchMode is set to STANDALONE.

*/ inline UpdateMatchmakingConfigurationRequest& WithGameSessionData(const char* value) { SetGameSessionData(value); return *this;} /** *

The method that is used to backfill game sessions created with this * matchmaking configuration. Specify MANUAL when your game manages backfill * requests manually or does not use the match backfill feature. Specify AUTOMATIC * to have GameLift create a match backfill request whenever a game session has one * or more open slots. Learn more about manual and automatic backfill in Backfill * Existing Games with FlexMatch. Automatic backfill is not available when * FlexMatchMode is set to STANDALONE.

*/ inline const BackfillMode& GetBackfillMode() const{ return m_backfillMode; } /** *

The method that is used to backfill game sessions created with this * matchmaking configuration. Specify MANUAL when your game manages backfill * requests manually or does not use the match backfill feature. Specify AUTOMATIC * to have GameLift create a match backfill request whenever a game session has one * or more open slots. Learn more about manual and automatic backfill in Backfill * Existing Games with FlexMatch. Automatic backfill is not available when * FlexMatchMode is set to STANDALONE.

*/ inline bool BackfillModeHasBeenSet() const { return m_backfillModeHasBeenSet; } /** *

The method that is used to backfill game sessions created with this * matchmaking configuration. Specify MANUAL when your game manages backfill * requests manually or does not use the match backfill feature. Specify AUTOMATIC * to have GameLift create a match backfill request whenever a game session has one * or more open slots. Learn more about manual and automatic backfill in Backfill * Existing Games with FlexMatch. Automatic backfill is not available when * FlexMatchMode is set to STANDALONE.

*/ inline void SetBackfillMode(const BackfillMode& value) { m_backfillModeHasBeenSet = true; m_backfillMode = value; } /** *

The method that is used to backfill game sessions created with this * matchmaking configuration. Specify MANUAL when your game manages backfill * requests manually or does not use the match backfill feature. Specify AUTOMATIC * to have GameLift create a match backfill request whenever a game session has one * or more open slots. Learn more about manual and automatic backfill in Backfill * Existing Games with FlexMatch. Automatic backfill is not available when * FlexMatchMode is set to STANDALONE.

*/ inline void SetBackfillMode(BackfillMode&& value) { m_backfillModeHasBeenSet = true; m_backfillMode = std::move(value); } /** *

The method that is used to backfill game sessions created with this * matchmaking configuration. Specify MANUAL when your game manages backfill * requests manually or does not use the match backfill feature. Specify AUTOMATIC * to have GameLift create a match backfill request whenever a game session has one * or more open slots. Learn more about manual and automatic backfill in Backfill * Existing Games with FlexMatch. Automatic backfill is not available when * FlexMatchMode is set to STANDALONE.

*/ inline UpdateMatchmakingConfigurationRequest& WithBackfillMode(const BackfillMode& value) { SetBackfillMode(value); return *this;} /** *

The method that is used to backfill game sessions created with this * matchmaking configuration. Specify MANUAL when your game manages backfill * requests manually or does not use the match backfill feature. Specify AUTOMATIC * to have GameLift create a match backfill request whenever a game session has one * or more open slots. Learn more about manual and automatic backfill in Backfill * Existing Games with FlexMatch. Automatic backfill is not available when * FlexMatchMode is set to STANDALONE.

*/ inline UpdateMatchmakingConfigurationRequest& WithBackfillMode(BackfillMode&& value) { SetBackfillMode(std::move(value)); return *this;} /** *

Indicates whether this matchmaking configuration is being used with Amazon * GameLift hosting or as a standalone matchmaking solution.

  • * STANDALONE - FlexMatch forms matches and returns match information, * including players and team assignments, in a * MatchmakingSucceeded event.

  • WITH_QUEUE - FlexMatch * forms matches and uses the specified Amazon GameLift queue to start a game * session for the match.

*/ inline const FlexMatchMode& GetFlexMatchMode() const{ return m_flexMatchMode; } /** *

Indicates whether this matchmaking configuration is being used with Amazon * GameLift hosting or as a standalone matchmaking solution.

  • * STANDALONE - FlexMatch forms matches and returns match information, * including players and team assignments, in a * MatchmakingSucceeded event.

  • WITH_QUEUE - FlexMatch * forms matches and uses the specified Amazon GameLift queue to start a game * session for the match.

*/ inline bool FlexMatchModeHasBeenSet() const { return m_flexMatchModeHasBeenSet; } /** *

Indicates whether this matchmaking configuration is being used with Amazon * GameLift hosting or as a standalone matchmaking solution.

  • * STANDALONE - FlexMatch forms matches and returns match information, * including players and team assignments, in a * MatchmakingSucceeded event.

  • WITH_QUEUE - FlexMatch * forms matches and uses the specified Amazon GameLift queue to start a game * session for the match.

*/ inline void SetFlexMatchMode(const FlexMatchMode& value) { m_flexMatchModeHasBeenSet = true; m_flexMatchMode = value; } /** *

Indicates whether this matchmaking configuration is being used with Amazon * GameLift hosting or as a standalone matchmaking solution.

  • * STANDALONE - FlexMatch forms matches and returns match information, * including players and team assignments, in a * MatchmakingSucceeded event.

  • WITH_QUEUE - FlexMatch * forms matches and uses the specified Amazon GameLift queue to start a game * session for the match.

*/ inline void SetFlexMatchMode(FlexMatchMode&& value) { m_flexMatchModeHasBeenSet = true; m_flexMatchMode = std::move(value); } /** *

Indicates whether this matchmaking configuration is being used with Amazon * GameLift hosting or as a standalone matchmaking solution.

  • * STANDALONE - FlexMatch forms matches and returns match information, * including players and team assignments, in a * MatchmakingSucceeded event.

  • WITH_QUEUE - FlexMatch * forms matches and uses the specified Amazon GameLift queue to start a game * session for the match.

*/ inline UpdateMatchmakingConfigurationRequest& WithFlexMatchMode(const FlexMatchMode& value) { SetFlexMatchMode(value); return *this;} /** *

Indicates whether this matchmaking configuration is being used with Amazon * GameLift hosting or as a standalone matchmaking solution.

  • * STANDALONE - FlexMatch forms matches and returns match information, * including players and team assignments, in a * MatchmakingSucceeded event.

  • WITH_QUEUE - FlexMatch * forms matches and uses the specified Amazon GameLift queue to start a game * session for the match.

*/ inline UpdateMatchmakingConfigurationRequest& WithFlexMatchMode(FlexMatchMode&& value) { SetFlexMatchMode(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Vector m_gameSessionQueueArns; bool m_gameSessionQueueArnsHasBeenSet = false; int m_requestTimeoutSeconds; bool m_requestTimeoutSecondsHasBeenSet = false; int m_acceptanceTimeoutSeconds; bool m_acceptanceTimeoutSecondsHasBeenSet = false; bool m_acceptanceRequired; bool m_acceptanceRequiredHasBeenSet = false; Aws::String m_ruleSetName; bool m_ruleSetNameHasBeenSet = false; Aws::String m_notificationTarget; bool m_notificationTargetHasBeenSet = false; int m_additionalPlayerCount; bool m_additionalPlayerCountHasBeenSet = false; Aws::String m_customEventData; bool m_customEventDataHasBeenSet = false; Aws::Vector m_gameProperties; bool m_gamePropertiesHasBeenSet = false; Aws::String m_gameSessionData; bool m_gameSessionDataHasBeenSet = false; BackfillMode m_backfillMode; bool m_backfillModeHasBeenSet = false; FlexMatchMode m_flexMatchMode; bool m_flexMatchModeHasBeenSet = false; }; } // namespace Model } // namespace GameLift } // namespace Aws