AWS SDK for C++

AWS SDK for C++ Version 1.11.876

Loading...
Searching...
No Matches
AggregationThreshold.h
1
6#pragma once
7#include <aws/cleanrooms/CleanRooms_EXPORTS.h>
8#include <aws/cleanrooms/model/AggregationThresholdType.h>
9#include <aws/cleanrooms/model/AllowedAggregateExpressionType.h>
10#include <aws/cleanrooms/model/OutputColumnThreshold.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace CleanRooms {
24namespace Model {
25
33 public:
34 AWS_CLEANROOMS_API AggregationThreshold() = default;
35 AWS_CLEANROOMS_API AggregationThreshold(Aws::Utils::Json::JsonView jsonValue);
37 AWS_CLEANROOMS_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
45 inline const Aws::Vector<Aws::String>& GetIdentityColumns() const { return m_identityColumns; }
46 inline bool IdentityColumnsHasBeenSet() const { return m_identityColumnsHasBeenSet; }
47 template <typename IdentityColumnsT = Aws::Vector<Aws::String>>
48 void SetIdentityColumns(IdentityColumnsT&& value) {
49 m_identityColumnsHasBeenSet = true;
50 m_identityColumns = std::forward<IdentityColumnsT>(value);
51 }
52 template <typename IdentityColumnsT = Aws::Vector<Aws::String>>
53 AggregationThreshold& WithIdentityColumns(IdentityColumnsT&& value) {
54 SetIdentityColumns(std::forward<IdentityColumnsT>(value));
55 return *this;
56 }
57 template <typename IdentityColumnsT = Aws::String>
58 AggregationThreshold& AddIdentityColumns(IdentityColumnsT&& value) {
59 m_identityColumnsHasBeenSet = true;
60 m_identityColumns.emplace_back(std::forward<IdentityColumnsT>(value));
61 return *this;
62 }
64
66
72 inline int GetMinimumIdentityCount() const { return m_minimumIdentityCount; }
73 inline bool MinimumIdentityCountHasBeenSet() const { return m_minimumIdentityCountHasBeenSet; }
74 inline void SetMinimumIdentityCount(int value) {
75 m_minimumIdentityCountHasBeenSet = true;
76 m_minimumIdentityCount = value;
77 }
80 return *this;
81 }
83
85
90 inline AggregationThresholdType GetType() const { return m_type; }
91 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
92 inline void SetType(AggregationThresholdType value) {
93 m_typeHasBeenSet = true;
94 m_type = value;
95 }
97 SetType(value);
98 return *this;
99 }
101
103
107 inline const Aws::Vector<OutputColumnThreshold>& GetOutputColumnThresholds() const { return m_outputColumnThresholds; }
108 inline bool OutputColumnThresholdsHasBeenSet() const { return m_outputColumnThresholdsHasBeenSet; }
109 template <typename OutputColumnThresholdsT = Aws::Vector<OutputColumnThreshold>>
110 void SetOutputColumnThresholds(OutputColumnThresholdsT&& value) {
111 m_outputColumnThresholdsHasBeenSet = true;
112 m_outputColumnThresholds = std::forward<OutputColumnThresholdsT>(value);
113 }
114 template <typename OutputColumnThresholdsT = Aws::Vector<OutputColumnThreshold>>
115 AggregationThreshold& WithOutputColumnThresholds(OutputColumnThresholdsT&& value) {
116 SetOutputColumnThresholds(std::forward<OutputColumnThresholdsT>(value));
117 return *this;
118 }
119 template <typename OutputColumnThresholdsT = OutputColumnThreshold>
120 AggregationThreshold& AddOutputColumnThresholds(OutputColumnThresholdsT&& value) {
121 m_outputColumnThresholdsHasBeenSet = true;
122 m_outputColumnThresholds.emplace_back(std::forward<OutputColumnThresholdsT>(value));
123 return *this;
124 }
126
128
141 inline AllowedAggregateExpressionType GetAllowedAggregateExpressionType() const { return m_allowedAggregateExpressionType; }
142 inline bool AllowedAggregateExpressionTypeHasBeenSet() const { return m_allowedAggregateExpressionTypeHasBeenSet; }
144 m_allowedAggregateExpressionTypeHasBeenSet = true;
145 m_allowedAggregateExpressionType = value;
146 }
149 return *this;
150 }
152 private:
153 Aws::Vector<Aws::String> m_identityColumns;
154
155 int m_minimumIdentityCount{0};
156
158
159 Aws::Vector<OutputColumnThreshold> m_outputColumnThresholds;
160
162 bool m_identityColumnsHasBeenSet = false;
163 bool m_minimumIdentityCountHasBeenSet = false;
164 bool m_typeHasBeenSet = false;
165 bool m_outputColumnThresholdsHasBeenSet = false;
166 bool m_allowedAggregateExpressionTypeHasBeenSet = false;
167};
168
169} // namespace Model
170} // namespace CleanRooms
171} // namespace Aws
AWS_CLEANROOMS_API AggregationThreshold & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetOutputColumnThresholds(OutputColumnThresholdsT &&value)
const Aws::Vector< OutputColumnThreshold > & GetOutputColumnThresholds() const
AggregationThreshold & AddOutputColumnThresholds(OutputColumnThresholdsT &&value)
AWS_CLEANROOMS_API AggregationThreshold()=default
AggregationThreshold & WithType(AggregationThresholdType value)
AggregationThreshold & AddIdentityColumns(IdentityColumnsT &&value)
AggregationThreshold & WithIdentityColumns(IdentityColumnsT &&value)
AggregationThreshold & WithAllowedAggregateExpressionType(AllowedAggregateExpressionType value)
void SetAllowedAggregateExpressionType(AllowedAggregateExpressionType value)
void SetType(AggregationThresholdType value)
AWS_CLEANROOMS_API AggregationThreshold(Aws::Utils::Json::JsonView jsonValue)
AllowedAggregateExpressionType GetAllowedAggregateExpressionType() const
void SetIdentityColumns(IdentityColumnsT &&value)
AWS_CLEANROOMS_API Aws::Utils::Json::JsonValue Jsonize() const
AggregationThreshold & WithMinimumIdentityCount(int value)
const Aws::Vector< Aws::String > & GetIdentityColumns() const
AggregationThreshold & WithOutputColumnThresholds(OutputColumnThresholdsT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue