AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateAccessGrantRequest.h
1
6#pragma once
7#include <aws/s3control/S3Control_EXPORTS.h>
8#include <aws/s3control/S3ControlRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/s3control/model/AccessGrantsLocationConfiguration.h>
11#include <aws/s3control/model/Grantee.h>
12#include <aws/s3control/model/Permission.h>
13#include <aws/s3control/model/S3PrefixType.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15#include <aws/s3control/model/Tag.h>
16#include <utility>
17
18namespace Aws
19{
20namespace S3Control
21{
22namespace Model
23{
24
28 {
29 public:
30 AWS_S3CONTROL_API CreateAccessGrantRequest() = default;
31
32 // Service request name is the Operation name which will send this request out,
33 // each operation should has unique request name, so that we can get operation's name from this request.
34 // Note: this is not true for response, multiple operations may have the same response name,
35 // so we can not get operation's name from response.
36 inline virtual const char* GetServiceRequestName() const override { return "CreateAccessGrant"; }
37
38 AWS_S3CONTROL_API Aws::String SerializePayload() const override;
39
41
42 AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; }
43
47 AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override;
48
50
53 inline const Aws::String& GetAccountId() const { return m_accountId; }
54 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
55 template<typename AccountIdT = Aws::String>
56 void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet = true; m_accountId = std::forward<AccountIdT>(value); }
57 template<typename AccountIdT = Aws::String>
58 CreateAccessGrantRequest& WithAccountId(AccountIdT&& value) { SetAccountId(std::forward<AccountIdT>(value)); return *this;}
60
62
71 inline const Aws::String& GetAccessGrantsLocationId() const { return m_accessGrantsLocationId; }
72 inline bool AccessGrantsLocationIdHasBeenSet() const { return m_accessGrantsLocationIdHasBeenSet; }
73 template<typename AccessGrantsLocationIdT = Aws::String>
74 void SetAccessGrantsLocationId(AccessGrantsLocationIdT&& value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId = std::forward<AccessGrantsLocationIdT>(value); }
75 template<typename AccessGrantsLocationIdT = Aws::String>
76 CreateAccessGrantRequest& WithAccessGrantsLocationId(AccessGrantsLocationIdT&& value) { SetAccessGrantsLocationId(std::forward<AccessGrantsLocationIdT>(value)); return *this;}
78
80
86 inline const AccessGrantsLocationConfiguration& GetAccessGrantsLocationConfiguration() const { return m_accessGrantsLocationConfiguration; }
87 inline bool AccessGrantsLocationConfigurationHasBeenSet() const { return m_accessGrantsLocationConfigurationHasBeenSet; }
88 template<typename AccessGrantsLocationConfigurationT = AccessGrantsLocationConfiguration>
89 void SetAccessGrantsLocationConfiguration(AccessGrantsLocationConfigurationT&& value) { m_accessGrantsLocationConfigurationHasBeenSet = true; m_accessGrantsLocationConfiguration = std::forward<AccessGrantsLocationConfigurationT>(value); }
90 template<typename AccessGrantsLocationConfigurationT = AccessGrantsLocationConfiguration>
91 CreateAccessGrantRequest& WithAccessGrantsLocationConfiguration(AccessGrantsLocationConfigurationT&& value) { SetAccessGrantsLocationConfiguration(std::forward<AccessGrantsLocationConfigurationT>(value)); return *this;}
93
95
102 inline const Grantee& GetGrantee() const { return m_grantee; }
103 inline bool GranteeHasBeenSet() const { return m_granteeHasBeenSet; }
104 template<typename GranteeT = Grantee>
105 void SetGrantee(GranteeT&& value) { m_granteeHasBeenSet = true; m_grantee = std::forward<GranteeT>(value); }
106 template<typename GranteeT = Grantee>
107 CreateAccessGrantRequest& WithGrantee(GranteeT&& value) { SetGrantee(std::forward<GranteeT>(value)); return *this;}
109
111
118 inline Permission GetPermission() const { return m_permission; }
119 inline bool PermissionHasBeenSet() const { return m_permissionHasBeenSet; }
120 inline void SetPermission(Permission value) { m_permissionHasBeenSet = true; m_permission = value; }
121 inline CreateAccessGrantRequest& WithPermission(Permission value) { SetPermission(value); return *this;}
123
125
131 inline const Aws::String& GetApplicationArn() const { return m_applicationArn; }
132 inline bool ApplicationArnHasBeenSet() const { return m_applicationArnHasBeenSet; }
133 template<typename ApplicationArnT = Aws::String>
134 void SetApplicationArn(ApplicationArnT&& value) { m_applicationArnHasBeenSet = true; m_applicationArn = std::forward<ApplicationArnT>(value); }
135 template<typename ApplicationArnT = Aws::String>
136 CreateAccessGrantRequest& WithApplicationArn(ApplicationArnT&& value) { SetApplicationArn(std::forward<ApplicationArnT>(value)); return *this;}
138
140
146 inline S3PrefixType GetS3PrefixType() const { return m_s3PrefixType; }
147 inline bool S3PrefixTypeHasBeenSet() const { return m_s3PrefixTypeHasBeenSet; }
148 inline void SetS3PrefixType(S3PrefixType value) { m_s3PrefixTypeHasBeenSet = true; m_s3PrefixType = value; }
151
153
158 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
159 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
160 template<typename TagsT = Aws::Vector<Tag>>
161 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
162 template<typename TagsT = Aws::Vector<Tag>>
163 CreateAccessGrantRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
164 template<typename TagsT = Tag>
165 CreateAccessGrantRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
167 private:
168
169 Aws::String m_accountId;
170 bool m_accountIdHasBeenSet = false;
171
172 Aws::String m_accessGrantsLocationId;
173 bool m_accessGrantsLocationIdHasBeenSet = false;
174
175 AccessGrantsLocationConfiguration m_accessGrantsLocationConfiguration;
176 bool m_accessGrantsLocationConfigurationHasBeenSet = false;
177
178 Grantee m_grantee;
179 bool m_granteeHasBeenSet = false;
180
181 Permission m_permission{Permission::NOT_SET};
182 bool m_permissionHasBeenSet = false;
183
184 Aws::String m_applicationArn;
185 bool m_applicationArnHasBeenSet = false;
186
187 S3PrefixType m_s3PrefixType{S3PrefixType::NOT_SET};
188 bool m_s3PrefixTypeHasBeenSet = false;
189
190 Aws::Vector<Tag> m_tags;
191 bool m_tagsHasBeenSet = false;
192 };
193
194} // namespace Model
195} // namespace S3Control
196} // namespace Aws
AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override
CreateAccessGrantRequest & AddTags(TagsT &&value)
CreateAccessGrantRequest & WithApplicationArn(ApplicationArnT &&value)
AWS_S3CONTROL_API CreateAccessGrantRequest()=default
CreateAccessGrantRequest & WithS3PrefixType(S3PrefixType value)
CreateAccessGrantRequest & WithAccountId(AccountIdT &&value)
CreateAccessGrantRequest & WithGrantee(GranteeT &&value)
CreateAccessGrantRequest & WithTags(TagsT &&value)
CreateAccessGrantRequest & WithPermission(Permission value)
virtual const char * GetServiceRequestName() const override
CreateAccessGrantRequest & WithAccessGrantsLocationConfiguration(AccessGrantsLocationConfigurationT &&value)
void SetAccessGrantsLocationConfiguration(AccessGrantsLocationConfigurationT &&value)
const AccessGrantsLocationConfiguration & GetAccessGrantsLocationConfiguration() const
AWS_S3CONTROL_API Aws::String SerializePayload() const override
CreateAccessGrantRequest & WithAccessGrantsLocationId(AccessGrantsLocationIdT &&value)
AWS_S3CONTROL_API bool ShouldComputeContentMd5() const override
void SetAccessGrantsLocationId(AccessGrantsLocationIdT &&value)
Aws::Endpoint::EndpointParameters EndpointParameters
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector