/** * 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 DescribeSnapshotAttributeResponse { public: AWS_EC2_API DescribeSnapshotAttributeResponse(); AWS_EC2_API DescribeSnapshotAttributeResponse(const Aws::AmazonWebServiceResult& result); AWS_EC2_API DescribeSnapshotAttributeResponse& operator=(const Aws::AmazonWebServiceResult& result); /** *

The users and groups that have the permissions for creating volumes from the * snapshot.

*/ inline const Aws::Vector& GetCreateVolumePermissions() const{ return m_createVolumePermissions; } /** *

The users and groups that have the permissions for creating volumes from the * snapshot.

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

The users and groups that have the permissions for creating volumes from the * snapshot.

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

The users and groups that have the permissions for creating volumes from the * snapshot.

*/ inline DescribeSnapshotAttributeResponse& WithCreateVolumePermissions(const Aws::Vector& value) { SetCreateVolumePermissions(value); return *this;} /** *

The users and groups that have the permissions for creating volumes from the * snapshot.

*/ inline DescribeSnapshotAttributeResponse& WithCreateVolumePermissions(Aws::Vector&& value) { SetCreateVolumePermissions(std::move(value)); return *this;} /** *

The users and groups that have the permissions for creating volumes from the * snapshot.

*/ inline DescribeSnapshotAttributeResponse& AddCreateVolumePermissions(const CreateVolumePermission& value) { m_createVolumePermissions.push_back(value); return *this; } /** *

The users and groups that have the permissions for creating volumes from the * snapshot.

*/ inline DescribeSnapshotAttributeResponse& AddCreateVolumePermissions(CreateVolumePermission&& value) { m_createVolumePermissions.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 DescribeSnapshotAttributeResponse& WithProductCodes(const Aws::Vector& value) { SetProductCodes(value); return *this;} /** *

The product codes.

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

The product codes.

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

The product codes.

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

The ID of the EBS snapshot.

*/ inline const Aws::String& GetSnapshotId() const{ return m_snapshotId; } /** *

The ID of the EBS snapshot.

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

The ID of the EBS snapshot.

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

The ID of the EBS snapshot.

*/ inline void SetSnapshotId(const char* value) { m_snapshotId.assign(value); } /** *

The ID of the EBS snapshot.

*/ inline DescribeSnapshotAttributeResponse& WithSnapshotId(const Aws::String& value) { SetSnapshotId(value); return *this;} /** *

The ID of the EBS snapshot.

*/ inline DescribeSnapshotAttributeResponse& WithSnapshotId(Aws::String&& value) { SetSnapshotId(std::move(value)); return *this;} /** *

The ID of the EBS snapshot.

*/ inline DescribeSnapshotAttributeResponse& WithSnapshotId(const char* value) { SetSnapshotId(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 DescribeSnapshotAttributeResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} inline DescribeSnapshotAttributeResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} private: Aws::Vector m_createVolumePermissions; Aws::Vector m_productCodes; Aws::String m_snapshotId; ResponseMetadata m_responseMetadata; }; } // namespace Model } // namespace EC2 } // namespace Aws