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/pinpoint/Pinpoint_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSMap.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace Pinpoint
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Provides information about an application.</p><p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ApplicationResponse">AWS
30    * API Reference</a></p>
31    */
32   class AWS_PINPOINT_API ApplicationResponse
33   {
34   public:
35     ApplicationResponse();
36     ApplicationResponse(Aws::Utils::Json::JsonView jsonValue);
37     ApplicationResponse& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>The Amazon Resource Name (ARN) of the application.</p>
43      */
GetArn()44     inline const Aws::String& GetArn() const{ return m_arn; }
45 
46     /**
47      * <p>The Amazon Resource Name (ARN) of the application.</p>
48      */
ArnHasBeenSet()49     inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
50 
51     /**
52      * <p>The Amazon Resource Name (ARN) of the application.</p>
53      */
SetArn(const Aws::String & value)54     inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
55 
56     /**
57      * <p>The Amazon Resource Name (ARN) of the application.</p>
58      */
SetArn(Aws::String && value)59     inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); }
60 
61     /**
62      * <p>The Amazon Resource Name (ARN) of the application.</p>
63      */
SetArn(const char * value)64     inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
65 
66     /**
67      * <p>The Amazon Resource Name (ARN) of the application.</p>
68      */
WithArn(const Aws::String & value)69     inline ApplicationResponse& WithArn(const Aws::String& value) { SetArn(value); return *this;}
70 
71     /**
72      * <p>The Amazon Resource Name (ARN) of the application.</p>
73      */
WithArn(Aws::String && value)74     inline ApplicationResponse& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
75 
76     /**
77      * <p>The Amazon Resource Name (ARN) of the application.</p>
78      */
WithArn(const char * value)79     inline ApplicationResponse& WithArn(const char* value) { SetArn(value); return *this;}
80 
81 
82     /**
83      * <p>The unique identifier for the application. This identifier is displayed as
84      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
85      */
GetId()86     inline const Aws::String& GetId() const{ return m_id; }
87 
88     /**
89      * <p>The unique identifier for the application. This identifier is displayed as
90      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
91      */
IdHasBeenSet()92     inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
93 
94     /**
95      * <p>The unique identifier for the application. This identifier is displayed as
96      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
97      */
SetId(const Aws::String & value)98     inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
99 
100     /**
101      * <p>The unique identifier for the application. This identifier is displayed as
102      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
103      */
SetId(Aws::String && value)104     inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
105 
106     /**
107      * <p>The unique identifier for the application. This identifier is displayed as
108      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
109      */
SetId(const char * value)110     inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
111 
112     /**
113      * <p>The unique identifier for the application. This identifier is displayed as
114      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
115      */
WithId(const Aws::String & value)116     inline ApplicationResponse& WithId(const Aws::String& value) { SetId(value); return *this;}
117 
118     /**
119      * <p>The unique identifier for the application. This identifier is displayed as
120      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
121      */
WithId(Aws::String && value)122     inline ApplicationResponse& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
123 
124     /**
125      * <p>The unique identifier for the application. This identifier is displayed as
126      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
127      */
WithId(const char * value)128     inline ApplicationResponse& WithId(const char* value) { SetId(value); return *this;}
129 
130 
131     /**
132      * <p>The display name of the application. This name is displayed as the <b>Project
133      * name</b> on the Amazon Pinpoint console.</p>
134      */
GetName()135     inline const Aws::String& GetName() const{ return m_name; }
136 
137     /**
138      * <p>The display name of the application. This name is displayed as the <b>Project
139      * name</b> on the Amazon Pinpoint console.</p>
140      */
NameHasBeenSet()141     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
142 
143     /**
144      * <p>The display name of the application. This name is displayed as the <b>Project
145      * name</b> on the Amazon Pinpoint console.</p>
146      */
SetName(const Aws::String & value)147     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
148 
149     /**
150      * <p>The display name of the application. This name is displayed as the <b>Project
151      * name</b> on the Amazon Pinpoint console.</p>
152      */
SetName(Aws::String && value)153     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
154 
155     /**
156      * <p>The display name of the application. This name is displayed as the <b>Project
157      * name</b> on the Amazon Pinpoint console.</p>
158      */
SetName(const char * value)159     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
160 
161     /**
162      * <p>The display name of the application. This name is displayed as the <b>Project
163      * name</b> on the Amazon Pinpoint console.</p>
164      */
WithName(const Aws::String & value)165     inline ApplicationResponse& WithName(const Aws::String& value) { SetName(value); return *this;}
166 
167     /**
168      * <p>The display name of the application. This name is displayed as the <b>Project
169      * name</b> on the Amazon Pinpoint console.</p>
170      */
WithName(Aws::String && value)171     inline ApplicationResponse& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
172 
173     /**
174      * <p>The display name of the application. This name is displayed as the <b>Project
175      * name</b> on the Amazon Pinpoint console.</p>
176      */
WithName(const char * value)177     inline ApplicationResponse& WithName(const char* value) { SetName(value); return *this;}
178 
179 
180     /**
181      * <p>A string-to-string map of key-value pairs that identifies the tags that are
182      * associated with the application. Each tag consists of a required tag key and an
183      * associated tag value.</p>
184      */
GetTags()185     inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
186 
187     /**
188      * <p>A string-to-string map of key-value pairs that identifies the tags that are
189      * associated with the application. Each tag consists of a required tag key and an
190      * associated tag value.</p>
191      */
TagsHasBeenSet()192     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
193 
194     /**
195      * <p>A string-to-string map of key-value pairs that identifies the tags that are
196      * associated with the application. Each tag consists of a required tag key and an
197      * associated tag value.</p>
198      */
SetTags(const Aws::Map<Aws::String,Aws::String> & value)199     inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
200 
201     /**
202      * <p>A string-to-string map of key-value pairs that identifies the tags that are
203      * associated with the application. Each tag consists of a required tag key and an
204      * associated tag value.</p>
205      */
SetTags(Aws::Map<Aws::String,Aws::String> && value)206     inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
207 
208     /**
209      * <p>A string-to-string map of key-value pairs that identifies the tags that are
210      * associated with the application. Each tag consists of a required tag key and an
211      * associated tag value.</p>
212      */
WithTags(const Aws::Map<Aws::String,Aws::String> & value)213     inline ApplicationResponse& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
214 
215     /**
216      * <p>A string-to-string map of key-value pairs that identifies the tags that are
217      * associated with the application. Each tag consists of a required tag key and an
218      * associated tag value.</p>
219      */
WithTags(Aws::Map<Aws::String,Aws::String> && value)220     inline ApplicationResponse& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
221 
222     /**
223      * <p>A string-to-string map of key-value pairs that identifies the tags that are
224      * associated with the application. Each tag consists of a required tag key and an
225      * associated tag value.</p>
226      */
AddTags(const Aws::String & key,const Aws::String & value)227     inline ApplicationResponse& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
228 
229     /**
230      * <p>A string-to-string map of key-value pairs that identifies the tags that are
231      * associated with the application. Each tag consists of a required tag key and an
232      * associated tag value.</p>
233      */
AddTags(Aws::String && key,const Aws::String & value)234     inline ApplicationResponse& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
235 
236     /**
237      * <p>A string-to-string map of key-value pairs that identifies the tags that are
238      * associated with the application. Each tag consists of a required tag key and an
239      * associated tag value.</p>
240      */
AddTags(const Aws::String & key,Aws::String && value)241     inline ApplicationResponse& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
242 
243     /**
244      * <p>A string-to-string map of key-value pairs that identifies the tags that are
245      * associated with the application. Each tag consists of a required tag key and an
246      * associated tag value.</p>
247      */
AddTags(Aws::String && key,Aws::String && value)248     inline ApplicationResponse& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
249 
250     /**
251      * <p>A string-to-string map of key-value pairs that identifies the tags that are
252      * associated with the application. Each tag consists of a required tag key and an
253      * associated tag value.</p>
254      */
AddTags(const char * key,Aws::String && value)255     inline ApplicationResponse& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
256 
257     /**
258      * <p>A string-to-string map of key-value pairs that identifies the tags that are
259      * associated with the application. Each tag consists of a required tag key and an
260      * associated tag value.</p>
261      */
AddTags(Aws::String && key,const char * value)262     inline ApplicationResponse& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
263 
264     /**
265      * <p>A string-to-string map of key-value pairs that identifies the tags that are
266      * associated with the application. Each tag consists of a required tag key and an
267      * associated tag value.</p>
268      */
AddTags(const char * key,const char * value)269     inline ApplicationResponse& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
270 
271   private:
272 
273     Aws::String m_arn;
274     bool m_arnHasBeenSet;
275 
276     Aws::String m_id;
277     bool m_idHasBeenSet;
278 
279     Aws::String m_name;
280     bool m_nameHasBeenSet;
281 
282     Aws::Map<Aws::String, Aws::String> m_tags;
283     bool m_tagsHasBeenSet;
284   };
285 
286 } // namespace Model
287 } // namespace Pinpoint
288 } // namespace Aws
289