/** * 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 session.

See Also:

* AWS * API Reference

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

The date and time that the session started.

*/ inline const Aws::Utils::DateTime& GetStartDateTime() const{ return m_startDateTime; } /** *

The date and time that the session started.

*/ inline bool StartDateTimeHasBeenSet() const { return m_startDateTimeHasBeenSet; } /** *

The date and time that the session started.

*/ inline void SetStartDateTime(const Aws::Utils::DateTime& value) { m_startDateTimeHasBeenSet = true; m_startDateTime = value; } /** *

The date and time that the session started.

*/ inline void SetStartDateTime(Aws::Utils::DateTime&& value) { m_startDateTimeHasBeenSet = true; m_startDateTime = std::move(value); } /** *

The date and time that the session started.

*/ inline SessionStatus& WithStartDateTime(const Aws::Utils::DateTime& value) { SetStartDateTime(value); return *this;} /** *

The date and time that the session started.

*/ inline SessionStatus& WithStartDateTime(Aws::Utils::DateTime&& value) { SetStartDateTime(std::move(value)); return *this;} /** *

The most recent date and time that the session was modified.

*/ inline const Aws::Utils::DateTime& GetLastModifiedDateTime() const{ return m_lastModifiedDateTime; } /** *

The most recent date and time that the session was modified.

*/ inline bool LastModifiedDateTimeHasBeenSet() const { return m_lastModifiedDateTimeHasBeenSet; } /** *

The most recent date and time that the session was modified.

*/ inline void SetLastModifiedDateTime(const Aws::Utils::DateTime& value) { m_lastModifiedDateTimeHasBeenSet = true; m_lastModifiedDateTime = value; } /** *

The most recent date and time that the session was modified.

*/ inline void SetLastModifiedDateTime(Aws::Utils::DateTime&& value) { m_lastModifiedDateTimeHasBeenSet = true; m_lastModifiedDateTime = std::move(value); } /** *

The most recent date and time that the session was modified.

*/ inline SessionStatus& WithLastModifiedDateTime(const Aws::Utils::DateTime& value) { SetLastModifiedDateTime(value); return *this;} /** *

The most recent date and time that the session was modified.

*/ inline SessionStatus& WithLastModifiedDateTime(Aws::Utils::DateTime&& value) { SetLastModifiedDateTime(std::move(value)); return *this;} /** *

The date and time that the session ended.

*/ inline const Aws::Utils::DateTime& GetEndDateTime() const{ return m_endDateTime; } /** *

The date and time that the session ended.

*/ inline bool EndDateTimeHasBeenSet() const { return m_endDateTimeHasBeenSet; } /** *

The date and time that the session ended.

*/ inline void SetEndDateTime(const Aws::Utils::DateTime& value) { m_endDateTimeHasBeenSet = true; m_endDateTime = value; } /** *

The date and time that the session ended.

*/ inline void SetEndDateTime(Aws::Utils::DateTime&& value) { m_endDateTimeHasBeenSet = true; m_endDateTime = std::move(value); } /** *

The date and time that the session ended.

*/ inline SessionStatus& WithEndDateTime(const Aws::Utils::DateTime& value) { SetEndDateTime(value); return *this;} /** *

The date and time that the session ended.

*/ inline SessionStatus& WithEndDateTime(Aws::Utils::DateTime&& value) { SetEndDateTime(std::move(value)); return *this;} /** *

The date and time starting at which the session became idle. Can be empty if * the session is not currently idle.

*/ inline const Aws::Utils::DateTime& GetIdleSinceDateTime() const{ return m_idleSinceDateTime; } /** *

The date and time starting at which the session became idle. Can be empty if * the session is not currently idle.

*/ inline bool IdleSinceDateTimeHasBeenSet() const { return m_idleSinceDateTimeHasBeenSet; } /** *

The date and time starting at which the session became idle. Can be empty if * the session is not currently idle.

*/ inline void SetIdleSinceDateTime(const Aws::Utils::DateTime& value) { m_idleSinceDateTimeHasBeenSet = true; m_idleSinceDateTime = value; } /** *

The date and time starting at which the session became idle. Can be empty if * the session is not currently idle.

*/ inline void SetIdleSinceDateTime(Aws::Utils::DateTime&& value) { m_idleSinceDateTimeHasBeenSet = true; m_idleSinceDateTime = std::move(value); } /** *

The date and time starting at which the session became idle. Can be empty if * the session is not currently idle.

*/ inline SessionStatus& WithIdleSinceDateTime(const Aws::Utils::DateTime& value) { SetIdleSinceDateTime(value); return *this;} /** *

The date and time starting at which the session became idle. Can be empty if * the session is not currently idle.

*/ inline SessionStatus& WithIdleSinceDateTime(Aws::Utils::DateTime&& value) { SetIdleSinceDateTime(std::move(value)); return *this;} /** *

The state of the session. A description of each state follows.

* CREATING - The session is being started, including acquiring * resources.

CREATED - The session has been started.

* IDLE - The session is able to accept a calculation.

* BUSY - The session is processing another task and is unable to * accept a calculation.

TERMINATING - The session is in the * process of shutting down.

TERMINATED - The session and its * resources are no longer running.

DEGRADED - The session has * no healthy coordinators.

FAILED - Due to a failure, the * session and its resources are no longer running.

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

The state of the session. A description of each state follows.

* CREATING - The session is being started, including acquiring * resources.

CREATED - The session has been started.

* IDLE - The session is able to accept a calculation.

* BUSY - The session is processing another task and is unable to * accept a calculation.

TERMINATING - The session is in the * process of shutting down.

TERMINATED - The session and its * resources are no longer running.

DEGRADED - The session has * no healthy coordinators.

FAILED - Due to a failure, the * session and its resources are no longer running.

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

The state of the session. A description of each state follows.

* CREATING - The session is being started, including acquiring * resources.

CREATED - The session has been started.

* IDLE - The session is able to accept a calculation.

* BUSY - The session is processing another task and is unable to * accept a calculation.

TERMINATING - The session is in the * process of shutting down.

TERMINATED - The session and its * resources are no longer running.

DEGRADED - The session has * no healthy coordinators.

FAILED - Due to a failure, the * session and its resources are no longer running.

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

The state of the session. A description of each state follows.

* CREATING - The session is being started, including acquiring * resources.

CREATED - The session has been started.

* IDLE - The session is able to accept a calculation.

* BUSY - The session is processing another task and is unable to * accept a calculation.

TERMINATING - The session is in the * process of shutting down.

TERMINATED - The session and its * resources are no longer running.

DEGRADED - The session has * no healthy coordinators.

FAILED - Due to a failure, the * session and its resources are no longer running.

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

The state of the session. A description of each state follows.

* CREATING - The session is being started, including acquiring * resources.

CREATED - The session has been started.

* IDLE - The session is able to accept a calculation.

* BUSY - The session is processing another task and is unable to * accept a calculation.

TERMINATING - The session is in the * process of shutting down.

TERMINATED - The session and its * resources are no longer running.

DEGRADED - The session has * no healthy coordinators.

FAILED - Due to a failure, the * session and its resources are no longer running.

*/ inline SessionStatus& WithState(const SessionState& value) { SetState(value); return *this;} /** *

The state of the session. A description of each state follows.

* CREATING - The session is being started, including acquiring * resources.

CREATED - The session has been started.

* IDLE - The session is able to accept a calculation.

* BUSY - The session is processing another task and is unable to * accept a calculation.

TERMINATING - The session is in the * process of shutting down.

TERMINATED - The session and its * resources are no longer running.

DEGRADED - The session has * no healthy coordinators.

FAILED - Due to a failure, the * session and its resources are no longer running.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

*/ inline SessionStatus& WithStateChangeReason(const char* value) { SetStateChangeReason(value); return *this;} private: Aws::Utils::DateTime m_startDateTime; bool m_startDateTimeHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedDateTime; bool m_lastModifiedDateTimeHasBeenSet = false; Aws::Utils::DateTime m_endDateTime; bool m_endDateTimeHasBeenSet = false; Aws::Utils::DateTime m_idleSinceDateTime; bool m_idleSinceDateTimeHasBeenSet = false; SessionState m_state; bool m_stateHasBeenSet = false; Aws::String m_stateChangeReason; bool m_stateChangeReasonHasBeenSet = false; }; } // namespace Model } // namespace Athena } // namespace Aws