AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
Rule.h
1
6#pragma once
7#include <aws/qbusiness/QBusiness_EXPORTS.h>
8#include <aws/qbusiness/model/UsersAndGroups.h>
9#include <aws/qbusiness/model/RuleType.h>
10#include <aws/qbusiness/model/RuleConfiguration.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace QBusiness
24{
25namespace Model
26{
27
34 class Rule
35 {
36 public:
37 AWS_QBUSINESS_API Rule() = default;
40 AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const;
41
42
44
47 inline const UsersAndGroups& GetIncludedUsersAndGroups() const { return m_includedUsersAndGroups; }
48 inline bool IncludedUsersAndGroupsHasBeenSet() const { return m_includedUsersAndGroupsHasBeenSet; }
49 template<typename IncludedUsersAndGroupsT = UsersAndGroups>
50 void SetIncludedUsersAndGroups(IncludedUsersAndGroupsT&& value) { m_includedUsersAndGroupsHasBeenSet = true; m_includedUsersAndGroups = std::forward<IncludedUsersAndGroupsT>(value); }
51 template<typename IncludedUsersAndGroupsT = UsersAndGroups>
52 Rule& WithIncludedUsersAndGroups(IncludedUsersAndGroupsT&& value) { SetIncludedUsersAndGroups(std::forward<IncludedUsersAndGroupsT>(value)); return *this;}
54
56
59 inline const UsersAndGroups& GetExcludedUsersAndGroups() const { return m_excludedUsersAndGroups; }
60 inline bool ExcludedUsersAndGroupsHasBeenSet() const { return m_excludedUsersAndGroupsHasBeenSet; }
61 template<typename ExcludedUsersAndGroupsT = UsersAndGroups>
62 void SetExcludedUsersAndGroups(ExcludedUsersAndGroupsT&& value) { m_excludedUsersAndGroupsHasBeenSet = true; m_excludedUsersAndGroups = std::forward<ExcludedUsersAndGroupsT>(value); }
63 template<typename ExcludedUsersAndGroupsT = UsersAndGroups>
64 Rule& WithExcludedUsersAndGroups(ExcludedUsersAndGroupsT&& value) { SetExcludedUsersAndGroups(std::forward<ExcludedUsersAndGroupsT>(value)); return *this;}
66
68
71 inline RuleType GetRuleType() const { return m_ruleType; }
72 inline bool RuleTypeHasBeenSet() const { return m_ruleTypeHasBeenSet; }
73 inline void SetRuleType(RuleType value) { m_ruleTypeHasBeenSet = true; m_ruleType = value; }
74 inline Rule& WithRuleType(RuleType value) { SetRuleType(value); return *this;}
76
78
81 inline const RuleConfiguration& GetRuleConfiguration() const { return m_ruleConfiguration; }
82 inline bool RuleConfigurationHasBeenSet() const { return m_ruleConfigurationHasBeenSet; }
83 template<typename RuleConfigurationT = RuleConfiguration>
84 void SetRuleConfiguration(RuleConfigurationT&& value) { m_ruleConfigurationHasBeenSet = true; m_ruleConfiguration = std::forward<RuleConfigurationT>(value); }
85 template<typename RuleConfigurationT = RuleConfiguration>
86 Rule& WithRuleConfiguration(RuleConfigurationT&& value) { SetRuleConfiguration(std::forward<RuleConfigurationT>(value)); return *this;}
88 private:
89
90 UsersAndGroups m_includedUsersAndGroups;
91 bool m_includedUsersAndGroupsHasBeenSet = false;
92
93 UsersAndGroups m_excludedUsersAndGroups;
94 bool m_excludedUsersAndGroupsHasBeenSet = false;
95
96 RuleType m_ruleType{RuleType::NOT_SET};
97 bool m_ruleTypeHasBeenSet = false;
98
99 RuleConfiguration m_ruleConfiguration;
100 bool m_ruleConfigurationHasBeenSet = false;
101 };
102
103} // namespace Model
104} // namespace QBusiness
105} // namespace Aws
AWS_QBUSINESS_API Aws::Utils::Json::JsonValue Jsonize() const
Rule & WithRuleType(RuleType value)
Definition Rule.h:74
AWS_QBUSINESS_API Rule(Aws::Utils::Json::JsonView jsonValue)
bool IncludedUsersAndGroupsHasBeenSet() const
Definition Rule.h:48
Rule & WithIncludedUsersAndGroups(IncludedUsersAndGroupsT &&value)
Definition Rule.h:52
const UsersAndGroups & GetExcludedUsersAndGroups() const
Definition Rule.h:59
AWS_QBUSINESS_API Rule()=default
RuleType GetRuleType() const
Definition Rule.h:71
Rule & WithExcludedUsersAndGroups(ExcludedUsersAndGroupsT &&value)
Definition Rule.h:64
bool RuleTypeHasBeenSet() const
Definition Rule.h:72
void SetIncludedUsersAndGroups(IncludedUsersAndGroupsT &&value)
Definition Rule.h:50
AWS_QBUSINESS_API Rule & operator=(Aws::Utils::Json::JsonView jsonValue)
Rule & WithRuleConfiguration(RuleConfigurationT &&value)
Definition Rule.h:86
bool ExcludedUsersAndGroupsHasBeenSet() const
Definition Rule.h:60
void SetExcludedUsersAndGroups(ExcludedUsersAndGroupsT &&value)
Definition Rule.h:62
void SetRuleConfiguration(RuleConfigurationT &&value)
Definition Rule.h:84
bool RuleConfigurationHasBeenSet() const
Definition Rule.h:82
const RuleConfiguration & GetRuleConfiguration() const
Definition Rule.h:81
void SetRuleType(RuleType value)
Definition Rule.h:73
const UsersAndGroups & GetIncludedUsersAndGroups() const
Definition Rule.h:47
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
Aws::Utils::Json::JsonValue JsonValue