/** * 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 WorkSpaces { namespace Model { /** *

Describes the connection status of a WorkSpace.

See Also:

AWS * API Reference

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

The identifier of the WorkSpace.

*/ inline const Aws::String& GetWorkspaceId() const{ return m_workspaceId; } /** *

The identifier of the WorkSpace.

*/ inline bool WorkspaceIdHasBeenSet() const { return m_workspaceIdHasBeenSet; } /** *

The identifier of the WorkSpace.

*/ inline void SetWorkspaceId(const Aws::String& value) { m_workspaceIdHasBeenSet = true; m_workspaceId = value; } /** *

The identifier of the WorkSpace.

*/ inline void SetWorkspaceId(Aws::String&& value) { m_workspaceIdHasBeenSet = true; m_workspaceId = std::move(value); } /** *

The identifier of the WorkSpace.

*/ inline void SetWorkspaceId(const char* value) { m_workspaceIdHasBeenSet = true; m_workspaceId.assign(value); } /** *

The identifier of the WorkSpace.

*/ inline WorkspaceConnectionStatus& WithWorkspaceId(const Aws::String& value) { SetWorkspaceId(value); return *this;} /** *

The identifier of the WorkSpace.

*/ inline WorkspaceConnectionStatus& WithWorkspaceId(Aws::String&& value) { SetWorkspaceId(std::move(value)); return *this;} /** *

The identifier of the WorkSpace.

*/ inline WorkspaceConnectionStatus& WithWorkspaceId(const char* value) { SetWorkspaceId(value); return *this;} /** *

The connection state of the WorkSpace. The connection state is unknown if the * WorkSpace is stopped.

*/ inline const ConnectionState& GetConnectionState() const{ return m_connectionState; } /** *

The connection state of the WorkSpace. The connection state is unknown if the * WorkSpace is stopped.

*/ inline bool ConnectionStateHasBeenSet() const { return m_connectionStateHasBeenSet; } /** *

The connection state of the WorkSpace. The connection state is unknown if the * WorkSpace is stopped.

*/ inline void SetConnectionState(const ConnectionState& value) { m_connectionStateHasBeenSet = true; m_connectionState = value; } /** *

The connection state of the WorkSpace. The connection state is unknown if the * WorkSpace is stopped.

*/ inline void SetConnectionState(ConnectionState&& value) { m_connectionStateHasBeenSet = true; m_connectionState = std::move(value); } /** *

The connection state of the WorkSpace. The connection state is unknown if the * WorkSpace is stopped.

*/ inline WorkspaceConnectionStatus& WithConnectionState(const ConnectionState& value) { SetConnectionState(value); return *this;} /** *

The connection state of the WorkSpace. The connection state is unknown if the * WorkSpace is stopped.

*/ inline WorkspaceConnectionStatus& WithConnectionState(ConnectionState&& value) { SetConnectionState(std::move(value)); return *this;} /** *

The timestamp of the connection status check.

*/ inline const Aws::Utils::DateTime& GetConnectionStateCheckTimestamp() const{ return m_connectionStateCheckTimestamp; } /** *

The timestamp of the connection status check.

*/ inline bool ConnectionStateCheckTimestampHasBeenSet() const { return m_connectionStateCheckTimestampHasBeenSet; } /** *

The timestamp of the connection status check.

*/ inline void SetConnectionStateCheckTimestamp(const Aws::Utils::DateTime& value) { m_connectionStateCheckTimestampHasBeenSet = true; m_connectionStateCheckTimestamp = value; } /** *

The timestamp of the connection status check.

*/ inline void SetConnectionStateCheckTimestamp(Aws::Utils::DateTime&& value) { m_connectionStateCheckTimestampHasBeenSet = true; m_connectionStateCheckTimestamp = std::move(value); } /** *

The timestamp of the connection status check.

*/ inline WorkspaceConnectionStatus& WithConnectionStateCheckTimestamp(const Aws::Utils::DateTime& value) { SetConnectionStateCheckTimestamp(value); return *this;} /** *

The timestamp of the connection status check.

*/ inline WorkspaceConnectionStatus& WithConnectionStateCheckTimestamp(Aws::Utils::DateTime&& value) { SetConnectionStateCheckTimestamp(std::move(value)); return *this;} /** *

The timestamp of the last known user connection.

*/ inline const Aws::Utils::DateTime& GetLastKnownUserConnectionTimestamp() const{ return m_lastKnownUserConnectionTimestamp; } /** *

The timestamp of the last known user connection.

*/ inline bool LastKnownUserConnectionTimestampHasBeenSet() const { return m_lastKnownUserConnectionTimestampHasBeenSet; } /** *

The timestamp of the last known user connection.

*/ inline void SetLastKnownUserConnectionTimestamp(const Aws::Utils::DateTime& value) { m_lastKnownUserConnectionTimestampHasBeenSet = true; m_lastKnownUserConnectionTimestamp = value; } /** *

The timestamp of the last known user connection.

*/ inline void SetLastKnownUserConnectionTimestamp(Aws::Utils::DateTime&& value) { m_lastKnownUserConnectionTimestampHasBeenSet = true; m_lastKnownUserConnectionTimestamp = std::move(value); } /** *

The timestamp of the last known user connection.

*/ inline WorkspaceConnectionStatus& WithLastKnownUserConnectionTimestamp(const Aws::Utils::DateTime& value) { SetLastKnownUserConnectionTimestamp(value); return *this;} /** *

The timestamp of the last known user connection.

*/ inline WorkspaceConnectionStatus& WithLastKnownUserConnectionTimestamp(Aws::Utils::DateTime&& value) { SetLastKnownUserConnectionTimestamp(std::move(value)); return *this;} private: Aws::String m_workspaceId; bool m_workspaceIdHasBeenSet = false; ConnectionState m_connectionState; bool m_connectionStateHasBeenSet = false; Aws::Utils::DateTime m_connectionStateCheckTimestamp; bool m_connectionStateCheckTimestampHasBeenSet = false; Aws::Utils::DateTime m_lastKnownUserConnectionTimestamp; bool m_lastKnownUserConnectionTimestampHasBeenSet = false; }; } // namespace Model } // namespace WorkSpaces } // namespace Aws