AWS SDK for C++

AWS SDK for C++ Version 1.11.746

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/PropertyLocation.h>
13#include <aws/glue/model/PropertyType.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace Glue {
25namespace Model {
26
33class Property {
34 public:
35 AWS_GLUE_API Property() = default;
36 AWS_GLUE_API Property(Aws::Utils::Json::JsonView jsonValue);
39
41
44 inline const Aws::String& GetName() const { return m_name; }
45 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
46 template <typename NameT = Aws::String>
47 void SetName(NameT&& value) {
48 m_nameHasBeenSet = true;
49 m_name = std::forward<NameT>(value);
50 }
51 template <typename NameT = Aws::String>
52 Property& WithName(NameT&& value) {
53 SetName(std::forward<NameT>(value));
54 return *this;
55 }
57
59
62 inline const Aws::String& GetDescription() const { return m_description; }
63 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
64 template <typename DescriptionT = Aws::String>
65 void SetDescription(DescriptionT&& value) {
66 m_descriptionHasBeenSet = true;
67 m_description = std::forward<DescriptionT>(value);
68 }
69 template <typename DescriptionT = Aws::String>
70 Property& WithDescription(DescriptionT&& value) {
71 SetDescription(std::forward<DescriptionT>(value));
72 return *this;
73 }
75
77
80 inline bool GetRequired() const { return m_required; }
81 inline bool RequiredHasBeenSet() const { return m_requiredHasBeenSet; }
82 inline void SetRequired(bool value) {
83 m_requiredHasBeenSet = true;
84 m_required = value;
85 }
86 inline Property& WithRequired(bool value) {
87 SetRequired(value);
88 return *this;
89 }
91
93
96 inline const Aws::String& GetDefaultValue() const { return m_defaultValue; }
97 inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; }
98 template <typename DefaultValueT = Aws::String>
99 void SetDefaultValue(DefaultValueT&& value) {
100 m_defaultValueHasBeenSet = true;
101 m_defaultValue = std::forward<DefaultValueT>(value);
102 }
103 template <typename DefaultValueT = Aws::String>
104 Property& WithDefaultValue(DefaultValueT&& value) {
105 SetDefaultValue(std::forward<DefaultValueT>(value));
106 return *this;
107 }
109
111
114 inline const Aws::Vector<PropertyType>& GetPropertyTypes() const { return m_propertyTypes; }
115 inline bool PropertyTypesHasBeenSet() const { return m_propertyTypesHasBeenSet; }
116 template <typename PropertyTypesT = Aws::Vector<PropertyType>>
117 void SetPropertyTypes(PropertyTypesT&& value) {
118 m_propertyTypesHasBeenSet = true;
119 m_propertyTypes = std::forward<PropertyTypesT>(value);
120 }
121 template <typename PropertyTypesT = Aws::Vector<PropertyType>>
122 Property& WithPropertyTypes(PropertyTypesT&& value) {
123 SetPropertyTypes(std::forward<PropertyTypesT>(value));
124 return *this;
125 }
127 m_propertyTypesHasBeenSet = true;
128 m_propertyTypes.push_back(value);
129 return *this;
130 }
132
134
138 inline const Aws::Vector<AllowedValue>& GetAllowedValues() const { return m_allowedValues; }
139 inline bool AllowedValuesHasBeenSet() const { return m_allowedValuesHasBeenSet; }
140 template <typename AllowedValuesT = Aws::Vector<AllowedValue>>
141 void SetAllowedValues(AllowedValuesT&& value) {
142 m_allowedValuesHasBeenSet = true;
143 m_allowedValues = std::forward<AllowedValuesT>(value);
144 }
145 template <typename AllowedValuesT = Aws::Vector<AllowedValue>>
146 Property& WithAllowedValues(AllowedValuesT&& value) {
147 SetAllowedValues(std::forward<AllowedValuesT>(value));
148 return *this;
149 }
150 template <typename AllowedValuesT = AllowedValue>
151 Property& AddAllowedValues(AllowedValuesT&& value) {
152 m_allowedValuesHasBeenSet = true;
153 m_allowedValues.emplace_back(std::forward<AllowedValuesT>(value));
154 return *this;
155 }
157
159
162 inline const Aws::Vector<DataOperation>& GetDataOperationScopes() const { return m_dataOperationScopes; }
163 inline bool DataOperationScopesHasBeenSet() const { return m_dataOperationScopesHasBeenSet; }
164 template <typename DataOperationScopesT = Aws::Vector<DataOperation>>
165 void SetDataOperationScopes(DataOperationScopesT&& value) {
166 m_dataOperationScopesHasBeenSet = true;
167 m_dataOperationScopes = std::forward<DataOperationScopesT>(value);
168 }
169 template <typename DataOperationScopesT = Aws::Vector<DataOperation>>
170 Property& WithDataOperationScopes(DataOperationScopesT&& value) {
171 SetDataOperationScopes(std::forward<DataOperationScopesT>(value));
172 return *this;
173 }
175 m_dataOperationScopesHasBeenSet = true;
176 m_dataOperationScopes.push_back(value);
177 return *this;
178 }
180
182
186 inline const Aws::String& GetKeyOverride() const { return m_keyOverride; }
187 inline bool KeyOverrideHasBeenSet() const { return m_keyOverrideHasBeenSet; }
188 template <typename KeyOverrideT = Aws::String>
189 void SetKeyOverride(KeyOverrideT&& value) {
190 m_keyOverrideHasBeenSet = true;
191 m_keyOverride = std::forward<KeyOverrideT>(value);
192 }
193 template <typename KeyOverrideT = Aws::String>
194 Property& WithKeyOverride(KeyOverrideT&& value) {
195 SetKeyOverride(std::forward<KeyOverrideT>(value));
196 return *this;
197 }
199
201
205 inline PropertyLocation GetPropertyLocation() const { return m_propertyLocation; }
206 inline bool PropertyLocationHasBeenSet() const { return m_propertyLocationHasBeenSet; }
208 m_propertyLocationHasBeenSet = true;
209 m_propertyLocation = value;
210 }
212 SetPropertyLocation(value);
213 return *this;
214 }
216 private:
217 Aws::String m_name;
218
219 Aws::String m_description;
220
221 bool m_required{false};
222
223 Aws::String m_defaultValue;
224
225 Aws::Vector<PropertyType> m_propertyTypes;
226
227 Aws::Vector<AllowedValue> m_allowedValues;
228
229 Aws::Vector<DataOperation> m_dataOperationScopes;
230
231 Aws::String m_keyOverride;
232
234 bool m_nameHasBeenSet = false;
235 bool m_descriptionHasBeenSet = false;
236 bool m_requiredHasBeenSet = false;
237 bool m_defaultValueHasBeenSet = false;
238 bool m_propertyTypesHasBeenSet = false;
239 bool m_allowedValuesHasBeenSet = false;
240 bool m_dataOperationScopesHasBeenSet = false;
241 bool m_keyOverrideHasBeenSet = false;
242 bool m_propertyLocationHasBeenSet = false;
243};
244
245} // namespace Model
246} // namespace Glue
247} // namespace Aws
bool PropertyTypesHasBeenSet() const
Definition Property.h:115
Property & WithKeyOverride(KeyOverrideT &&value)
Definition Property.h:194
void SetKeyOverride(KeyOverrideT &&value)
Definition Property.h:189
Property & AddAllowedValues(AllowedValuesT &&value)
Definition Property.h:151
Property & WithDataOperationScopes(DataOperationScopesT &&value)
Definition Property.h:170
Property & WithDescription(DescriptionT &&value)
Definition Property.h:70
void SetDescription(DescriptionT &&value)
Definition Property.h:65
Property & AddPropertyTypes(PropertyType value)
Definition Property.h:126
Property & WithPropertyLocation(PropertyLocation value)
Definition Property.h:211
const Aws::String & GetDefaultValue() const
Definition Property.h:96
Property & WithPropertyTypes(PropertyTypesT &&value)
Definition Property.h:122
bool DataOperationScopesHasBeenSet() const
Definition Property.h:163
void SetDataOperationScopes(DataOperationScopesT &&value)
Definition Property.h:165
void SetPropertyLocation(PropertyLocation value)
Definition Property.h:207
PropertyLocation GetPropertyLocation() const
Definition Property.h:205
const Aws::String & GetName() const
Definition Property.h:44
Property & WithName(NameT &&value)
Definition Property.h:52
AWS_GLUE_API Property & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< AllowedValue > & GetAllowedValues() const
Definition Property.h:138
const Aws::Vector< DataOperation > & GetDataOperationScopes() const
Definition Property.h:162
AWS_GLUE_API Property(Aws::Utils::Json::JsonView jsonValue)
void SetDefaultValue(DefaultValueT &&value)
Definition Property.h:99
void SetAllowedValues(AllowedValuesT &&value)
Definition Property.h:141
bool DefaultValueHasBeenSet() const
Definition Property.h:97
bool GetRequired() const
Definition Property.h:80
bool DescriptionHasBeenSet() const
Definition Property.h:63
const Aws::Vector< PropertyType > & GetPropertyTypes() const
Definition Property.h:114
const Aws::String & GetDescription() const
Definition Property.h:62
Property & WithRequired(bool value)
Definition Property.h:86
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
Property & AddDataOperationScopes(DataOperation value)
Definition Property.h:174
AWS_GLUE_API Property()=default
void SetPropertyTypes(PropertyTypesT &&value)
Definition Property.h:117
void SetRequired(bool value)
Definition Property.h:82
void SetName(NameT &&value)
Definition Property.h:47
const Aws::String & GetKeyOverride() const
Definition Property.h:186
bool PropertyLocationHasBeenSet() const
Definition Property.h:206
bool NameHasBeenSet() const
Definition Property.h:45
bool AllowedValuesHasBeenSet() const
Definition Property.h:139
bool RequiredHasBeenSet() const
Definition Property.h:81
Property & WithDefaultValue(DefaultValueT &&value)
Definition Property.h:104
bool KeyOverrideHasBeenSet() const
Definition Property.h:187
Property & WithAllowedValues(AllowedValuesT &&value)
Definition Property.h:146
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue