7#include <aws/glue/Glue_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/glue/model/PropertyType.h>
11#include <aws/glue/model/AllowedValue.h>
12#include <aws/glue/model/DataOperation.h>
51 template<
typename NameT = Aws::String>
52 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
53 template<
typename NameT = Aws::String>
63 template<
typename DescriptionT = Aws::String>
64 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
65 template<
typename DescriptionT = Aws::String>
75 inline void SetRequired(
bool value) { m_requiredHasBeenSet =
true; m_required = value; }
85 template<
typename DefaultValueT = Aws::String>
86 void SetDefaultValue(DefaultValueT&& value) { m_defaultValueHasBeenSet =
true; m_defaultValue = std::forward<DefaultValueT>(value); }
87 template<
typename DefaultValueT = Aws::String>
97 template<
typename PropertyTypesT = Aws::Vector<PropertyType>>
98 void SetPropertyTypes(PropertyTypesT&& value) { m_propertyTypesHasBeenSet =
true; m_propertyTypes = std::forward<PropertyTypesT>(value); }
99 template<
typename PropertyTypesT = Aws::Vector<PropertyType>>
111 template<
typename AllowedValuesT = Aws::Vector<AllowedValue>>
112 void SetAllowedValues(AllowedValuesT&& value) { m_allowedValuesHasBeenSet =
true; m_allowedValues = std::forward<AllowedValuesT>(value); }
113 template<
typename AllowedValuesT = Aws::Vector<AllowedValue>>
115 template<
typename AllowedValuesT = AllowedValue>
116 Property&
AddAllowedValues(AllowedValuesT&& value) { m_allowedValuesHasBeenSet =
true; m_allowedValues.emplace_back(std::forward<AllowedValuesT>(value));
return *
this; }
125 template<
typename DataOperationScopesT = Aws::Vector<DataOperation>>
126 void SetDataOperationScopes(DataOperationScopesT&& value) { m_dataOperationScopesHasBeenSet =
true; m_dataOperationScopes = std::forward<DataOperationScopesT>(value); }
127 template<
typename DataOperationScopesT = Aws::Vector<DataOperation>>
134 bool m_nameHasBeenSet =
false;
137 bool m_descriptionHasBeenSet =
false;
139 bool m_required{
false};
140 bool m_requiredHasBeenSet =
false;
143 bool m_defaultValueHasBeenSet =
false;
146 bool m_propertyTypesHasBeenSet =
false;
149 bool m_allowedValuesHasBeenSet =
false;
152 bool m_dataOperationScopesHasBeenSet =
false;
bool PropertyTypesHasBeenSet() const
Property & AddAllowedValues(AllowedValuesT &&value)
Property & WithDataOperationScopes(DataOperationScopesT &&value)
Property & WithDescription(DescriptionT &&value)
void SetDescription(DescriptionT &&value)
Property & AddPropertyTypes(PropertyType value)
const Aws::String & GetDefaultValue() const
Property & WithPropertyTypes(PropertyTypesT &&value)
bool DataOperationScopesHasBeenSet() const
void SetDataOperationScopes(DataOperationScopesT &&value)
const Aws::String & GetName() const
Property & WithName(NameT &&value)
AWS_GLUE_API Property & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< AllowedValue > & GetAllowedValues() const
const Aws::Vector< DataOperation > & GetDataOperationScopes() const
AWS_GLUE_API Property(Aws::Utils::Json::JsonView jsonValue)
void SetDefaultValue(DefaultValueT &&value)
void SetAllowedValues(AllowedValuesT &&value)
bool DefaultValueHasBeenSet() const
bool DescriptionHasBeenSet() const
const Aws::Vector< PropertyType > & GetPropertyTypes() const
const Aws::String & GetDescription() const
Property & WithRequired(bool value)
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
Property & AddDataOperationScopes(DataOperation value)
AWS_GLUE_API Property()=default
void SetPropertyTypes(PropertyTypesT &&value)
void SetRequired(bool value)
void SetName(NameT &&value)
bool NameHasBeenSet() const
bool AllowedValuesHasBeenSet() const
bool RequiredHasBeenSet() const
Property & WithDefaultValue(DefaultValueT &&value)
Property & WithAllowedValues(AllowedValuesT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue