AWS SDK for C++

AWS SDK for C++ Version 1.11.782

Loading...
Searching...
No Matches
DescribeSnapshotAttributeResponse.h
1
6#pragma once
7#include <aws/core/http/HttpResponse.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/CreateVolumePermission.h>
12#include <aws/ec2/model/ProductCode.h>
13#include <aws/ec2/model/ResponseMetadata.h>
14
15#include <utility>
16
17namespace Aws {
18template <typename RESULT_TYPE>
19class AmazonWebServiceResult;
20
21namespace Utils {
22namespace Xml {
23class XmlDocument;
24} // namespace Xml
25} // namespace Utils
26namespace EC2 {
27namespace Model {
29 public:
30 AWS_EC2_API DescribeSnapshotAttributeResponse() = default;
33
35
38 inline const Aws::Vector<ProductCode>& GetProductCodes() const { return m_productCodes; }
39 template <typename ProductCodesT = Aws::Vector<ProductCode>>
40 void SetProductCodes(ProductCodesT&& value) {
41 m_productCodesHasBeenSet = true;
42 m_productCodes = std::forward<ProductCodesT>(value);
43 }
44 template <typename ProductCodesT = Aws::Vector<ProductCode>>
46 SetProductCodes(std::forward<ProductCodesT>(value));
47 return *this;
48 }
49 template <typename ProductCodesT = ProductCode>
51 m_productCodesHasBeenSet = true;
52 m_productCodes.emplace_back(std::forward<ProductCodesT>(value));
53 return *this;
54 }
56
58
61 inline const Aws::String& GetSnapshotId() const { return m_snapshotId; }
62 template <typename SnapshotIdT = Aws::String>
63 void SetSnapshotId(SnapshotIdT&& value) {
64 m_snapshotIdHasBeenSet = true;
65 m_snapshotId = std::forward<SnapshotIdT>(value);
66 }
67 template <typename SnapshotIdT = Aws::String>
69 SetSnapshotId(std::forward<SnapshotIdT>(value));
70 return *this;
71 }
73
75
79 inline const Aws::Vector<CreateVolumePermission>& GetCreateVolumePermissions() const { return m_createVolumePermissions; }
80 template <typename CreateVolumePermissionsT = Aws::Vector<CreateVolumePermission>>
81 void SetCreateVolumePermissions(CreateVolumePermissionsT&& value) {
82 m_createVolumePermissionsHasBeenSet = true;
83 m_createVolumePermissions = std::forward<CreateVolumePermissionsT>(value);
84 }
85 template <typename CreateVolumePermissionsT = Aws::Vector<CreateVolumePermission>>
87 SetCreateVolumePermissions(std::forward<CreateVolumePermissionsT>(value));
88 return *this;
89 }
90 template <typename CreateVolumePermissionsT = CreateVolumePermission>
92 m_createVolumePermissionsHasBeenSet = true;
93 m_createVolumePermissions.emplace_back(std::forward<CreateVolumePermissionsT>(value));
94 return *this;
95 }
97
99
100 inline const ResponseMetadata& GetResponseMetadata() const { return m_responseMetadata; }
101 template <typename ResponseMetadataT = ResponseMetadata>
102 void SetResponseMetadata(ResponseMetadataT&& value) {
103 m_responseMetadataHasBeenSet = true;
104 m_responseMetadata = std::forward<ResponseMetadataT>(value);
105 }
106 template <typename ResponseMetadataT = ResponseMetadata>
108 SetResponseMetadata(std::forward<ResponseMetadataT>(value));
109 return *this;
110 }
112 inline Aws::Http::HttpResponseCode GetHttpResponseCode() const { return m_HttpResponseCode; }
113
114 private:
115 Aws::Vector<ProductCode> m_productCodes;
116
117 Aws::String m_snapshotId;
118
119 Aws::Vector<CreateVolumePermission> m_createVolumePermissions;
120
121 ResponseMetadata m_responseMetadata;
122 Aws::Http::HttpResponseCode m_HttpResponseCode;
123 bool m_productCodesHasBeenSet = false;
124 bool m_snapshotIdHasBeenSet = false;
125 bool m_createVolumePermissionsHasBeenSet = false;
126 bool m_responseMetadataHasBeenSet = false;
127};
128
129} // namespace Model
130} // namespace EC2
131} // namespace Aws
DescribeSnapshotAttributeResponse & WithResponseMetadata(ResponseMetadataT &&value)
AWS_EC2_API DescribeSnapshotAttributeResponse(const Aws::AmazonWebServiceResult< Aws::Utils::Xml::XmlDocument > &result)
DescribeSnapshotAttributeResponse & AddCreateVolumePermissions(CreateVolumePermissionsT &&value)
DescribeSnapshotAttributeResponse & WithCreateVolumePermissions(CreateVolumePermissionsT &&value)
AWS_EC2_API DescribeSnapshotAttributeResponse & operator=(const Aws::AmazonWebServiceResult< Aws::Utils::Xml::XmlDocument > &result)
DescribeSnapshotAttributeResponse & WithSnapshotId(SnapshotIdT &&value)
const Aws::Vector< CreateVolumePermission > & GetCreateVolumePermissions() const
DescribeSnapshotAttributeResponse & WithProductCodes(ProductCodesT &&value)
DescribeSnapshotAttributeResponse & AddProductCodes(ProductCodesT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Xml::XmlDocument XmlDocument