AWS SDK for C++

AWS SDK for C++ Version 1.11.740

Loading...
Searching...
No Matches
DocumentAclCondition.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/qbusiness/QBusiness_EXPORTS.h>
9#include <aws/qbusiness/model/DocumentAclGroup.h>
10#include <aws/qbusiness/model/DocumentAclUser.h>
11#include <aws/qbusiness/model/MemberRelation.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace QBusiness {
23namespace Model {
24
32 public:
33 AWS_QBUSINESS_API DocumentAclCondition() = default;
36 AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
43 inline MemberRelation GetMemberRelation() const { return m_memberRelation; }
44 inline bool MemberRelationHasBeenSet() const { return m_memberRelationHasBeenSet; }
45 inline void SetMemberRelation(MemberRelation value) {
46 m_memberRelationHasBeenSet = true;
47 m_memberRelation = value;
48 }
50 SetMemberRelation(value);
51 return *this;
52 }
54
56
60 inline const Aws::Vector<DocumentAclUser>& GetUsers() const { return m_users; }
61 inline bool UsersHasBeenSet() const { return m_usersHasBeenSet; }
62 template <typename UsersT = Aws::Vector<DocumentAclUser>>
63 void SetUsers(UsersT&& value) {
64 m_usersHasBeenSet = true;
65 m_users = std::forward<UsersT>(value);
66 }
67 template <typename UsersT = Aws::Vector<DocumentAclUser>>
69 SetUsers(std::forward<UsersT>(value));
70 return *this;
71 }
72 template <typename UsersT = DocumentAclUser>
74 m_usersHasBeenSet = true;
75 m_users.emplace_back(std::forward<UsersT>(value));
76 return *this;
77 }
79
81
85 inline const Aws::Vector<DocumentAclGroup>& GetGroups() const { return m_groups; }
86 inline bool GroupsHasBeenSet() const { return m_groupsHasBeenSet; }
87 template <typename GroupsT = Aws::Vector<DocumentAclGroup>>
88 void SetGroups(GroupsT&& value) {
89 m_groupsHasBeenSet = true;
90 m_groups = std::forward<GroupsT>(value);
91 }
92 template <typename GroupsT = Aws::Vector<DocumentAclGroup>>
94 SetGroups(std::forward<GroupsT>(value));
95 return *this;
96 }
97 template <typename GroupsT = DocumentAclGroup>
99 m_groupsHasBeenSet = true;
100 m_groups.emplace_back(std::forward<GroupsT>(value));
101 return *this;
102 }
104 private:
105 MemberRelation m_memberRelation{MemberRelation::NOT_SET};
106
108
110 bool m_memberRelationHasBeenSet = false;
111 bool m_usersHasBeenSet = false;
112 bool m_groupsHasBeenSet = false;
113};
114
115} // namespace Model
116} // namespace QBusiness
117} // namespace Aws
AWS_QBUSINESS_API DocumentAclCondition()=default
const Aws::Vector< DocumentAclUser > & GetUsers() const
DocumentAclCondition & AddGroups(GroupsT &&value)
const Aws::Vector< DocumentAclGroup > & GetGroups() const
AWS_QBUSINESS_API DocumentAclCondition(Aws::Utils::Json::JsonView jsonValue)
AWS_QBUSINESS_API DocumentAclCondition & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const
DocumentAclCondition & WithUsers(UsersT &&value)
DocumentAclCondition & AddUsers(UsersT &&value)
DocumentAclCondition & WithGroups(GroupsT &&value)
DocumentAclCondition & WithMemberRelation(MemberRelation value)
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue