1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/gamelift/GameLift_EXPORTS.h>
8 #include <aws/gamelift/GameLiftRequest.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace GameLift
16 {
17 namespace Model
18 {
19 
20   /**
21    * <p>Represents the input for a request operation.</p><p><h3>See Also:</h3>   <a
22    * href="http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingConfigurationsInput">AWS
23    * API Reference</a></p>
24    */
25   class AWS_GAMELIFT_API DescribeMatchmakingConfigurationsRequest : public GameLiftRequest
26   {
27   public:
28     DescribeMatchmakingConfigurationsRequest();
29 
30     // Service request name is the Operation name which will send this request out,
31     // each operation should has unique request name, so that we can get operation's name from this request.
32     // Note: this is not true for response, multiple operations may have the same response name,
33     // so we can not get operation's name from response.
GetServiceRequestName()34     inline virtual const char* GetServiceRequestName() const override { return "DescribeMatchmakingConfigurations"; }
35 
36     Aws::String SerializePayload() const override;
37 
38     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
39 
40 
41     /**
42      * <p>A unique identifier for the matchmaking configuration(s) to retrieve. You can
43      * use either the configuration name or ARN value. To request all existing
44      * configurations, leave this parameter empty.</p>
45      */
GetNames()46     inline const Aws::Vector<Aws::String>& GetNames() const{ return m_names; }
47 
48     /**
49      * <p>A unique identifier for the matchmaking configuration(s) to retrieve. You can
50      * use either the configuration name or ARN value. To request all existing
51      * configurations, leave this parameter empty.</p>
52      */
NamesHasBeenSet()53     inline bool NamesHasBeenSet() const { return m_namesHasBeenSet; }
54 
55     /**
56      * <p>A unique identifier for the matchmaking configuration(s) to retrieve. You can
57      * use either the configuration name or ARN value. To request all existing
58      * configurations, leave this parameter empty.</p>
59      */
SetNames(const Aws::Vector<Aws::String> & value)60     inline void SetNames(const Aws::Vector<Aws::String>& value) { m_namesHasBeenSet = true; m_names = value; }
61 
62     /**
63      * <p>A unique identifier for the matchmaking configuration(s) to retrieve. You can
64      * use either the configuration name or ARN value. To request all existing
65      * configurations, leave this parameter empty.</p>
66      */
SetNames(Aws::Vector<Aws::String> && value)67     inline void SetNames(Aws::Vector<Aws::String>&& value) { m_namesHasBeenSet = true; m_names = std::move(value); }
68 
69     /**
70      * <p>A unique identifier for the matchmaking configuration(s) to retrieve. You can
71      * use either the configuration name or ARN value. To request all existing
72      * configurations, leave this parameter empty.</p>
73      */
WithNames(const Aws::Vector<Aws::String> & value)74     inline DescribeMatchmakingConfigurationsRequest& WithNames(const Aws::Vector<Aws::String>& value) { SetNames(value); return *this;}
75 
76     /**
77      * <p>A unique identifier for the matchmaking configuration(s) to retrieve. You can
78      * use either the configuration name or ARN value. To request all existing
79      * configurations, leave this parameter empty.</p>
80      */
WithNames(Aws::Vector<Aws::String> && value)81     inline DescribeMatchmakingConfigurationsRequest& WithNames(Aws::Vector<Aws::String>&& value) { SetNames(std::move(value)); return *this;}
82 
83     /**
84      * <p>A unique identifier for the matchmaking configuration(s) to retrieve. You can
85      * use either the configuration name or ARN value. To request all existing
86      * configurations, leave this parameter empty.</p>
87      */
AddNames(const Aws::String & value)88     inline DescribeMatchmakingConfigurationsRequest& AddNames(const Aws::String& value) { m_namesHasBeenSet = true; m_names.push_back(value); return *this; }
89 
90     /**
91      * <p>A unique identifier for the matchmaking configuration(s) to retrieve. You can
92      * use either the configuration name or ARN value. To request all existing
93      * configurations, leave this parameter empty.</p>
94      */
AddNames(Aws::String && value)95     inline DescribeMatchmakingConfigurationsRequest& AddNames(Aws::String&& value) { m_namesHasBeenSet = true; m_names.push_back(std::move(value)); return *this; }
96 
97     /**
98      * <p>A unique identifier for the matchmaking configuration(s) to retrieve. You can
99      * use either the configuration name or ARN value. To request all existing
100      * configurations, leave this parameter empty.</p>
101      */
AddNames(const char * value)102     inline DescribeMatchmakingConfigurationsRequest& AddNames(const char* value) { m_namesHasBeenSet = true; m_names.push_back(value); return *this; }
103 
104 
105     /**
106      * <p>A unique identifier for the matchmaking rule set. You can use either the rule
107      * set name or ARN value. Use this parameter to retrieve all matchmaking
108      * configurations that use this rule set.</p>
109      */
GetRuleSetName()110     inline const Aws::String& GetRuleSetName() const{ return m_ruleSetName; }
111 
112     /**
113      * <p>A unique identifier for the matchmaking rule set. You can use either the rule
114      * set name or ARN value. Use this parameter to retrieve all matchmaking
115      * configurations that use this rule set.</p>
116      */
RuleSetNameHasBeenSet()117     inline bool RuleSetNameHasBeenSet() const { return m_ruleSetNameHasBeenSet; }
118 
119     /**
120      * <p>A unique identifier for the matchmaking rule set. You can use either the rule
121      * set name or ARN value. Use this parameter to retrieve all matchmaking
122      * configurations that use this rule set.</p>
123      */
SetRuleSetName(const Aws::String & value)124     inline void SetRuleSetName(const Aws::String& value) { m_ruleSetNameHasBeenSet = true; m_ruleSetName = value; }
125 
126     /**
127      * <p>A unique identifier for the matchmaking rule set. You can use either the rule
128      * set name or ARN value. Use this parameter to retrieve all matchmaking
129      * configurations that use this rule set.</p>
130      */
SetRuleSetName(Aws::String && value)131     inline void SetRuleSetName(Aws::String&& value) { m_ruleSetNameHasBeenSet = true; m_ruleSetName = std::move(value); }
132 
133     /**
134      * <p>A unique identifier for the matchmaking rule set. You can use either the rule
135      * set name or ARN value. Use this parameter to retrieve all matchmaking
136      * configurations that use this rule set.</p>
137      */
SetRuleSetName(const char * value)138     inline void SetRuleSetName(const char* value) { m_ruleSetNameHasBeenSet = true; m_ruleSetName.assign(value); }
139 
140     /**
141      * <p>A unique identifier for the matchmaking rule set. You can use either the rule
142      * set name or ARN value. Use this parameter to retrieve all matchmaking
143      * configurations that use this rule set.</p>
144      */
WithRuleSetName(const Aws::String & value)145     inline DescribeMatchmakingConfigurationsRequest& WithRuleSetName(const Aws::String& value) { SetRuleSetName(value); return *this;}
146 
147     /**
148      * <p>A unique identifier for the matchmaking rule set. You can use either the rule
149      * set name or ARN value. Use this parameter to retrieve all matchmaking
150      * configurations that use this rule set.</p>
151      */
WithRuleSetName(Aws::String && value)152     inline DescribeMatchmakingConfigurationsRequest& WithRuleSetName(Aws::String&& value) { SetRuleSetName(std::move(value)); return *this;}
153 
154     /**
155      * <p>A unique identifier for the matchmaking rule set. You can use either the rule
156      * set name or ARN value. Use this parameter to retrieve all matchmaking
157      * configurations that use this rule set.</p>
158      */
WithRuleSetName(const char * value)159     inline DescribeMatchmakingConfigurationsRequest& WithRuleSetName(const char* value) { SetRuleSetName(value); return *this;}
160 
161 
162     /**
163      * <p>The maximum number of results to return. Use this parameter with
164      * <code>NextToken</code> to get results as a set of sequential pages. This
165      * parameter is limited to 10.</p>
166      */
GetLimit()167     inline int GetLimit() const{ return m_limit; }
168 
169     /**
170      * <p>The maximum number of results to return. Use this parameter with
171      * <code>NextToken</code> to get results as a set of sequential pages. This
172      * parameter is limited to 10.</p>
173      */
LimitHasBeenSet()174     inline bool LimitHasBeenSet() const { return m_limitHasBeenSet; }
175 
176     /**
177      * <p>The maximum number of results to return. Use this parameter with
178      * <code>NextToken</code> to get results as a set of sequential pages. This
179      * parameter is limited to 10.</p>
180      */
SetLimit(int value)181     inline void SetLimit(int value) { m_limitHasBeenSet = true; m_limit = value; }
182 
183     /**
184      * <p>The maximum number of results to return. Use this parameter with
185      * <code>NextToken</code> to get results as a set of sequential pages. This
186      * parameter is limited to 10.</p>
187      */
WithLimit(int value)188     inline DescribeMatchmakingConfigurationsRequest& WithLimit(int value) { SetLimit(value); return *this;}
189 
190 
191     /**
192      * <p>A token that indicates the start of the next sequential page of results. Use
193      * the token that is returned with a previous call to this operation. To start at
194      * the beginning of the result set, do not specify a value.</p>
195      */
GetNextToken()196     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
197 
198     /**
199      * <p>A token that indicates the start of the next sequential page of results. Use
200      * the token that is returned with a previous call to this operation. To start at
201      * the beginning of the result set, do not specify a value.</p>
202      */
NextTokenHasBeenSet()203     inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
204 
205     /**
206      * <p>A token that indicates the start of the next sequential page of results. Use
207      * the token that is returned with a previous call to this operation. To start at
208      * the beginning of the result set, do not specify a value.</p>
209      */
SetNextToken(const Aws::String & value)210     inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
211 
212     /**
213      * <p>A token that indicates the start of the next sequential page of results. Use
214      * the token that is returned with a previous call to this operation. To start at
215      * the beginning of the result set, do not specify a value.</p>
216      */
SetNextToken(Aws::String && value)217     inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
218 
219     /**
220      * <p>A token that indicates the start of the next sequential page of results. Use
221      * the token that is returned with a previous call to this operation. To start at
222      * the beginning of the result set, do not specify a value.</p>
223      */
SetNextToken(const char * value)224     inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
225 
226     /**
227      * <p>A token that indicates the start of the next sequential page of results. Use
228      * the token that is returned with a previous call to this operation. To start at
229      * the beginning of the result set, do not specify a value.</p>
230      */
WithNextToken(const Aws::String & value)231     inline DescribeMatchmakingConfigurationsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
232 
233     /**
234      * <p>A token that indicates the start of the next sequential page of results. Use
235      * the token that is returned with a previous call to this operation. To start at
236      * the beginning of the result set, do not specify a value.</p>
237      */
WithNextToken(Aws::String && value)238     inline DescribeMatchmakingConfigurationsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
239 
240     /**
241      * <p>A token that indicates the start of the next sequential page of results. Use
242      * the token that is returned with a previous call to this operation. To start at
243      * the beginning of the result set, do not specify a value.</p>
244      */
WithNextToken(const char * value)245     inline DescribeMatchmakingConfigurationsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
246 
247   private:
248 
249     Aws::Vector<Aws::String> m_names;
250     bool m_namesHasBeenSet;
251 
252     Aws::String m_ruleSetName;
253     bool m_ruleSetNameHasBeenSet;
254 
255     int m_limit;
256     bool m_limitHasBeenSet;
257 
258     Aws::String m_nextToken;
259     bool m_nextTokenHasBeenSet;
260   };
261 
262 } // namespace Model
263 } // namespace GameLift
264 } // namespace Aws
265