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/quicksight/QuickSight_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/quicksight/model/ThemeVersion.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <aws/quicksight/model/ThemeType.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace Utils
17 {
18 namespace Json
19 {
20   class JsonValue;
21   class JsonView;
22 } // namespace Json
23 } // namespace Utils
24 namespace QuickSight
25 {
26 namespace Model
27 {
28 
29   /**
30    * <p>Summary information about a theme.</p><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/Theme">AWS
32    * API Reference</a></p>
33    */
34   class AWS_QUICKSIGHT_API Theme
35   {
36   public:
37     Theme();
38     Theme(Aws::Utils::Json::JsonView jsonValue);
39     Theme& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>The Amazon Resource Name (ARN) of the theme.</p>
45      */
GetArn()46     inline const Aws::String& GetArn() const{ return m_arn; }
47 
48     /**
49      * <p>The Amazon Resource Name (ARN) of the theme.</p>
50      */
ArnHasBeenSet()51     inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
52 
53     /**
54      * <p>The Amazon Resource Name (ARN) of the theme.</p>
55      */
SetArn(const Aws::String & value)56     inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
57 
58     /**
59      * <p>The Amazon Resource Name (ARN) of the theme.</p>
60      */
SetArn(Aws::String && value)61     inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); }
62 
63     /**
64      * <p>The Amazon Resource Name (ARN) of the theme.</p>
65      */
SetArn(const char * value)66     inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
67 
68     /**
69      * <p>The Amazon Resource Name (ARN) of the theme.</p>
70      */
WithArn(const Aws::String & value)71     inline Theme& WithArn(const Aws::String& value) { SetArn(value); return *this;}
72 
73     /**
74      * <p>The Amazon Resource Name (ARN) of the theme.</p>
75      */
WithArn(Aws::String && value)76     inline Theme& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
77 
78     /**
79      * <p>The Amazon Resource Name (ARN) of the theme.</p>
80      */
WithArn(const char * value)81     inline Theme& WithArn(const char* value) { SetArn(value); return *this;}
82 
83 
84     /**
85      * <p>The name that the user gives to the theme.</p>
86      */
GetName()87     inline const Aws::String& GetName() const{ return m_name; }
88 
89     /**
90      * <p>The name that the user gives to the theme.</p>
91      */
NameHasBeenSet()92     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
93 
94     /**
95      * <p>The name that the user gives to the theme.</p>
96      */
SetName(const Aws::String & value)97     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
98 
99     /**
100      * <p>The name that the user gives to the theme.</p>
101      */
SetName(Aws::String && value)102     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
103 
104     /**
105      * <p>The name that the user gives to the theme.</p>
106      */
SetName(const char * value)107     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
108 
109     /**
110      * <p>The name that the user gives to the theme.</p>
111      */
WithName(const Aws::String & value)112     inline Theme& WithName(const Aws::String& value) { SetName(value); return *this;}
113 
114     /**
115      * <p>The name that the user gives to the theme.</p>
116      */
WithName(Aws::String && value)117     inline Theme& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
118 
119     /**
120      * <p>The name that the user gives to the theme.</p>
121      */
WithName(const char * value)122     inline Theme& WithName(const char* value) { SetName(value); return *this;}
123 
124 
125     /**
126      * <p>The identifier that the user gives to the theme.</p>
127      */
GetThemeId()128     inline const Aws::String& GetThemeId() const{ return m_themeId; }
129 
130     /**
131      * <p>The identifier that the user gives to the theme.</p>
132      */
ThemeIdHasBeenSet()133     inline bool ThemeIdHasBeenSet() const { return m_themeIdHasBeenSet; }
134 
135     /**
136      * <p>The identifier that the user gives to the theme.</p>
137      */
SetThemeId(const Aws::String & value)138     inline void SetThemeId(const Aws::String& value) { m_themeIdHasBeenSet = true; m_themeId = value; }
139 
140     /**
141      * <p>The identifier that the user gives to the theme.</p>
142      */
SetThemeId(Aws::String && value)143     inline void SetThemeId(Aws::String&& value) { m_themeIdHasBeenSet = true; m_themeId = std::move(value); }
144 
145     /**
146      * <p>The identifier that the user gives to the theme.</p>
147      */
SetThemeId(const char * value)148     inline void SetThemeId(const char* value) { m_themeIdHasBeenSet = true; m_themeId.assign(value); }
149 
150     /**
151      * <p>The identifier that the user gives to the theme.</p>
152      */
WithThemeId(const Aws::String & value)153     inline Theme& WithThemeId(const Aws::String& value) { SetThemeId(value); return *this;}
154 
155     /**
156      * <p>The identifier that the user gives to the theme.</p>
157      */
WithThemeId(Aws::String && value)158     inline Theme& WithThemeId(Aws::String&& value) { SetThemeId(std::move(value)); return *this;}
159 
160     /**
161      * <p>The identifier that the user gives to the theme.</p>
162      */
WithThemeId(const char * value)163     inline Theme& WithThemeId(const char* value) { SetThemeId(value); return *this;}
164 
165 
166 
GetVersion()167     inline const ThemeVersion& GetVersion() const{ return m_version; }
168 
169 
VersionHasBeenSet()170     inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
171 
172 
SetVersion(const ThemeVersion & value)173     inline void SetVersion(const ThemeVersion& value) { m_versionHasBeenSet = true; m_version = value; }
174 
175 
SetVersion(ThemeVersion && value)176     inline void SetVersion(ThemeVersion&& value) { m_versionHasBeenSet = true; m_version = std::move(value); }
177 
178 
WithVersion(const ThemeVersion & value)179     inline Theme& WithVersion(const ThemeVersion& value) { SetVersion(value); return *this;}
180 
181 
WithVersion(ThemeVersion && value)182     inline Theme& WithVersion(ThemeVersion&& value) { SetVersion(std::move(value)); return *this;}
183 
184 
185     /**
186      * <p>The date and time that the theme was created.</p>
187      */
GetCreatedTime()188     inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; }
189 
190     /**
191      * <p>The date and time that the theme was created.</p>
192      */
CreatedTimeHasBeenSet()193     inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; }
194 
195     /**
196      * <p>The date and time that the theme was created.</p>
197      */
SetCreatedTime(const Aws::Utils::DateTime & value)198     inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; }
199 
200     /**
201      * <p>The date and time that the theme was created.</p>
202      */
SetCreatedTime(Aws::Utils::DateTime && value)203     inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); }
204 
205     /**
206      * <p>The date and time that the theme was created.</p>
207      */
WithCreatedTime(const Aws::Utils::DateTime & value)208     inline Theme& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;}
209 
210     /**
211      * <p>The date and time that the theme was created.</p>
212      */
WithCreatedTime(Aws::Utils::DateTime && value)213     inline Theme& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;}
214 
215 
216     /**
217      * <p>The date and time that the theme was last updated.</p>
218      */
GetLastUpdatedTime()219     inline const Aws::Utils::DateTime& GetLastUpdatedTime() const{ return m_lastUpdatedTime; }
220 
221     /**
222      * <p>The date and time that the theme was last updated.</p>
223      */
LastUpdatedTimeHasBeenSet()224     inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; }
225 
226     /**
227      * <p>The date and time that the theme was last updated.</p>
228      */
SetLastUpdatedTime(const Aws::Utils::DateTime & value)229     inline void SetLastUpdatedTime(const Aws::Utils::DateTime& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = value; }
230 
231     /**
232      * <p>The date and time that the theme was last updated.</p>
233      */
SetLastUpdatedTime(Aws::Utils::DateTime && value)234     inline void SetLastUpdatedTime(Aws::Utils::DateTime&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::move(value); }
235 
236     /**
237      * <p>The date and time that the theme was last updated.</p>
238      */
WithLastUpdatedTime(const Aws::Utils::DateTime & value)239     inline Theme& WithLastUpdatedTime(const Aws::Utils::DateTime& value) { SetLastUpdatedTime(value); return *this;}
240 
241     /**
242      * <p>The date and time that the theme was last updated.</p>
243      */
WithLastUpdatedTime(Aws::Utils::DateTime && value)244     inline Theme& WithLastUpdatedTime(Aws::Utils::DateTime&& value) { SetLastUpdatedTime(std::move(value)); return *this;}
245 
246 
247     /**
248      * <p>The type of theme, based on how it was created. Valid values include:
249      * <code>QUICKSIGHT</code> and <code>CUSTOM</code>.</p>
250      */
GetType()251     inline const ThemeType& GetType() const{ return m_type; }
252 
253     /**
254      * <p>The type of theme, based on how it was created. Valid values include:
255      * <code>QUICKSIGHT</code> and <code>CUSTOM</code>.</p>
256      */
TypeHasBeenSet()257     inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
258 
259     /**
260      * <p>The type of theme, based on how it was created. Valid values include:
261      * <code>QUICKSIGHT</code> and <code>CUSTOM</code>.</p>
262      */
SetType(const ThemeType & value)263     inline void SetType(const ThemeType& value) { m_typeHasBeenSet = true; m_type = value; }
264 
265     /**
266      * <p>The type of theme, based on how it was created. Valid values include:
267      * <code>QUICKSIGHT</code> and <code>CUSTOM</code>.</p>
268      */
SetType(ThemeType && value)269     inline void SetType(ThemeType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
270 
271     /**
272      * <p>The type of theme, based on how it was created. Valid values include:
273      * <code>QUICKSIGHT</code> and <code>CUSTOM</code>.</p>
274      */
WithType(const ThemeType & value)275     inline Theme& WithType(const ThemeType& value) { SetType(value); return *this;}
276 
277     /**
278      * <p>The type of theme, based on how it was created. Valid values include:
279      * <code>QUICKSIGHT</code> and <code>CUSTOM</code>.</p>
280      */
WithType(ThemeType && value)281     inline Theme& WithType(ThemeType&& value) { SetType(std::move(value)); return *this;}
282 
283   private:
284 
285     Aws::String m_arn;
286     bool m_arnHasBeenSet;
287 
288     Aws::String m_name;
289     bool m_nameHasBeenSet;
290 
291     Aws::String m_themeId;
292     bool m_themeIdHasBeenSet;
293 
294     ThemeVersion m_version;
295     bool m_versionHasBeenSet;
296 
297     Aws::Utils::DateTime m_createdTime;
298     bool m_createdTimeHasBeenSet;
299 
300     Aws::Utils::DateTime m_lastUpdatedTime;
301     bool m_lastUpdatedTimeHasBeenSet;
302 
303     ThemeType m_type;
304     bool m_typeHasBeenSet;
305   };
306 
307 } // namespace Model
308 } // namespace QuickSight
309 } // namespace Aws
310