/** * 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 { /** *

Represents the input for a request action.

See Also:

AWS * API Reference

*/ class AWS_GAMELIFT_API CreateMatchmakingConfigurationRequest : public GameLiftRequest { public: CreateMatchmakingConfigurationRequest(); // 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 "CreateMatchmakingConfiguration"; } Aws::String SerializePayload() const override; Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

A unique identifier for a matchmaking configuration. This name is used to * identify the configuration associated with a matchmaking request or ticket.

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

A unique identifier for a matchmaking configuration. This name is used to * identify the configuration associated with a matchmaking request or ticket.

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

A unique identifier for a matchmaking configuration. This name is used to * identify the configuration associated with a matchmaking request or ticket.

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

A unique identifier for a matchmaking configuration. This name is used to * identify the configuration associated with a matchmaking request or ticket.

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

A unique identifier for a matchmaking configuration. This name is used to * identify the configuration associated with a matchmaking request or ticket.

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

A unique identifier for a matchmaking configuration. This name is used to * identify the configuration associated with a matchmaking request or ticket.

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

A unique identifier for a matchmaking configuration. This name is used to * identify the configuration associated with a matchmaking request or ticket.

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

A unique identifier for a matchmaking configuration. This name is used to * identify the configuration associated with a matchmaking request or ticket.

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

A human-readable description of the matchmaking configuration.

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

A human-readable description of the matchmaking configuration.

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

A human-readable description of the matchmaking configuration.

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

A human-readable description of the matchmaking configuration.

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

A human-readable description of the matchmaking configuration.

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

A human-readable description of the matchmaking configuration.

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

A human-readable description of the matchmaking configuration.

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

A human-readable description of the matchmaking configuration.

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

Amazon Resource Name (ARN) * that is assigned to a GameLift game session queue resource and uniquely * identifies it. ARNs are unique across all Regions. These queues are used when * placing game sessions for matches that are created with this matchmaking * configuration. Queues can be located in any Region.

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

Amazon Resource Name (ARN) * that is assigned to a GameLift game session queue resource and uniquely * identifies it. ARNs are unique across all Regions. These queues are used when * placing game sessions for matches that are created with this matchmaking * configuration. Queues can be located in any Region.

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

Amazon Resource Name (ARN) * that is assigned to a GameLift game session queue resource and uniquely * identifies it. ARNs are unique across all Regions. These queues are used when * placing game sessions for matches that are created with this matchmaking * configuration. Queues can be located in any Region.

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

Amazon Resource Name (ARN) * that is assigned to a GameLift game session queue resource and uniquely * identifies it. ARNs are unique across all Regions. These queues are used when * placing game sessions for matches that are created with this matchmaking * configuration. Queues can be located in any Region.

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

Amazon Resource Name (ARN) * that is assigned to a GameLift game session queue resource and uniquely * identifies it. ARNs are unique across all Regions. These queues are used when * placing game sessions for matches that are created with this matchmaking * configuration. Queues can be located in any Region.

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

Amazon Resource Name (ARN) * that is assigned to a GameLift game session queue resource and uniquely * identifies it. ARNs are unique across all Regions. These queues are used when * placing game sessions for matches that are created with this matchmaking * configuration. Queues can be located in any Region.

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

Amazon Resource Name (ARN) * that is assigned to a GameLift game session queue resource and uniquely * identifies it. ARNs are unique across all Regions. These queues are used when * placing game sessions for matches that are created with this matchmaking * configuration. Queues can be located in any Region.

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

Amazon Resource Name (ARN) * that is assigned to a GameLift game session queue resource and uniquely * identifies it. ARNs are unique across all Regions. These queues are used when * placing game sessions for matches that are created with this matchmaking * configuration. Queues can be located in any Region.

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

Amazon Resource Name (ARN) * that is assigned to a GameLift game session queue resource and uniquely * identifies it. ARNs are unique across all Regions. These queues are used when * placing game sessions for matches that are created with this matchmaking * configuration. Queues can be located in any Region.

*/ inline CreateMatchmakingConfigurationRequest& 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 CreateMatchmakingConfigurationRequest& WithRequestTimeoutSeconds(int value) { SetRequestTimeoutSeconds(value); return *this;} /** *

The length of time (in seconds) to wait for players to accept a proposed * match. If any player rejects the match or fails to accept before the timeout, * the ticket continues to look for an acceptable match.

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

The length of time (in seconds) to wait for players to accept a proposed * match. If any player rejects the match or fails to accept before the timeout, * the ticket continues to look for an acceptable match.

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

The length of time (in seconds) to wait for players to accept a proposed * match. If any player rejects the match or fails to accept before the timeout, * the ticket continues to look for an acceptable match.

*/ 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 any player rejects the match or fails to accept before the timeout, * the ticket continues to look for an acceptable match.

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

A flag that determines whether a match that was created with this * configuration must be accepted by the matched players. To require acceptance, * set to TRUE.

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

A flag that determines whether a match that was created with this * configuration must be accepted by the matched players. To require acceptance, * set to TRUE.

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

A flag that determines whether a match that was created with this * configuration must be accepted by the matched players. To require acceptance, * set to TRUE.

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

A flag that determines whether a match that was created with this * configuration must be accepted by the matched players. To require acceptance, * set to TRUE.

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

A unique identifier for a 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 a 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 a 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 a 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 a 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 a 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 CreateMatchmakingConfigurationRequest& WithRuleSetName(const Aws::String& value) { SetRuleSetName(value); return *this;} /** *

A unique identifier for a 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 CreateMatchmakingConfigurationRequest& WithRuleSetName(Aws::String&& value) { SetRuleSetName(std::move(value)); return *this;} /** *

A unique identifier for a 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 CreateMatchmakingConfigurationRequest& WithRuleSetName(const char* value) { SetRuleSetName(value); return *this;} /** *

An SNS topic ARN that is set up to receive matchmaking notifications.

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

An SNS topic ARN that is set up to receive matchmaking notifications.

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

An SNS topic ARN that is set up to receive matchmaking notifications.

*/ 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.

*/ 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.

*/ 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.

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

An SNS topic ARN that is set up to receive matchmaking notifications.

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

An SNS topic ARN that is set up to receive matchmaking notifications.

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

The number of player slots in a match to keep open for future players. For * example, assume that the configuration's rule set specifies a match for a single * 12-person team. If the additional player count is set to 2, only 10 players are * initially selected for the match.

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

The number of player slots in a match to keep open for future players. For * example, assume that the configuration's rule set specifies a match for a single * 12-person team. If the additional player count is set to 2, only 10 players are * initially selected for the match.

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

The number of player slots in a match to keep open for future players. For * example, assume that the configuration's rule set specifies a match for a single * 12-person team. If the additional player count is set to 2, only 10 players are * initially selected for the match.

*/ 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, assume that the configuration's rule set specifies a match for a single * 12-person team. If the additional player count is set to 2, only 10 players are * initially selected for the match.

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

Information to be added to all events related to this matchmaking * configuration.

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

Information to be added to all events related to this matchmaking * configuration.

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

Information to be added to all events related to this matchmaking * configuration.

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

Information to be added to all events related to this matchmaking * configuration.

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

Information to be added to all events related to this matchmaking * configuration.

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

Information to be added to all events related to this matchmaking * configuration.

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

Information to be added to all events related to this matchmaking * configuration.

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

Information to be added to all events related to this matchmaking * configuration.

*/ inline CreateMatchmakingConfigurationRequest& 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 in the GameSession * object 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.

*/ 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 in the GameSession * object 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.

*/ 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 in the GameSession * object 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.

*/ 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 in the GameSession * object 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.

*/ 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 in the GameSession * object 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.

*/ inline CreateMatchmakingConfigurationRequest& 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 in the GameSession * object 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.

*/ inline CreateMatchmakingConfigurationRequest& 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 in the GameSession * object 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.

*/ inline CreateMatchmakingConfigurationRequest& 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 in the GameSession * object 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.

*/ inline CreateMatchmakingConfigurationRequest& 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 in the GameSession object * 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.

*/ 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 in the GameSession object * 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.

*/ 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 in the GameSession object * 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.

*/ 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 in the GameSession object * 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.

*/ 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 in the GameSession object * 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.

*/ 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 in the GameSession object * 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.

*/ inline CreateMatchmakingConfigurationRequest& 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 in the GameSession object * 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.

*/ inline CreateMatchmakingConfigurationRequest& 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 in the GameSession object * 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.

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

The method used to backfill game sessions that are 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 StartMatchBackfill * request whenever a game session has one or more open slots. Learn more about * manual and automatic backfill in * Backfill Existing Games with FlexMatch.

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

The method used to backfill game sessions that are 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 StartMatchBackfill * request whenever a game session has one or more open slots. Learn more about * manual and automatic backfill in * Backfill Existing Games with FlexMatch.

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

The method used to backfill game sessions that are 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 StartMatchBackfill * request whenever a game session has one or more open slots. Learn more about * manual and automatic backfill in * Backfill Existing Games with FlexMatch.

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

The method used to backfill game sessions that are 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 StartMatchBackfill * request whenever a game session has one or more open slots. Learn more about * manual and automatic backfill in * Backfill Existing Games with FlexMatch.

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

The method used to backfill game sessions that are 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 StartMatchBackfill * request whenever a game session has one or more open slots. Learn more about * manual and automatic backfill in * Backfill Existing Games with FlexMatch.

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

The method used to backfill game sessions that are 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 StartMatchBackfill * request whenever a game session has one or more open slots. Learn more about * manual and automatic backfill in * Backfill Existing Games with FlexMatch.

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

A list of labels to assign to the new matchmaking configuration resource. * Tags are developer-defined key-value pairs. Tagging AWS resources are useful for * resource management, access management and cost allocation. For more * information, see Tagging * AWS Resources in the AWS General Reference. Once the resource is * created, you can use TagResource, UntagResource, and * ListTagsForResource to add, remove, and view tags. The maximum tag limit * may be lower than stated. See the AWS General Reference for actual tagging * limits.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

A list of labels to assign to the new matchmaking configuration resource. * Tags are developer-defined key-value pairs. Tagging AWS resources are useful for * resource management, access management and cost allocation. For more * information, see Tagging * AWS Resources in the AWS General Reference. Once the resource is * created, you can use TagResource, UntagResource, and * ListTagsForResource to add, remove, and view tags. The maximum tag limit * may be lower than stated. See the AWS General Reference for actual tagging * limits.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

A list of labels to assign to the new matchmaking configuration resource. * Tags are developer-defined key-value pairs. Tagging AWS resources are useful for * resource management, access management and cost allocation. For more * information, see Tagging * AWS Resources in the AWS General Reference. Once the resource is * created, you can use TagResource, UntagResource, and * ListTagsForResource to add, remove, and view tags. The maximum tag limit * may be lower than stated. See the AWS General Reference for actual tagging * limits.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

A list of labels to assign to the new matchmaking configuration resource. * Tags are developer-defined key-value pairs. Tagging AWS resources are useful for * resource management, access management and cost allocation. For more * information, see Tagging * AWS Resources in the AWS General Reference. Once the resource is * created, you can use TagResource, UntagResource, and * ListTagsForResource to add, remove, and view tags. The maximum tag limit * may be lower than stated. See the AWS General Reference for actual tagging * limits.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

A list of labels to assign to the new matchmaking configuration resource. * Tags are developer-defined key-value pairs. Tagging AWS resources are useful for * resource management, access management and cost allocation. For more * information, see Tagging * AWS Resources in the AWS General Reference. Once the resource is * created, you can use TagResource, UntagResource, and * ListTagsForResource to add, remove, and view tags. The maximum tag limit * may be lower than stated. See the AWS General Reference for actual tagging * limits.

*/ inline CreateMatchmakingConfigurationRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

A list of labels to assign to the new matchmaking configuration resource. * Tags are developer-defined key-value pairs. Tagging AWS resources are useful for * resource management, access management and cost allocation. For more * information, see Tagging * AWS Resources in the AWS General Reference. Once the resource is * created, you can use TagResource, UntagResource, and * ListTagsForResource to add, remove, and view tags. The maximum tag limit * may be lower than stated. See the AWS General Reference for actual tagging * limits.

*/ inline CreateMatchmakingConfigurationRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

A list of labels to assign to the new matchmaking configuration resource. * Tags are developer-defined key-value pairs. Tagging AWS resources are useful for * resource management, access management and cost allocation. For more * information, see Tagging * AWS Resources in the AWS General Reference. Once the resource is * created, you can use TagResource, UntagResource, and * ListTagsForResource to add, remove, and view tags. The maximum tag limit * may be lower than stated. See the AWS General Reference for actual tagging * limits.

*/ inline CreateMatchmakingConfigurationRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

A list of labels to assign to the new matchmaking configuration resource. * Tags are developer-defined key-value pairs. Tagging AWS resources are useful for * resource management, access management and cost allocation. For more * information, see Tagging * AWS Resources in the AWS General Reference. Once the resource is * created, you can use TagResource, UntagResource, and * ListTagsForResource to add, remove, and view tags. The maximum tag limit * may be lower than stated. See the AWS General Reference for actual tagging * limits.

*/ inline CreateMatchmakingConfigurationRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_name; bool m_nameHasBeenSet; Aws::String m_description; bool m_descriptionHasBeenSet; Aws::Vector m_gameSessionQueueArns; bool m_gameSessionQueueArnsHasBeenSet; int m_requestTimeoutSeconds; bool m_requestTimeoutSecondsHasBeenSet; int m_acceptanceTimeoutSeconds; bool m_acceptanceTimeoutSecondsHasBeenSet; bool m_acceptanceRequired; bool m_acceptanceRequiredHasBeenSet; Aws::String m_ruleSetName; bool m_ruleSetNameHasBeenSet; Aws::String m_notificationTarget; bool m_notificationTargetHasBeenSet; int m_additionalPlayerCount; bool m_additionalPlayerCountHasBeenSet; Aws::String m_customEventData; bool m_customEventDataHasBeenSet; Aws::Vector m_gameProperties; bool m_gamePropertiesHasBeenSet; Aws::String m_gameSessionData; bool m_gameSessionDataHasBeenSet; BackfillMode m_backfillMode; bool m_backfillModeHasBeenSet; Aws::Vector m_tags; bool m_tagsHasBeenSet; }; } // namespace Model } // namespace GameLift } // namespace Aws