/** * 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 related WorkSpace. The related WorkSpace could be a standby * WorkSpace or primary WorkSpace related to the specified WorkSpace.

See * Also:

AWS * API Reference

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

The identifier of the related WorkSpace.

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

The identifier of the related WorkSpace.

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

The identifier of the related WorkSpace.

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

The identifier of the related WorkSpace.

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

The identifier of the related WorkSpace.

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

The identifier of the related WorkSpace.

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

The identifier of the related WorkSpace.

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

The identifier of the related WorkSpace.

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

The Region of the related WorkSpace.

*/ inline const Aws::String& GetRegion() const{ return m_region; } /** *

The Region of the related WorkSpace.

*/ inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } /** *

The Region of the related WorkSpace.

*/ inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } /** *

The Region of the related WorkSpace.

*/ inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } /** *

The Region of the related WorkSpace.

*/ inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } /** *

The Region of the related WorkSpace.

*/ inline RelatedWorkspaceProperties& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} /** *

The Region of the related WorkSpace.

*/ inline RelatedWorkspaceProperties& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} /** *

The Region of the related WorkSpace.

*/ inline RelatedWorkspaceProperties& WithRegion(const char* value) { SetRegion(value); return *this;} /** *

Indicates the state of the WorkSpace.

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

Indicates the state of the WorkSpace.

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

Indicates the state of the WorkSpace.

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

Indicates the state of the WorkSpace.

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

Indicates the state of the WorkSpace.

*/ inline RelatedWorkspaceProperties& WithState(const WorkspaceState& value) { SetState(value); return *this;} /** *

Indicates the state of the WorkSpace.

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

Indicates the type of WorkSpace.

*/ inline const StandbyWorkspaceRelationshipType& GetType() const{ return m_type; } /** *

Indicates the type of WorkSpace.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

Indicates the type of WorkSpace.

*/ inline void SetType(const StandbyWorkspaceRelationshipType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

Indicates the type of WorkSpace.

*/ inline void SetType(StandbyWorkspaceRelationshipType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

Indicates the type of WorkSpace.

*/ inline RelatedWorkspaceProperties& WithType(const StandbyWorkspaceRelationshipType& value) { SetType(value); return *this;} /** *

Indicates the type of WorkSpace.

*/ inline RelatedWorkspaceProperties& WithType(StandbyWorkspaceRelationshipType&& value) { SetType(std::move(value)); return *this;} private: Aws::String m_workspaceId; bool m_workspaceIdHasBeenSet = false; Aws::String m_region; bool m_regionHasBeenSet = false; WorkspaceState m_state; bool m_stateHasBeenSet = false; StandbyWorkspaceRelationshipType m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace WorkSpaces } // namespace Aws