/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace AccessAnalyzer { namespace Model { /** *

Contains details about the policy generation request.

See * Also:

AWS * API Reference

*/ class JobDetails { public: AWS_ACCESSANALYZER_API JobDetails(); AWS_ACCESSANALYZER_API JobDetails(Aws::Utils::Json::JsonView jsonValue); AWS_ACCESSANALYZER_API JobDetails& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The JobId that is returned by the * StartPolicyGeneration operation. The JobId can be used * with GetGeneratedPolicy to retrieve the generated policies or used * with CancelPolicyGeneration to cancel the policy generation * request.

*/ inline const Aws::String& GetJobId() const{ return m_jobId; } /** *

The JobId that is returned by the * StartPolicyGeneration operation. The JobId can be used * with GetGeneratedPolicy to retrieve the generated policies or used * with CancelPolicyGeneration to cancel the policy generation * request.

*/ inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; } /** *

The JobId that is returned by the * StartPolicyGeneration operation. The JobId can be used * with GetGeneratedPolicy to retrieve the generated policies or used * with CancelPolicyGeneration to cancel the policy generation * request.

*/ inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; } /** *

The JobId that is returned by the * StartPolicyGeneration operation. The JobId can be used * with GetGeneratedPolicy to retrieve the generated policies or used * with CancelPolicyGeneration to cancel the policy generation * request.

*/ inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); } /** *

The JobId that is returned by the * StartPolicyGeneration operation. The JobId can be used * with GetGeneratedPolicy to retrieve the generated policies or used * with CancelPolicyGeneration to cancel the policy generation * request.

*/ inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); } /** *

The JobId that is returned by the * StartPolicyGeneration operation. The JobId can be used * with GetGeneratedPolicy to retrieve the generated policies or used * with CancelPolicyGeneration to cancel the policy generation * request.

*/ inline JobDetails& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} /** *

The JobId that is returned by the * StartPolicyGeneration operation. The JobId can be used * with GetGeneratedPolicy to retrieve the generated policies or used * with CancelPolicyGeneration to cancel the policy generation * request.

*/ inline JobDetails& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} /** *

The JobId that is returned by the * StartPolicyGeneration operation. The JobId can be used * with GetGeneratedPolicy to retrieve the generated policies or used * with CancelPolicyGeneration to cancel the policy generation * request.

*/ inline JobDetails& WithJobId(const char* value) { SetJobId(value); return *this;} /** *

The status of the job request.

*/ inline const JobStatus& GetStatus() const{ return m_status; } /** *

The status of the job request.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the job request.

*/ inline void SetStatus(const JobStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the job request.

*/ inline void SetStatus(JobStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the job request.

*/ inline JobDetails& WithStatus(const JobStatus& value) { SetStatus(value); return *this;} /** *

The status of the job request.

*/ inline JobDetails& WithStatus(JobStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

A timestamp of when the job was started.

*/ inline const Aws::Utils::DateTime& GetStartedOn() const{ return m_startedOn; } /** *

A timestamp of when the job was started.

*/ inline bool StartedOnHasBeenSet() const { return m_startedOnHasBeenSet; } /** *

A timestamp of when the job was started.

*/ inline void SetStartedOn(const Aws::Utils::DateTime& value) { m_startedOnHasBeenSet = true; m_startedOn = value; } /** *

A timestamp of when the job was started.

*/ inline void SetStartedOn(Aws::Utils::DateTime&& value) { m_startedOnHasBeenSet = true; m_startedOn = std::move(value); } /** *

A timestamp of when the job was started.

*/ inline JobDetails& WithStartedOn(const Aws::Utils::DateTime& value) { SetStartedOn(value); return *this;} /** *

A timestamp of when the job was started.

*/ inline JobDetails& WithStartedOn(Aws::Utils::DateTime&& value) { SetStartedOn(std::move(value)); return *this;} /** *

A timestamp of when the job was completed.

*/ inline const Aws::Utils::DateTime& GetCompletedOn() const{ return m_completedOn; } /** *

A timestamp of when the job was completed.

*/ inline bool CompletedOnHasBeenSet() const { return m_completedOnHasBeenSet; } /** *

A timestamp of when the job was completed.

*/ inline void SetCompletedOn(const Aws::Utils::DateTime& value) { m_completedOnHasBeenSet = true; m_completedOn = value; } /** *

A timestamp of when the job was completed.

*/ inline void SetCompletedOn(Aws::Utils::DateTime&& value) { m_completedOnHasBeenSet = true; m_completedOn = std::move(value); } /** *

A timestamp of when the job was completed.

*/ inline JobDetails& WithCompletedOn(const Aws::Utils::DateTime& value) { SetCompletedOn(value); return *this;} /** *

A timestamp of when the job was completed.

*/ inline JobDetails& WithCompletedOn(Aws::Utils::DateTime&& value) { SetCompletedOn(std::move(value)); return *this;} /** *

The job error for the policy generation request.

*/ inline const JobError& GetJobError() const{ return m_jobError; } /** *

The job error for the policy generation request.

*/ inline bool JobErrorHasBeenSet() const { return m_jobErrorHasBeenSet; } /** *

The job error for the policy generation request.

*/ inline void SetJobError(const JobError& value) { m_jobErrorHasBeenSet = true; m_jobError = value; } /** *

The job error for the policy generation request.

*/ inline void SetJobError(JobError&& value) { m_jobErrorHasBeenSet = true; m_jobError = std::move(value); } /** *

The job error for the policy generation request.

*/ inline JobDetails& WithJobError(const JobError& value) { SetJobError(value); return *this;} /** *

The job error for the policy generation request.

*/ inline JobDetails& WithJobError(JobError&& value) { SetJobError(std::move(value)); return *this;} private: Aws::String m_jobId; bool m_jobIdHasBeenSet = false; JobStatus m_status; bool m_statusHasBeenSet = false; Aws::Utils::DateTime m_startedOn; bool m_startedOnHasBeenSet = false; Aws::Utils::DateTime m_completedOn; bool m_completedOnHasBeenSet = false; JobError m_jobError; bool m_jobErrorHasBeenSet = false; }; } // namespace Model } // namespace AccessAnalyzer } // namespace Aws