/** * 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 #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Appflow { namespace Model { /** *

A class for modeling different type of tasks. Task implementation varies * based on the TaskType.

See Also:

AWS API * Reference

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

The source fields to which a particular task is applied.

*/ inline const Aws::Vector& GetSourceFields() const{ return m_sourceFields; } /** *

The source fields to which a particular task is applied.

*/ inline bool SourceFieldsHasBeenSet() const { return m_sourceFieldsHasBeenSet; } /** *

The source fields to which a particular task is applied.

*/ inline void SetSourceFields(const Aws::Vector& value) { m_sourceFieldsHasBeenSet = true; m_sourceFields = value; } /** *

The source fields to which a particular task is applied.

*/ inline void SetSourceFields(Aws::Vector&& value) { m_sourceFieldsHasBeenSet = true; m_sourceFields = std::move(value); } /** *

The source fields to which a particular task is applied.

*/ inline Task& WithSourceFields(const Aws::Vector& value) { SetSourceFields(value); return *this;} /** *

The source fields to which a particular task is applied.

*/ inline Task& WithSourceFields(Aws::Vector&& value) { SetSourceFields(std::move(value)); return *this;} /** *

The source fields to which a particular task is applied.

*/ inline Task& AddSourceFields(const Aws::String& value) { m_sourceFieldsHasBeenSet = true; m_sourceFields.push_back(value); return *this; } /** *

The source fields to which a particular task is applied.

*/ inline Task& AddSourceFields(Aws::String&& value) { m_sourceFieldsHasBeenSet = true; m_sourceFields.push_back(std::move(value)); return *this; } /** *

The source fields to which a particular task is applied.

*/ inline Task& AddSourceFields(const char* value) { m_sourceFieldsHasBeenSet = true; m_sourceFields.push_back(value); return *this; } /** *

The operation to be performed on the provided source fields.

*/ inline const ConnectorOperator& GetConnectorOperator() const{ return m_connectorOperator; } /** *

The operation to be performed on the provided source fields.

*/ inline bool ConnectorOperatorHasBeenSet() const { return m_connectorOperatorHasBeenSet; } /** *

The operation to be performed on the provided source fields.

*/ inline void SetConnectorOperator(const ConnectorOperator& value) { m_connectorOperatorHasBeenSet = true; m_connectorOperator = value; } /** *

The operation to be performed on the provided source fields.

*/ inline void SetConnectorOperator(ConnectorOperator&& value) { m_connectorOperatorHasBeenSet = true; m_connectorOperator = std::move(value); } /** *

The operation to be performed on the provided source fields.

*/ inline Task& WithConnectorOperator(const ConnectorOperator& value) { SetConnectorOperator(value); return *this;} /** *

The operation to be performed on the provided source fields.

*/ inline Task& WithConnectorOperator(ConnectorOperator&& value) { SetConnectorOperator(std::move(value)); return *this;} /** *

A field in a destination connector, or a field value against which Amazon * AppFlow validates a source field.

*/ inline const Aws::String& GetDestinationField() const{ return m_destinationField; } /** *

A field in a destination connector, or a field value against which Amazon * AppFlow validates a source field.

*/ inline bool DestinationFieldHasBeenSet() const { return m_destinationFieldHasBeenSet; } /** *

A field in a destination connector, or a field value against which Amazon * AppFlow validates a source field.

*/ inline void SetDestinationField(const Aws::String& value) { m_destinationFieldHasBeenSet = true; m_destinationField = value; } /** *

A field in a destination connector, or a field value against which Amazon * AppFlow validates a source field.

*/ inline void SetDestinationField(Aws::String&& value) { m_destinationFieldHasBeenSet = true; m_destinationField = std::move(value); } /** *

A field in a destination connector, or a field value against which Amazon * AppFlow validates a source field.

*/ inline void SetDestinationField(const char* value) { m_destinationFieldHasBeenSet = true; m_destinationField.assign(value); } /** *

A field in a destination connector, or a field value against which Amazon * AppFlow validates a source field.

*/ inline Task& WithDestinationField(const Aws::String& value) { SetDestinationField(value); return *this;} /** *

A field in a destination connector, or a field value against which Amazon * AppFlow validates a source field.

*/ inline Task& WithDestinationField(Aws::String&& value) { SetDestinationField(std::move(value)); return *this;} /** *

A field in a destination connector, or a field value against which Amazon * AppFlow validates a source field.

*/ inline Task& WithDestinationField(const char* value) { SetDestinationField(value); return *this;} /** *

Specifies the particular task implementation that Amazon AppFlow performs. *

*/ inline const TaskType& GetTaskType() const{ return m_taskType; } /** *

Specifies the particular task implementation that Amazon AppFlow performs. *

*/ inline bool TaskTypeHasBeenSet() const { return m_taskTypeHasBeenSet; } /** *

Specifies the particular task implementation that Amazon AppFlow performs. *

*/ inline void SetTaskType(const TaskType& value) { m_taskTypeHasBeenSet = true; m_taskType = value; } /** *

Specifies the particular task implementation that Amazon AppFlow performs. *

*/ inline void SetTaskType(TaskType&& value) { m_taskTypeHasBeenSet = true; m_taskType = std::move(value); } /** *

Specifies the particular task implementation that Amazon AppFlow performs. *

*/ inline Task& WithTaskType(const TaskType& value) { SetTaskType(value); return *this;} /** *

Specifies the particular task implementation that Amazon AppFlow performs. *

*/ inline Task& WithTaskType(TaskType&& value) { SetTaskType(std::move(value)); return *this;} /** *

A map used to store task-related information. The execution service looks * for particular information based on the TaskType.

*/ inline const Aws::Map& GetTaskProperties() const{ return m_taskProperties; } /** *

A map used to store task-related information. The execution service looks * for particular information based on the TaskType.

*/ inline bool TaskPropertiesHasBeenSet() const { return m_taskPropertiesHasBeenSet; } /** *

A map used to store task-related information. The execution service looks * for particular information based on the TaskType.

*/ inline void SetTaskProperties(const Aws::Map& value) { m_taskPropertiesHasBeenSet = true; m_taskProperties = value; } /** *

A map used to store task-related information. The execution service looks * for particular information based on the TaskType.

*/ inline void SetTaskProperties(Aws::Map&& value) { m_taskPropertiesHasBeenSet = true; m_taskProperties = std::move(value); } /** *

A map used to store task-related information. The execution service looks * for particular information based on the TaskType.

*/ inline Task& WithTaskProperties(const Aws::Map& value) { SetTaskProperties(value); return *this;} /** *

A map used to store task-related information. The execution service looks * for particular information based on the TaskType.

*/ inline Task& WithTaskProperties(Aws::Map&& value) { SetTaskProperties(std::move(value)); return *this;} /** *

A map used to store task-related information. The execution service looks * for particular information based on the TaskType.

*/ inline Task& AddTaskProperties(const OperatorPropertiesKeys& key, const Aws::String& value) { m_taskPropertiesHasBeenSet = true; m_taskProperties.emplace(key, value); return *this; } /** *

A map used to store task-related information. The execution service looks * for particular information based on the TaskType.

*/ inline Task& AddTaskProperties(OperatorPropertiesKeys&& key, const Aws::String& value) { m_taskPropertiesHasBeenSet = true; m_taskProperties.emplace(std::move(key), value); return *this; } /** *

A map used to store task-related information. The execution service looks * for particular information based on the TaskType.

*/ inline Task& AddTaskProperties(const OperatorPropertiesKeys& key, Aws::String&& value) { m_taskPropertiesHasBeenSet = true; m_taskProperties.emplace(key, std::move(value)); return *this; } /** *

A map used to store task-related information. The execution service looks * for particular information based on the TaskType.

*/ inline Task& AddTaskProperties(OperatorPropertiesKeys&& key, Aws::String&& value) { m_taskPropertiesHasBeenSet = true; m_taskProperties.emplace(std::move(key), std::move(value)); return *this; } /** *

A map used to store task-related information. The execution service looks * for particular information based on the TaskType.

*/ inline Task& AddTaskProperties(OperatorPropertiesKeys&& key, const char* value) { m_taskPropertiesHasBeenSet = true; m_taskProperties.emplace(std::move(key), value); return *this; } /** *

A map used to store task-related information. The execution service looks * for particular information based on the TaskType.

*/ inline Task& AddTaskProperties(const OperatorPropertiesKeys& key, const char* value) { m_taskPropertiesHasBeenSet = true; m_taskProperties.emplace(key, value); return *this; } private: Aws::Vector m_sourceFields; bool m_sourceFieldsHasBeenSet = false; ConnectorOperator m_connectorOperator; bool m_connectorOperatorHasBeenSet = false; Aws::String m_destinationField; bool m_destinationFieldHasBeenSet = false; TaskType m_taskType; bool m_taskTypeHasBeenSet = false; Aws::Map m_taskProperties; bool m_taskPropertiesHasBeenSet = false; }; } // namespace Model } // namespace Appflow } // namespace Aws