AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
PrincipalResourcePermissions.h
1
6#pragma once
7#include <aws/lakeformation/LakeFormation_EXPORTS.h>
8#include <aws/lakeformation/model/DataLakePrincipal.h>
9#include <aws/lakeformation/model/Resource.h>
10#include <aws/lakeformation/model/Condition.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/lakeformation/model/DetailsMap.h>
13#include <aws/core/utils/DateTime.h>
14#include <aws/core/utils/memory/stl/AWSString.h>
15#include <aws/lakeformation/model/Permission.h>
16#include <utility>
17
18namespace Aws
19{
20namespace Utils
21{
22namespace Json
23{
24 class JsonValue;
25 class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace LakeFormation
29{
30namespace Model
31{
32
40 {
41 public:
42 AWS_LAKEFORMATION_API PrincipalResourcePermissions() = default;
45 AWS_LAKEFORMATION_API Aws::Utils::Json::JsonValue Jsonize() const;
46
47
49
52 inline const DataLakePrincipal& GetPrincipal() const { return m_principal; }
53 inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; }
54 template<typename PrincipalT = DataLakePrincipal>
55 void SetPrincipal(PrincipalT&& value) { m_principalHasBeenSet = true; m_principal = std::forward<PrincipalT>(value); }
56 template<typename PrincipalT = DataLakePrincipal>
57 PrincipalResourcePermissions& WithPrincipal(PrincipalT&& value) { SetPrincipal(std::forward<PrincipalT>(value)); return *this;}
59
61
64 inline const Resource& GetResource() const { return m_resource; }
65 inline bool ResourceHasBeenSet() const { return m_resourceHasBeenSet; }
66 template<typename ResourceT = Resource>
67 void SetResource(ResourceT&& value) { m_resourceHasBeenSet = true; m_resource = std::forward<ResourceT>(value); }
68 template<typename ResourceT = Resource>
69 PrincipalResourcePermissions& WithResource(ResourceT&& value) { SetResource(std::forward<ResourceT>(value)); return *this;}
71
73
77 inline const Condition& GetCondition() const { return m_condition; }
78 inline bool ConditionHasBeenSet() const { return m_conditionHasBeenSet; }
79 template<typename ConditionT = Condition>
80 void SetCondition(ConditionT&& value) { m_conditionHasBeenSet = true; m_condition = std::forward<ConditionT>(value); }
81 template<typename ConditionT = Condition>
82 PrincipalResourcePermissions& WithCondition(ConditionT&& value) { SetCondition(std::forward<ConditionT>(value)); return *this;}
84
86
89 inline const Aws::Vector<Permission>& GetPermissions() const { return m_permissions; }
90 inline bool PermissionsHasBeenSet() const { return m_permissionsHasBeenSet; }
91 template<typename PermissionsT = Aws::Vector<Permission>>
92 void SetPermissions(PermissionsT&& value) { m_permissionsHasBeenSet = true; m_permissions = std::forward<PermissionsT>(value); }
93 template<typename PermissionsT = Aws::Vector<Permission>>
94 PrincipalResourcePermissions& WithPermissions(PermissionsT&& value) { SetPermissions(std::forward<PermissionsT>(value)); return *this;}
95 inline PrincipalResourcePermissions& AddPermissions(Permission value) { m_permissionsHasBeenSet = true; m_permissions.push_back(value); return *this; }
97
99
103 inline const Aws::Vector<Permission>& GetPermissionsWithGrantOption() const { return m_permissionsWithGrantOption; }
104 inline bool PermissionsWithGrantOptionHasBeenSet() const { return m_permissionsWithGrantOptionHasBeenSet; }
105 template<typename PermissionsWithGrantOptionT = Aws::Vector<Permission>>
106 void SetPermissionsWithGrantOption(PermissionsWithGrantOptionT&& value) { m_permissionsWithGrantOptionHasBeenSet = true; m_permissionsWithGrantOption = std::forward<PermissionsWithGrantOptionT>(value); }
107 template<typename PermissionsWithGrantOptionT = Aws::Vector<Permission>>
108 PrincipalResourcePermissions& WithPermissionsWithGrantOption(PermissionsWithGrantOptionT&& value) { SetPermissionsWithGrantOption(std::forward<PermissionsWithGrantOptionT>(value)); return *this;}
109 inline PrincipalResourcePermissions& AddPermissionsWithGrantOption(Permission value) { m_permissionsWithGrantOptionHasBeenSet = true; m_permissionsWithGrantOption.push_back(value); return *this; }
111
113
118 inline const DetailsMap& GetAdditionalDetails() const { return m_additionalDetails; }
119 inline bool AdditionalDetailsHasBeenSet() const { return m_additionalDetailsHasBeenSet; }
120 template<typename AdditionalDetailsT = DetailsMap>
121 void SetAdditionalDetails(AdditionalDetailsT&& value) { m_additionalDetailsHasBeenSet = true; m_additionalDetails = std::forward<AdditionalDetailsT>(value); }
122 template<typename AdditionalDetailsT = DetailsMap>
123 PrincipalResourcePermissions& WithAdditionalDetails(AdditionalDetailsT&& value) { SetAdditionalDetails(std::forward<AdditionalDetailsT>(value)); return *this;}
125
127
130 inline const Aws::Utils::DateTime& GetLastUpdated() const { return m_lastUpdated; }
131 inline bool LastUpdatedHasBeenSet() const { return m_lastUpdatedHasBeenSet; }
132 template<typename LastUpdatedT = Aws::Utils::DateTime>
133 void SetLastUpdated(LastUpdatedT&& value) { m_lastUpdatedHasBeenSet = true; m_lastUpdated = std::forward<LastUpdatedT>(value); }
134 template<typename LastUpdatedT = Aws::Utils::DateTime>
135 PrincipalResourcePermissions& WithLastUpdated(LastUpdatedT&& value) { SetLastUpdated(std::forward<LastUpdatedT>(value)); return *this;}
137
139
142 inline const Aws::String& GetLastUpdatedBy() const { return m_lastUpdatedBy; }
143 inline bool LastUpdatedByHasBeenSet() const { return m_lastUpdatedByHasBeenSet; }
144 template<typename LastUpdatedByT = Aws::String>
145 void SetLastUpdatedBy(LastUpdatedByT&& value) { m_lastUpdatedByHasBeenSet = true; m_lastUpdatedBy = std::forward<LastUpdatedByT>(value); }
146 template<typename LastUpdatedByT = Aws::String>
147 PrincipalResourcePermissions& WithLastUpdatedBy(LastUpdatedByT&& value) { SetLastUpdatedBy(std::forward<LastUpdatedByT>(value)); return *this;}
149 private:
150
151 DataLakePrincipal m_principal;
152 bool m_principalHasBeenSet = false;
153
154 Resource m_resource;
155 bool m_resourceHasBeenSet = false;
156
157 Condition m_condition;
158 bool m_conditionHasBeenSet = false;
159
160 Aws::Vector<Permission> m_permissions;
161 bool m_permissionsHasBeenSet = false;
162
163 Aws::Vector<Permission> m_permissionsWithGrantOption;
164 bool m_permissionsWithGrantOptionHasBeenSet = false;
165
166 DetailsMap m_additionalDetails;
167 bool m_additionalDetailsHasBeenSet = false;
168
169 Aws::Utils::DateTime m_lastUpdated{};
170 bool m_lastUpdatedHasBeenSet = false;
171
172 Aws::String m_lastUpdatedBy;
173 bool m_lastUpdatedByHasBeenSet = false;
174 };
175
176} // namespace Model
177} // namespace LakeFormation
178} // namespace Aws
PrincipalResourcePermissions & AddPermissions(Permission value)
PrincipalResourcePermissions & WithPermissions(PermissionsT &&value)
const Aws::Vector< Permission > & GetPermissionsWithGrantOption() const
void SetPermissionsWithGrantOption(PermissionsWithGrantOptionT &&value)
PrincipalResourcePermissions & WithPrincipal(PrincipalT &&value)
AWS_LAKEFORMATION_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_LAKEFORMATION_API PrincipalResourcePermissions(Aws::Utils::Json::JsonView jsonValue)
PrincipalResourcePermissions & WithCondition(ConditionT &&value)
PrincipalResourcePermissions & WithLastUpdatedBy(LastUpdatedByT &&value)
AWS_LAKEFORMATION_API PrincipalResourcePermissions & operator=(Aws::Utils::Json::JsonView jsonValue)
PrincipalResourcePermissions & WithResource(ResourceT &&value)
PrincipalResourcePermissions & AddPermissionsWithGrantOption(Permission value)
PrincipalResourcePermissions & WithLastUpdated(LastUpdatedT &&value)
AWS_LAKEFORMATION_API PrincipalResourcePermissions()=default
PrincipalResourcePermissions & WithPermissionsWithGrantOption(PermissionsWithGrantOptionT &&value)
PrincipalResourcePermissions & WithAdditionalDetails(AdditionalDetailsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue