/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The details of a mailbox export job, including the user or resource ID
* associated with the mailbox and the S3 bucket that the mailbox contents are
* exported to.See Also:
AWS
* API Reference
The identifier of the mailbox export job.
*/ inline const Aws::String& GetJobId() const{ return m_jobId; } /** *The identifier of the mailbox export job.
*/ inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; } /** *The identifier of the mailbox export job.
*/ inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; } /** *The identifier of the mailbox export job.
*/ inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); } /** *The identifier of the mailbox export job.
*/ inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); } /** *The identifier of the mailbox export job.
*/ inline MailboxExportJob& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} /** *The identifier of the mailbox export job.
*/ inline MailboxExportJob& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} /** *The identifier of the mailbox export job.
*/ inline MailboxExportJob& WithJobId(const char* value) { SetJobId(value); return *this;} /** *The identifier of the user or resource associated with the mailbox.
*/ inline const Aws::String& GetEntityId() const{ return m_entityId; } /** *The identifier of the user or resource associated with the mailbox.
*/ inline bool EntityIdHasBeenSet() const { return m_entityIdHasBeenSet; } /** *The identifier of the user or resource associated with the mailbox.
*/ inline void SetEntityId(const Aws::String& value) { m_entityIdHasBeenSet = true; m_entityId = value; } /** *The identifier of the user or resource associated with the mailbox.
*/ inline void SetEntityId(Aws::String&& value) { m_entityIdHasBeenSet = true; m_entityId = std::move(value); } /** *The identifier of the user or resource associated with the mailbox.
*/ inline void SetEntityId(const char* value) { m_entityIdHasBeenSet = true; m_entityId.assign(value); } /** *The identifier of the user or resource associated with the mailbox.
*/ inline MailboxExportJob& WithEntityId(const Aws::String& value) { SetEntityId(value); return *this;} /** *The identifier of the user or resource associated with the mailbox.
*/ inline MailboxExportJob& WithEntityId(Aws::String&& value) { SetEntityId(std::move(value)); return *this;} /** *The identifier of the user or resource associated with the mailbox.
*/ inline MailboxExportJob& WithEntityId(const char* value) { SetEntityId(value); return *this;} /** *The mailbox export job description.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *The mailbox export job description.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *The mailbox export job description.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *The mailbox export job description.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *The mailbox export job description.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *The mailbox export job description.
*/ inline MailboxExportJob& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *The mailbox export job description.
*/ inline MailboxExportJob& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *The mailbox export job description.
*/ inline MailboxExportJob& WithDescription(const char* value) { SetDescription(value); return *this;} /** *The name of the S3 bucket.
*/ inline const Aws::String& GetS3BucketName() const{ return m_s3BucketName; } /** *The name of the S3 bucket.
*/ inline bool S3BucketNameHasBeenSet() const { return m_s3BucketNameHasBeenSet; } /** *The name of the S3 bucket.
*/ inline void SetS3BucketName(const Aws::String& value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName = value; } /** *The name of the S3 bucket.
*/ inline void SetS3BucketName(Aws::String&& value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName = std::move(value); } /** *The name of the S3 bucket.
*/ inline void SetS3BucketName(const char* value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName.assign(value); } /** *The name of the S3 bucket.
*/ inline MailboxExportJob& WithS3BucketName(const Aws::String& value) { SetS3BucketName(value); return *this;} /** *The name of the S3 bucket.
*/ inline MailboxExportJob& WithS3BucketName(Aws::String&& value) { SetS3BucketName(std::move(value)); return *this;} /** *The name of the S3 bucket.
*/ inline MailboxExportJob& WithS3BucketName(const char* value) { SetS3BucketName(value); return *this;} /** *The path to the S3 bucket and file that the mailbox export job exports * to.
*/ inline const Aws::String& GetS3Path() const{ return m_s3Path; } /** *The path to the S3 bucket and file that the mailbox export job exports * to.
*/ inline bool S3PathHasBeenSet() const { return m_s3PathHasBeenSet; } /** *The path to the S3 bucket and file that the mailbox export job exports * to.
*/ inline void SetS3Path(const Aws::String& value) { m_s3PathHasBeenSet = true; m_s3Path = value; } /** *The path to the S3 bucket and file that the mailbox export job exports * to.
*/ inline void SetS3Path(Aws::String&& value) { m_s3PathHasBeenSet = true; m_s3Path = std::move(value); } /** *The path to the S3 bucket and file that the mailbox export job exports * to.
*/ inline void SetS3Path(const char* value) { m_s3PathHasBeenSet = true; m_s3Path.assign(value); } /** *The path to the S3 bucket and file that the mailbox export job exports * to.
*/ inline MailboxExportJob& WithS3Path(const Aws::String& value) { SetS3Path(value); return *this;} /** *The path to the S3 bucket and file that the mailbox export job exports * to.
*/ inline MailboxExportJob& WithS3Path(Aws::String&& value) { SetS3Path(std::move(value)); return *this;} /** *The path to the S3 bucket and file that the mailbox export job exports * to.
*/ inline MailboxExportJob& WithS3Path(const char* value) { SetS3Path(value); return *this;} /** *The estimated progress of the mailbox export job, in percentage points.
*/ inline int GetEstimatedProgress() const{ return m_estimatedProgress; } /** *The estimated progress of the mailbox export job, in percentage points.
*/ inline bool EstimatedProgressHasBeenSet() const { return m_estimatedProgressHasBeenSet; } /** *The estimated progress of the mailbox export job, in percentage points.
*/ inline void SetEstimatedProgress(int value) { m_estimatedProgressHasBeenSet = true; m_estimatedProgress = value; } /** *The estimated progress of the mailbox export job, in percentage points.
*/ inline MailboxExportJob& WithEstimatedProgress(int value) { SetEstimatedProgress(value); return *this;} /** *The state of the mailbox export job.
*/ inline const MailboxExportJobState& GetState() const{ return m_state; } /** *The state of the mailbox export job.
*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *The state of the mailbox export job.
*/ inline void SetState(const MailboxExportJobState& value) { m_stateHasBeenSet = true; m_state = value; } /** *The state of the mailbox export job.
*/ inline void SetState(MailboxExportJobState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *The state of the mailbox export job.
*/ inline MailboxExportJob& WithState(const MailboxExportJobState& value) { SetState(value); return *this;} /** *The state of the mailbox export job.
*/ inline MailboxExportJob& WithState(MailboxExportJobState&& value) { SetState(std::move(value)); return *this;} /** *The mailbox export job start timestamp.
*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *The mailbox export job start timestamp.
*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *The mailbox export job start timestamp.
*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *The mailbox export job start timestamp.
*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *The mailbox export job start timestamp.
*/ inline MailboxExportJob& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *The mailbox export job start timestamp.
*/ inline MailboxExportJob& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *The mailbox export job end timestamp.
*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } /** *The mailbox export job end timestamp.
*/ inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } /** *The mailbox export job end timestamp.
*/ inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } /** *The mailbox export job end timestamp.
*/ inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } /** *The mailbox export job end timestamp.
*/ inline MailboxExportJob& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} /** *The mailbox export job end timestamp.
*/ inline MailboxExportJob& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} private: Aws::String m_jobId; bool m_jobIdHasBeenSet = false; Aws::String m_entityId; bool m_entityIdHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_s3BucketName; bool m_s3BucketNameHasBeenSet = false; Aws::String m_s3Path; bool m_s3PathHasBeenSet = false; int m_estimatedProgress; bool m_estimatedProgressHasBeenSet = false; MailboxExportJobState m_state; bool m_stateHasBeenSet = false; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet = false; }; } // namespace Model } // namespace WorkMail } // namespace Aws