/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace GlueDataBrew { namespace Model { /** *

Represents a dataset parameter that defines type and conditions for a * parameter in the Amazon S3 path of the dataset.

See Also:

AWS * API Reference

*/ class DatasetParameter { public: AWS_GLUEDATABREW_API DatasetParameter(); AWS_GLUEDATABREW_API DatasetParameter(Aws::Utils::Json::JsonView jsonValue); AWS_GLUEDATABREW_API DatasetParameter& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_GLUEDATABREW_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The name of the parameter that is used in the dataset's Amazon S3 path.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the parameter that is used in the dataset's Amazon S3 path.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the parameter that is used in the dataset's Amazon S3 path.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the parameter that is used in the dataset's Amazon S3 path.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the parameter that is used in the dataset's Amazon S3 path.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the parameter that is used in the dataset's Amazon S3 path.

*/ inline DatasetParameter& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the parameter that is used in the dataset's Amazon S3 path.

*/ inline DatasetParameter& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the parameter that is used in the dataset's Amazon S3 path.

*/ inline DatasetParameter& WithName(const char* value) { SetName(value); return *this;} /** *

The type of the dataset parameter, can be one of a 'String', 'Number' or * 'Datetime'.

*/ inline const ParameterType& GetType() const{ return m_type; } /** *

The type of the dataset parameter, can be one of a 'String', 'Number' or * 'Datetime'.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of the dataset parameter, can be one of a 'String', 'Number' or * 'Datetime'.

*/ inline void SetType(const ParameterType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of the dataset parameter, can be one of a 'String', 'Number' or * 'Datetime'.

*/ inline void SetType(ParameterType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of the dataset parameter, can be one of a 'String', 'Number' or * 'Datetime'.

*/ inline DatasetParameter& WithType(const ParameterType& value) { SetType(value); return *this;} /** *

The type of the dataset parameter, can be one of a 'String', 'Number' or * 'Datetime'.

*/ inline DatasetParameter& WithType(ParameterType&& value) { SetType(std::move(value)); return *this;} /** *

Additional parameter options such as a format and a timezone. Required for * datetime parameters.

*/ inline const DatetimeOptions& GetDatetimeOptions() const{ return m_datetimeOptions; } /** *

Additional parameter options such as a format and a timezone. Required for * datetime parameters.

*/ inline bool DatetimeOptionsHasBeenSet() const { return m_datetimeOptionsHasBeenSet; } /** *

Additional parameter options such as a format and a timezone. Required for * datetime parameters.

*/ inline void SetDatetimeOptions(const DatetimeOptions& value) { m_datetimeOptionsHasBeenSet = true; m_datetimeOptions = value; } /** *

Additional parameter options such as a format and a timezone. Required for * datetime parameters.

*/ inline void SetDatetimeOptions(DatetimeOptions&& value) { m_datetimeOptionsHasBeenSet = true; m_datetimeOptions = std::move(value); } /** *

Additional parameter options such as a format and a timezone. Required for * datetime parameters.

*/ inline DatasetParameter& WithDatetimeOptions(const DatetimeOptions& value) { SetDatetimeOptions(value); return *this;} /** *

Additional parameter options such as a format and a timezone. Required for * datetime parameters.

*/ inline DatasetParameter& WithDatetimeOptions(DatetimeOptions&& value) { SetDatetimeOptions(std::move(value)); return *this;} /** *

Optional boolean value that defines whether the captured value of this * parameter should be used to create a new column in a dataset.

*/ inline bool GetCreateColumn() const{ return m_createColumn; } /** *

Optional boolean value that defines whether the captured value of this * parameter should be used to create a new column in a dataset.

*/ inline bool CreateColumnHasBeenSet() const { return m_createColumnHasBeenSet; } /** *

Optional boolean value that defines whether the captured value of this * parameter should be used to create a new column in a dataset.

*/ inline void SetCreateColumn(bool value) { m_createColumnHasBeenSet = true; m_createColumn = value; } /** *

Optional boolean value that defines whether the captured value of this * parameter should be used to create a new column in a dataset.

*/ inline DatasetParameter& WithCreateColumn(bool value) { SetCreateColumn(value); return *this;} /** *

The optional filter expression structure to apply additional matching * criteria to the parameter.

*/ inline const FilterExpression& GetFilter() const{ return m_filter; } /** *

The optional filter expression structure to apply additional matching * criteria to the parameter.

*/ inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } /** *

The optional filter expression structure to apply additional matching * criteria to the parameter.

*/ inline void SetFilter(const FilterExpression& value) { m_filterHasBeenSet = true; m_filter = value; } /** *

The optional filter expression structure to apply additional matching * criteria to the parameter.

*/ inline void SetFilter(FilterExpression&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } /** *

The optional filter expression structure to apply additional matching * criteria to the parameter.

*/ inline DatasetParameter& WithFilter(const FilterExpression& value) { SetFilter(value); return *this;} /** *

The optional filter expression structure to apply additional matching * criteria to the parameter.

*/ inline DatasetParameter& WithFilter(FilterExpression&& value) { SetFilter(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; ParameterType m_type; bool m_typeHasBeenSet = false; DatetimeOptions m_datetimeOptions; bool m_datetimeOptionsHasBeenSet = false; bool m_createColumn; bool m_createColumnHasBeenSet = false; FilterExpression m_filter; bool m_filterHasBeenSet = false; }; } // namespace Model } // namespace GlueDataBrew } // namespace Aws