AWS SDK for C++

AWS SDK for C++ Version 1.11.612

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() = default;
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 template<typename DomainUnitT = DomainUnitPolicyGrantPrincipal>
50 void SetDomainUnit(DomainUnitT&& value) { m_domainUnitHasBeenSet = true; m_domainUnit = std::forward<DomainUnitT>(value); }
51 template<typename DomainUnitT = DomainUnitPolicyGrantPrincipal>
52 PolicyGrantPrincipal& WithDomainUnit(DomainUnitT&& value) { SetDomainUnit(std::forward<DomainUnitT>(value)); return *this;}
54
56
59 inline const GroupPolicyGrantPrincipal& GetGroup() const { return m_group; }
60 inline bool GroupHasBeenSet() const { return m_groupHasBeenSet; }
61 template<typename GroupT = GroupPolicyGrantPrincipal>
62 void SetGroup(GroupT&& value) { m_groupHasBeenSet = true; m_group = std::forward<GroupT>(value); }
63 template<typename GroupT = GroupPolicyGrantPrincipal>
64 PolicyGrantPrincipal& WithGroup(GroupT&& value) { SetGroup(std::forward<GroupT>(value)); return *this;}
66
68
71 inline const ProjectPolicyGrantPrincipal& GetProject() const { return m_project; }
72 inline bool ProjectHasBeenSet() const { return m_projectHasBeenSet; }
73 template<typename ProjectT = ProjectPolicyGrantPrincipal>
74 void SetProject(ProjectT&& value) { m_projectHasBeenSet = true; m_project = std::forward<ProjectT>(value); }
75 template<typename ProjectT = ProjectPolicyGrantPrincipal>
76 PolicyGrantPrincipal& WithProject(ProjectT&& value) { SetProject(std::forward<ProjectT>(value)); return *this;}
78
80
83 inline const UserPolicyGrantPrincipal& GetUser() const { return m_user; }
84 inline bool UserHasBeenSet() const { return m_userHasBeenSet; }
85 template<typename UserT = UserPolicyGrantPrincipal>
86 void SetUser(UserT&& value) { m_userHasBeenSet = true; m_user = std::forward<UserT>(value); }
87 template<typename UserT = UserPolicyGrantPrincipal>
88 PolicyGrantPrincipal& WithUser(UserT&& value) { SetUser(std::forward<UserT>(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
PolicyGrantPrincipal & WithDomainUnit(DomainUnitT &&value)
AWS_DATAZONE_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_DATAZONE_API PolicyGrantPrincipal(Aws::Utils::Json::JsonView jsonValue)
const GroupPolicyGrantPrincipal & GetGroup() const
const ProjectPolicyGrantPrincipal & GetProject() const
AWS_DATAZONE_API PolicyGrantPrincipal & operator=(Aws::Utils::Json::JsonView jsonValue)
const DomainUnitPolicyGrantPrincipal & GetDomainUnit() const
PolicyGrantPrincipal & WithGroup(GroupT &&value)
const UserPolicyGrantPrincipal & GetUser() const
PolicyGrantPrincipal & WithUser(UserT &&value)
PolicyGrantPrincipal & WithProject(ProjectT &&value)
AWS_DATAZONE_API PolicyGrantPrincipal()=default
Aws::Utils::Json::JsonValue JsonValue