/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #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 set of options that define how DataBrew selects files for a * given Amazon S3 path in a dataset.

See Also:

AWS * API Reference

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

If provided, this structure defines a date range for matching Amazon S3 * objects based on their LastModifiedDate attribute in Amazon S3.

*/ inline const FilterExpression& GetLastModifiedDateCondition() const{ return m_lastModifiedDateCondition; } /** *

If provided, this structure defines a date range for matching Amazon S3 * objects based on their LastModifiedDate attribute in Amazon S3.

*/ inline bool LastModifiedDateConditionHasBeenSet() const { return m_lastModifiedDateConditionHasBeenSet; } /** *

If provided, this structure defines a date range for matching Amazon S3 * objects based on their LastModifiedDate attribute in Amazon S3.

*/ inline void SetLastModifiedDateCondition(const FilterExpression& value) { m_lastModifiedDateConditionHasBeenSet = true; m_lastModifiedDateCondition = value; } /** *

If provided, this structure defines a date range for matching Amazon S3 * objects based on their LastModifiedDate attribute in Amazon S3.

*/ inline void SetLastModifiedDateCondition(FilterExpression&& value) { m_lastModifiedDateConditionHasBeenSet = true; m_lastModifiedDateCondition = std::move(value); } /** *

If provided, this structure defines a date range for matching Amazon S3 * objects based on their LastModifiedDate attribute in Amazon S3.

*/ inline PathOptions& WithLastModifiedDateCondition(const FilterExpression& value) { SetLastModifiedDateCondition(value); return *this;} /** *

If provided, this structure defines a date range for matching Amazon S3 * objects based on their LastModifiedDate attribute in Amazon S3.

*/ inline PathOptions& WithLastModifiedDateCondition(FilterExpression&& value) { SetLastModifiedDateCondition(std::move(value)); return *this;} /** *

If provided, this structure imposes a limit on a number of files that should * be selected.

*/ inline const FilesLimit& GetFilesLimit() const{ return m_filesLimit; } /** *

If provided, this structure imposes a limit on a number of files that should * be selected.

*/ inline bool FilesLimitHasBeenSet() const { return m_filesLimitHasBeenSet; } /** *

If provided, this structure imposes a limit on a number of files that should * be selected.

*/ inline void SetFilesLimit(const FilesLimit& value) { m_filesLimitHasBeenSet = true; m_filesLimit = value; } /** *

If provided, this structure imposes a limit on a number of files that should * be selected.

*/ inline void SetFilesLimit(FilesLimit&& value) { m_filesLimitHasBeenSet = true; m_filesLimit = std::move(value); } /** *

If provided, this structure imposes a limit on a number of files that should * be selected.

*/ inline PathOptions& WithFilesLimit(const FilesLimit& value) { SetFilesLimit(value); return *this;} /** *

If provided, this structure imposes a limit on a number of files that should * be selected.

*/ inline PathOptions& WithFilesLimit(FilesLimit&& value) { SetFilesLimit(std::move(value)); return *this;} /** *

A structure that maps names of parameters used in the Amazon S3 path of a * dataset to their definitions.

*/ inline const Aws::Map& GetParameters() const{ return m_parameters; } /** *

A structure that maps names of parameters used in the Amazon S3 path of a * dataset to their definitions.

*/ inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } /** *

A structure that maps names of parameters used in the Amazon S3 path of a * dataset to their definitions.

*/ inline void SetParameters(const Aws::Map& value) { m_parametersHasBeenSet = true; m_parameters = value; } /** *

A structure that maps names of parameters used in the Amazon S3 path of a * dataset to their definitions.

*/ inline void SetParameters(Aws::Map&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } /** *

A structure that maps names of parameters used in the Amazon S3 path of a * dataset to their definitions.

*/ inline PathOptions& WithParameters(const Aws::Map& value) { SetParameters(value); return *this;} /** *

A structure that maps names of parameters used in the Amazon S3 path of a * dataset to their definitions.

*/ inline PathOptions& WithParameters(Aws::Map&& value) { SetParameters(std::move(value)); return *this;} /** *

A structure that maps names of parameters used in the Amazon S3 path of a * dataset to their definitions.

*/ inline PathOptions& AddParameters(const Aws::String& key, const DatasetParameter& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *

A structure that maps names of parameters used in the Amazon S3 path of a * dataset to their definitions.

*/ inline PathOptions& AddParameters(Aws::String&& key, const DatasetParameter& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *

A structure that maps names of parameters used in the Amazon S3 path of a * dataset to their definitions.

*/ inline PathOptions& AddParameters(const Aws::String& key, DatasetParameter&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

A structure that maps names of parameters used in the Amazon S3 path of a * dataset to their definitions.

*/ inline PathOptions& AddParameters(Aws::String&& key, DatasetParameter&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; } /** *

A structure that maps names of parameters used in the Amazon S3 path of a * dataset to their definitions.

*/ inline PathOptions& AddParameters(const char* key, DatasetParameter&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

A structure that maps names of parameters used in the Amazon S3 path of a * dataset to their definitions.

*/ inline PathOptions& AddParameters(const char* key, const DatasetParameter& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } private: FilterExpression m_lastModifiedDateCondition; bool m_lastModifiedDateConditionHasBeenSet = false; FilesLimit m_filesLimit; bool m_filesLimitHasBeenSet = false; Aws::Map m_parameters; bool m_parametersHasBeenSet = false; }; } // namespace Model } // namespace GlueDataBrew } // namespace Aws