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/chime/Chime_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/chime/model/Tag.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace Chime
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>The Amazon Chime SDK attendee fields to create, used with the
30    * BatchCreateAttendee action.</p><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/chime-2018-05-01/CreateAttendeeRequestItem">AWS
32    * API Reference</a></p>
33    */
34   class AWS_CHIME_API CreateAttendeeRequestItem
35   {
36   public:
37     CreateAttendeeRequestItem();
38     CreateAttendeeRequestItem(Aws::Utils::Json::JsonView jsonValue);
39     CreateAttendeeRequestItem& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>The Amazon Chime SDK external user ID. An idempotency token. Links the
45      * attendee to an identity managed by a builder application.</p>
46      */
GetExternalUserId()47     inline const Aws::String& GetExternalUserId() const{ return m_externalUserId; }
48 
49     /**
50      * <p>The Amazon Chime SDK external user ID. An idempotency token. Links the
51      * attendee to an identity managed by a builder application.</p>
52      */
ExternalUserIdHasBeenSet()53     inline bool ExternalUserIdHasBeenSet() const { return m_externalUserIdHasBeenSet; }
54 
55     /**
56      * <p>The Amazon Chime SDK external user ID. An idempotency token. Links the
57      * attendee to an identity managed by a builder application.</p>
58      */
SetExternalUserId(const Aws::String & value)59     inline void SetExternalUserId(const Aws::String& value) { m_externalUserIdHasBeenSet = true; m_externalUserId = value; }
60 
61     /**
62      * <p>The Amazon Chime SDK external user ID. An idempotency token. Links the
63      * attendee to an identity managed by a builder application.</p>
64      */
SetExternalUserId(Aws::String && value)65     inline void SetExternalUserId(Aws::String&& value) { m_externalUserIdHasBeenSet = true; m_externalUserId = std::move(value); }
66 
67     /**
68      * <p>The Amazon Chime SDK external user ID. An idempotency token. Links the
69      * attendee to an identity managed by a builder application.</p>
70      */
SetExternalUserId(const char * value)71     inline void SetExternalUserId(const char* value) { m_externalUserIdHasBeenSet = true; m_externalUserId.assign(value); }
72 
73     /**
74      * <p>The Amazon Chime SDK external user ID. An idempotency token. Links the
75      * attendee to an identity managed by a builder application.</p>
76      */
WithExternalUserId(const Aws::String & value)77     inline CreateAttendeeRequestItem& WithExternalUserId(const Aws::String& value) { SetExternalUserId(value); return *this;}
78 
79     /**
80      * <p>The Amazon Chime SDK external user ID. An idempotency token. Links the
81      * attendee to an identity managed by a builder application.</p>
82      */
WithExternalUserId(Aws::String && value)83     inline CreateAttendeeRequestItem& WithExternalUserId(Aws::String&& value) { SetExternalUserId(std::move(value)); return *this;}
84 
85     /**
86      * <p>The Amazon Chime SDK external user ID. An idempotency token. Links the
87      * attendee to an identity managed by a builder application.</p>
88      */
WithExternalUserId(const char * value)89     inline CreateAttendeeRequestItem& WithExternalUserId(const char* value) { SetExternalUserId(value); return *this;}
90 
91 
92     /**
93      * <p>The tag key-value pairs.</p>
94      */
GetTags()95     inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
96 
97     /**
98      * <p>The tag key-value pairs.</p>
99      */
TagsHasBeenSet()100     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
101 
102     /**
103      * <p>The tag key-value pairs.</p>
104      */
SetTags(const Aws::Vector<Tag> & value)105     inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
106 
107     /**
108      * <p>The tag key-value pairs.</p>
109      */
SetTags(Aws::Vector<Tag> && value)110     inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
111 
112     /**
113      * <p>The tag key-value pairs.</p>
114      */
WithTags(const Aws::Vector<Tag> & value)115     inline CreateAttendeeRequestItem& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
116 
117     /**
118      * <p>The tag key-value pairs.</p>
119      */
WithTags(Aws::Vector<Tag> && value)120     inline CreateAttendeeRequestItem& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
121 
122     /**
123      * <p>The tag key-value pairs.</p>
124      */
AddTags(const Tag & value)125     inline CreateAttendeeRequestItem& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
126 
127     /**
128      * <p>The tag key-value pairs.</p>
129      */
AddTags(Tag && value)130     inline CreateAttendeeRequestItem& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
131 
132   private:
133 
134     Aws::String m_externalUserId;
135     bool m_externalUserIdHasBeenSet;
136 
137     Aws::Vector<Tag> m_tags;
138     bool m_tagsHasBeenSet;
139   };
140 
141 } // namespace Model
142 } // namespace Chime
143 } // namespace Aws
144