7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/ec2/EC2Request.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/CreateVolumePermissionModifications.h>
12#include <aws/ec2/model/OperationType.h>
13#include <aws/ec2/model/SnapshotAttributeName.h>
47 m_attributeHasBeenSet =
true;
62 template <
typename CreateVolumePermissionT = CreateVolumePermissionModifications>
64 m_createVolumePermissionHasBeenSet =
true;
65 m_createVolumePermission = std::forward<CreateVolumePermissionT>(value);
67 template <
typename CreateVolumePermissionT = CreateVolumePermissionModifications>
80 template <
typename GroupNamesT = Aws::Vector<Aws::String>>
82 m_groupNamesHasBeenSet =
true;
83 m_groupNames = std::forward<GroupNamesT>(value);
85 template <
typename GroupNamesT = Aws::Vector<Aws::String>>
90 template <
typename GroupNamesT = Aws::String>
92 m_groupNamesHasBeenSet =
true;
93 m_groupNames.emplace_back(std::forward<GroupNamesT>(value));
105 m_operationTypeHasBeenSet =
true;
106 m_operationType = value;
120 template <
typename SnapshotIdT = Aws::String>
122 m_snapshotIdHasBeenSet =
true;
123 m_snapshotId = std::forward<SnapshotIdT>(value);
125 template <
typename SnapshotIdT = Aws::String>
138 template <
typename UserIdsT = Aws::Vector<Aws::String>>
140 m_userIdsHasBeenSet =
true;
141 m_userIds = std::forward<UserIdsT>(value);
143 template <
typename UserIdsT = Aws::Vector<Aws::String>>
148 template <
typename UserIdsT = Aws::String>
150 m_userIdsHasBeenSet =
true;
151 m_userIds.emplace_back(std::forward<UserIdsT>(value));
166 m_dryRunHasBeenSet =
true;
177 CreateVolumePermissionModifications m_createVolumePermission;
187 bool m_dryRun{
false};
188 bool m_attributeHasBeenSet =
false;
189 bool m_createVolumePermissionHasBeenSet =
false;
190 bool m_groupNamesHasBeenSet =
false;
191 bool m_operationTypeHasBeenSet =
false;
192 bool m_snapshotIdHasBeenSet =
false;
193 bool m_userIdsHasBeenSet =
false;
194 bool m_dryRunHasBeenSet =
false;
OperationType GetOperationType() const
AWS_EC2_API ModifySnapshotAttributeRequest()=default
virtual const char * GetServiceRequestName() const override
const Aws::Vector< Aws::String > & GetGroupNames() const
bool DryRunHasBeenSet() const
SnapshotAttributeName GetAttribute() const
const Aws::String & GetSnapshotId() const
ModifySnapshotAttributeRequest & WithGroupNames(GroupNamesT &&value)
bool SnapshotIdHasBeenSet() const
const Aws::Vector< Aws::String > & GetUserIds() const
void SetAttribute(SnapshotAttributeName value)
void SetOperationType(OperationType value)
ModifySnapshotAttributeRequest & WithUserIds(UserIdsT &&value)
const CreateVolumePermissionModifications & GetCreateVolumePermission() const
bool AttributeHasBeenSet() const
void SetGroupNames(GroupNamesT &&value)
AWS_EC2_API Aws::String SerializePayload() const override
ModifySnapshotAttributeRequest & WithSnapshotId(SnapshotIdT &&value)
bool CreateVolumePermissionHasBeenSet() const
void SetDryRun(bool value)
ModifySnapshotAttributeRequest & WithOperationType(OperationType value)
ModifySnapshotAttributeRequest & WithCreateVolumePermission(CreateVolumePermissionT &&value)
ModifySnapshotAttributeRequest & AddUserIds(UserIdsT &&value)
ModifySnapshotAttributeRequest & AddGroupNames(GroupNamesT &&value)
ModifySnapshotAttributeRequest & WithDryRun(bool value)
void SetSnapshotId(SnapshotIdT &&value)
ModifySnapshotAttributeRequest & WithAttribute(SnapshotAttributeName value)
void SetCreateVolumePermission(CreateVolumePermissionT &&value)
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
void SetUserIds(UserIdsT &&value)
bool UserIdsHasBeenSet() const
bool GroupNamesHasBeenSet() const
bool OperationTypeHasBeenSet() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector