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

Describes a WorkSpace image.

See Also:

AWS * API Reference

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

The identifier of the image.

*/ inline const Aws::String& GetImageId() const{ return m_imageId; } /** *

The identifier of the image.

*/ inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; } /** *

The identifier of the image.

*/ inline void SetImageId(const Aws::String& value) { m_imageIdHasBeenSet = true; m_imageId = value; } /** *

The identifier of the image.

*/ inline void SetImageId(Aws::String&& value) { m_imageIdHasBeenSet = true; m_imageId = std::move(value); } /** *

The identifier of the image.

*/ inline void SetImageId(const char* value) { m_imageIdHasBeenSet = true; m_imageId.assign(value); } /** *

The identifier of the image.

*/ inline WorkspaceImage& WithImageId(const Aws::String& value) { SetImageId(value); return *this;} /** *

The identifier of the image.

*/ inline WorkspaceImage& WithImageId(Aws::String&& value) { SetImageId(std::move(value)); return *this;} /** *

The identifier of the image.

*/ inline WorkspaceImage& WithImageId(const char* value) { SetImageId(value); return *this;} /** *

The name of the image.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the image.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the image.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the image.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the image.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the image.

*/ inline WorkspaceImage& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the image.

*/ inline WorkspaceImage& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the image.

*/ inline WorkspaceImage& WithName(const char* value) { SetName(value); return *this;} /** *

The description of the image.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description of the image.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description of the image.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description of the image.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description of the image.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description of the image.

*/ inline WorkspaceImage& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the image.

*/ inline WorkspaceImage& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description of the image.

*/ inline WorkspaceImage& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The operating system that the image is running.

*/ inline const OperatingSystem& GetOperatingSystem() const{ return m_operatingSystem; } /** *

The operating system that the image is running.

*/ inline bool OperatingSystemHasBeenSet() const { return m_operatingSystemHasBeenSet; } /** *

The operating system that the image is running.

*/ inline void SetOperatingSystem(const OperatingSystem& value) { m_operatingSystemHasBeenSet = true; m_operatingSystem = value; } /** *

The operating system that the image is running.

*/ inline void SetOperatingSystem(OperatingSystem&& value) { m_operatingSystemHasBeenSet = true; m_operatingSystem = std::move(value); } /** *

The operating system that the image is running.

*/ inline WorkspaceImage& WithOperatingSystem(const OperatingSystem& value) { SetOperatingSystem(value); return *this;} /** *

The operating system that the image is running.

*/ inline WorkspaceImage& WithOperatingSystem(OperatingSystem&& value) { SetOperatingSystem(std::move(value)); return *this;} /** *

The status of the image.

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

The status of the image.

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

The status of the image.

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

The status of the image.

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

The status of the image.

*/ inline WorkspaceImage& WithState(const WorkspaceImageState& value) { SetState(value); return *this;} /** *

The status of the image.

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

Specifies whether the image is running on dedicated hardware. When Bring Your * Own License (BYOL) is enabled, this value is set to DEDICATED. For * more information, see Bring * Your Own Windows Desktop Images.

*/ inline const WorkspaceImageRequiredTenancy& GetRequiredTenancy() const{ return m_requiredTenancy; } /** *

Specifies whether the image is running on dedicated hardware. When Bring Your * Own License (BYOL) is enabled, this value is set to DEDICATED. For * more information, see Bring * Your Own Windows Desktop Images.

*/ inline bool RequiredTenancyHasBeenSet() const { return m_requiredTenancyHasBeenSet; } /** *

Specifies whether the image is running on dedicated hardware. When Bring Your * Own License (BYOL) is enabled, this value is set to DEDICATED. For * more information, see Bring * Your Own Windows Desktop Images.

*/ inline void SetRequiredTenancy(const WorkspaceImageRequiredTenancy& value) { m_requiredTenancyHasBeenSet = true; m_requiredTenancy = value; } /** *

Specifies whether the image is running on dedicated hardware. When Bring Your * Own License (BYOL) is enabled, this value is set to DEDICATED. For * more information, see Bring * Your Own Windows Desktop Images.

*/ inline void SetRequiredTenancy(WorkspaceImageRequiredTenancy&& value) { m_requiredTenancyHasBeenSet = true; m_requiredTenancy = std::move(value); } /** *

Specifies whether the image is running on dedicated hardware. When Bring Your * Own License (BYOL) is enabled, this value is set to DEDICATED. For * more information, see Bring * Your Own Windows Desktop Images.

*/ inline WorkspaceImage& WithRequiredTenancy(const WorkspaceImageRequiredTenancy& value) { SetRequiredTenancy(value); return *this;} /** *

Specifies whether the image is running on dedicated hardware. When Bring Your * Own License (BYOL) is enabled, this value is set to DEDICATED. For * more information, see Bring * Your Own Windows Desktop Images.

*/ inline WorkspaceImage& WithRequiredTenancy(WorkspaceImageRequiredTenancy&& value) { SetRequiredTenancy(std::move(value)); return *this;} /** *

The error code that is returned for the image.

*/ inline const Aws::String& GetErrorCode() const{ return m_errorCode; } /** *

The error code that is returned for the image.

*/ inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; } /** *

The error code that is returned for the image.

*/ inline void SetErrorCode(const Aws::String& value) { m_errorCodeHasBeenSet = true; m_errorCode = value; } /** *

The error code that is returned for the image.

*/ inline void SetErrorCode(Aws::String&& value) { m_errorCodeHasBeenSet = true; m_errorCode = std::move(value); } /** *

The error code that is returned for the image.

*/ inline void SetErrorCode(const char* value) { m_errorCodeHasBeenSet = true; m_errorCode.assign(value); } /** *

The error code that is returned for the image.

*/ inline WorkspaceImage& WithErrorCode(const Aws::String& value) { SetErrorCode(value); return *this;} /** *

The error code that is returned for the image.

*/ inline WorkspaceImage& WithErrorCode(Aws::String&& value) { SetErrorCode(std::move(value)); return *this;} /** *

The error code that is returned for the image.

*/ inline WorkspaceImage& WithErrorCode(const char* value) { SetErrorCode(value); return *this;} /** *

The text of the error message that is returned for the image.

*/ inline const Aws::String& GetErrorMessage() const{ return m_errorMessage; } /** *

The text of the error message that is returned for the image.

*/ inline bool ErrorMessageHasBeenSet() const { return m_errorMessageHasBeenSet; } /** *

The text of the error message that is returned for the image.

*/ inline void SetErrorMessage(const Aws::String& value) { m_errorMessageHasBeenSet = true; m_errorMessage = value; } /** *

The text of the error message that is returned for the image.

*/ inline void SetErrorMessage(Aws::String&& value) { m_errorMessageHasBeenSet = true; m_errorMessage = std::move(value); } /** *

The text of the error message that is returned for the image.

*/ inline void SetErrorMessage(const char* value) { m_errorMessageHasBeenSet = true; m_errorMessage.assign(value); } /** *

The text of the error message that is returned for the image.

*/ inline WorkspaceImage& WithErrorMessage(const Aws::String& value) { SetErrorMessage(value); return *this;} /** *

The text of the error message that is returned for the image.

*/ inline WorkspaceImage& WithErrorMessage(Aws::String&& value) { SetErrorMessage(std::move(value)); return *this;} /** *

The text of the error message that is returned for the image.

*/ inline WorkspaceImage& WithErrorMessage(const char* value) { SetErrorMessage(value); return *this;} /** *

The date when the image was created. If the image has been shared, the Amazon * Web Services account that the image has been shared with sees the original * creation date of the image.

*/ inline const Aws::Utils::DateTime& GetCreated() const{ return m_created; } /** *

The date when the image was created. If the image has been shared, the Amazon * Web Services account that the image has been shared with sees the original * creation date of the image.

*/ inline bool CreatedHasBeenSet() const { return m_createdHasBeenSet; } /** *

The date when the image was created. If the image has been shared, the Amazon * Web Services account that the image has been shared with sees the original * creation date of the image.

*/ inline void SetCreated(const Aws::Utils::DateTime& value) { m_createdHasBeenSet = true; m_created = value; } /** *

The date when the image was created. If the image has been shared, the Amazon * Web Services account that the image has been shared with sees the original * creation date of the image.

*/ inline void SetCreated(Aws::Utils::DateTime&& value) { m_createdHasBeenSet = true; m_created = std::move(value); } /** *

The date when the image was created. If the image has been shared, the Amazon * Web Services account that the image has been shared with sees the original * creation date of the image.

*/ inline WorkspaceImage& WithCreated(const Aws::Utils::DateTime& value) { SetCreated(value); return *this;} /** *

The date when the image was created. If the image has been shared, the Amazon * Web Services account that the image has been shared with sees the original * creation date of the image.

*/ inline WorkspaceImage& WithCreated(Aws::Utils::DateTime&& value) { SetCreated(std::move(value)); return *this;} /** *

The identifier of the Amazon Web Services account that owns the image.

*/ inline const Aws::String& GetOwnerAccountId() const{ return m_ownerAccountId; } /** *

The identifier of the Amazon Web Services account that owns the image.

*/ inline bool OwnerAccountIdHasBeenSet() const { return m_ownerAccountIdHasBeenSet; } /** *

The identifier of the Amazon Web Services account that owns the image.

*/ inline void SetOwnerAccountId(const Aws::String& value) { m_ownerAccountIdHasBeenSet = true; m_ownerAccountId = value; } /** *

The identifier of the Amazon Web Services account that owns the image.

*/ inline void SetOwnerAccountId(Aws::String&& value) { m_ownerAccountIdHasBeenSet = true; m_ownerAccountId = std::move(value); } /** *

The identifier of the Amazon Web Services account that owns the image.

*/ inline void SetOwnerAccountId(const char* value) { m_ownerAccountIdHasBeenSet = true; m_ownerAccountId.assign(value); } /** *

The identifier of the Amazon Web Services account that owns the image.

*/ inline WorkspaceImage& WithOwnerAccountId(const Aws::String& value) { SetOwnerAccountId(value); return *this;} /** *

The identifier of the Amazon Web Services account that owns the image.

*/ inline WorkspaceImage& WithOwnerAccountId(Aws::String&& value) { SetOwnerAccountId(std::move(value)); return *this;} /** *

The identifier of the Amazon Web Services account that owns the image.

*/ inline WorkspaceImage& WithOwnerAccountId(const char* value) { SetOwnerAccountId(value); return *this;} /** *

The updates (if any) that are available for the specified image.

*/ inline const UpdateResult& GetUpdates() const{ return m_updates; } /** *

The updates (if any) that are available for the specified image.

*/ inline bool UpdatesHasBeenSet() const { return m_updatesHasBeenSet; } /** *

The updates (if any) that are available for the specified image.

*/ inline void SetUpdates(const UpdateResult& value) { m_updatesHasBeenSet = true; m_updates = value; } /** *

The updates (if any) that are available for the specified image.

*/ inline void SetUpdates(UpdateResult&& value) { m_updatesHasBeenSet = true; m_updates = std::move(value); } /** *

The updates (if any) that are available for the specified image.

*/ inline WorkspaceImage& WithUpdates(const UpdateResult& value) { SetUpdates(value); return *this;} /** *

The updates (if any) that are available for the specified image.

*/ inline WorkspaceImage& WithUpdates(UpdateResult&& value) { SetUpdates(std::move(value)); return *this;} private: Aws::String m_imageId; bool m_imageIdHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; OperatingSystem m_operatingSystem; bool m_operatingSystemHasBeenSet = false; WorkspaceImageState m_state; bool m_stateHasBeenSet = false; WorkspaceImageRequiredTenancy m_requiredTenancy; bool m_requiredTenancyHasBeenSet = false; Aws::String m_errorCode; bool m_errorCodeHasBeenSet = false; Aws::String m_errorMessage; bool m_errorMessageHasBeenSet = false; Aws::Utils::DateTime m_created; bool m_createdHasBeenSet = false; Aws::String m_ownerAccountId; bool m_ownerAccountIdHasBeenSet = false; UpdateResult m_updates; bool m_updatesHasBeenSet = false; }; } // namespace Model } // namespace WorkSpaces } // namespace Aws