AWS SDK for C++

AWS SDK for C++ Version 1.11.751

Loading...
Searching...
No Matches
AnalysisRulePolicyV1.h
1
6#pragma once
7#include <aws/cleanrooms/CleanRooms_EXPORTS.h>
8#include <aws/cleanrooms/model/AnalysisRuleAggregation.h>
9#include <aws/cleanrooms/model/AnalysisRuleCustom.h>
10#include <aws/cleanrooms/model/AnalysisRuleIdMappingTable.h>
11#include <aws/cleanrooms/model/AnalysisRuleList.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace CleanRooms {
23namespace Model {
24
32 public:
33 AWS_CLEANROOMS_API AnalysisRulePolicyV1() = default;
34 AWS_CLEANROOMS_API AnalysisRulePolicyV1(Aws::Utils::Json::JsonView jsonValue);
36 AWS_CLEANROOMS_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline const AnalysisRuleList& GetList() const { return m_list; }
43 inline bool ListHasBeenSet() const { return m_listHasBeenSet; }
44 template <typename ListT = AnalysisRuleList>
45 void SetList(ListT&& value) {
46 m_listHasBeenSet = true;
47 m_list = std::forward<ListT>(value);
48 }
49 template <typename ListT = AnalysisRuleList>
51 SetList(std::forward<ListT>(value));
52 return *this;
53 }
55
57
61 inline const AnalysisRuleAggregation& GetAggregation() const { return m_aggregation; }
62 inline bool AggregationHasBeenSet() const { return m_aggregationHasBeenSet; }
63 template <typename AggregationT = AnalysisRuleAggregation>
64 void SetAggregation(AggregationT&& value) {
65 m_aggregationHasBeenSet = true;
66 m_aggregation = std::forward<AggregationT>(value);
67 }
68 template <typename AggregationT = AnalysisRuleAggregation>
69 AnalysisRulePolicyV1& WithAggregation(AggregationT&& value) {
70 SetAggregation(std::forward<AggregationT>(value));
71 return *this;
72 }
74
76
79 inline const AnalysisRuleCustom& GetCustom() const { return m_custom; }
80 inline bool CustomHasBeenSet() const { return m_customHasBeenSet; }
81 template <typename CustomT = AnalysisRuleCustom>
82 void SetCustom(CustomT&& value) {
83 m_customHasBeenSet = true;
84 m_custom = std::forward<CustomT>(value);
85 }
86 template <typename CustomT = AnalysisRuleCustom>
87 AnalysisRulePolicyV1& WithCustom(CustomT&& value) {
88 SetCustom(std::forward<CustomT>(value));
89 return *this;
90 }
92
94
97 inline const AnalysisRuleIdMappingTable& GetIdMappingTable() const { return m_idMappingTable; }
98 inline bool IdMappingTableHasBeenSet() const { return m_idMappingTableHasBeenSet; }
99 template <typename IdMappingTableT = AnalysisRuleIdMappingTable>
100 void SetIdMappingTable(IdMappingTableT&& value) {
101 m_idMappingTableHasBeenSet = true;
102 m_idMappingTable = std::forward<IdMappingTableT>(value);
103 }
104 template <typename IdMappingTableT = AnalysisRuleIdMappingTable>
105 AnalysisRulePolicyV1& WithIdMappingTable(IdMappingTableT&& value) {
106 SetIdMappingTable(std::forward<IdMappingTableT>(value));
107 return *this;
108 }
110 private:
111 AnalysisRuleList m_list;
112
113 AnalysisRuleAggregation m_aggregation;
114
115 AnalysisRuleCustom m_custom;
116
117 AnalysisRuleIdMappingTable m_idMappingTable;
118 bool m_listHasBeenSet = false;
119 bool m_aggregationHasBeenSet = false;
120 bool m_customHasBeenSet = false;
121 bool m_idMappingTableHasBeenSet = false;
122};
123
124} // namespace Model
125} // namespace CleanRooms
126} // namespace Aws
const AnalysisRuleIdMappingTable & GetIdMappingTable() const
AnalysisRulePolicyV1 & WithList(ListT &&value)
AWS_CLEANROOMS_API AnalysisRulePolicyV1(Aws::Utils::Json::JsonView jsonValue)
const AnalysisRuleCustom & GetCustom() const
AWS_CLEANROOMS_API AnalysisRulePolicyV1 & operator=(Aws::Utils::Json::JsonView jsonValue)
AnalysisRulePolicyV1 & WithIdMappingTable(IdMappingTableT &&value)
AnalysisRulePolicyV1 & WithCustom(CustomT &&value)
AnalysisRulePolicyV1 & WithAggregation(AggregationT &&value)
AWS_CLEANROOMS_API AnalysisRulePolicyV1()=default
AWS_CLEANROOMS_API Aws::Utils::Json::JsonValue Jsonize() const
const AnalysisRuleAggregation & GetAggregation() const
Aws::Utils::Json::JsonValue JsonValue