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/sagemaker/SageMaker_EXPORTS.h>
8 #include <aws/sagemaker/SageMakerRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/sagemaker/model/NotificationConfiguration.h>
12 #include <aws/sagemaker/model/MemberDefinition.h>
13 #include <aws/sagemaker/model/Tag.h>
14 #include <utility>
15 
16 namespace Aws
17 {
18 namespace SageMaker
19 {
20 namespace Model
21 {
22 
23   /**
24    */
25   class AWS_SAGEMAKER_API CreateWorkteamRequest : public SageMakerRequest
26   {
27   public:
28     CreateWorkteamRequest();
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 "CreateWorkteam"; }
35 
36     Aws::String SerializePayload() const override;
37 
38     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
39 
40 
41     /**
42      * <p>The name of the work team. Use this name to identify the work team.</p>
43      */
GetWorkteamName()44     inline const Aws::String& GetWorkteamName() const{ return m_workteamName; }
45 
46     /**
47      * <p>The name of the work team. Use this name to identify the work team.</p>
48      */
WorkteamNameHasBeenSet()49     inline bool WorkteamNameHasBeenSet() const { return m_workteamNameHasBeenSet; }
50 
51     /**
52      * <p>The name of the work team. Use this name to identify the work team.</p>
53      */
SetWorkteamName(const Aws::String & value)54     inline void SetWorkteamName(const Aws::String& value) { m_workteamNameHasBeenSet = true; m_workteamName = value; }
55 
56     /**
57      * <p>The name of the work team. Use this name to identify the work team.</p>
58      */
SetWorkteamName(Aws::String && value)59     inline void SetWorkteamName(Aws::String&& value) { m_workteamNameHasBeenSet = true; m_workteamName = std::move(value); }
60 
61     /**
62      * <p>The name of the work team. Use this name to identify the work team.</p>
63      */
SetWorkteamName(const char * value)64     inline void SetWorkteamName(const char* value) { m_workteamNameHasBeenSet = true; m_workteamName.assign(value); }
65 
66     /**
67      * <p>The name of the work team. Use this name to identify the work team.</p>
68      */
WithWorkteamName(const Aws::String & value)69     inline CreateWorkteamRequest& WithWorkteamName(const Aws::String& value) { SetWorkteamName(value); return *this;}
70 
71     /**
72      * <p>The name of the work team. Use this name to identify the work team.</p>
73      */
WithWorkteamName(Aws::String && value)74     inline CreateWorkteamRequest& WithWorkteamName(Aws::String&& value) { SetWorkteamName(std::move(value)); return *this;}
75 
76     /**
77      * <p>The name of the work team. Use this name to identify the work team.</p>
78      */
WithWorkteamName(const char * value)79     inline CreateWorkteamRequest& WithWorkteamName(const char* value) { SetWorkteamName(value); return *this;}
80 
81 
82     /**
83      * <p>The name of the workforce.</p>
84      */
GetWorkforceName()85     inline const Aws::String& GetWorkforceName() const{ return m_workforceName; }
86 
87     /**
88      * <p>The name of the workforce.</p>
89      */
WorkforceNameHasBeenSet()90     inline bool WorkforceNameHasBeenSet() const { return m_workforceNameHasBeenSet; }
91 
92     /**
93      * <p>The name of the workforce.</p>
94      */
SetWorkforceName(const Aws::String & value)95     inline void SetWorkforceName(const Aws::String& value) { m_workforceNameHasBeenSet = true; m_workforceName = value; }
96 
97     /**
98      * <p>The name of the workforce.</p>
99      */
SetWorkforceName(Aws::String && value)100     inline void SetWorkforceName(Aws::String&& value) { m_workforceNameHasBeenSet = true; m_workforceName = std::move(value); }
101 
102     /**
103      * <p>The name of the workforce.</p>
104      */
SetWorkforceName(const char * value)105     inline void SetWorkforceName(const char* value) { m_workforceNameHasBeenSet = true; m_workforceName.assign(value); }
106 
107     /**
108      * <p>The name of the workforce.</p>
109      */
WithWorkforceName(const Aws::String & value)110     inline CreateWorkteamRequest& WithWorkforceName(const Aws::String& value) { SetWorkforceName(value); return *this;}
111 
112     /**
113      * <p>The name of the workforce.</p>
114      */
WithWorkforceName(Aws::String && value)115     inline CreateWorkteamRequest& WithWorkforceName(Aws::String&& value) { SetWorkforceName(std::move(value)); return *this;}
116 
117     /**
118      * <p>The name of the workforce.</p>
119      */
WithWorkforceName(const char * value)120     inline CreateWorkteamRequest& WithWorkforceName(const char* value) { SetWorkforceName(value); return *this;}
121 
122 
123     /**
124      * <p>A list of <code>MemberDefinition</code> objects that contains objects that
125      * identify the workers that make up the work team. </p> <p>Workforces can be
126      * created using Amazon Cognito or your own OIDC Identity Provider (IdP). For
127      * private workforces created using Amazon Cognito use
128      * <code>CognitoMemberDefinition</code>. For workforces created using your own OIDC
129      * identity provider (IdP) use <code>OidcMemberDefinition</code>. Do not provide
130      * input for both of these parameters in a single request.</p> <p>For workforces
131      * created using Amazon Cognito, private work teams correspond to Amazon Cognito
132      * <i>user groups</i> within the user pool used to create a workforce. All of the
133      * <code>CognitoMemberDefinition</code> objects that make up the member definition
134      * must have the same <code>ClientId</code> and <code>UserPool</code> values. To
135      * add a Amazon Cognito user group to an existing worker pool, see <a
136      * href="">Adding groups to a User Pool</a>. For more information about user pools,
137      * see <a
138      * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html">Amazon
139      * Cognito User Pools</a>.</p> <p>For workforces created using your own OIDC IdP,
140      * specify the user groups that you want to include in your private work team in
141      * <code>OidcMemberDefinition</code> by listing those groups in
142      * <code>Groups</code>.</p>
143      */
GetMemberDefinitions()144     inline const Aws::Vector<MemberDefinition>& GetMemberDefinitions() const{ return m_memberDefinitions; }
145 
146     /**
147      * <p>A list of <code>MemberDefinition</code> objects that contains objects that
148      * identify the workers that make up the work team. </p> <p>Workforces can be
149      * created using Amazon Cognito or your own OIDC Identity Provider (IdP). For
150      * private workforces created using Amazon Cognito use
151      * <code>CognitoMemberDefinition</code>. For workforces created using your own OIDC
152      * identity provider (IdP) use <code>OidcMemberDefinition</code>. Do not provide
153      * input for both of these parameters in a single request.</p> <p>For workforces
154      * created using Amazon Cognito, private work teams correspond to Amazon Cognito
155      * <i>user groups</i> within the user pool used to create a workforce. All of the
156      * <code>CognitoMemberDefinition</code> objects that make up the member definition
157      * must have the same <code>ClientId</code> and <code>UserPool</code> values. To
158      * add a Amazon Cognito user group to an existing worker pool, see <a
159      * href="">Adding groups to a User Pool</a>. For more information about user pools,
160      * see <a
161      * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html">Amazon
162      * Cognito User Pools</a>.</p> <p>For workforces created using your own OIDC IdP,
163      * specify the user groups that you want to include in your private work team in
164      * <code>OidcMemberDefinition</code> by listing those groups in
165      * <code>Groups</code>.</p>
166      */
MemberDefinitionsHasBeenSet()167     inline bool MemberDefinitionsHasBeenSet() const { return m_memberDefinitionsHasBeenSet; }
168 
169     /**
170      * <p>A list of <code>MemberDefinition</code> objects that contains objects that
171      * identify the workers that make up the work team. </p> <p>Workforces can be
172      * created using Amazon Cognito or your own OIDC Identity Provider (IdP). For
173      * private workforces created using Amazon Cognito use
174      * <code>CognitoMemberDefinition</code>. For workforces created using your own OIDC
175      * identity provider (IdP) use <code>OidcMemberDefinition</code>. Do not provide
176      * input for both of these parameters in a single request.</p> <p>For workforces
177      * created using Amazon Cognito, private work teams correspond to Amazon Cognito
178      * <i>user groups</i> within the user pool used to create a workforce. All of the
179      * <code>CognitoMemberDefinition</code> objects that make up the member definition
180      * must have the same <code>ClientId</code> and <code>UserPool</code> values. To
181      * add a Amazon Cognito user group to an existing worker pool, see <a
182      * href="">Adding groups to a User Pool</a>. For more information about user pools,
183      * see <a
184      * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html">Amazon
185      * Cognito User Pools</a>.</p> <p>For workforces created using your own OIDC IdP,
186      * specify the user groups that you want to include in your private work team in
187      * <code>OidcMemberDefinition</code> by listing those groups in
188      * <code>Groups</code>.</p>
189      */
SetMemberDefinitions(const Aws::Vector<MemberDefinition> & value)190     inline void SetMemberDefinitions(const Aws::Vector<MemberDefinition>& value) { m_memberDefinitionsHasBeenSet = true; m_memberDefinitions = value; }
191 
192     /**
193      * <p>A list of <code>MemberDefinition</code> objects that contains objects that
194      * identify the workers that make up the work team. </p> <p>Workforces can be
195      * created using Amazon Cognito or your own OIDC Identity Provider (IdP). For
196      * private workforces created using Amazon Cognito use
197      * <code>CognitoMemberDefinition</code>. For workforces created using your own OIDC
198      * identity provider (IdP) use <code>OidcMemberDefinition</code>. Do not provide
199      * input for both of these parameters in a single request.</p> <p>For workforces
200      * created using Amazon Cognito, private work teams correspond to Amazon Cognito
201      * <i>user groups</i> within the user pool used to create a workforce. All of the
202      * <code>CognitoMemberDefinition</code> objects that make up the member definition
203      * must have the same <code>ClientId</code> and <code>UserPool</code> values. To
204      * add a Amazon Cognito user group to an existing worker pool, see <a
205      * href="">Adding groups to a User Pool</a>. For more information about user pools,
206      * see <a
207      * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html">Amazon
208      * Cognito User Pools</a>.</p> <p>For workforces created using your own OIDC IdP,
209      * specify the user groups that you want to include in your private work team in
210      * <code>OidcMemberDefinition</code> by listing those groups in
211      * <code>Groups</code>.</p>
212      */
SetMemberDefinitions(Aws::Vector<MemberDefinition> && value)213     inline void SetMemberDefinitions(Aws::Vector<MemberDefinition>&& value) { m_memberDefinitionsHasBeenSet = true; m_memberDefinitions = std::move(value); }
214 
215     /**
216      * <p>A list of <code>MemberDefinition</code> objects that contains objects that
217      * identify the workers that make up the work team. </p> <p>Workforces can be
218      * created using Amazon Cognito or your own OIDC Identity Provider (IdP). For
219      * private workforces created using Amazon Cognito use
220      * <code>CognitoMemberDefinition</code>. For workforces created using your own OIDC
221      * identity provider (IdP) use <code>OidcMemberDefinition</code>. Do not provide
222      * input for both of these parameters in a single request.</p> <p>For workforces
223      * created using Amazon Cognito, private work teams correspond to Amazon Cognito
224      * <i>user groups</i> within the user pool used to create a workforce. All of the
225      * <code>CognitoMemberDefinition</code> objects that make up the member definition
226      * must have the same <code>ClientId</code> and <code>UserPool</code> values. To
227      * add a Amazon Cognito user group to an existing worker pool, see <a
228      * href="">Adding groups to a User Pool</a>. For more information about user pools,
229      * see <a
230      * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html">Amazon
231      * Cognito User Pools</a>.</p> <p>For workforces created using your own OIDC IdP,
232      * specify the user groups that you want to include in your private work team in
233      * <code>OidcMemberDefinition</code> by listing those groups in
234      * <code>Groups</code>.</p>
235      */
WithMemberDefinitions(const Aws::Vector<MemberDefinition> & value)236     inline CreateWorkteamRequest& WithMemberDefinitions(const Aws::Vector<MemberDefinition>& value) { SetMemberDefinitions(value); return *this;}
237 
238     /**
239      * <p>A list of <code>MemberDefinition</code> objects that contains objects that
240      * identify the workers that make up the work team. </p> <p>Workforces can be
241      * created using Amazon Cognito or your own OIDC Identity Provider (IdP). For
242      * private workforces created using Amazon Cognito use
243      * <code>CognitoMemberDefinition</code>. For workforces created using your own OIDC
244      * identity provider (IdP) use <code>OidcMemberDefinition</code>. Do not provide
245      * input for both of these parameters in a single request.</p> <p>For workforces
246      * created using Amazon Cognito, private work teams correspond to Amazon Cognito
247      * <i>user groups</i> within the user pool used to create a workforce. All of the
248      * <code>CognitoMemberDefinition</code> objects that make up the member definition
249      * must have the same <code>ClientId</code> and <code>UserPool</code> values. To
250      * add a Amazon Cognito user group to an existing worker pool, see <a
251      * href="">Adding groups to a User Pool</a>. For more information about user pools,
252      * see <a
253      * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html">Amazon
254      * Cognito User Pools</a>.</p> <p>For workforces created using your own OIDC IdP,
255      * specify the user groups that you want to include in your private work team in
256      * <code>OidcMemberDefinition</code> by listing those groups in
257      * <code>Groups</code>.</p>
258      */
WithMemberDefinitions(Aws::Vector<MemberDefinition> && value)259     inline CreateWorkteamRequest& WithMemberDefinitions(Aws::Vector<MemberDefinition>&& value) { SetMemberDefinitions(std::move(value)); return *this;}
260 
261     /**
262      * <p>A list of <code>MemberDefinition</code> objects that contains objects that
263      * identify the workers that make up the work team. </p> <p>Workforces can be
264      * created using Amazon Cognito or your own OIDC Identity Provider (IdP). For
265      * private workforces created using Amazon Cognito use
266      * <code>CognitoMemberDefinition</code>. For workforces created using your own OIDC
267      * identity provider (IdP) use <code>OidcMemberDefinition</code>. Do not provide
268      * input for both of these parameters in a single request.</p> <p>For workforces
269      * created using Amazon Cognito, private work teams correspond to Amazon Cognito
270      * <i>user groups</i> within the user pool used to create a workforce. All of the
271      * <code>CognitoMemberDefinition</code> objects that make up the member definition
272      * must have the same <code>ClientId</code> and <code>UserPool</code> values. To
273      * add a Amazon Cognito user group to an existing worker pool, see <a
274      * href="">Adding groups to a User Pool</a>. For more information about user pools,
275      * see <a
276      * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html">Amazon
277      * Cognito User Pools</a>.</p> <p>For workforces created using your own OIDC IdP,
278      * specify the user groups that you want to include in your private work team in
279      * <code>OidcMemberDefinition</code> by listing those groups in
280      * <code>Groups</code>.</p>
281      */
AddMemberDefinitions(const MemberDefinition & value)282     inline CreateWorkteamRequest& AddMemberDefinitions(const MemberDefinition& value) { m_memberDefinitionsHasBeenSet = true; m_memberDefinitions.push_back(value); return *this; }
283 
284     /**
285      * <p>A list of <code>MemberDefinition</code> objects that contains objects that
286      * identify the workers that make up the work team. </p> <p>Workforces can be
287      * created using Amazon Cognito or your own OIDC Identity Provider (IdP). For
288      * private workforces created using Amazon Cognito use
289      * <code>CognitoMemberDefinition</code>. For workforces created using your own OIDC
290      * identity provider (IdP) use <code>OidcMemberDefinition</code>. Do not provide
291      * input for both of these parameters in a single request.</p> <p>For workforces
292      * created using Amazon Cognito, private work teams correspond to Amazon Cognito
293      * <i>user groups</i> within the user pool used to create a workforce. All of the
294      * <code>CognitoMemberDefinition</code> objects that make up the member definition
295      * must have the same <code>ClientId</code> and <code>UserPool</code> values. To
296      * add a Amazon Cognito user group to an existing worker pool, see <a
297      * href="">Adding groups to a User Pool</a>. For more information about user pools,
298      * see <a
299      * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html">Amazon
300      * Cognito User Pools</a>.</p> <p>For workforces created using your own OIDC IdP,
301      * specify the user groups that you want to include in your private work team in
302      * <code>OidcMemberDefinition</code> by listing those groups in
303      * <code>Groups</code>.</p>
304      */
AddMemberDefinitions(MemberDefinition && value)305     inline CreateWorkteamRequest& AddMemberDefinitions(MemberDefinition&& value) { m_memberDefinitionsHasBeenSet = true; m_memberDefinitions.push_back(std::move(value)); return *this; }
306 
307 
308     /**
309      * <p>A description of the work team.</p>
310      */
GetDescription()311     inline const Aws::String& GetDescription() const{ return m_description; }
312 
313     /**
314      * <p>A description of the work team.</p>
315      */
DescriptionHasBeenSet()316     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
317 
318     /**
319      * <p>A description of the work team.</p>
320      */
SetDescription(const Aws::String & value)321     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
322 
323     /**
324      * <p>A description of the work team.</p>
325      */
SetDescription(Aws::String && value)326     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
327 
328     /**
329      * <p>A description of the work team.</p>
330      */
SetDescription(const char * value)331     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
332 
333     /**
334      * <p>A description of the work team.</p>
335      */
WithDescription(const Aws::String & value)336     inline CreateWorkteamRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
337 
338     /**
339      * <p>A description of the work team.</p>
340      */
WithDescription(Aws::String && value)341     inline CreateWorkteamRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
342 
343     /**
344      * <p>A description of the work team.</p>
345      */
WithDescription(const char * value)346     inline CreateWorkteamRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
347 
348 
349     /**
350      * <p>Configures notification of workers regarding available or expiring work
351      * items.</p>
352      */
GetNotificationConfiguration()353     inline const NotificationConfiguration& GetNotificationConfiguration() const{ return m_notificationConfiguration; }
354 
355     /**
356      * <p>Configures notification of workers regarding available or expiring work
357      * items.</p>
358      */
NotificationConfigurationHasBeenSet()359     inline bool NotificationConfigurationHasBeenSet() const { return m_notificationConfigurationHasBeenSet; }
360 
361     /**
362      * <p>Configures notification of workers regarding available or expiring work
363      * items.</p>
364      */
SetNotificationConfiguration(const NotificationConfiguration & value)365     inline void SetNotificationConfiguration(const NotificationConfiguration& value) { m_notificationConfigurationHasBeenSet = true; m_notificationConfiguration = value; }
366 
367     /**
368      * <p>Configures notification of workers regarding available or expiring work
369      * items.</p>
370      */
SetNotificationConfiguration(NotificationConfiguration && value)371     inline void SetNotificationConfiguration(NotificationConfiguration&& value) { m_notificationConfigurationHasBeenSet = true; m_notificationConfiguration = std::move(value); }
372 
373     /**
374      * <p>Configures notification of workers regarding available or expiring work
375      * items.</p>
376      */
WithNotificationConfiguration(const NotificationConfiguration & value)377     inline CreateWorkteamRequest& WithNotificationConfiguration(const NotificationConfiguration& value) { SetNotificationConfiguration(value); return *this;}
378 
379     /**
380      * <p>Configures notification of workers regarding available or expiring work
381      * items.</p>
382      */
WithNotificationConfiguration(NotificationConfiguration && value)383     inline CreateWorkteamRequest& WithNotificationConfiguration(NotificationConfiguration&& value) { SetNotificationConfiguration(std::move(value)); return *this;}
384 
385 
386     /**
387      * <p>An array of key-value pairs.</p> <p>For more information, see <a
388      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html">Resource
389      * Tag</a> and <a
390      * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what">Using
391      * Cost Allocation Tags</a> in the <i> Amazon Web Services Billing and Cost
392      * Management User Guide</i>.</p>
393      */
GetTags()394     inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
395 
396     /**
397      * <p>An array of key-value pairs.</p> <p>For more information, see <a
398      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html">Resource
399      * Tag</a> and <a
400      * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what">Using
401      * Cost Allocation Tags</a> in the <i> Amazon Web Services Billing and Cost
402      * Management User Guide</i>.</p>
403      */
TagsHasBeenSet()404     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
405 
406     /**
407      * <p>An array of key-value pairs.</p> <p>For more information, see <a
408      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html">Resource
409      * Tag</a> and <a
410      * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what">Using
411      * Cost Allocation Tags</a> in the <i> Amazon Web Services Billing and Cost
412      * Management User Guide</i>.</p>
413      */
SetTags(const Aws::Vector<Tag> & value)414     inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
415 
416     /**
417      * <p>An array of key-value pairs.</p> <p>For more information, see <a
418      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html">Resource
419      * Tag</a> and <a
420      * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what">Using
421      * Cost Allocation Tags</a> in the <i> Amazon Web Services Billing and Cost
422      * Management User Guide</i>.</p>
423      */
SetTags(Aws::Vector<Tag> && value)424     inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
425 
426     /**
427      * <p>An array of key-value pairs.</p> <p>For more information, see <a
428      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html">Resource
429      * Tag</a> and <a
430      * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what">Using
431      * Cost Allocation Tags</a> in the <i> Amazon Web Services Billing and Cost
432      * Management User Guide</i>.</p>
433      */
WithTags(const Aws::Vector<Tag> & value)434     inline CreateWorkteamRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
435 
436     /**
437      * <p>An array of key-value pairs.</p> <p>For more information, see <a
438      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html">Resource
439      * Tag</a> and <a
440      * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what">Using
441      * Cost Allocation Tags</a> in the <i> Amazon Web Services Billing and Cost
442      * Management User Guide</i>.</p>
443      */
WithTags(Aws::Vector<Tag> && value)444     inline CreateWorkteamRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
445 
446     /**
447      * <p>An array of key-value pairs.</p> <p>For more information, see <a
448      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html">Resource
449      * Tag</a> and <a
450      * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what">Using
451      * Cost Allocation Tags</a> in the <i> Amazon Web Services Billing and Cost
452      * Management User Guide</i>.</p>
453      */
AddTags(const Tag & value)454     inline CreateWorkteamRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
455 
456     /**
457      * <p>An array of key-value pairs.</p> <p>For more information, see <a
458      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html">Resource
459      * Tag</a> and <a
460      * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what">Using
461      * Cost Allocation Tags</a> in the <i> Amazon Web Services Billing and Cost
462      * Management User Guide</i>.</p>
463      */
AddTags(Tag && value)464     inline CreateWorkteamRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
465 
466   private:
467 
468     Aws::String m_workteamName;
469     bool m_workteamNameHasBeenSet;
470 
471     Aws::String m_workforceName;
472     bool m_workforceNameHasBeenSet;
473 
474     Aws::Vector<MemberDefinition> m_memberDefinitions;
475     bool m_memberDefinitionsHasBeenSet;
476 
477     Aws::String m_description;
478     bool m_descriptionHasBeenSet;
479 
480     NotificationConfiguration m_notificationConfiguration;
481     bool m_notificationConfigurationHasBeenSet;
482 
483     Aws::Vector<Tag> m_tags;
484     bool m_tagsHasBeenSet;
485   };
486 
487 } // namespace Model
488 } // namespace SageMaker
489 } // namespace Aws
490