AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
PolicyGrantPrincipal.h
1
6#pragma once
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>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace DataZone
25{
26namespace Model
27{
28
35 {
36 public:
37 AWS_DATAZONE_API PolicyGrantPrincipal();
40 AWS_DATAZONE_API Aws::Utils::Json::JsonValue Jsonize() const;
41
42
44
47 inline const DomainUnitPolicyGrantPrincipal& GetDomainUnit() const{ return m_domainUnit; }
48 inline bool DomainUnitHasBeenSet() const { return m_domainUnitHasBeenSet; }
49 inline void SetDomainUnit(const DomainUnitPolicyGrantPrincipal& value) { m_domainUnitHasBeenSet = true; m_domainUnit = value; }
50 inline void SetDomainUnit(DomainUnitPolicyGrantPrincipal&& value) { m_domainUnitHasBeenSet = true; m_domainUnit = std::move(value); }
52 inline PolicyGrantPrincipal& WithDomainUnit(DomainUnitPolicyGrantPrincipal&& value) { SetDomainUnit(std::move(value)); return *this;}
54
56
59 inline const GroupPolicyGrantPrincipal& GetGroup() const{ return m_group; }
60 inline bool GroupHasBeenSet() const { return m_groupHasBeenSet; }
61 inline void SetGroup(const GroupPolicyGrantPrincipal& value) { m_groupHasBeenSet = true; m_group = value; }
62 inline void SetGroup(GroupPolicyGrantPrincipal&& value) { m_groupHasBeenSet = true; m_group = std::move(value); }
63 inline PolicyGrantPrincipal& WithGroup(const GroupPolicyGrantPrincipal& value) { SetGroup(value); return *this;}
64 inline PolicyGrantPrincipal& WithGroup(GroupPolicyGrantPrincipal&& value) { SetGroup(std::move(value)); return *this;}
66
68
71 inline const ProjectPolicyGrantPrincipal& GetProject() const{ return m_project; }
72 inline bool ProjectHasBeenSet() const { return m_projectHasBeenSet; }
73 inline void SetProject(const ProjectPolicyGrantPrincipal& value) { m_projectHasBeenSet = true; m_project = value; }
74 inline void SetProject(ProjectPolicyGrantPrincipal&& value) { m_projectHasBeenSet = true; m_project = std::move(value); }
75 inline PolicyGrantPrincipal& WithProject(const ProjectPolicyGrantPrincipal& value) { SetProject(value); return *this;}
76 inline PolicyGrantPrincipal& WithProject(ProjectPolicyGrantPrincipal&& value) { SetProject(std::move(value)); return *this;}
78
80
83 inline const UserPolicyGrantPrincipal& GetUser() const{ return m_user; }
84 inline bool UserHasBeenSet() const { return m_userHasBeenSet; }
85 inline void SetUser(const UserPolicyGrantPrincipal& value) { m_userHasBeenSet = true; m_user = value; }
86 inline void SetUser(UserPolicyGrantPrincipal&& value) { m_userHasBeenSet = true; m_user = std::move(value); }
87 inline PolicyGrantPrincipal& WithUser(const UserPolicyGrantPrincipal& value) { SetUser(value); return *this;}
88 inline PolicyGrantPrincipal& WithUser(UserPolicyGrantPrincipal&& value) { SetUser(std::move(value)); return *this;}
90 private:
91
93 bool m_domainUnitHasBeenSet = false;
94
96 bool m_groupHasBeenSet = false;
97
99 bool m_projectHasBeenSet = false;
100
102 bool m_userHasBeenSet = false;
103 };
104
105} // namespace Model
106} // namespace DataZone
107} // namespace Aws
AWS_DATAZONE_API Aws::Utils::Json::JsonValue Jsonize() const
PolicyGrantPrincipal & WithUser(const UserPolicyGrantPrincipal &value)
void SetUser(UserPolicyGrantPrincipal &&value)
void SetProject(ProjectPolicyGrantPrincipal &&value)
AWS_DATAZONE_API PolicyGrantPrincipal(Aws::Utils::Json::JsonView jsonValue)
PolicyGrantPrincipal & WithGroup(const GroupPolicyGrantPrincipal &value)
void SetGroup(GroupPolicyGrantPrincipal &&value)
const GroupPolicyGrantPrincipal & GetGroup() const
void SetDomainUnit(const DomainUnitPolicyGrantPrincipal &value)
void SetProject(const ProjectPolicyGrantPrincipal &value)
const ProjectPolicyGrantPrincipal & GetProject() const
AWS_DATAZONE_API PolicyGrantPrincipal & operator=(Aws::Utils::Json::JsonView jsonValue)
const DomainUnitPolicyGrantPrincipal & GetDomainUnit() const
PolicyGrantPrincipal & WithDomainUnit(const DomainUnitPolicyGrantPrincipal &value)
const UserPolicyGrantPrincipal & GetUser() const
void SetUser(const UserPolicyGrantPrincipal &value)
void SetDomainUnit(DomainUnitPolicyGrantPrincipal &&value)
PolicyGrantPrincipal & WithProject(ProjectPolicyGrantPrincipal &&value)
PolicyGrantPrincipal & WithUser(UserPolicyGrantPrincipal &&value)
PolicyGrantPrincipal & WithDomainUnit(DomainUnitPolicyGrantPrincipal &&value)
PolicyGrantPrincipal & WithGroup(GroupPolicyGrantPrincipal &&value)
void SetGroup(const GroupPolicyGrantPrincipal &value)
PolicyGrantPrincipal & WithProject(const ProjectPolicyGrantPrincipal &value)
Aws::Utils::Json::JsonValue JsonValue