/** * 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 namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Xml { class XmlDocument; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { class DescribeVolumeAttributeResponse { public: AWS_EC2_API DescribeVolumeAttributeResponse(); AWS_EC2_API DescribeVolumeAttributeResponse(const Aws::AmazonWebServiceResult& result); AWS_EC2_API DescribeVolumeAttributeResponse& operator=(const Aws::AmazonWebServiceResult& result); /** *

The state of autoEnableIO attribute.

*/ inline const AttributeBooleanValue& GetAutoEnableIO() const{ return m_autoEnableIO; } /** *

The state of autoEnableIO attribute.

*/ inline void SetAutoEnableIO(const AttributeBooleanValue& value) { m_autoEnableIO = value; } /** *

The state of autoEnableIO attribute.

*/ inline void SetAutoEnableIO(AttributeBooleanValue&& value) { m_autoEnableIO = std::move(value); } /** *

The state of autoEnableIO attribute.

*/ inline DescribeVolumeAttributeResponse& WithAutoEnableIO(const AttributeBooleanValue& value) { SetAutoEnableIO(value); return *this;} /** *

The state of autoEnableIO attribute.

*/ inline DescribeVolumeAttributeResponse& WithAutoEnableIO(AttributeBooleanValue&& value) { SetAutoEnableIO(std::move(value)); return *this;} /** *

A list of product codes.

*/ inline const Aws::Vector& GetProductCodes() const{ return m_productCodes; } /** *

A list of product codes.

*/ inline void SetProductCodes(const Aws::Vector& value) { m_productCodes = value; } /** *

A list of product codes.

*/ inline void SetProductCodes(Aws::Vector&& value) { m_productCodes = std::move(value); } /** *

A list of product codes.

*/ inline DescribeVolumeAttributeResponse& WithProductCodes(const Aws::Vector& value) { SetProductCodes(value); return *this;} /** *

A list of product codes.

*/ inline DescribeVolumeAttributeResponse& WithProductCodes(Aws::Vector&& value) { SetProductCodes(std::move(value)); return *this;} /** *

A list of product codes.

*/ inline DescribeVolumeAttributeResponse& AddProductCodes(const ProductCode& value) { m_productCodes.push_back(value); return *this; } /** *

A list of product codes.

*/ inline DescribeVolumeAttributeResponse& AddProductCodes(ProductCode&& value) { m_productCodes.push_back(std::move(value)); return *this; } /** *

The ID of the volume.

*/ inline const Aws::String& GetVolumeId() const{ return m_volumeId; } /** *

The ID of the volume.

*/ inline void SetVolumeId(const Aws::String& value) { m_volumeId = value; } /** *

The ID of the volume.

*/ inline void SetVolumeId(Aws::String&& value) { m_volumeId = std::move(value); } /** *

The ID of the volume.

*/ inline void SetVolumeId(const char* value) { m_volumeId.assign(value); } /** *

The ID of the volume.

*/ inline DescribeVolumeAttributeResponse& WithVolumeId(const Aws::String& value) { SetVolumeId(value); return *this;} /** *

The ID of the volume.

*/ inline DescribeVolumeAttributeResponse& WithVolumeId(Aws::String&& value) { SetVolumeId(std::move(value)); return *this;} /** *

The ID of the volume.

*/ inline DescribeVolumeAttributeResponse& WithVolumeId(const char* value) { SetVolumeId(value); return *this;} inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } inline DescribeVolumeAttributeResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} inline DescribeVolumeAttributeResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} private: AttributeBooleanValue m_autoEnableIO; Aws::Vector m_productCodes; Aws::String m_volumeId; ResponseMetadata m_responseMetadata; }; } // namespace Model } // namespace EC2 } // namespace Aws