/** * 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 #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace WorkSpaces { namespace Model { /** *

Describes a WorkSpace bundle.

See Also:

AWS * API Reference

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

The identifier of the bundle.

*/ inline const Aws::String& GetBundleId() const{ return m_bundleId; } /** *

The identifier of the bundle.

*/ inline bool BundleIdHasBeenSet() const { return m_bundleIdHasBeenSet; } /** *

The identifier of the bundle.

*/ inline void SetBundleId(const Aws::String& value) { m_bundleIdHasBeenSet = true; m_bundleId = value; } /** *

The identifier of the bundle.

*/ inline void SetBundleId(Aws::String&& value) { m_bundleIdHasBeenSet = true; m_bundleId = std::move(value); } /** *

The identifier of the bundle.

*/ inline void SetBundleId(const char* value) { m_bundleIdHasBeenSet = true; m_bundleId.assign(value); } /** *

The identifier of the bundle.

*/ inline WorkspaceBundle& WithBundleId(const Aws::String& value) { SetBundleId(value); return *this;} /** *

The identifier of the bundle.

*/ inline WorkspaceBundle& WithBundleId(Aws::String&& value) { SetBundleId(std::move(value)); return *this;} /** *

The identifier of the bundle.

*/ inline WorkspaceBundle& WithBundleId(const char* value) { SetBundleId(value); return *this;} /** *

The name of the bundle.

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

The name of the bundle.

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

The name of the bundle.

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

The name of the bundle.

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

The name of the bundle.

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

The name of the bundle.

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

The name of the bundle.

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

The name of the bundle.

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

The owner of the bundle. This is the account identifier of the owner, or * AMAZON if the bundle is provided by Amazon Web Services.

*/ inline const Aws::String& GetOwner() const{ return m_owner; } /** *

The owner of the bundle. This is the account identifier of the owner, or * AMAZON if the bundle is provided by Amazon Web Services.

*/ inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; } /** *

The owner of the bundle. This is the account identifier of the owner, or * AMAZON if the bundle is provided by Amazon Web Services.

*/ inline void SetOwner(const Aws::String& value) { m_ownerHasBeenSet = true; m_owner = value; } /** *

The owner of the bundle. This is the account identifier of the owner, or * AMAZON if the bundle is provided by Amazon Web Services.

*/ inline void SetOwner(Aws::String&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); } /** *

The owner of the bundle. This is the account identifier of the owner, or * AMAZON if the bundle is provided by Amazon Web Services.

*/ inline void SetOwner(const char* value) { m_ownerHasBeenSet = true; m_owner.assign(value); } /** *

The owner of the bundle. This is the account identifier of the owner, or * AMAZON if the bundle is provided by Amazon Web Services.

*/ inline WorkspaceBundle& WithOwner(const Aws::String& value) { SetOwner(value); return *this;} /** *

The owner of the bundle. This is the account identifier of the owner, or * AMAZON if the bundle is provided by Amazon Web Services.

*/ inline WorkspaceBundle& WithOwner(Aws::String&& value) { SetOwner(std::move(value)); return *this;} /** *

The owner of the bundle. This is the account identifier of the owner, or * AMAZON if the bundle is provided by Amazon Web Services.

*/ inline WorkspaceBundle& WithOwner(const char* value) { SetOwner(value); return *this;} /** *

The description of the bundle.

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

The description of the bundle.

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

The description of the bundle.

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

The description of the bundle.

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

The description of the bundle.

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

The description of the bundle.

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

The description of the bundle.

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

The description of the bundle.

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

The identifier of the image that was used to create the bundle.

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

The identifier of the image that was used to create the bundle.

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

The identifier of the image that was used to create the bundle.

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

The identifier of the image that was used to create the bundle.

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

The identifier of the image that was used to create the bundle.

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

The identifier of the image that was used to create the bundle.

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

The identifier of the image that was used to create the bundle.

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

The identifier of the image that was used to create the bundle.

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

The size of the root volume.

*/ inline const RootStorage& GetRootStorage() const{ return m_rootStorage; } /** *

The size of the root volume.

*/ inline bool RootStorageHasBeenSet() const { return m_rootStorageHasBeenSet; } /** *

The size of the root volume.

*/ inline void SetRootStorage(const RootStorage& value) { m_rootStorageHasBeenSet = true; m_rootStorage = value; } /** *

The size of the root volume.

*/ inline void SetRootStorage(RootStorage&& value) { m_rootStorageHasBeenSet = true; m_rootStorage = std::move(value); } /** *

The size of the root volume.

*/ inline WorkspaceBundle& WithRootStorage(const RootStorage& value) { SetRootStorage(value); return *this;} /** *

The size of the root volume.

*/ inline WorkspaceBundle& WithRootStorage(RootStorage&& value) { SetRootStorage(std::move(value)); return *this;} /** *

The size of the user volume.

*/ inline const UserStorage& GetUserStorage() const{ return m_userStorage; } /** *

The size of the user volume.

*/ inline bool UserStorageHasBeenSet() const { return m_userStorageHasBeenSet; } /** *

The size of the user volume.

*/ inline void SetUserStorage(const UserStorage& value) { m_userStorageHasBeenSet = true; m_userStorage = value; } /** *

The size of the user volume.

*/ inline void SetUserStorage(UserStorage&& value) { m_userStorageHasBeenSet = true; m_userStorage = std::move(value); } /** *

The size of the user volume.

*/ inline WorkspaceBundle& WithUserStorage(const UserStorage& value) { SetUserStorage(value); return *this;} /** *

The size of the user volume.

*/ inline WorkspaceBundle& WithUserStorage(UserStorage&& value) { SetUserStorage(std::move(value)); return *this;} /** *

The compute type of the bundle. For more information, see Amazon * WorkSpaces Bundles.

*/ inline const ComputeType& GetComputeType() const{ return m_computeType; } /** *

The compute type of the bundle. For more information, see Amazon * WorkSpaces Bundles.

*/ inline bool ComputeTypeHasBeenSet() const { return m_computeTypeHasBeenSet; } /** *

The compute type of the bundle. For more information, see Amazon * WorkSpaces Bundles.

*/ inline void SetComputeType(const ComputeType& value) { m_computeTypeHasBeenSet = true; m_computeType = value; } /** *

The compute type of the bundle. For more information, see Amazon * WorkSpaces Bundles.

*/ inline void SetComputeType(ComputeType&& value) { m_computeTypeHasBeenSet = true; m_computeType = std::move(value); } /** *

The compute type of the bundle. For more information, see Amazon * WorkSpaces Bundles.

*/ inline WorkspaceBundle& WithComputeType(const ComputeType& value) { SetComputeType(value); return *this;} /** *

The compute type of the bundle. For more information, see Amazon * WorkSpaces Bundles.

*/ inline WorkspaceBundle& WithComputeType(ComputeType&& value) { SetComputeType(std::move(value)); return *this;} /** *

The last time that the bundle was updated.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedTime() const{ return m_lastUpdatedTime; } /** *

The last time that the bundle was updated.

*/ inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; } /** *

The last time that the bundle was updated.

*/ inline void SetLastUpdatedTime(const Aws::Utils::DateTime& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = value; } /** *

The last time that the bundle was updated.

*/ inline void SetLastUpdatedTime(Aws::Utils::DateTime&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::move(value); } /** *

The last time that the bundle was updated.

*/ inline WorkspaceBundle& WithLastUpdatedTime(const Aws::Utils::DateTime& value) { SetLastUpdatedTime(value); return *this;} /** *

The last time that the bundle was updated.

*/ inline WorkspaceBundle& WithLastUpdatedTime(Aws::Utils::DateTime&& value) { SetLastUpdatedTime(std::move(value)); return *this;} /** *

The time when the bundle was created.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The time when the bundle was created.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The time when the bundle was created.

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The time when the bundle was created.

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

The time when the bundle was created.

*/ inline WorkspaceBundle& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The time when the bundle was created.

*/ inline WorkspaceBundle& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The state of the WorkSpace bundle.

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

The state of the WorkSpace bundle.

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

The state of the WorkSpace bundle.

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

The state of the WorkSpace bundle.

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

The state of the WorkSpace bundle.

*/ inline WorkspaceBundle& WithState(const WorkspaceBundleState& value) { SetState(value); return *this;} /** *

The state of the WorkSpace bundle.

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

The type of WorkSpace bundle.

*/ inline const BundleType& GetBundleType() const{ return m_bundleType; } /** *

The type of WorkSpace bundle.

*/ inline bool BundleTypeHasBeenSet() const { return m_bundleTypeHasBeenSet; } /** *

The type of WorkSpace bundle.

*/ inline void SetBundleType(const BundleType& value) { m_bundleTypeHasBeenSet = true; m_bundleType = value; } /** *

The type of WorkSpace bundle.

*/ inline void SetBundleType(BundleType&& value) { m_bundleTypeHasBeenSet = true; m_bundleType = std::move(value); } /** *

The type of WorkSpace bundle.

*/ inline WorkspaceBundle& WithBundleType(const BundleType& value) { SetBundleType(value); return *this;} /** *

The type of WorkSpace bundle.

*/ inline WorkspaceBundle& WithBundleType(BundleType&& value) { SetBundleType(std::move(value)); return *this;} private: Aws::String m_bundleId; bool m_bundleIdHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_owner; bool m_ownerHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_imageId; bool m_imageIdHasBeenSet = false; RootStorage m_rootStorage; bool m_rootStorageHasBeenSet = false; UserStorage m_userStorage; bool m_userStorageHasBeenSet = false; ComputeType m_computeType; bool m_computeTypeHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedTime; bool m_lastUpdatedTimeHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; WorkspaceBundleState m_state; bool m_stateHasBeenSet = false; BundleType m_bundleType; bool m_bundleTypeHasBeenSet = false; }; } // namespace Model } // namespace WorkSpaces } // namespace Aws