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

Represents a gateway's local disk.

See Also:

AWS * API Reference

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

The unique device ID or other distinguishing data that identifies a local * disk.

*/ inline const Aws::String& GetDiskId() const{ return m_diskId; } /** *

The unique device ID or other distinguishing data that identifies a local * disk.

*/ inline bool DiskIdHasBeenSet() const { return m_diskIdHasBeenSet; } /** *

The unique device ID or other distinguishing data that identifies a local * disk.

*/ inline void SetDiskId(const Aws::String& value) { m_diskIdHasBeenSet = true; m_diskId = value; } /** *

The unique device ID or other distinguishing data that identifies a local * disk.

*/ inline void SetDiskId(Aws::String&& value) { m_diskIdHasBeenSet = true; m_diskId = std::move(value); } /** *

The unique device ID or other distinguishing data that identifies a local * disk.

*/ inline void SetDiskId(const char* value) { m_diskIdHasBeenSet = true; m_diskId.assign(value); } /** *

The unique device ID or other distinguishing data that identifies a local * disk.

*/ inline Disk& WithDiskId(const Aws::String& value) { SetDiskId(value); return *this;} /** *

The unique device ID or other distinguishing data that identifies a local * disk.

*/ inline Disk& WithDiskId(Aws::String&& value) { SetDiskId(std::move(value)); return *this;} /** *

The unique device ID or other distinguishing data that identifies a local * disk.

*/ inline Disk& WithDiskId(const char* value) { SetDiskId(value); return *this;} /** *

The path of a local disk in the gateway virtual machine (VM).

*/ inline const Aws::String& GetDiskPath() const{ return m_diskPath; } /** *

The path of a local disk in the gateway virtual machine (VM).

*/ inline bool DiskPathHasBeenSet() const { return m_diskPathHasBeenSet; } /** *

The path of a local disk in the gateway virtual machine (VM).

*/ inline void SetDiskPath(const Aws::String& value) { m_diskPathHasBeenSet = true; m_diskPath = value; } /** *

The path of a local disk in the gateway virtual machine (VM).

*/ inline void SetDiskPath(Aws::String&& value) { m_diskPathHasBeenSet = true; m_diskPath = std::move(value); } /** *

The path of a local disk in the gateway virtual machine (VM).

*/ inline void SetDiskPath(const char* value) { m_diskPathHasBeenSet = true; m_diskPath.assign(value); } /** *

The path of a local disk in the gateway virtual machine (VM).

*/ inline Disk& WithDiskPath(const Aws::String& value) { SetDiskPath(value); return *this;} /** *

The path of a local disk in the gateway virtual machine (VM).

*/ inline Disk& WithDiskPath(Aws::String&& value) { SetDiskPath(std::move(value)); return *this;} /** *

The path of a local disk in the gateway virtual machine (VM).

*/ inline Disk& WithDiskPath(const char* value) { SetDiskPath(value); return *this;} /** *

The device node of a local disk as assigned by the virtualization * environment.

*/ inline const Aws::String& GetDiskNode() const{ return m_diskNode; } /** *

The device node of a local disk as assigned by the virtualization * environment.

*/ inline bool DiskNodeHasBeenSet() const { return m_diskNodeHasBeenSet; } /** *

The device node of a local disk as assigned by the virtualization * environment.

*/ inline void SetDiskNode(const Aws::String& value) { m_diskNodeHasBeenSet = true; m_diskNode = value; } /** *

The device node of a local disk as assigned by the virtualization * environment.

*/ inline void SetDiskNode(Aws::String&& value) { m_diskNodeHasBeenSet = true; m_diskNode = std::move(value); } /** *

The device node of a local disk as assigned by the virtualization * environment.

*/ inline void SetDiskNode(const char* value) { m_diskNodeHasBeenSet = true; m_diskNode.assign(value); } /** *

The device node of a local disk as assigned by the virtualization * environment.

*/ inline Disk& WithDiskNode(const Aws::String& value) { SetDiskNode(value); return *this;} /** *

The device node of a local disk as assigned by the virtualization * environment.

*/ inline Disk& WithDiskNode(Aws::String&& value) { SetDiskNode(std::move(value)); return *this;} /** *

The device node of a local disk as assigned by the virtualization * environment.

*/ inline Disk& WithDiskNode(const char* value) { SetDiskNode(value); return *this;} /** *

A value that represents the status of a local disk.

*/ inline const Aws::String& GetDiskStatus() const{ return m_diskStatus; } /** *

A value that represents the status of a local disk.

*/ inline bool DiskStatusHasBeenSet() const { return m_diskStatusHasBeenSet; } /** *

A value that represents the status of a local disk.

*/ inline void SetDiskStatus(const Aws::String& value) { m_diskStatusHasBeenSet = true; m_diskStatus = value; } /** *

A value that represents the status of a local disk.

*/ inline void SetDiskStatus(Aws::String&& value) { m_diskStatusHasBeenSet = true; m_diskStatus = std::move(value); } /** *

A value that represents the status of a local disk.

*/ inline void SetDiskStatus(const char* value) { m_diskStatusHasBeenSet = true; m_diskStatus.assign(value); } /** *

A value that represents the status of a local disk.

*/ inline Disk& WithDiskStatus(const Aws::String& value) { SetDiskStatus(value); return *this;} /** *

A value that represents the status of a local disk.

*/ inline Disk& WithDiskStatus(Aws::String&& value) { SetDiskStatus(std::move(value)); return *this;} /** *

A value that represents the status of a local disk.

*/ inline Disk& WithDiskStatus(const char* value) { SetDiskStatus(value); return *this;} /** *

The local disk size in bytes.

*/ inline long long GetDiskSizeInBytes() const{ return m_diskSizeInBytes; } /** *

The local disk size in bytes.

*/ inline bool DiskSizeInBytesHasBeenSet() const { return m_diskSizeInBytesHasBeenSet; } /** *

The local disk size in bytes.

*/ inline void SetDiskSizeInBytes(long long value) { m_diskSizeInBytesHasBeenSet = true; m_diskSizeInBytes = value; } /** *

The local disk size in bytes.

*/ inline Disk& WithDiskSizeInBytes(long long value) { SetDiskSizeInBytes(value); return *this;} inline const Aws::String& GetDiskAllocationType() const{ return m_diskAllocationType; } inline bool DiskAllocationTypeHasBeenSet() const { return m_diskAllocationTypeHasBeenSet; } inline void SetDiskAllocationType(const Aws::String& value) { m_diskAllocationTypeHasBeenSet = true; m_diskAllocationType = value; } inline void SetDiskAllocationType(Aws::String&& value) { m_diskAllocationTypeHasBeenSet = true; m_diskAllocationType = std::move(value); } inline void SetDiskAllocationType(const char* value) { m_diskAllocationTypeHasBeenSet = true; m_diskAllocationType.assign(value); } inline Disk& WithDiskAllocationType(const Aws::String& value) { SetDiskAllocationType(value); return *this;} inline Disk& WithDiskAllocationType(Aws::String&& value) { SetDiskAllocationType(std::move(value)); return *this;} inline Disk& WithDiskAllocationType(const char* value) { SetDiskAllocationType(value); return *this;} /** *

The iSCSI qualified name (IQN) that is defined for a disk. This field is not * included in the response if the local disk is not defined as an iSCSI target. * The format of this field is targetIqn::LUNNumber::region-volumeId.

*/ inline const Aws::String& GetDiskAllocationResource() const{ return m_diskAllocationResource; } /** *

The iSCSI qualified name (IQN) that is defined for a disk. This field is not * included in the response if the local disk is not defined as an iSCSI target. * The format of this field is targetIqn::LUNNumber::region-volumeId.

*/ inline bool DiskAllocationResourceHasBeenSet() const { return m_diskAllocationResourceHasBeenSet; } /** *

The iSCSI qualified name (IQN) that is defined for a disk. This field is not * included in the response if the local disk is not defined as an iSCSI target. * The format of this field is targetIqn::LUNNumber::region-volumeId.

*/ inline void SetDiskAllocationResource(const Aws::String& value) { m_diskAllocationResourceHasBeenSet = true; m_diskAllocationResource = value; } /** *

The iSCSI qualified name (IQN) that is defined for a disk. This field is not * included in the response if the local disk is not defined as an iSCSI target. * The format of this field is targetIqn::LUNNumber::region-volumeId.

*/ inline void SetDiskAllocationResource(Aws::String&& value) { m_diskAllocationResourceHasBeenSet = true; m_diskAllocationResource = std::move(value); } /** *

The iSCSI qualified name (IQN) that is defined for a disk. This field is not * included in the response if the local disk is not defined as an iSCSI target. * The format of this field is targetIqn::LUNNumber::region-volumeId.

*/ inline void SetDiskAllocationResource(const char* value) { m_diskAllocationResourceHasBeenSet = true; m_diskAllocationResource.assign(value); } /** *

The iSCSI qualified name (IQN) that is defined for a disk. This field is not * included in the response if the local disk is not defined as an iSCSI target. * The format of this field is targetIqn::LUNNumber::region-volumeId.

*/ inline Disk& WithDiskAllocationResource(const Aws::String& value) { SetDiskAllocationResource(value); return *this;} /** *

The iSCSI qualified name (IQN) that is defined for a disk. This field is not * included in the response if the local disk is not defined as an iSCSI target. * The format of this field is targetIqn::LUNNumber::region-volumeId.

*/ inline Disk& WithDiskAllocationResource(Aws::String&& value) { SetDiskAllocationResource(std::move(value)); return *this;} /** *

The iSCSI qualified name (IQN) that is defined for a disk. This field is not * included in the response if the local disk is not defined as an iSCSI target. * The format of this field is targetIqn::LUNNumber::region-volumeId.

*/ inline Disk& WithDiskAllocationResource(const char* value) { SetDiskAllocationResource(value); return *this;} inline const Aws::Vector& GetDiskAttributeList() const{ return m_diskAttributeList; } inline bool DiskAttributeListHasBeenSet() const { return m_diskAttributeListHasBeenSet; } inline void SetDiskAttributeList(const Aws::Vector& value) { m_diskAttributeListHasBeenSet = true; m_diskAttributeList = value; } inline void SetDiskAttributeList(Aws::Vector&& value) { m_diskAttributeListHasBeenSet = true; m_diskAttributeList = std::move(value); } inline Disk& WithDiskAttributeList(const Aws::Vector& value) { SetDiskAttributeList(value); return *this;} inline Disk& WithDiskAttributeList(Aws::Vector&& value) { SetDiskAttributeList(std::move(value)); return *this;} inline Disk& AddDiskAttributeList(const Aws::String& value) { m_diskAttributeListHasBeenSet = true; m_diskAttributeList.push_back(value); return *this; } inline Disk& AddDiskAttributeList(Aws::String&& value) { m_diskAttributeListHasBeenSet = true; m_diskAttributeList.push_back(std::move(value)); return *this; } inline Disk& AddDiskAttributeList(const char* value) { m_diskAttributeListHasBeenSet = true; m_diskAttributeList.push_back(value); return *this; } private: Aws::String m_diskId; bool m_diskIdHasBeenSet = false; Aws::String m_diskPath; bool m_diskPathHasBeenSet = false; Aws::String m_diskNode; bool m_diskNodeHasBeenSet = false; Aws::String m_diskStatus; bool m_diskStatusHasBeenSet = false; long long m_diskSizeInBytes; bool m_diskSizeInBytesHasBeenSet = false; Aws::String m_diskAllocationType; bool m_diskAllocationTypeHasBeenSet = false; Aws::String m_diskAllocationResource; bool m_diskAllocationResourceHasBeenSet = false; Aws::Vector m_diskAttributeList; bool m_diskAttributeListHasBeenSet = false; }; } // namespace Model } // namespace StorageGateway } // namespace Aws