/** * 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 { template class AmazonWebServiceResult; namespace Utils { namespace Xml { class XmlDocument; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

Describes an image attribute.

See Also:

AWS * API Reference

*/ class AWS_EC2_API DescribeImageAttributeResponse { public: DescribeImageAttributeResponse(); DescribeImageAttributeResponse(const Aws::AmazonWebServiceResult& result); DescribeImageAttributeResponse& operator=(const Aws::AmazonWebServiceResult& result); /** *

The block device mapping entries.

*/ inline const Aws::Vector& GetBlockDeviceMappings() const{ return m_blockDeviceMappings; } /** *

The block device mapping entries.

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

The block device mapping entries.

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

The block device mapping entries.

*/ inline DescribeImageAttributeResponse& WithBlockDeviceMappings(const Aws::Vector& value) { SetBlockDeviceMappings(value); return *this;} /** *

The block device mapping entries.

*/ inline DescribeImageAttributeResponse& WithBlockDeviceMappings(Aws::Vector&& value) { SetBlockDeviceMappings(std::move(value)); return *this;} /** *

The block device mapping entries.

*/ inline DescribeImageAttributeResponse& AddBlockDeviceMappings(const BlockDeviceMapping& value) { m_blockDeviceMappings.push_back(value); return *this; } /** *

The block device mapping entries.

*/ inline DescribeImageAttributeResponse& AddBlockDeviceMappings(BlockDeviceMapping&& value) { m_blockDeviceMappings.push_back(std::move(value)); return *this; } /** *

The ID of the AMI.

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

The ID of the AMI.

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

The ID of the AMI.

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

The ID of the AMI.

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

The ID of the AMI.

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

The ID of the AMI.

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

The ID of the AMI.

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

The launch permissions.

*/ inline const Aws::Vector& GetLaunchPermissions() const{ return m_launchPermissions; } /** *

The launch permissions.

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

The launch permissions.

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

The launch permissions.

*/ inline DescribeImageAttributeResponse& WithLaunchPermissions(const Aws::Vector& value) { SetLaunchPermissions(value); return *this;} /** *

The launch permissions.

*/ inline DescribeImageAttributeResponse& WithLaunchPermissions(Aws::Vector&& value) { SetLaunchPermissions(std::move(value)); return *this;} /** *

The launch permissions.

*/ inline DescribeImageAttributeResponse& AddLaunchPermissions(const LaunchPermission& value) { m_launchPermissions.push_back(value); return *this; } /** *

The launch permissions.

*/ inline DescribeImageAttributeResponse& AddLaunchPermissions(LaunchPermission&& value) { m_launchPermissions.push_back(std::move(value)); return *this; } /** *

The product codes.

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

The product codes.

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

The product codes.

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

The product codes.

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

The product codes.

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

The product codes.

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

The product codes.

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

A description for the AMI.

*/ inline const AttributeValue& GetDescription() const{ return m_description; } /** *

A description for the AMI.

*/ inline void SetDescription(const AttributeValue& value) { m_description = value; } /** *

A description for the AMI.

*/ inline void SetDescription(AttributeValue&& value) { m_description = std::move(value); } /** *

A description for the AMI.

*/ inline DescribeImageAttributeResponse& WithDescription(const AttributeValue& value) { SetDescription(value); return *this;} /** *

A description for the AMI.

*/ inline DescribeImageAttributeResponse& WithDescription(AttributeValue&& value) { SetDescription(std::move(value)); return *this;} /** *

The kernel ID.

*/ inline const AttributeValue& GetKernelId() const{ return m_kernelId; } /** *

The kernel ID.

*/ inline void SetKernelId(const AttributeValue& value) { m_kernelId = value; } /** *

The kernel ID.

*/ inline void SetKernelId(AttributeValue&& value) { m_kernelId = std::move(value); } /** *

The kernel ID.

*/ inline DescribeImageAttributeResponse& WithKernelId(const AttributeValue& value) { SetKernelId(value); return *this;} /** *

The kernel ID.

*/ inline DescribeImageAttributeResponse& WithKernelId(AttributeValue&& value) { SetKernelId(std::move(value)); return *this;} /** *

The RAM disk ID.

*/ inline const AttributeValue& GetRamdiskId() const{ return m_ramdiskId; } /** *

The RAM disk ID.

*/ inline void SetRamdiskId(const AttributeValue& value) { m_ramdiskId = value; } /** *

The RAM disk ID.

*/ inline void SetRamdiskId(AttributeValue&& value) { m_ramdiskId = std::move(value); } /** *

The RAM disk ID.

*/ inline DescribeImageAttributeResponse& WithRamdiskId(const AttributeValue& value) { SetRamdiskId(value); return *this;} /** *

The RAM disk ID.

*/ inline DescribeImageAttributeResponse& WithRamdiskId(AttributeValue&& value) { SetRamdiskId(std::move(value)); return *this;} /** *

Indicates whether enhanced networking with the Intel 82599 Virtual Function * interface is enabled.

*/ inline const AttributeValue& GetSriovNetSupport() const{ return m_sriovNetSupport; } /** *

Indicates whether enhanced networking with the Intel 82599 Virtual Function * interface is enabled.

*/ inline void SetSriovNetSupport(const AttributeValue& value) { m_sriovNetSupport = value; } /** *

Indicates whether enhanced networking with the Intel 82599 Virtual Function * interface is enabled.

*/ inline void SetSriovNetSupport(AttributeValue&& value) { m_sriovNetSupport = std::move(value); } /** *

Indicates whether enhanced networking with the Intel 82599 Virtual Function * interface is enabled.

*/ inline DescribeImageAttributeResponse& WithSriovNetSupport(const AttributeValue& value) { SetSriovNetSupport(value); return *this;} /** *

Indicates whether enhanced networking with the Intel 82599 Virtual Function * interface is enabled.

*/ inline DescribeImageAttributeResponse& WithSriovNetSupport(AttributeValue&& value) { SetSriovNetSupport(std::move(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 DescribeImageAttributeResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} inline DescribeImageAttributeResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} private: Aws::Vector m_blockDeviceMappings; Aws::String m_imageId; Aws::Vector m_launchPermissions; Aws::Vector m_productCodes; AttributeValue m_description; AttributeValue m_kernelId; AttributeValue m_ramdiskId; AttributeValue m_sriovNetSupport; ResponseMetadata m_responseMetadata; }; } // namespace Model } // namespace EC2 } // namespace Aws