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

Contains information about the status of a notebook * calculation.

See Also:

AWS * API Reference

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

The date and time the calculation was submitted for processing.

*/ inline const Aws::Utils::DateTime& GetSubmissionDateTime() const{ return m_submissionDateTime; } /** *

The date and time the calculation was submitted for processing.

*/ inline bool SubmissionDateTimeHasBeenSet() const { return m_submissionDateTimeHasBeenSet; } /** *

The date and time the calculation was submitted for processing.

*/ inline void SetSubmissionDateTime(const Aws::Utils::DateTime& value) { m_submissionDateTimeHasBeenSet = true; m_submissionDateTime = value; } /** *

The date and time the calculation was submitted for processing.

*/ inline void SetSubmissionDateTime(Aws::Utils::DateTime&& value) { m_submissionDateTimeHasBeenSet = true; m_submissionDateTime = std::move(value); } /** *

The date and time the calculation was submitted for processing.

*/ inline CalculationStatus& WithSubmissionDateTime(const Aws::Utils::DateTime& value) { SetSubmissionDateTime(value); return *this;} /** *

The date and time the calculation was submitted for processing.

*/ inline CalculationStatus& WithSubmissionDateTime(Aws::Utils::DateTime&& value) { SetSubmissionDateTime(std::move(value)); return *this;} /** *

The date and time the calculation completed processing.

*/ inline const Aws::Utils::DateTime& GetCompletionDateTime() const{ return m_completionDateTime; } /** *

The date and time the calculation completed processing.

*/ inline bool CompletionDateTimeHasBeenSet() const { return m_completionDateTimeHasBeenSet; } /** *

The date and time the calculation completed processing.

*/ inline void SetCompletionDateTime(const Aws::Utils::DateTime& value) { m_completionDateTimeHasBeenSet = true; m_completionDateTime = value; } /** *

The date and time the calculation completed processing.

*/ inline void SetCompletionDateTime(Aws::Utils::DateTime&& value) { m_completionDateTimeHasBeenSet = true; m_completionDateTime = std::move(value); } /** *

The date and time the calculation completed processing.

*/ inline CalculationStatus& WithCompletionDateTime(const Aws::Utils::DateTime& value) { SetCompletionDateTime(value); return *this;} /** *

The date and time the calculation completed processing.

*/ inline CalculationStatus& WithCompletionDateTime(Aws::Utils::DateTime&& value) { SetCompletionDateTime(std::move(value)); return *this;} /** *

The state of the calculation execution. A description of each state * follows.

CREATING - The calculation is in the process of * being created.

CREATED - The calculation has been created * and is ready to run.

QUEUED - The calculation has been * queued for processing.

RUNNING - The calculation is * running.

CANCELING - A request to cancel the calculation * has been received and the system is working to stop it.

* CANCELED - The calculation is no longer running as the result of a * cancel request.

COMPLETED - The calculation has completed * without error.

FAILED - The calculation failed and is no * longer running.

*/ inline const CalculationExecutionState& GetState() const{ return m_state; } /** *

The state of the calculation execution. A description of each state * follows.

CREATING - The calculation is in the process of * being created.

CREATED - The calculation has been created * and is ready to run.

QUEUED - The calculation has been * queued for processing.

RUNNING - The calculation is * running.

CANCELING - A request to cancel the calculation * has been received and the system is working to stop it.

* CANCELED - The calculation is no longer running as the result of a * cancel request.

COMPLETED - The calculation has completed * without error.

FAILED - The calculation failed and is no * longer running.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The state of the calculation execution. A description of each state * follows.

CREATING - The calculation is in the process of * being created.

CREATED - The calculation has been created * and is ready to run.

QUEUED - The calculation has been * queued for processing.

RUNNING - The calculation is * running.

CANCELING - A request to cancel the calculation * has been received and the system is working to stop it.

* CANCELED - The calculation is no longer running as the result of a * cancel request.

COMPLETED - The calculation has completed * without error.

FAILED - The calculation failed and is no * longer running.

*/ inline void SetState(const CalculationExecutionState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The state of the calculation execution. A description of each state * follows.

CREATING - The calculation is in the process of * being created.

CREATED - The calculation has been created * and is ready to run.

QUEUED - The calculation has been * queued for processing.

RUNNING - The calculation is * running.

CANCELING - A request to cancel the calculation * has been received and the system is working to stop it.

* CANCELED - The calculation is no longer running as the result of a * cancel request.

COMPLETED - The calculation has completed * without error.

FAILED - The calculation failed and is no * longer running.

*/ inline void SetState(CalculationExecutionState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The state of the calculation execution. A description of each state * follows.

CREATING - The calculation is in the process of * being created.

CREATED - The calculation has been created * and is ready to run.

QUEUED - The calculation has been * queued for processing.

RUNNING - The calculation is * running.

CANCELING - A request to cancel the calculation * has been received and the system is working to stop it.

* CANCELED - The calculation is no longer running as the result of a * cancel request.

COMPLETED - The calculation has completed * without error.

FAILED - The calculation failed and is no * longer running.

*/ inline CalculationStatus& WithState(const CalculationExecutionState& value) { SetState(value); return *this;} /** *

The state of the calculation execution. A description of each state * follows.

CREATING - The calculation is in the process of * being created.

CREATED - The calculation has been created * and is ready to run.

QUEUED - The calculation has been * queued for processing.

RUNNING - The calculation is * running.

CANCELING - A request to cancel the calculation * has been received and the system is working to stop it.

* CANCELED - The calculation is no longer running as the result of a * cancel request.

COMPLETED - The calculation has completed * without error.

FAILED - The calculation failed and is no * longer running.

*/ inline CalculationStatus& WithState(CalculationExecutionState&& value) { SetState(std::move(value)); return *this;} /** *

The reason for the calculation state change (for example, the calculation was * canceled because the session was terminated).

*/ inline const Aws::String& GetStateChangeReason() const{ return m_stateChangeReason; } /** *

The reason for the calculation state change (for example, the calculation was * canceled because the session was terminated).

*/ inline bool StateChangeReasonHasBeenSet() const { return m_stateChangeReasonHasBeenSet; } /** *

The reason for the calculation state change (for example, the calculation was * canceled because the session was terminated).

*/ inline void SetStateChangeReason(const Aws::String& value) { m_stateChangeReasonHasBeenSet = true; m_stateChangeReason = value; } /** *

The reason for the calculation state change (for example, the calculation was * canceled because the session was terminated).

*/ inline void SetStateChangeReason(Aws::String&& value) { m_stateChangeReasonHasBeenSet = true; m_stateChangeReason = std::move(value); } /** *

The reason for the calculation state change (for example, the calculation was * canceled because the session was terminated).

*/ inline void SetStateChangeReason(const char* value) { m_stateChangeReasonHasBeenSet = true; m_stateChangeReason.assign(value); } /** *

The reason for the calculation state change (for example, the calculation was * canceled because the session was terminated).

*/ inline CalculationStatus& WithStateChangeReason(const Aws::String& value) { SetStateChangeReason(value); return *this;} /** *

The reason for the calculation state change (for example, the calculation was * canceled because the session was terminated).

*/ inline CalculationStatus& WithStateChangeReason(Aws::String&& value) { SetStateChangeReason(std::move(value)); return *this;} /** *

The reason for the calculation state change (for example, the calculation was * canceled because the session was terminated).

*/ inline CalculationStatus& WithStateChangeReason(const char* value) { SetStateChangeReason(value); return *this;} private: Aws::Utils::DateTime m_submissionDateTime; bool m_submissionDateTimeHasBeenSet = false; Aws::Utils::DateTime m_completionDateTime; bool m_completionDateTimeHasBeenSet = false; CalculationExecutionState m_state; bool m_stateHasBeenSet = false; Aws::String m_stateChangeReason; bool m_stateChangeReasonHasBeenSet = false; }; } // namespace Model } // namespace Athena } // namespace Aws