7#include <aws/datazone/DataZone_EXPORTS.h>
8#include <aws/datazone/model/DomainUnitPolicyGrantPrincipal.h>
9#include <aws/datazone/model/GroupPolicyGrantPrincipal.h>
10#include <aws/datazone/model/ProjectPolicyGrantPrincipal.h>
11#include <aws/datazone/model/UserPolicyGrantPrincipal.h>
43 template <
typename UserT = UserPolicyGrantPrincipal>
45 m_userHasBeenSet =
true;
46 m_user = std::forward<UserT>(value);
48 template <
typename UserT = UserPolicyGrantPrincipal>
50 SetUser(std::forward<UserT>(value));
61 template <
typename GroupT = GroupPolicyGrantPrincipal>
63 m_groupHasBeenSet =
true;
64 m_group = std::forward<GroupT>(value);
66 template <
typename GroupT = GroupPolicyGrantPrincipal>
68 SetGroup(std::forward<GroupT>(value));
79 template <
typename ProjectT = ProjectPolicyGrantPrincipal>
81 m_projectHasBeenSet =
true;
82 m_project = std::forward<ProjectT>(value);
84 template <
typename ProjectT = ProjectPolicyGrantPrincipal>
97 template <
typename DomainUnitT = DomainUnitPolicyGrantPrincipal>
99 m_domainUnitHasBeenSet =
true;
100 m_domainUnit = std::forward<DomainUnitT>(value);
102 template <
typename DomainUnitT = DomainUnitPolicyGrantPrincipal>
116 bool m_userHasBeenSet =
false;
117 bool m_groupHasBeenSet =
false;
118 bool m_projectHasBeenSet =
false;
119 bool m_domainUnitHasBeenSet =
false;
PolicyGrantPrincipal & WithDomainUnit(DomainUnitT &&value)
AWS_DATAZONE_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_DATAZONE_API PolicyGrantPrincipal(Aws::Utils::Json::JsonView jsonValue)
bool DomainUnitHasBeenSet() const
const GroupPolicyGrantPrincipal & GetGroup() const
void SetProject(ProjectT &&value)
void SetDomainUnit(DomainUnitT &&value)
bool UserHasBeenSet() const
const ProjectPolicyGrantPrincipal & GetProject() const
AWS_DATAZONE_API PolicyGrantPrincipal & operator=(Aws::Utils::Json::JsonView jsonValue)
const DomainUnitPolicyGrantPrincipal & GetDomainUnit() const
PolicyGrantPrincipal & WithGroup(GroupT &&value)
bool GroupHasBeenSet() const
const UserPolicyGrantPrincipal & GetUser() const
PolicyGrantPrincipal & WithUser(UserT &&value)
bool ProjectHasBeenSet() const
PolicyGrantPrincipal & WithProject(ProjectT &&value)
void SetGroup(GroupT &&value)
void SetUser(UserT &&value)
AWS_DATAZONE_API PolicyGrantPrincipal()=default
Aws::Utils::Json::JsonValue JsonValue