AWS SDK for C++

AWS SDK for C++ Version 1.11.746

Loading...
Searching...
No Matches
SubscribedPrincipal.h
1
6#pragma once
7#include <aws/datazone/DataZone_EXPORTS.h>
8#include <aws/datazone/model/SubscribedGroup.h>
9#include <aws/datazone/model/SubscribedIamPrincipal.h>
10#include <aws/datazone/model/SubscribedProject.h>
11#include <aws/datazone/model/SubscribedUser.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace DataZone {
23namespace Model {
24
32 public:
33 AWS_DATAZONE_API SubscribedPrincipal() = default;
36 AWS_DATAZONE_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline const SubscribedProject& GetProject() const { return m_project; }
43 inline bool ProjectHasBeenSet() const { return m_projectHasBeenSet; }
44 template <typename ProjectT = SubscribedProject>
45 void SetProject(ProjectT&& value) {
46 m_projectHasBeenSet = true;
47 m_project = std::forward<ProjectT>(value);
48 }
49 template <typename ProjectT = SubscribedProject>
50 SubscribedPrincipal& WithProject(ProjectT&& value) {
51 SetProject(std::forward<ProjectT>(value));
52 return *this;
53 }
55
57
60 inline const SubscribedUser& GetUser() const { return m_user; }
61 inline bool UserHasBeenSet() const { return m_userHasBeenSet; }
62 template <typename UserT = SubscribedUser>
63 void SetUser(UserT&& value) {
64 m_userHasBeenSet = true;
65 m_user = std::forward<UserT>(value);
66 }
67 template <typename UserT = SubscribedUser>
68 SubscribedPrincipal& WithUser(UserT&& value) {
69 SetUser(std::forward<UserT>(value));
70 return *this;
71 }
73
75
78 inline const SubscribedGroup& GetGroup() const { return m_group; }
79 inline bool GroupHasBeenSet() const { return m_groupHasBeenSet; }
80 template <typename GroupT = SubscribedGroup>
81 void SetGroup(GroupT&& value) {
82 m_groupHasBeenSet = true;
83 m_group = std::forward<GroupT>(value);
84 }
85 template <typename GroupT = SubscribedGroup>
86 SubscribedPrincipal& WithGroup(GroupT&& value) {
87 SetGroup(std::forward<GroupT>(value));
88 return *this;
89 }
91
93
96 inline const SubscribedIamPrincipal& GetIam() const { return m_iam; }
97 inline bool IamHasBeenSet() const { return m_iamHasBeenSet; }
98 template <typename IamT = SubscribedIamPrincipal>
99 void SetIam(IamT&& value) {
100 m_iamHasBeenSet = true;
101 m_iam = std::forward<IamT>(value);
102 }
103 template <typename IamT = SubscribedIamPrincipal>
105 SetIam(std::forward<IamT>(value));
106 return *this;
107 }
109 private:
110 SubscribedProject m_project;
111
112 SubscribedUser m_user;
113
114 SubscribedGroup m_group;
115
117 bool m_projectHasBeenSet = false;
118 bool m_userHasBeenSet = false;
119 bool m_groupHasBeenSet = false;
120 bool m_iamHasBeenSet = false;
121};
122
123} // namespace Model
124} // namespace DataZone
125} // namespace Aws
const SubscribedProject & GetProject() const
AWS_DATAZONE_API SubscribedPrincipal()=default
const SubscribedGroup & GetGroup() const
SubscribedPrincipal & WithUser(UserT &&value)
AWS_DATAZONE_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_DATAZONE_API SubscribedPrincipal(Aws::Utils::Json::JsonView jsonValue)
AWS_DATAZONE_API SubscribedPrincipal & operator=(Aws::Utils::Json::JsonView jsonValue)
SubscribedPrincipal & WithIam(IamT &&value)
SubscribedPrincipal & WithProject(ProjectT &&value)
const SubscribedIamPrincipal & GetIam() const
SubscribedPrincipal & WithGroup(GroupT &&value)
Aws::Utils::Json::JsonValue JsonValue