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/workmail/WorkMail_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/workmail/model/MailboxExportJobState.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 template<typename RESULT_TYPE>
16 class AmazonWebServiceResult;
17 
18 namespace Utils
19 {
20 namespace Json
21 {
22   class JsonValue;
23 } // namespace Json
24 } // namespace Utils
25 namespace WorkMail
26 {
27 namespace Model
28 {
29   class AWS_WORKMAIL_API DescribeMailboxExportJobResult
30   {
31   public:
32     DescribeMailboxExportJobResult();
33     DescribeMailboxExportJobResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
34     DescribeMailboxExportJobResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
35 
36 
37     /**
38      * <p>The identifier of the user or resource associated with the mailbox.</p>
39      */
GetEntityId()40     inline const Aws::String& GetEntityId() const{ return m_entityId; }
41 
42     /**
43      * <p>The identifier of the user or resource associated with the mailbox.</p>
44      */
SetEntityId(const Aws::String & value)45     inline void SetEntityId(const Aws::String& value) { m_entityId = value; }
46 
47     /**
48      * <p>The identifier of the user or resource associated with the mailbox.</p>
49      */
SetEntityId(Aws::String && value)50     inline void SetEntityId(Aws::String&& value) { m_entityId = std::move(value); }
51 
52     /**
53      * <p>The identifier of the user or resource associated with the mailbox.</p>
54      */
SetEntityId(const char * value)55     inline void SetEntityId(const char* value) { m_entityId.assign(value); }
56 
57     /**
58      * <p>The identifier of the user or resource associated with the mailbox.</p>
59      */
WithEntityId(const Aws::String & value)60     inline DescribeMailboxExportJobResult& WithEntityId(const Aws::String& value) { SetEntityId(value); return *this;}
61 
62     /**
63      * <p>The identifier of the user or resource associated with the mailbox.</p>
64      */
WithEntityId(Aws::String && value)65     inline DescribeMailboxExportJobResult& WithEntityId(Aws::String&& value) { SetEntityId(std::move(value)); return *this;}
66 
67     /**
68      * <p>The identifier of the user or resource associated with the mailbox.</p>
69      */
WithEntityId(const char * value)70     inline DescribeMailboxExportJobResult& WithEntityId(const char* value) { SetEntityId(value); return *this;}
71 
72 
73     /**
74      * <p>The mailbox export job description.</p>
75      */
GetDescription()76     inline const Aws::String& GetDescription() const{ return m_description; }
77 
78     /**
79      * <p>The mailbox export job description.</p>
80      */
SetDescription(const Aws::String & value)81     inline void SetDescription(const Aws::String& value) { m_description = value; }
82 
83     /**
84      * <p>The mailbox export job description.</p>
85      */
SetDescription(Aws::String && value)86     inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
87 
88     /**
89      * <p>The mailbox export job description.</p>
90      */
SetDescription(const char * value)91     inline void SetDescription(const char* value) { m_description.assign(value); }
92 
93     /**
94      * <p>The mailbox export job description.</p>
95      */
WithDescription(const Aws::String & value)96     inline DescribeMailboxExportJobResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
97 
98     /**
99      * <p>The mailbox export job description.</p>
100      */
WithDescription(Aws::String && value)101     inline DescribeMailboxExportJobResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
102 
103     /**
104      * <p>The mailbox export job description.</p>
105      */
WithDescription(const char * value)106     inline DescribeMailboxExportJobResult& WithDescription(const char* value) { SetDescription(value); return *this;}
107 
108 
109     /**
110      * <p>The ARN of the AWS Identity and Access Management (IAM) role that grants
111      * write permission to the Amazon Simple Storage Service (Amazon S3) bucket.</p>
112      */
GetRoleArn()113     inline const Aws::String& GetRoleArn() const{ return m_roleArn; }
114 
115     /**
116      * <p>The ARN of the AWS Identity and Access Management (IAM) role that grants
117      * write permission to the Amazon Simple Storage Service (Amazon S3) bucket.</p>
118      */
SetRoleArn(const Aws::String & value)119     inline void SetRoleArn(const Aws::String& value) { m_roleArn = value; }
120 
121     /**
122      * <p>The ARN of the AWS Identity and Access Management (IAM) role that grants
123      * write permission to the Amazon Simple Storage Service (Amazon S3) bucket.</p>
124      */
SetRoleArn(Aws::String && value)125     inline void SetRoleArn(Aws::String&& value) { m_roleArn = std::move(value); }
126 
127     /**
128      * <p>The ARN of the AWS Identity and Access Management (IAM) role that grants
129      * write permission to the Amazon Simple Storage Service (Amazon S3) bucket.</p>
130      */
SetRoleArn(const char * value)131     inline void SetRoleArn(const char* value) { m_roleArn.assign(value); }
132 
133     /**
134      * <p>The ARN of the AWS Identity and Access Management (IAM) role that grants
135      * write permission to the Amazon Simple Storage Service (Amazon S3) bucket.</p>
136      */
WithRoleArn(const Aws::String & value)137     inline DescribeMailboxExportJobResult& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;}
138 
139     /**
140      * <p>The ARN of the AWS Identity and Access Management (IAM) role that grants
141      * write permission to the Amazon Simple Storage Service (Amazon S3) bucket.</p>
142      */
WithRoleArn(Aws::String && value)143     inline DescribeMailboxExportJobResult& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;}
144 
145     /**
146      * <p>The ARN of the AWS Identity and Access Management (IAM) role that grants
147      * write permission to the Amazon Simple Storage Service (Amazon S3) bucket.</p>
148      */
WithRoleArn(const char * value)149     inline DescribeMailboxExportJobResult& WithRoleArn(const char* value) { SetRoleArn(value); return *this;}
150 
151 
152     /**
153      * <p>The Amazon Resource Name (ARN) of the symmetric AWS Key Management Service
154      * (AWS KMS) key that encrypts the exported mailbox content.</p>
155      */
GetKmsKeyArn()156     inline const Aws::String& GetKmsKeyArn() const{ return m_kmsKeyArn; }
157 
158     /**
159      * <p>The Amazon Resource Name (ARN) of the symmetric AWS Key Management Service
160      * (AWS KMS) key that encrypts the exported mailbox content.</p>
161      */
SetKmsKeyArn(const Aws::String & value)162     inline void SetKmsKeyArn(const Aws::String& value) { m_kmsKeyArn = value; }
163 
164     /**
165      * <p>The Amazon Resource Name (ARN) of the symmetric AWS Key Management Service
166      * (AWS KMS) key that encrypts the exported mailbox content.</p>
167      */
SetKmsKeyArn(Aws::String && value)168     inline void SetKmsKeyArn(Aws::String&& value) { m_kmsKeyArn = std::move(value); }
169 
170     /**
171      * <p>The Amazon Resource Name (ARN) of the symmetric AWS Key Management Service
172      * (AWS KMS) key that encrypts the exported mailbox content.</p>
173      */
SetKmsKeyArn(const char * value)174     inline void SetKmsKeyArn(const char* value) { m_kmsKeyArn.assign(value); }
175 
176     /**
177      * <p>The Amazon Resource Name (ARN) of the symmetric AWS Key Management Service
178      * (AWS KMS) key that encrypts the exported mailbox content.</p>
179      */
WithKmsKeyArn(const Aws::String & value)180     inline DescribeMailboxExportJobResult& WithKmsKeyArn(const Aws::String& value) { SetKmsKeyArn(value); return *this;}
181 
182     /**
183      * <p>The Amazon Resource Name (ARN) of the symmetric AWS Key Management Service
184      * (AWS KMS) key that encrypts the exported mailbox content.</p>
185      */
WithKmsKeyArn(Aws::String && value)186     inline DescribeMailboxExportJobResult& WithKmsKeyArn(Aws::String&& value) { SetKmsKeyArn(std::move(value)); return *this;}
187 
188     /**
189      * <p>The Amazon Resource Name (ARN) of the symmetric AWS Key Management Service
190      * (AWS KMS) key that encrypts the exported mailbox content.</p>
191      */
WithKmsKeyArn(const char * value)192     inline DescribeMailboxExportJobResult& WithKmsKeyArn(const char* value) { SetKmsKeyArn(value); return *this;}
193 
194 
195     /**
196      * <p>The name of the S3 bucket.</p>
197      */
GetS3BucketName()198     inline const Aws::String& GetS3BucketName() const{ return m_s3BucketName; }
199 
200     /**
201      * <p>The name of the S3 bucket.</p>
202      */
SetS3BucketName(const Aws::String & value)203     inline void SetS3BucketName(const Aws::String& value) { m_s3BucketName = value; }
204 
205     /**
206      * <p>The name of the S3 bucket.</p>
207      */
SetS3BucketName(Aws::String && value)208     inline void SetS3BucketName(Aws::String&& value) { m_s3BucketName = std::move(value); }
209 
210     /**
211      * <p>The name of the S3 bucket.</p>
212      */
SetS3BucketName(const char * value)213     inline void SetS3BucketName(const char* value) { m_s3BucketName.assign(value); }
214 
215     /**
216      * <p>The name of the S3 bucket.</p>
217      */
WithS3BucketName(const Aws::String & value)218     inline DescribeMailboxExportJobResult& WithS3BucketName(const Aws::String& value) { SetS3BucketName(value); return *this;}
219 
220     /**
221      * <p>The name of the S3 bucket.</p>
222      */
WithS3BucketName(Aws::String && value)223     inline DescribeMailboxExportJobResult& WithS3BucketName(Aws::String&& value) { SetS3BucketName(std::move(value)); return *this;}
224 
225     /**
226      * <p>The name of the S3 bucket.</p>
227      */
WithS3BucketName(const char * value)228     inline DescribeMailboxExportJobResult& WithS3BucketName(const char* value) { SetS3BucketName(value); return *this;}
229 
230 
231     /**
232      * <p>The S3 bucket prefix.</p>
233      */
GetS3Prefix()234     inline const Aws::String& GetS3Prefix() const{ return m_s3Prefix; }
235 
236     /**
237      * <p>The S3 bucket prefix.</p>
238      */
SetS3Prefix(const Aws::String & value)239     inline void SetS3Prefix(const Aws::String& value) { m_s3Prefix = value; }
240 
241     /**
242      * <p>The S3 bucket prefix.</p>
243      */
SetS3Prefix(Aws::String && value)244     inline void SetS3Prefix(Aws::String&& value) { m_s3Prefix = std::move(value); }
245 
246     /**
247      * <p>The S3 bucket prefix.</p>
248      */
SetS3Prefix(const char * value)249     inline void SetS3Prefix(const char* value) { m_s3Prefix.assign(value); }
250 
251     /**
252      * <p>The S3 bucket prefix.</p>
253      */
WithS3Prefix(const Aws::String & value)254     inline DescribeMailboxExportJobResult& WithS3Prefix(const Aws::String& value) { SetS3Prefix(value); return *this;}
255 
256     /**
257      * <p>The S3 bucket prefix.</p>
258      */
WithS3Prefix(Aws::String && value)259     inline DescribeMailboxExportJobResult& WithS3Prefix(Aws::String&& value) { SetS3Prefix(std::move(value)); return *this;}
260 
261     /**
262      * <p>The S3 bucket prefix.</p>
263      */
WithS3Prefix(const char * value)264     inline DescribeMailboxExportJobResult& WithS3Prefix(const char* value) { SetS3Prefix(value); return *this;}
265 
266 
267     /**
268      * <p>The path to the S3 bucket and file that the mailbox export job is exporting
269      * to.</p>
270      */
GetS3Path()271     inline const Aws::String& GetS3Path() const{ return m_s3Path; }
272 
273     /**
274      * <p>The path to the S3 bucket and file that the mailbox export job is exporting
275      * to.</p>
276      */
SetS3Path(const Aws::String & value)277     inline void SetS3Path(const Aws::String& value) { m_s3Path = value; }
278 
279     /**
280      * <p>The path to the S3 bucket and file that the mailbox export job is exporting
281      * to.</p>
282      */
SetS3Path(Aws::String && value)283     inline void SetS3Path(Aws::String&& value) { m_s3Path = std::move(value); }
284 
285     /**
286      * <p>The path to the S3 bucket and file that the mailbox export job is exporting
287      * to.</p>
288      */
SetS3Path(const char * value)289     inline void SetS3Path(const char* value) { m_s3Path.assign(value); }
290 
291     /**
292      * <p>The path to the S3 bucket and file that the mailbox export job is exporting
293      * to.</p>
294      */
WithS3Path(const Aws::String & value)295     inline DescribeMailboxExportJobResult& WithS3Path(const Aws::String& value) { SetS3Path(value); return *this;}
296 
297     /**
298      * <p>The path to the S3 bucket and file that the mailbox export job is exporting
299      * to.</p>
300      */
WithS3Path(Aws::String && value)301     inline DescribeMailboxExportJobResult& WithS3Path(Aws::String&& value) { SetS3Path(std::move(value)); return *this;}
302 
303     /**
304      * <p>The path to the S3 bucket and file that the mailbox export job is exporting
305      * to.</p>
306      */
WithS3Path(const char * value)307     inline DescribeMailboxExportJobResult& WithS3Path(const char* value) { SetS3Path(value); return *this;}
308 
309 
310     /**
311      * <p>The estimated progress of the mailbox export job, in percentage points.</p>
312      */
GetEstimatedProgress()313     inline int GetEstimatedProgress() const{ return m_estimatedProgress; }
314 
315     /**
316      * <p>The estimated progress of the mailbox export job, in percentage points.</p>
317      */
SetEstimatedProgress(int value)318     inline void SetEstimatedProgress(int value) { m_estimatedProgress = value; }
319 
320     /**
321      * <p>The estimated progress of the mailbox export job, in percentage points.</p>
322      */
WithEstimatedProgress(int value)323     inline DescribeMailboxExportJobResult& WithEstimatedProgress(int value) { SetEstimatedProgress(value); return *this;}
324 
325 
326     /**
327      * <p>The state of the mailbox export job.</p>
328      */
GetState()329     inline const MailboxExportJobState& GetState() const{ return m_state; }
330 
331     /**
332      * <p>The state of the mailbox export job.</p>
333      */
SetState(const MailboxExportJobState & value)334     inline void SetState(const MailboxExportJobState& value) { m_state = value; }
335 
336     /**
337      * <p>The state of the mailbox export job.</p>
338      */
SetState(MailboxExportJobState && value)339     inline void SetState(MailboxExportJobState&& value) { m_state = std::move(value); }
340 
341     /**
342      * <p>The state of the mailbox export job.</p>
343      */
WithState(const MailboxExportJobState & value)344     inline DescribeMailboxExportJobResult& WithState(const MailboxExportJobState& value) { SetState(value); return *this;}
345 
346     /**
347      * <p>The state of the mailbox export job.</p>
348      */
WithState(MailboxExportJobState && value)349     inline DescribeMailboxExportJobResult& WithState(MailboxExportJobState&& value) { SetState(std::move(value)); return *this;}
350 
351 
352     /**
353      * <p>Error information for failed mailbox export jobs.</p>
354      */
GetErrorInfo()355     inline const Aws::String& GetErrorInfo() const{ return m_errorInfo; }
356 
357     /**
358      * <p>Error information for failed mailbox export jobs.</p>
359      */
SetErrorInfo(const Aws::String & value)360     inline void SetErrorInfo(const Aws::String& value) { m_errorInfo = value; }
361 
362     /**
363      * <p>Error information for failed mailbox export jobs.</p>
364      */
SetErrorInfo(Aws::String && value)365     inline void SetErrorInfo(Aws::String&& value) { m_errorInfo = std::move(value); }
366 
367     /**
368      * <p>Error information for failed mailbox export jobs.</p>
369      */
SetErrorInfo(const char * value)370     inline void SetErrorInfo(const char* value) { m_errorInfo.assign(value); }
371 
372     /**
373      * <p>Error information for failed mailbox export jobs.</p>
374      */
WithErrorInfo(const Aws::String & value)375     inline DescribeMailboxExportJobResult& WithErrorInfo(const Aws::String& value) { SetErrorInfo(value); return *this;}
376 
377     /**
378      * <p>Error information for failed mailbox export jobs.</p>
379      */
WithErrorInfo(Aws::String && value)380     inline DescribeMailboxExportJobResult& WithErrorInfo(Aws::String&& value) { SetErrorInfo(std::move(value)); return *this;}
381 
382     /**
383      * <p>Error information for failed mailbox export jobs.</p>
384      */
WithErrorInfo(const char * value)385     inline DescribeMailboxExportJobResult& WithErrorInfo(const char* value) { SetErrorInfo(value); return *this;}
386 
387 
388     /**
389      * <p>The mailbox export job start timestamp.</p>
390      */
GetStartTime()391     inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
392 
393     /**
394      * <p>The mailbox export job start timestamp.</p>
395      */
SetStartTime(const Aws::Utils::DateTime & value)396     inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; }
397 
398     /**
399      * <p>The mailbox export job start timestamp.</p>
400      */
SetStartTime(Aws::Utils::DateTime && value)401     inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTime = std::move(value); }
402 
403     /**
404      * <p>The mailbox export job start timestamp.</p>
405      */
WithStartTime(const Aws::Utils::DateTime & value)406     inline DescribeMailboxExportJobResult& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
407 
408     /**
409      * <p>The mailbox export job start timestamp.</p>
410      */
WithStartTime(Aws::Utils::DateTime && value)411     inline DescribeMailboxExportJobResult& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
412 
413 
414     /**
415      * <p>The mailbox export job end timestamp.</p>
416      */
GetEndTime()417     inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; }
418 
419     /**
420      * <p>The mailbox export job end timestamp.</p>
421      */
SetEndTime(const Aws::Utils::DateTime & value)422     inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTime = value; }
423 
424     /**
425      * <p>The mailbox export job end timestamp.</p>
426      */
SetEndTime(Aws::Utils::DateTime && value)427     inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTime = std::move(value); }
428 
429     /**
430      * <p>The mailbox export job end timestamp.</p>
431      */
WithEndTime(const Aws::Utils::DateTime & value)432     inline DescribeMailboxExportJobResult& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;}
433 
434     /**
435      * <p>The mailbox export job end timestamp.</p>
436      */
WithEndTime(Aws::Utils::DateTime && value)437     inline DescribeMailboxExportJobResult& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
438 
439   private:
440 
441     Aws::String m_entityId;
442 
443     Aws::String m_description;
444 
445     Aws::String m_roleArn;
446 
447     Aws::String m_kmsKeyArn;
448 
449     Aws::String m_s3BucketName;
450 
451     Aws::String m_s3Prefix;
452 
453     Aws::String m_s3Path;
454 
455     int m_estimatedProgress;
456 
457     MailboxExportJobState m_state;
458 
459     Aws::String m_errorInfo;
460 
461     Aws::Utils::DateTime m_startTime;
462 
463     Aws::Utils::DateTime m_endTime;
464   };
465 
466 } // namespace Model
467 } // namespace WorkMail
468 } // namespace Aws
469