AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ModifySnapshotAttributeRequest.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/ec2/EC2Request.h>
9#include <aws/ec2/model/SnapshotAttributeName.h>
10#include <aws/ec2/model/CreateVolumePermissionModifications.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/OperationType.h>
13#include <aws/core/utils/memory/stl/AWSString.h>
14#include <utility>
15
16namespace Aws
17{
18namespace EC2
19{
20namespace Model
21{
22
26 {
27 public:
28 AWS_EC2_API ModifySnapshotAttributeRequest() = default;
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "ModifySnapshotAttribute"; }
35
36 AWS_EC2_API Aws::String SerializePayload() const override;
37
38 protected:
39 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
40
41 public:
42
44
48 inline SnapshotAttributeName GetAttribute() const { return m_attribute; }
49 inline bool AttributeHasBeenSet() const { return m_attributeHasBeenSet; }
50 inline void SetAttribute(SnapshotAttributeName value) { m_attributeHasBeenSet = true; m_attribute = value; }
53
55
58 inline const CreateVolumePermissionModifications& GetCreateVolumePermission() const { return m_createVolumePermission; }
59 inline bool CreateVolumePermissionHasBeenSet() const { return m_createVolumePermissionHasBeenSet; }
60 template<typename CreateVolumePermissionT = CreateVolumePermissionModifications>
61 void SetCreateVolumePermission(CreateVolumePermissionT&& value) { m_createVolumePermissionHasBeenSet = true; m_createVolumePermission = std::forward<CreateVolumePermissionT>(value); }
62 template<typename CreateVolumePermissionT = CreateVolumePermissionModifications>
63 ModifySnapshotAttributeRequest& WithCreateVolumePermission(CreateVolumePermissionT&& value) { SetCreateVolumePermission(std::forward<CreateVolumePermissionT>(value)); return *this;}
65
67
70 inline const Aws::Vector<Aws::String>& GetGroupNames() const { return m_groupNames; }
71 inline bool GroupNamesHasBeenSet() const { return m_groupNamesHasBeenSet; }
72 template<typename GroupNamesT = Aws::Vector<Aws::String>>
73 void SetGroupNames(GroupNamesT&& value) { m_groupNamesHasBeenSet = true; m_groupNames = std::forward<GroupNamesT>(value); }
74 template<typename GroupNamesT = Aws::Vector<Aws::String>>
75 ModifySnapshotAttributeRequest& WithGroupNames(GroupNamesT&& value) { SetGroupNames(std::forward<GroupNamesT>(value)); return *this;}
76 template<typename GroupNamesT = Aws::String>
77 ModifySnapshotAttributeRequest& AddGroupNames(GroupNamesT&& value) { m_groupNamesHasBeenSet = true; m_groupNames.emplace_back(std::forward<GroupNamesT>(value)); return *this; }
79
81
84 inline OperationType GetOperationType() const { return m_operationType; }
85 inline bool OperationTypeHasBeenSet() const { return m_operationTypeHasBeenSet; }
86 inline void SetOperationType(OperationType value) { m_operationTypeHasBeenSet = true; m_operationType = value; }
89
91
94 inline const Aws::String& GetSnapshotId() const { return m_snapshotId; }
95 inline bool SnapshotIdHasBeenSet() const { return m_snapshotIdHasBeenSet; }
96 template<typename SnapshotIdT = Aws::String>
97 void SetSnapshotId(SnapshotIdT&& value) { m_snapshotIdHasBeenSet = true; m_snapshotId = std::forward<SnapshotIdT>(value); }
98 template<typename SnapshotIdT = Aws::String>
99 ModifySnapshotAttributeRequest& WithSnapshotId(SnapshotIdT&& value) { SetSnapshotId(std::forward<SnapshotIdT>(value)); return *this;}
101
103
106 inline const Aws::Vector<Aws::String>& GetUserIds() const { return m_userIds; }
107 inline bool UserIdsHasBeenSet() const { return m_userIdsHasBeenSet; }
108 template<typename UserIdsT = Aws::Vector<Aws::String>>
109 void SetUserIds(UserIdsT&& value) { m_userIdsHasBeenSet = true; m_userIds = std::forward<UserIdsT>(value); }
110 template<typename UserIdsT = Aws::Vector<Aws::String>>
111 ModifySnapshotAttributeRequest& WithUserIds(UserIdsT&& value) { SetUserIds(std::forward<UserIdsT>(value)); return *this;}
112 template<typename UserIdsT = Aws::String>
113 ModifySnapshotAttributeRequest& AddUserIds(UserIdsT&& value) { m_userIdsHasBeenSet = true; m_userIds.emplace_back(std::forward<UserIdsT>(value)); return *this; }
115
117
123 inline bool GetDryRun() const { return m_dryRun; }
124 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
125 inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; }
126 inline ModifySnapshotAttributeRequest& WithDryRun(bool value) { SetDryRun(value); return *this;}
128 private:
129
131 bool m_attributeHasBeenSet = false;
132
133 CreateVolumePermissionModifications m_createVolumePermission;
134 bool m_createVolumePermissionHasBeenSet = false;
135
136 Aws::Vector<Aws::String> m_groupNames;
137 bool m_groupNamesHasBeenSet = false;
138
139 OperationType m_operationType{OperationType::NOT_SET};
140 bool m_operationTypeHasBeenSet = false;
141
142 Aws::String m_snapshotId;
143 bool m_snapshotIdHasBeenSet = false;
144
145 Aws::Vector<Aws::String> m_userIds;
146 bool m_userIdsHasBeenSet = false;
147
148 bool m_dryRun{false};
149 bool m_dryRunHasBeenSet = false;
150 };
151
152} // namespace Model
153} // namespace EC2
154} // namespace Aws
virtual const char * GetServiceRequestName() const override
const Aws::Vector< Aws::String > & GetGroupNames() const
ModifySnapshotAttributeRequest & WithGroupNames(GroupNamesT &&value)
const Aws::Vector< Aws::String > & GetUserIds() const
ModifySnapshotAttributeRequest & WithUserIds(UserIdsT &&value)
const CreateVolumePermissionModifications & GetCreateVolumePermission() const
AWS_EC2_API Aws::String SerializePayload() const override
ModifySnapshotAttributeRequest & WithSnapshotId(SnapshotIdT &&value)
ModifySnapshotAttributeRequest & WithOperationType(OperationType value)
ModifySnapshotAttributeRequest & WithCreateVolumePermission(CreateVolumePermissionT &&value)
ModifySnapshotAttributeRequest & AddUserIds(UserIdsT &&value)
ModifySnapshotAttributeRequest & AddGroupNames(GroupNamesT &&value)
ModifySnapshotAttributeRequest & WithDryRun(bool value)
ModifySnapshotAttributeRequest & WithAttribute(SnapshotAttributeName value)
void SetCreateVolumePermission(CreateVolumePermissionT &&value)
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector