AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
Property.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/glue/Glue_EXPORTS.h>
10#include <aws/glue/model/AllowedValue.h>
11#include <aws/glue/model/DataOperation.h>
12#include <aws/glue/model/PropertyType.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace Glue {
24namespace Model {
25
32class Property {
33 public:
34 AWS_GLUE_API Property() = default;
35 AWS_GLUE_API Property(Aws::Utils::Json::JsonView jsonValue);
38
40
43 inline const Aws::String& GetName() const { return m_name; }
44 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
45 template <typename NameT = Aws::String>
46 void SetName(NameT&& value) {
47 m_nameHasBeenSet = true;
48 m_name = std::forward<NameT>(value);
49 }
50 template <typename NameT = Aws::String>
51 Property& WithName(NameT&& value) {
52 SetName(std::forward<NameT>(value));
53 return *this;
54 }
56
58
61 inline const Aws::String& GetDescription() const { return m_description; }
62 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
63 template <typename DescriptionT = Aws::String>
64 void SetDescription(DescriptionT&& value) {
65 m_descriptionHasBeenSet = true;
66 m_description = std::forward<DescriptionT>(value);
67 }
68 template <typename DescriptionT = Aws::String>
69 Property& WithDescription(DescriptionT&& value) {
70 SetDescription(std::forward<DescriptionT>(value));
71 return *this;
72 }
74
76
79 inline bool GetRequired() const { return m_required; }
80 inline bool RequiredHasBeenSet() const { return m_requiredHasBeenSet; }
81 inline void SetRequired(bool value) {
82 m_requiredHasBeenSet = true;
83 m_required = value;
84 }
85 inline Property& WithRequired(bool value) {
86 SetRequired(value);
87 return *this;
88 }
90
92
95 inline const Aws::String& GetDefaultValue() const { return m_defaultValue; }
96 inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; }
97 template <typename DefaultValueT = Aws::String>
98 void SetDefaultValue(DefaultValueT&& value) {
99 m_defaultValueHasBeenSet = true;
100 m_defaultValue = std::forward<DefaultValueT>(value);
101 }
102 template <typename DefaultValueT = Aws::String>
103 Property& WithDefaultValue(DefaultValueT&& value) {
104 SetDefaultValue(std::forward<DefaultValueT>(value));
105 return *this;
106 }
108
110
113 inline const Aws::Vector<PropertyType>& GetPropertyTypes() const { return m_propertyTypes; }
114 inline bool PropertyTypesHasBeenSet() const { return m_propertyTypesHasBeenSet; }
115 template <typename PropertyTypesT = Aws::Vector<PropertyType>>
116 void SetPropertyTypes(PropertyTypesT&& value) {
117 m_propertyTypesHasBeenSet = true;
118 m_propertyTypes = std::forward<PropertyTypesT>(value);
119 }
120 template <typename PropertyTypesT = Aws::Vector<PropertyType>>
121 Property& WithPropertyTypes(PropertyTypesT&& value) {
122 SetPropertyTypes(std::forward<PropertyTypesT>(value));
123 return *this;
124 }
126 m_propertyTypesHasBeenSet = true;
127 m_propertyTypes.push_back(value);
128 return *this;
129 }
131
133
137 inline const Aws::Vector<AllowedValue>& GetAllowedValues() const { return m_allowedValues; }
138 inline bool AllowedValuesHasBeenSet() const { return m_allowedValuesHasBeenSet; }
139 template <typename AllowedValuesT = Aws::Vector<AllowedValue>>
140 void SetAllowedValues(AllowedValuesT&& value) {
141 m_allowedValuesHasBeenSet = true;
142 m_allowedValues = std::forward<AllowedValuesT>(value);
143 }
144 template <typename AllowedValuesT = Aws::Vector<AllowedValue>>
145 Property& WithAllowedValues(AllowedValuesT&& value) {
146 SetAllowedValues(std::forward<AllowedValuesT>(value));
147 return *this;
148 }
149 template <typename AllowedValuesT = AllowedValue>
150 Property& AddAllowedValues(AllowedValuesT&& value) {
151 m_allowedValuesHasBeenSet = true;
152 m_allowedValues.emplace_back(std::forward<AllowedValuesT>(value));
153 return *this;
154 }
156
158
161 inline const Aws::Vector<DataOperation>& GetDataOperationScopes() const { return m_dataOperationScopes; }
162 inline bool DataOperationScopesHasBeenSet() const { return m_dataOperationScopesHasBeenSet; }
163 template <typename DataOperationScopesT = Aws::Vector<DataOperation>>
164 void SetDataOperationScopes(DataOperationScopesT&& value) {
165 m_dataOperationScopesHasBeenSet = true;
166 m_dataOperationScopes = std::forward<DataOperationScopesT>(value);
167 }
168 template <typename DataOperationScopesT = Aws::Vector<DataOperation>>
169 Property& WithDataOperationScopes(DataOperationScopesT&& value) {
170 SetDataOperationScopes(std::forward<DataOperationScopesT>(value));
171 return *this;
172 }
174 m_dataOperationScopesHasBeenSet = true;
175 m_dataOperationScopes.push_back(value);
176 return *this;
177 }
179 private:
180 Aws::String m_name;
181
182 Aws::String m_description;
183
184 bool m_required{false};
185
186 Aws::String m_defaultValue;
187
188 Aws::Vector<PropertyType> m_propertyTypes;
189
190 Aws::Vector<AllowedValue> m_allowedValues;
191
192 Aws::Vector<DataOperation> m_dataOperationScopes;
193 bool m_nameHasBeenSet = false;
194 bool m_descriptionHasBeenSet = false;
195 bool m_requiredHasBeenSet = false;
196 bool m_defaultValueHasBeenSet = false;
197 bool m_propertyTypesHasBeenSet = false;
198 bool m_allowedValuesHasBeenSet = false;
199 bool m_dataOperationScopesHasBeenSet = false;
200};
201
202} // namespace Model
203} // namespace Glue
204} // namespace Aws
bool PropertyTypesHasBeenSet() const
Definition Property.h:114
Property & AddAllowedValues(AllowedValuesT &&value)
Definition Property.h:150
Property & WithDataOperationScopes(DataOperationScopesT &&value)
Definition Property.h:169
Property & WithDescription(DescriptionT &&value)
Definition Property.h:69
void SetDescription(DescriptionT &&value)
Definition Property.h:64
Property & AddPropertyTypes(PropertyType value)
Definition Property.h:125
const Aws::String & GetDefaultValue() const
Definition Property.h:95
Property & WithPropertyTypes(PropertyTypesT &&value)
Definition Property.h:121
bool DataOperationScopesHasBeenSet() const
Definition Property.h:162
void SetDataOperationScopes(DataOperationScopesT &&value)
Definition Property.h:164
const Aws::String & GetName() const
Definition Property.h:43
Property & WithName(NameT &&value)
Definition Property.h:51
AWS_GLUE_API Property & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< AllowedValue > & GetAllowedValues() const
Definition Property.h:137
const Aws::Vector< DataOperation > & GetDataOperationScopes() const
Definition Property.h:161
AWS_GLUE_API Property(Aws::Utils::Json::JsonView jsonValue)
void SetDefaultValue(DefaultValueT &&value)
Definition Property.h:98
void SetAllowedValues(AllowedValuesT &&value)
Definition Property.h:140
bool DefaultValueHasBeenSet() const
Definition Property.h:96
bool GetRequired() const
Definition Property.h:79
bool DescriptionHasBeenSet() const
Definition Property.h:62
const Aws::Vector< PropertyType > & GetPropertyTypes() const
Definition Property.h:113
const Aws::String & GetDescription() const
Definition Property.h:61
Property & WithRequired(bool value)
Definition Property.h:85
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
Property & AddDataOperationScopes(DataOperation value)
Definition Property.h:173
AWS_GLUE_API Property()=default
void SetPropertyTypes(PropertyTypesT &&value)
Definition Property.h:116
void SetRequired(bool value)
Definition Property.h:81
void SetName(NameT &&value)
Definition Property.h:46
bool NameHasBeenSet() const
Definition Property.h:44
bool AllowedValuesHasBeenSet() const
Definition Property.h:138
bool RequiredHasBeenSet() const
Definition Property.h:80
Property & WithDefaultValue(DefaultValueT &&value)
Definition Property.h:103
Property & WithAllowedValues(AllowedValuesT &&value)
Definition Property.h:145
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue