AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
Principal.h
1
6#pragma once
7#include <aws/qbusiness/QBusiness_EXPORTS.h>
8#include <aws/qbusiness/model/PrincipalUser.h>
9#include <aws/qbusiness/model/PrincipalGroup.h>
10#include <utility>
11
12namespace Aws
13{
14namespace Utils
15{
16namespace Json
17{
18 class JsonValue;
19 class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace QBusiness
23{
24namespace Model
25{
26
35 {
36 public:
37 AWS_QBUSINESS_API Principal() = default;
40 AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const;
41
42
44
47 inline const PrincipalUser& GetUser() const { return m_user; }
48 inline bool UserHasBeenSet() const { return m_userHasBeenSet; }
49 template<typename UserT = PrincipalUser>
50 void SetUser(UserT&& value) { m_userHasBeenSet = true; m_user = std::forward<UserT>(value); }
51 template<typename UserT = PrincipalUser>
52 Principal& WithUser(UserT&& value) { SetUser(std::forward<UserT>(value)); return *this;}
54
56
59 inline const PrincipalGroup& GetGroup() const { return m_group; }
60 inline bool GroupHasBeenSet() const { return m_groupHasBeenSet; }
61 template<typename GroupT = PrincipalGroup>
62 void SetGroup(GroupT&& value) { m_groupHasBeenSet = true; m_group = std::forward<GroupT>(value); }
63 template<typename GroupT = PrincipalGroup>
64 Principal& WithGroup(GroupT&& value) { SetGroup(std::forward<GroupT>(value)); return *this;}
66 private:
67
68 PrincipalUser m_user;
69 bool m_userHasBeenSet = false;
70
71 PrincipalGroup m_group;
72 bool m_groupHasBeenSet = false;
73 };
74
75} // namespace Model
76} // namespace QBusiness
77} // namespace Aws
void SetGroup(GroupT &&value)
Definition Principal.h:62
AWS_QBUSINESS_API Principal(Aws::Utils::Json::JsonView jsonValue)
const PrincipalUser & GetUser() const
Definition Principal.h:47
AWS_QBUSINESS_API Principal & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const
Principal & WithUser(UserT &&value)
Definition Principal.h:52
void SetUser(UserT &&value)
Definition Principal.h:50
Principal & WithGroup(GroupT &&value)
Definition Principal.h:64
AWS_QBUSINESS_API Principal()=default
const PrincipalGroup & GetGroup() const
Definition Principal.h:59
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
Aws::Utils::Json::JsonValue JsonValue