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/lexv2-models/LexModelsV2_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/lexv2-models/model/ExportResourceSpecification.h>
10 #include <aws/lexv2-models/model/ImportExportFileFormat.h>
11 #include <aws/lexv2-models/model/ExportStatus.h>
12 #include <aws/core/utils/DateTime.h>
13 #include <utility>
14 
15 namespace Aws
16 {
17 namespace Utils
18 {
19 namespace Json
20 {
21   class JsonValue;
22   class JsonView;
23 } // namespace Json
24 } // namespace Utils
25 namespace LexModelsV2
26 {
27 namespace Model
28 {
29 
30   /**
31    * <p>Provides summary information about an export in an export list.
32    * </p><p><h3>See Also:</h3>   <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ExportSummary">AWS
34    * API Reference</a></p>
35    */
36   class AWS_LEXMODELSV2_API ExportSummary
37   {
38   public:
39     ExportSummary();
40     ExportSummary(Aws::Utils::Json::JsonView jsonValue);
41     ExportSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
42     Aws::Utils::Json::JsonValue Jsonize() const;
43 
44 
45     /**
46      * <p>The unique identifier that Amazon Lex assigned to the export.</p>
47      */
GetExportId()48     inline const Aws::String& GetExportId() const{ return m_exportId; }
49 
50     /**
51      * <p>The unique identifier that Amazon Lex assigned to the export.</p>
52      */
ExportIdHasBeenSet()53     inline bool ExportIdHasBeenSet() const { return m_exportIdHasBeenSet; }
54 
55     /**
56      * <p>The unique identifier that Amazon Lex assigned to the export.</p>
57      */
SetExportId(const Aws::String & value)58     inline void SetExportId(const Aws::String& value) { m_exportIdHasBeenSet = true; m_exportId = value; }
59 
60     /**
61      * <p>The unique identifier that Amazon Lex assigned to the export.</p>
62      */
SetExportId(Aws::String && value)63     inline void SetExportId(Aws::String&& value) { m_exportIdHasBeenSet = true; m_exportId = std::move(value); }
64 
65     /**
66      * <p>The unique identifier that Amazon Lex assigned to the export.</p>
67      */
SetExportId(const char * value)68     inline void SetExportId(const char* value) { m_exportIdHasBeenSet = true; m_exportId.assign(value); }
69 
70     /**
71      * <p>The unique identifier that Amazon Lex assigned to the export.</p>
72      */
WithExportId(const Aws::String & value)73     inline ExportSummary& WithExportId(const Aws::String& value) { SetExportId(value); return *this;}
74 
75     /**
76      * <p>The unique identifier that Amazon Lex assigned to the export.</p>
77      */
WithExportId(Aws::String && value)78     inline ExportSummary& WithExportId(Aws::String&& value) { SetExportId(std::move(value)); return *this;}
79 
80     /**
81      * <p>The unique identifier that Amazon Lex assigned to the export.</p>
82      */
WithExportId(const char * value)83     inline ExportSummary& WithExportId(const char* value) { SetExportId(value); return *this;}
84 
85 
86     /**
87      * <p>Information about the bot or bot locale that was exported.</p>
88      */
GetResourceSpecification()89     inline const ExportResourceSpecification& GetResourceSpecification() const{ return m_resourceSpecification; }
90 
91     /**
92      * <p>Information about the bot or bot locale that was exported.</p>
93      */
ResourceSpecificationHasBeenSet()94     inline bool ResourceSpecificationHasBeenSet() const { return m_resourceSpecificationHasBeenSet; }
95 
96     /**
97      * <p>Information about the bot or bot locale that was exported.</p>
98      */
SetResourceSpecification(const ExportResourceSpecification & value)99     inline void SetResourceSpecification(const ExportResourceSpecification& value) { m_resourceSpecificationHasBeenSet = true; m_resourceSpecification = value; }
100 
101     /**
102      * <p>Information about the bot or bot locale that was exported.</p>
103      */
SetResourceSpecification(ExportResourceSpecification && value)104     inline void SetResourceSpecification(ExportResourceSpecification&& value) { m_resourceSpecificationHasBeenSet = true; m_resourceSpecification = std::move(value); }
105 
106     /**
107      * <p>Information about the bot or bot locale that was exported.</p>
108      */
WithResourceSpecification(const ExportResourceSpecification & value)109     inline ExportSummary& WithResourceSpecification(const ExportResourceSpecification& value) { SetResourceSpecification(value); return *this;}
110 
111     /**
112      * <p>Information about the bot or bot locale that was exported.</p>
113      */
WithResourceSpecification(ExportResourceSpecification && value)114     inline ExportSummary& WithResourceSpecification(ExportResourceSpecification&& value) { SetResourceSpecification(std::move(value)); return *this;}
115 
116 
117     /**
118      * <p>The file format used in the export files.</p>
119      */
GetFileFormat()120     inline const ImportExportFileFormat& GetFileFormat() const{ return m_fileFormat; }
121 
122     /**
123      * <p>The file format used in the export files.</p>
124      */
FileFormatHasBeenSet()125     inline bool FileFormatHasBeenSet() const { return m_fileFormatHasBeenSet; }
126 
127     /**
128      * <p>The file format used in the export files.</p>
129      */
SetFileFormat(const ImportExportFileFormat & value)130     inline void SetFileFormat(const ImportExportFileFormat& value) { m_fileFormatHasBeenSet = true; m_fileFormat = value; }
131 
132     /**
133      * <p>The file format used in the export files.</p>
134      */
SetFileFormat(ImportExportFileFormat && value)135     inline void SetFileFormat(ImportExportFileFormat&& value) { m_fileFormatHasBeenSet = true; m_fileFormat = std::move(value); }
136 
137     /**
138      * <p>The file format used in the export files.</p>
139      */
WithFileFormat(const ImportExportFileFormat & value)140     inline ExportSummary& WithFileFormat(const ImportExportFileFormat& value) { SetFileFormat(value); return *this;}
141 
142     /**
143      * <p>The file format used in the export files.</p>
144      */
WithFileFormat(ImportExportFileFormat && value)145     inline ExportSummary& WithFileFormat(ImportExportFileFormat&& value) { SetFileFormat(std::move(value)); return *this;}
146 
147 
148     /**
149      * <p>The status of the export. When the status is <code>Completed</code> the
150      * export is ready to download.</p>
151      */
GetExportStatus()152     inline const ExportStatus& GetExportStatus() const{ return m_exportStatus; }
153 
154     /**
155      * <p>The status of the export. When the status is <code>Completed</code> the
156      * export is ready to download.</p>
157      */
ExportStatusHasBeenSet()158     inline bool ExportStatusHasBeenSet() const { return m_exportStatusHasBeenSet; }
159 
160     /**
161      * <p>The status of the export. When the status is <code>Completed</code> the
162      * export is ready to download.</p>
163      */
SetExportStatus(const ExportStatus & value)164     inline void SetExportStatus(const ExportStatus& value) { m_exportStatusHasBeenSet = true; m_exportStatus = value; }
165 
166     /**
167      * <p>The status of the export. When the status is <code>Completed</code> the
168      * export is ready to download.</p>
169      */
SetExportStatus(ExportStatus && value)170     inline void SetExportStatus(ExportStatus&& value) { m_exportStatusHasBeenSet = true; m_exportStatus = std::move(value); }
171 
172     /**
173      * <p>The status of the export. When the status is <code>Completed</code> the
174      * export is ready to download.</p>
175      */
WithExportStatus(const ExportStatus & value)176     inline ExportSummary& WithExportStatus(const ExportStatus& value) { SetExportStatus(value); return *this;}
177 
178     /**
179      * <p>The status of the export. When the status is <code>Completed</code> the
180      * export is ready to download.</p>
181      */
WithExportStatus(ExportStatus && value)182     inline ExportSummary& WithExportStatus(ExportStatus&& value) { SetExportStatus(std::move(value)); return *this;}
183 
184 
185     /**
186      * <p>The date and time that the export was created.</p>
187      */
GetCreationDateTime()188     inline const Aws::Utils::DateTime& GetCreationDateTime() const{ return m_creationDateTime; }
189 
190     /**
191      * <p>The date and time that the export was created.</p>
192      */
CreationDateTimeHasBeenSet()193     inline bool CreationDateTimeHasBeenSet() const { return m_creationDateTimeHasBeenSet; }
194 
195     /**
196      * <p>The date and time that the export was created.</p>
197      */
SetCreationDateTime(const Aws::Utils::DateTime & value)198     inline void SetCreationDateTime(const Aws::Utils::DateTime& value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime = value; }
199 
200     /**
201      * <p>The date and time that the export was created.</p>
202      */
SetCreationDateTime(Aws::Utils::DateTime && value)203     inline void SetCreationDateTime(Aws::Utils::DateTime&& value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime = std::move(value); }
204 
205     /**
206      * <p>The date and time that the export was created.</p>
207      */
WithCreationDateTime(const Aws::Utils::DateTime & value)208     inline ExportSummary& WithCreationDateTime(const Aws::Utils::DateTime& value) { SetCreationDateTime(value); return *this;}
209 
210     /**
211      * <p>The date and time that the export was created.</p>
212      */
WithCreationDateTime(Aws::Utils::DateTime && value)213     inline ExportSummary& WithCreationDateTime(Aws::Utils::DateTime&& value) { SetCreationDateTime(std::move(value)); return *this;}
214 
215 
216     /**
217      * <p>The date and time that the export was last updated.</p>
218      */
GetLastUpdatedDateTime()219     inline const Aws::Utils::DateTime& GetLastUpdatedDateTime() const{ return m_lastUpdatedDateTime; }
220 
221     /**
222      * <p>The date and time that the export was last updated.</p>
223      */
LastUpdatedDateTimeHasBeenSet()224     inline bool LastUpdatedDateTimeHasBeenSet() const { return m_lastUpdatedDateTimeHasBeenSet; }
225 
226     /**
227      * <p>The date and time that the export was last updated.</p>
228      */
SetLastUpdatedDateTime(const Aws::Utils::DateTime & value)229     inline void SetLastUpdatedDateTime(const Aws::Utils::DateTime& value) { m_lastUpdatedDateTimeHasBeenSet = true; m_lastUpdatedDateTime = value; }
230 
231     /**
232      * <p>The date and time that the export was last updated.</p>
233      */
SetLastUpdatedDateTime(Aws::Utils::DateTime && value)234     inline void SetLastUpdatedDateTime(Aws::Utils::DateTime&& value) { m_lastUpdatedDateTimeHasBeenSet = true; m_lastUpdatedDateTime = std::move(value); }
235 
236     /**
237      * <p>The date and time that the export was last updated.</p>
238      */
WithLastUpdatedDateTime(const Aws::Utils::DateTime & value)239     inline ExportSummary& WithLastUpdatedDateTime(const Aws::Utils::DateTime& value) { SetLastUpdatedDateTime(value); return *this;}
240 
241     /**
242      * <p>The date and time that the export was last updated.</p>
243      */
WithLastUpdatedDateTime(Aws::Utils::DateTime && value)244     inline ExportSummary& WithLastUpdatedDateTime(Aws::Utils::DateTime&& value) { SetLastUpdatedDateTime(std::move(value)); return *this;}
245 
246   private:
247 
248     Aws::String m_exportId;
249     bool m_exportIdHasBeenSet;
250 
251     ExportResourceSpecification m_resourceSpecification;
252     bool m_resourceSpecificationHasBeenSet;
253 
254     ImportExportFileFormat m_fileFormat;
255     bool m_fileFormatHasBeenSet;
256 
257     ExportStatus m_exportStatus;
258     bool m_exportStatusHasBeenSet;
259 
260     Aws::Utils::DateTime m_creationDateTime;
261     bool m_creationDateTimeHasBeenSet;
262 
263     Aws::Utils::DateTime m_lastUpdatedDateTime;
264     bool m_lastUpdatedDateTimeHasBeenSet;
265   };
266 
267 } // namespace Model
268 } // namespace LexModelsV2
269 } // namespace Aws
270