AWS SDK for C++

AWS SDK for C++ Version 1.11.685

Loading...
Searching...
No Matches
Rule.h
1
6#pragma once
7#include <aws/qbusiness/QBusiness_EXPORTS.h>
8#include <aws/qbusiness/model/RuleConfiguration.h>
9#include <aws/qbusiness/model/RuleType.h>
10#include <aws/qbusiness/model/UsersAndGroups.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace QBusiness {
22namespace Model {
23
30class Rule {
31 public:
32 AWS_QBUSINESS_API Rule() = default;
35 AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline const UsersAndGroups& GetIncludedUsersAndGroups() const { return m_includedUsersAndGroups; }
42 inline bool IncludedUsersAndGroupsHasBeenSet() const { return m_includedUsersAndGroupsHasBeenSet; }
43 template <typename IncludedUsersAndGroupsT = UsersAndGroups>
45 m_includedUsersAndGroupsHasBeenSet = true;
46 m_includedUsersAndGroups = std::forward<IncludedUsersAndGroupsT>(value);
47 }
48 template <typename IncludedUsersAndGroupsT = UsersAndGroups>
50 SetIncludedUsersAndGroups(std::forward<IncludedUsersAndGroupsT>(value));
51 return *this;
52 }
54
56
59 inline const UsersAndGroups& GetExcludedUsersAndGroups() const { return m_excludedUsersAndGroups; }
60 inline bool ExcludedUsersAndGroupsHasBeenSet() const { return m_excludedUsersAndGroupsHasBeenSet; }
61 template <typename ExcludedUsersAndGroupsT = UsersAndGroups>
63 m_excludedUsersAndGroupsHasBeenSet = true;
64 m_excludedUsersAndGroups = std::forward<ExcludedUsersAndGroupsT>(value);
65 }
66 template <typename ExcludedUsersAndGroupsT = UsersAndGroups>
68 SetExcludedUsersAndGroups(std::forward<ExcludedUsersAndGroupsT>(value));
69 return *this;
70 }
72
74
77 inline RuleType GetRuleType() const { return m_ruleType; }
78 inline bool RuleTypeHasBeenSet() const { return m_ruleTypeHasBeenSet; }
79 inline void SetRuleType(RuleType value) {
80 m_ruleTypeHasBeenSet = true;
81 m_ruleType = value;
82 }
83 inline Rule& WithRuleType(RuleType value) {
84 SetRuleType(value);
85 return *this;
86 }
88
90
93 inline const RuleConfiguration& GetRuleConfiguration() const { return m_ruleConfiguration; }
94 inline bool RuleConfigurationHasBeenSet() const { return m_ruleConfigurationHasBeenSet; }
95 template <typename RuleConfigurationT = RuleConfiguration>
97 m_ruleConfigurationHasBeenSet = true;
98 m_ruleConfiguration = std::forward<RuleConfigurationT>(value);
99 }
100 template <typename RuleConfigurationT = RuleConfiguration>
102 SetRuleConfiguration(std::forward<RuleConfigurationT>(value));
103 return *this;
104 }
106 private:
107 UsersAndGroups m_includedUsersAndGroups;
108 bool m_includedUsersAndGroupsHasBeenSet = false;
109
110 UsersAndGroups m_excludedUsersAndGroups;
111 bool m_excludedUsersAndGroupsHasBeenSet = false;
112
113 RuleType m_ruleType{RuleType::NOT_SET};
114 bool m_ruleTypeHasBeenSet = false;
115
116 RuleConfiguration m_ruleConfiguration;
117 bool m_ruleConfigurationHasBeenSet = false;
118};
119
120} // namespace Model
121} // namespace QBusiness
122} // namespace Aws
AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const
Rule & WithRuleType(RuleType value)
Definition Rule.h:83
AWS_QBUSINESS_API Rule(Aws::Utils::Json::JsonView jsonValue)
bool IncludedUsersAndGroupsHasBeenSet() const
Definition Rule.h:42
Rule & WithIncludedUsersAndGroups(IncludedUsersAndGroupsT &&value)
Definition Rule.h:49
const UsersAndGroups & GetExcludedUsersAndGroups() const
Definition Rule.h:59
AWS_QBUSINESS_API Rule()=default
RuleType GetRuleType() const
Definition Rule.h:77
Rule & WithExcludedUsersAndGroups(ExcludedUsersAndGroupsT &&value)
Definition Rule.h:67
bool RuleTypeHasBeenSet() const
Definition Rule.h:78
void SetIncludedUsersAndGroups(IncludedUsersAndGroupsT &&value)
Definition Rule.h:44
AWS_QBUSINESS_API Rule & operator=(Aws::Utils::Json::JsonView jsonValue)
Rule & WithRuleConfiguration(RuleConfigurationT &&value)
Definition Rule.h:101
bool ExcludedUsersAndGroupsHasBeenSet() const
Definition Rule.h:60
void SetExcludedUsersAndGroups(ExcludedUsersAndGroupsT &&value)
Definition Rule.h:62
void SetRuleConfiguration(RuleConfigurationT &&value)
Definition Rule.h:96
bool RuleConfigurationHasBeenSet() const
Definition Rule.h:94
const RuleConfiguration & GetRuleConfiguration() const
Definition Rule.h:93
void SetRuleType(RuleType value)
Definition Rule.h:79
const UsersAndGroups & GetIncludedUsersAndGroups() const
Definition Rule.h:41
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
Aws::Utils::Json::JsonValue JsonValue