aws_sdk_gamelift/operation/update_matchmaking_configuration/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::update_matchmaking_configuration::_update_matchmaking_configuration_output::UpdateMatchmakingConfigurationOutputBuilder;
3
4pub use crate::operation::update_matchmaking_configuration::_update_matchmaking_configuration_input::UpdateMatchmakingConfigurationInputBuilder;
5
6impl crate::operation::update_matchmaking_configuration::builders::UpdateMatchmakingConfigurationInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::update_matchmaking_configuration::UpdateMatchmakingConfigurationOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::update_matchmaking_configuration::UpdateMatchmakingConfigurationError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.update_matchmaking_configuration();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `UpdateMatchmakingConfiguration`.
24///
25/// <p><b>This API works with the following fleet types:</b> EC2, Anywhere, Container</p>
26/// <p>Updates settings for a FlexMatch matchmaking configuration. These changes affect all matches and game sessions that are created after the update. To update settings, specify the configuration name to be updated and provide the new settings.</p>
27/// <p><b>Learn more</b></p>
28/// <p><a href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-configuration.html"> Design a FlexMatch matchmaker</a></p>
29#[derive(::std::clone::Clone, ::std::fmt::Debug)]
30pub struct UpdateMatchmakingConfigurationFluentBuilder {
31    handle: ::std::sync::Arc<crate::client::Handle>,
32    inner: crate::operation::update_matchmaking_configuration::builders::UpdateMatchmakingConfigurationInputBuilder,
33    config_override: ::std::option::Option<crate::config::Builder>,
34}
35impl
36    crate::client::customize::internal::CustomizableSend<
37        crate::operation::update_matchmaking_configuration::UpdateMatchmakingConfigurationOutput,
38        crate::operation::update_matchmaking_configuration::UpdateMatchmakingConfigurationError,
39    > for UpdateMatchmakingConfigurationFluentBuilder
40{
41    fn send(
42        self,
43        config_override: crate::config::Builder,
44    ) -> crate::client::customize::internal::BoxFuture<
45        crate::client::customize::internal::SendResult<
46            crate::operation::update_matchmaking_configuration::UpdateMatchmakingConfigurationOutput,
47            crate::operation::update_matchmaking_configuration::UpdateMatchmakingConfigurationError,
48        >,
49    > {
50        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
51    }
52}
53impl UpdateMatchmakingConfigurationFluentBuilder {
54    /// Creates a new `UpdateMatchmakingConfigurationFluentBuilder`.
55    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
56        Self {
57            handle,
58            inner: ::std::default::Default::default(),
59            config_override: ::std::option::Option::None,
60        }
61    }
62    /// Access the UpdateMatchmakingConfiguration as a reference.
63    pub fn as_input(&self) -> &crate::operation::update_matchmaking_configuration::builders::UpdateMatchmakingConfigurationInputBuilder {
64        &self.inner
65    }
66    /// Sends the request and returns the response.
67    ///
68    /// If an error occurs, an `SdkError` will be returned with additional details that
69    /// can be matched against.
70    ///
71    /// By default, any retryable failures will be retried twice. Retry behavior
72    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
73    /// set when configuring the client.
74    pub async fn send(
75        self,
76    ) -> ::std::result::Result<
77        crate::operation::update_matchmaking_configuration::UpdateMatchmakingConfigurationOutput,
78        ::aws_smithy_runtime_api::client::result::SdkError<
79            crate::operation::update_matchmaking_configuration::UpdateMatchmakingConfigurationError,
80            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
81        >,
82    > {
83        let input = self
84            .inner
85            .build()
86            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
87        let runtime_plugins = crate::operation::update_matchmaking_configuration::UpdateMatchmakingConfiguration::operation_runtime_plugins(
88            self.handle.runtime_plugins.clone(),
89            &self.handle.conf,
90            self.config_override,
91        );
92        crate::operation::update_matchmaking_configuration::UpdateMatchmakingConfiguration::orchestrate(&runtime_plugins, input).await
93    }
94
95    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
96    pub fn customize(
97        self,
98    ) -> crate::client::customize::CustomizableOperation<
99        crate::operation::update_matchmaking_configuration::UpdateMatchmakingConfigurationOutput,
100        crate::operation::update_matchmaking_configuration::UpdateMatchmakingConfigurationError,
101        Self,
102    > {
103        crate::client::customize::CustomizableOperation::new(self)
104    }
105    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
106        self.set_config_override(::std::option::Option::Some(config_override.into()));
107        self
108    }
109
110    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
111        self.config_override = config_override;
112        self
113    }
114    /// <p>A unique identifier for the matchmaking configuration to update. You can use either the configuration name or ARN value.</p>
115    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
116        self.inner = self.inner.name(input.into());
117        self
118    }
119    /// <p>A unique identifier for the matchmaking configuration to update. You can use either the configuration name or ARN value.</p>
120    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
121        self.inner = self.inner.set_name(input);
122        self
123    }
124    /// <p>A unique identifier for the matchmaking configuration to update. You can use either the configuration name or ARN value.</p>
125    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
126        self.inner.get_name()
127    }
128    /// <p>A description for the matchmaking configuration.</p>
129    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
130        self.inner = self.inner.description(input.into());
131        self
132    }
133    /// <p>A description for the matchmaking configuration.</p>
134    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
135        self.inner = self.inner.set_description(input);
136        self
137    }
138    /// <p>A description for the matchmaking configuration.</p>
139    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
140        self.inner.get_description()
141    }
142    ///
143    /// Appends an item to `GameSessionQueueArns`.
144    ///
145    /// To override the contents of this collection use [`set_game_session_queue_arns`](Self::set_game_session_queue_arns).
146    ///
147    /// <p>The Amazon Resource Name (<a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>) that is assigned to a Amazon GameLift Servers game session queue resource and uniquely identifies it. ARNs are unique across all Regions. Format is <code>arn:aws:gamelift:<region>
148    /// ::gamesessionqueue/
149    /// <queue name></queue>
150    /// </region></code>. Queues can be located in any Region. Queues are used to start new Amazon GameLift Servers-hosted game sessions for matches that are created with this matchmaking configuration. If <code>FlexMatchMode</code> is set to <code>STANDALONE</code>, do not set this parameter.</p>
151    pub fn game_session_queue_arns(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
152        self.inner = self.inner.game_session_queue_arns(input.into());
153        self
154    }
155    /// <p>The Amazon Resource Name (<a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>) that is assigned to a Amazon GameLift Servers game session queue resource and uniquely identifies it. ARNs are unique across all Regions. Format is <code>arn:aws:gamelift:<region>
156    /// ::gamesessionqueue/
157    /// <queue name></queue>
158    /// </region></code>. Queues can be located in any Region. Queues are used to start new Amazon GameLift Servers-hosted game sessions for matches that are created with this matchmaking configuration. If <code>FlexMatchMode</code> is set to <code>STANDALONE</code>, do not set this parameter.</p>
159    pub fn set_game_session_queue_arns(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
160        self.inner = self.inner.set_game_session_queue_arns(input);
161        self
162    }
163    /// <p>The Amazon Resource Name (<a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>) that is assigned to a Amazon GameLift Servers game session queue resource and uniquely identifies it. ARNs are unique across all Regions. Format is <code>arn:aws:gamelift:<region>
164    /// ::gamesessionqueue/
165    /// <queue name></queue>
166    /// </region></code>. Queues can be located in any Region. Queues are used to start new Amazon GameLift Servers-hosted game sessions for matches that are created with this matchmaking configuration. If <code>FlexMatchMode</code> is set to <code>STANDALONE</code>, do not set this parameter.</p>
167    pub fn get_game_session_queue_arns(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
168        self.inner.get_game_session_queue_arns()
169    }
170    /// <p>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.</p>
171    pub fn request_timeout_seconds(mut self, input: i32) -> Self {
172        self.inner = self.inner.request_timeout_seconds(input);
173        self
174    }
175    /// <p>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.</p>
176    pub fn set_request_timeout_seconds(mut self, input: ::std::option::Option<i32>) -> Self {
177        self.inner = self.inner.set_request_timeout_seconds(input);
178        self
179    }
180    /// <p>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.</p>
181    pub fn get_request_timeout_seconds(&self) -> &::std::option::Option<i32> {
182        self.inner.get_request_timeout_seconds()
183    }
184    /// <p>The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required.</p>
185    pub fn acceptance_timeout_seconds(mut self, input: i32) -> Self {
186        self.inner = self.inner.acceptance_timeout_seconds(input);
187        self
188    }
189    /// <p>The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required.</p>
190    pub fn set_acceptance_timeout_seconds(mut self, input: ::std::option::Option<i32>) -> Self {
191        self.inner = self.inner.set_acceptance_timeout_seconds(input);
192        self
193    }
194    /// <p>The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required.</p>
195    pub fn get_acceptance_timeout_seconds(&self) -> &::std::option::Option<i32> {
196        self.inner.get_acceptance_timeout_seconds()
197    }
198    /// <p>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 <code>REQUIRES_ACCEPTANCE</code> to indicate when a completed potential match is waiting for player acceptance.</p>
199    pub fn acceptance_required(mut self, input: bool) -> Self {
200        self.inner = self.inner.acceptance_required(input);
201        self
202    }
203    /// <p>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 <code>REQUIRES_ACCEPTANCE</code> to indicate when a completed potential match is waiting for player acceptance.</p>
204    pub fn set_acceptance_required(mut self, input: ::std::option::Option<bool>) -> Self {
205        self.inner = self.inner.set_acceptance_required(input);
206        self
207    }
208    /// <p>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 <code>REQUIRES_ACCEPTANCE</code> to indicate when a completed potential match is waiting for player acceptance.</p>
209    pub fn get_acceptance_required(&self) -> &::std::option::Option<bool> {
210        self.inner.get_acceptance_required()
211    }
212    /// <p>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.</p>
213    pub fn rule_set_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
214        self.inner = self.inner.rule_set_name(input.into());
215        self
216    }
217    /// <p>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.</p>
218    pub fn set_rule_set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
219        self.inner = self.inner.set_rule_set_name(input);
220        self
221    }
222    /// <p>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.</p>
223    pub fn get_rule_set_name(&self) -> &::std::option::Option<::std::string::String> {
224        self.inner.get_rule_set_name()
225    }
226    /// <p>An SNS topic ARN that is set up to receive matchmaking notifications. See <a href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html"> Setting up notifications for matchmaking</a> for more information.</p>
227    pub fn notification_target(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
228        self.inner = self.inner.notification_target(input.into());
229        self
230    }
231    /// <p>An SNS topic ARN that is set up to receive matchmaking notifications. See <a href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html"> Setting up notifications for matchmaking</a> for more information.</p>
232    pub fn set_notification_target(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
233        self.inner = self.inner.set_notification_target(input);
234        self
235    }
236    /// <p>An SNS topic ARN that is set up to receive matchmaking notifications. See <a href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html"> Setting up notifications for matchmaking</a> for more information.</p>
237    pub fn get_notification_target(&self) -> &::std::option::Option<::std::string::String> {
238        self.inner.get_notification_target()
239    }
240    /// <p>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 12-person team, and the additional player count is set to 2, only 10 players are selected for the match. This parameter is not used if <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
241    pub fn additional_player_count(mut self, input: i32) -> Self {
242        self.inner = self.inner.additional_player_count(input);
243        self
244    }
245    /// <p>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 12-person team, and the additional player count is set to 2, only 10 players are selected for the match. This parameter is not used if <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
246    pub fn set_additional_player_count(mut self, input: ::std::option::Option<i32>) -> Self {
247        self.inner = self.inner.set_additional_player_count(input);
248        self
249    }
250    /// <p>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 12-person team, and the additional player count is set to 2, only 10 players are selected for the match. This parameter is not used if <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
251    pub fn get_additional_player_count(&self) -> &::std::option::Option<i32> {
252        self.inner.get_additional_player_count()
253    }
254    /// <p>Information to add to all events related to the matchmaking configuration.</p>
255    pub fn custom_event_data(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
256        self.inner = self.inner.custom_event_data(input.into());
257        self
258    }
259    /// <p>Information to add to all events related to the matchmaking configuration.</p>
260    pub fn set_custom_event_data(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
261        self.inner = self.inner.set_custom_event_data(input);
262        self
263    }
264    /// <p>Information to add to all events related to the matchmaking configuration.</p>
265    pub fn get_custom_event_data(&self) -> &::std::option::Option<::std::string::String> {
266        self.inner.get_custom_event_data()
267    }
268    ///
269    /// Appends an item to `GameProperties`.
270    ///
271    /// To override the contents of this collection use [`set_game_properties`](Self::set_game_properties).
272    ///
273    /// <p>A set of key-value pairs that can store custom data in a game session. For example: <code>{"Key": "difficulty", "Value": "novice"}</code>. This information is added to the new <code>GameSession</code> object that is created for a successful match. This parameter is not used if <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
274    pub fn game_properties(mut self, input: crate::types::GameProperty) -> Self {
275        self.inner = self.inner.game_properties(input);
276        self
277    }
278    /// <p>A set of key-value pairs that can store custom data in a game session. For example: <code>{"Key": "difficulty", "Value": "novice"}</code>. This information is added to the new <code>GameSession</code> object that is created for a successful match. This parameter is not used if <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
279    pub fn set_game_properties(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::GameProperty>>) -> Self {
280        self.inner = self.inner.set_game_properties(input);
281        self
282    }
283    /// <p>A set of key-value pairs that can store custom data in a game session. For example: <code>{"Key": "difficulty", "Value": "novice"}</code>. This information is added to the new <code>GameSession</code> object that is created for a successful match. This parameter is not used if <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
284    pub fn get_game_properties(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::GameProperty>> {
285        self.inner.get_game_properties()
286    }
287    /// <p>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 <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start a game session</a>. This information is added to the game session that is created for a successful match. This parameter is not used if <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
288    pub fn game_session_data(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
289        self.inner = self.inner.game_session_data(input.into());
290        self
291    }
292    /// <p>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 <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start a game session</a>. This information is added to the game session that is created for a successful match. This parameter is not used if <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
293    pub fn set_game_session_data(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
294        self.inner = self.inner.set_game_session_data(input);
295        self
296    }
297    /// <p>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 <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession">Start a game session</a>. This information is added to the game session that is created for a successful match. This parameter is not used if <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
298    pub fn get_game_session_data(&self) -> &::std::option::Option<::std::string::String> {
299        self.inner.get_game_session_data()
300    }
301    /// <p>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 <a href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html">Backfill Existing Games with FlexMatch</a>. Automatic backfill is not available when <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
302    pub fn backfill_mode(mut self, input: crate::types::BackfillMode) -> Self {
303        self.inner = self.inner.backfill_mode(input);
304        self
305    }
306    /// <p>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 <a href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html">Backfill Existing Games with FlexMatch</a>. Automatic backfill is not available when <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
307    pub fn set_backfill_mode(mut self, input: ::std::option::Option<crate::types::BackfillMode>) -> Self {
308        self.inner = self.inner.set_backfill_mode(input);
309        self
310    }
311    /// <p>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 <a href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html">Backfill Existing Games with FlexMatch</a>. Automatic backfill is not available when <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
312    pub fn get_backfill_mode(&self) -> &::std::option::Option<crate::types::BackfillMode> {
313        self.inner.get_backfill_mode()
314    }
315    /// <p>Indicates whether this matchmaking configuration is being used with Amazon GameLift Servers hosting or as a standalone matchmaking solution.</p>
316    /// <ul>
317    /// <li>
318    /// <p><b>STANDALONE</b> - FlexMatch forms matches and returns match information, including players and team assignments, in a <a href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html#match-events-matchmakingsucceeded"> MatchmakingSucceeded</a> event.</p></li>
319    /// <li>
320    /// <p><b>WITH_QUEUE</b> - FlexMatch forms matches and uses the specified Amazon GameLift Servers queue to start a game session for the match.</p></li>
321    /// </ul>
322    pub fn flex_match_mode(mut self, input: crate::types::FlexMatchMode) -> Self {
323        self.inner = self.inner.flex_match_mode(input);
324        self
325    }
326    /// <p>Indicates whether this matchmaking configuration is being used with Amazon GameLift Servers hosting or as a standalone matchmaking solution.</p>
327    /// <ul>
328    /// <li>
329    /// <p><b>STANDALONE</b> - FlexMatch forms matches and returns match information, including players and team assignments, in a <a href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html#match-events-matchmakingsucceeded"> MatchmakingSucceeded</a> event.</p></li>
330    /// <li>
331    /// <p><b>WITH_QUEUE</b> - FlexMatch forms matches and uses the specified Amazon GameLift Servers queue to start a game session for the match.</p></li>
332    /// </ul>
333    pub fn set_flex_match_mode(mut self, input: ::std::option::Option<crate::types::FlexMatchMode>) -> Self {
334        self.inner = self.inner.set_flex_match_mode(input);
335        self
336    }
337    /// <p>Indicates whether this matchmaking configuration is being used with Amazon GameLift Servers hosting or as a standalone matchmaking solution.</p>
338    /// <ul>
339    /// <li>
340    /// <p><b>STANDALONE</b> - FlexMatch forms matches and returns match information, including players and team assignments, in a <a href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html#match-events-matchmakingsucceeded"> MatchmakingSucceeded</a> event.</p></li>
341    /// <li>
342    /// <p><b>WITH_QUEUE</b> - FlexMatch forms matches and uses the specified Amazon GameLift Servers queue to start a game session for the match.</p></li>
343    /// </ul>
344    pub fn get_flex_match_mode(&self) -> &::std::option::Option<crate::types::FlexMatchMode> {
345        self.inner.get_flex_match_mode()
346    }
347}