/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents a device object associated with a tape gateway.See
* Also:
AWS
* API Reference
Specifies the unique Amazon Resource Name (ARN) of the device (tape drive or * media changer).
*/ inline const Aws::String& GetVTLDeviceARN() const{ return m_vTLDeviceARN; } /** *Specifies the unique Amazon Resource Name (ARN) of the device (tape drive or * media changer).
*/ inline bool VTLDeviceARNHasBeenSet() const { return m_vTLDeviceARNHasBeenSet; } /** *Specifies the unique Amazon Resource Name (ARN) of the device (tape drive or * media changer).
*/ inline void SetVTLDeviceARN(const Aws::String& value) { m_vTLDeviceARNHasBeenSet = true; m_vTLDeviceARN = value; } /** *Specifies the unique Amazon Resource Name (ARN) of the device (tape drive or * media changer).
*/ inline void SetVTLDeviceARN(Aws::String&& value) { m_vTLDeviceARNHasBeenSet = true; m_vTLDeviceARN = std::move(value); } /** *Specifies the unique Amazon Resource Name (ARN) of the device (tape drive or * media changer).
*/ inline void SetVTLDeviceARN(const char* value) { m_vTLDeviceARNHasBeenSet = true; m_vTLDeviceARN.assign(value); } /** *Specifies the unique Amazon Resource Name (ARN) of the device (tape drive or * media changer).
*/ inline VTLDevice& WithVTLDeviceARN(const Aws::String& value) { SetVTLDeviceARN(value); return *this;} /** *Specifies the unique Amazon Resource Name (ARN) of the device (tape drive or * media changer).
*/ inline VTLDevice& WithVTLDeviceARN(Aws::String&& value) { SetVTLDeviceARN(std::move(value)); return *this;} /** *Specifies the unique Amazon Resource Name (ARN) of the device (tape drive or * media changer).
*/ inline VTLDevice& WithVTLDeviceARN(const char* value) { SetVTLDeviceARN(value); return *this;} /** *Specifies the type of device that the VTL device emulates.
*/ inline const Aws::String& GetVTLDeviceType() const{ return m_vTLDeviceType; } /** *Specifies the type of device that the VTL device emulates.
*/ inline bool VTLDeviceTypeHasBeenSet() const { return m_vTLDeviceTypeHasBeenSet; } /** *Specifies the type of device that the VTL device emulates.
*/ inline void SetVTLDeviceType(const Aws::String& value) { m_vTLDeviceTypeHasBeenSet = true; m_vTLDeviceType = value; } /** *Specifies the type of device that the VTL device emulates.
*/ inline void SetVTLDeviceType(Aws::String&& value) { m_vTLDeviceTypeHasBeenSet = true; m_vTLDeviceType = std::move(value); } /** *Specifies the type of device that the VTL device emulates.
*/ inline void SetVTLDeviceType(const char* value) { m_vTLDeviceTypeHasBeenSet = true; m_vTLDeviceType.assign(value); } /** *Specifies the type of device that the VTL device emulates.
*/ inline VTLDevice& WithVTLDeviceType(const Aws::String& value) { SetVTLDeviceType(value); return *this;} /** *Specifies the type of device that the VTL device emulates.
*/ inline VTLDevice& WithVTLDeviceType(Aws::String&& value) { SetVTLDeviceType(std::move(value)); return *this;} /** *Specifies the type of device that the VTL device emulates.
*/ inline VTLDevice& WithVTLDeviceType(const char* value) { SetVTLDeviceType(value); return *this;} /** *Specifies the vendor of the device that the VTL device object emulates.
*/ inline const Aws::String& GetVTLDeviceVendor() const{ return m_vTLDeviceVendor; } /** *Specifies the vendor of the device that the VTL device object emulates.
*/ inline bool VTLDeviceVendorHasBeenSet() const { return m_vTLDeviceVendorHasBeenSet; } /** *Specifies the vendor of the device that the VTL device object emulates.
*/ inline void SetVTLDeviceVendor(const Aws::String& value) { m_vTLDeviceVendorHasBeenSet = true; m_vTLDeviceVendor = value; } /** *Specifies the vendor of the device that the VTL device object emulates.
*/ inline void SetVTLDeviceVendor(Aws::String&& value) { m_vTLDeviceVendorHasBeenSet = true; m_vTLDeviceVendor = std::move(value); } /** *Specifies the vendor of the device that the VTL device object emulates.
*/ inline void SetVTLDeviceVendor(const char* value) { m_vTLDeviceVendorHasBeenSet = true; m_vTLDeviceVendor.assign(value); } /** *Specifies the vendor of the device that the VTL device object emulates.
*/ inline VTLDevice& WithVTLDeviceVendor(const Aws::String& value) { SetVTLDeviceVendor(value); return *this;} /** *Specifies the vendor of the device that the VTL device object emulates.
*/ inline VTLDevice& WithVTLDeviceVendor(Aws::String&& value) { SetVTLDeviceVendor(std::move(value)); return *this;} /** *Specifies the vendor of the device that the VTL device object emulates.
*/ inline VTLDevice& WithVTLDeviceVendor(const char* value) { SetVTLDeviceVendor(value); return *this;} /** *Specifies the model number of device that the VTL device emulates.
*/ inline const Aws::String& GetVTLDeviceProductIdentifier() const{ return m_vTLDeviceProductIdentifier; } /** *Specifies the model number of device that the VTL device emulates.
*/ inline bool VTLDeviceProductIdentifierHasBeenSet() const { return m_vTLDeviceProductIdentifierHasBeenSet; } /** *Specifies the model number of device that the VTL device emulates.
*/ inline void SetVTLDeviceProductIdentifier(const Aws::String& value) { m_vTLDeviceProductIdentifierHasBeenSet = true; m_vTLDeviceProductIdentifier = value; } /** *Specifies the model number of device that the VTL device emulates.
*/ inline void SetVTLDeviceProductIdentifier(Aws::String&& value) { m_vTLDeviceProductIdentifierHasBeenSet = true; m_vTLDeviceProductIdentifier = std::move(value); } /** *Specifies the model number of device that the VTL device emulates.
*/ inline void SetVTLDeviceProductIdentifier(const char* value) { m_vTLDeviceProductIdentifierHasBeenSet = true; m_vTLDeviceProductIdentifier.assign(value); } /** *Specifies the model number of device that the VTL device emulates.
*/ inline VTLDevice& WithVTLDeviceProductIdentifier(const Aws::String& value) { SetVTLDeviceProductIdentifier(value); return *this;} /** *Specifies the model number of device that the VTL device emulates.
*/ inline VTLDevice& WithVTLDeviceProductIdentifier(Aws::String&& value) { SetVTLDeviceProductIdentifier(std::move(value)); return *this;} /** *Specifies the model number of device that the VTL device emulates.
*/ inline VTLDevice& WithVTLDeviceProductIdentifier(const char* value) { SetVTLDeviceProductIdentifier(value); return *this;} /** *A list of iSCSI information about a VTL device.
*/ inline const DeviceiSCSIAttributes& GetDeviceiSCSIAttributes() const{ return m_deviceiSCSIAttributes; } /** *A list of iSCSI information about a VTL device.
*/ inline bool DeviceiSCSIAttributesHasBeenSet() const { return m_deviceiSCSIAttributesHasBeenSet; } /** *A list of iSCSI information about a VTL device.
*/ inline void SetDeviceiSCSIAttributes(const DeviceiSCSIAttributes& value) { m_deviceiSCSIAttributesHasBeenSet = true; m_deviceiSCSIAttributes = value; } /** *A list of iSCSI information about a VTL device.
*/ inline void SetDeviceiSCSIAttributes(DeviceiSCSIAttributes&& value) { m_deviceiSCSIAttributesHasBeenSet = true; m_deviceiSCSIAttributes = std::move(value); } /** *A list of iSCSI information about a VTL device.
*/ inline VTLDevice& WithDeviceiSCSIAttributes(const DeviceiSCSIAttributes& value) { SetDeviceiSCSIAttributes(value); return *this;} /** *A list of iSCSI information about a VTL device.
*/ inline VTLDevice& WithDeviceiSCSIAttributes(DeviceiSCSIAttributes&& value) { SetDeviceiSCSIAttributes(std::move(value)); return *this;} private: Aws::String m_vTLDeviceARN; bool m_vTLDeviceARNHasBeenSet = false; Aws::String m_vTLDeviceType; bool m_vTLDeviceTypeHasBeenSet = false; Aws::String m_vTLDeviceVendor; bool m_vTLDeviceVendorHasBeenSet = false; Aws::String m_vTLDeviceProductIdentifier; bool m_vTLDeviceProductIdentifierHasBeenSet = false; DeviceiSCSIAttributes m_deviceiSCSIAttributes; bool m_deviceiSCSIAttributesHasBeenSet = false; }; } // namespace Model } // namespace StorageGateway } // namespace Aws