AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
DocumentAclCondition.h
1
6#pragma once
7#include <aws/qbusiness/QBusiness_EXPORTS.h>
8#include <aws/qbusiness/model/MemberRelation.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/qbusiness/model/DocumentAclUser.h>
11#include <aws/qbusiness/model/DocumentAclGroup.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 QBusiness
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_QBUSINESS_API DocumentAclCondition() = default;
41 AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
49 inline MemberRelation GetMemberRelation() const { return m_memberRelation; }
50 inline bool MemberRelationHasBeenSet() const { return m_memberRelationHasBeenSet; }
51 inline void SetMemberRelation(MemberRelation value) { m_memberRelationHasBeenSet = true; m_memberRelation = value; }
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) { m_usersHasBeenSet = true; m_users = std::forward<UsersT>(value); }
64 template<typename UsersT = Aws::Vector<DocumentAclUser>>
65 DocumentAclCondition& WithUsers(UsersT&& value) { SetUsers(std::forward<UsersT>(value)); return *this;}
66 template<typename UsersT = DocumentAclUser>
67 DocumentAclCondition& AddUsers(UsersT&& value) { m_usersHasBeenSet = true; m_users.emplace_back(std::forward<UsersT>(value)); return *this; }
69
71
75 inline const Aws::Vector<DocumentAclGroup>& GetGroups() const { return m_groups; }
76 inline bool GroupsHasBeenSet() const { return m_groupsHasBeenSet; }
77 template<typename GroupsT = Aws::Vector<DocumentAclGroup>>
78 void SetGroups(GroupsT&& value) { m_groupsHasBeenSet = true; m_groups = std::forward<GroupsT>(value); }
79 template<typename GroupsT = Aws::Vector<DocumentAclGroup>>
80 DocumentAclCondition& WithGroups(GroupsT&& value) { SetGroups(std::forward<GroupsT>(value)); return *this;}
81 template<typename GroupsT = DocumentAclGroup>
82 DocumentAclCondition& AddGroups(GroupsT&& value) { m_groupsHasBeenSet = true; m_groups.emplace_back(std::forward<GroupsT>(value)); return *this; }
84 private:
85
87 bool m_memberRelationHasBeenSet = false;
88
90 bool m_usersHasBeenSet = false;
91
93 bool m_groupsHasBeenSet = false;
94 };
95
96} // namespace Model
97} // namespace QBusiness
98} // 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