AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
GrantPermissionsRequest.h
1
6#pragma once
7#include <aws/lakeformation/LakeFormation_EXPORTS.h>
8#include <aws/lakeformation/LakeFormationRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/lakeformation/model/DataLakePrincipal.h>
11#include <aws/lakeformation/model/Resource.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/lakeformation/model/Condition.h>
14#include <aws/lakeformation/model/Permission.h>
15#include <utility>
16
17namespace Aws
18{
19namespace LakeFormation
20{
21namespace Model
22{
23
27 {
28 public:
29 AWS_LAKEFORMATION_API GrantPermissionsRequest() = default;
30
31 // Service request name is the Operation name which will send this request out,
32 // each operation should has unique request name, so that we can get operation's name from this request.
33 // Note: this is not true for response, multiple operations may have the same response name,
34 // so we can not get operation's name from response.
35 inline virtual const char* GetServiceRequestName() const override { return "GrantPermissions"; }
36
37 AWS_LAKEFORMATION_API Aws::String SerializePayload() const override;
38
39
41
47 inline const Aws::String& GetCatalogId() const { return m_catalogId; }
48 inline bool CatalogIdHasBeenSet() const { return m_catalogIdHasBeenSet; }
49 template<typename CatalogIdT = Aws::String>
50 void SetCatalogId(CatalogIdT&& value) { m_catalogIdHasBeenSet = true; m_catalogId = std::forward<CatalogIdT>(value); }
51 template<typename CatalogIdT = Aws::String>
52 GrantPermissionsRequest& WithCatalogId(CatalogIdT&& value) { SetCatalogId(std::forward<CatalogIdT>(value)); return *this;}
54
56
63 inline const DataLakePrincipal& GetPrincipal() const { return m_principal; }
64 inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; }
65 template<typename PrincipalT = DataLakePrincipal>
66 void SetPrincipal(PrincipalT&& value) { m_principalHasBeenSet = true; m_principal = std::forward<PrincipalT>(value); }
67 template<typename PrincipalT = DataLakePrincipal>
68 GrantPermissionsRequest& WithPrincipal(PrincipalT&& value) { SetPrincipal(std::forward<PrincipalT>(value)); return *this;}
70
72
76 inline const Resource& GetResource() const { return m_resource; }
77 inline bool ResourceHasBeenSet() const { return m_resourceHasBeenSet; }
78 template<typename ResourceT = Resource>
79 void SetResource(ResourceT&& value) { m_resourceHasBeenSet = true; m_resource = std::forward<ResourceT>(value); }
80 template<typename ResourceT = Resource>
81 GrantPermissionsRequest& WithResource(ResourceT&& value) { SetResource(std::forward<ResourceT>(value)); return *this;}
83
85
92 inline const Aws::Vector<Permission>& GetPermissions() const { return m_permissions; }
93 inline bool PermissionsHasBeenSet() const { return m_permissionsHasBeenSet; }
94 template<typename PermissionsT = Aws::Vector<Permission>>
95 void SetPermissions(PermissionsT&& value) { m_permissionsHasBeenSet = true; m_permissions = std::forward<PermissionsT>(value); }
96 template<typename PermissionsT = Aws::Vector<Permission>>
97 GrantPermissionsRequest& WithPermissions(PermissionsT&& value) { SetPermissions(std::forward<PermissionsT>(value)); return *this;}
98 inline GrantPermissionsRequest& AddPermissions(Permission value) { m_permissionsHasBeenSet = true; m_permissions.push_back(value); return *this; }
100
102
103 inline const Condition& GetCondition() const { return m_condition; }
104 inline bool ConditionHasBeenSet() const { return m_conditionHasBeenSet; }
105 template<typename ConditionT = Condition>
106 void SetCondition(ConditionT&& value) { m_conditionHasBeenSet = true; m_condition = std::forward<ConditionT>(value); }
107 template<typename ConditionT = Condition>
108 GrantPermissionsRequest& WithCondition(ConditionT&& value) { SetCondition(std::forward<ConditionT>(value)); return *this;}
110
112
117 inline const Aws::Vector<Permission>& GetPermissionsWithGrantOption() const { return m_permissionsWithGrantOption; }
118 inline bool PermissionsWithGrantOptionHasBeenSet() const { return m_permissionsWithGrantOptionHasBeenSet; }
119 template<typename PermissionsWithGrantOptionT = Aws::Vector<Permission>>
120 void SetPermissionsWithGrantOption(PermissionsWithGrantOptionT&& value) { m_permissionsWithGrantOptionHasBeenSet = true; m_permissionsWithGrantOption = std::forward<PermissionsWithGrantOptionT>(value); }
121 template<typename PermissionsWithGrantOptionT = Aws::Vector<Permission>>
122 GrantPermissionsRequest& WithPermissionsWithGrantOption(PermissionsWithGrantOptionT&& value) { SetPermissionsWithGrantOption(std::forward<PermissionsWithGrantOptionT>(value)); return *this;}
123 inline GrantPermissionsRequest& AddPermissionsWithGrantOption(Permission value) { m_permissionsWithGrantOptionHasBeenSet = true; m_permissionsWithGrantOption.push_back(value); return *this; }
125 private:
126
127 Aws::String m_catalogId;
128 bool m_catalogIdHasBeenSet = false;
129
130 DataLakePrincipal m_principal;
131 bool m_principalHasBeenSet = false;
132
133 Resource m_resource;
134 bool m_resourceHasBeenSet = false;
135
136 Aws::Vector<Permission> m_permissions;
137 bool m_permissionsHasBeenSet = false;
138
139 Condition m_condition;
140 bool m_conditionHasBeenSet = false;
141
142 Aws::Vector<Permission> m_permissionsWithGrantOption;
143 bool m_permissionsWithGrantOptionHasBeenSet = false;
144 };
145
146} // namespace Model
147} // namespace LakeFormation
148} // namespace Aws
AWS_LAKEFORMATION_API GrantPermissionsRequest()=default
AWS_LAKEFORMATION_API Aws::String SerializePayload() const override
const Aws::Vector< Permission > & GetPermissionsWithGrantOption() const
void SetPermissionsWithGrantOption(PermissionsWithGrantOptionT &&value)
GrantPermissionsRequest & WithResource(ResourceT &&value)
const Aws::Vector< Permission > & GetPermissions() const
GrantPermissionsRequest & WithPermissionsWithGrantOption(PermissionsWithGrantOptionT &&value)
GrantPermissionsRequest & AddPermissions(Permission value)
virtual const char * GetServiceRequestName() const override
GrantPermissionsRequest & WithPermissions(PermissionsT &&value)
GrantPermissionsRequest & AddPermissionsWithGrantOption(Permission value)
GrantPermissionsRequest & WithCondition(ConditionT &&value)
GrantPermissionsRequest & WithCatalogId(CatalogIdT &&value)
GrantPermissionsRequest & WithPrincipal(PrincipalT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector