/** * 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 { /** *

Specifies information about the past flow run instances for a given flow. *

See Also:

AWS * API Reference

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

Specifies the identifier of the given flow run.

*/ inline const Aws::String& GetExecutionId() const{ return m_executionId; } /** *

Specifies the identifier of the given flow run.

*/ inline bool ExecutionIdHasBeenSet() const { return m_executionIdHasBeenSet; } /** *

Specifies the identifier of the given flow run.

*/ inline void SetExecutionId(const Aws::String& value) { m_executionIdHasBeenSet = true; m_executionId = value; } /** *

Specifies the identifier of the given flow run.

*/ inline void SetExecutionId(Aws::String&& value) { m_executionIdHasBeenSet = true; m_executionId = std::move(value); } /** *

Specifies the identifier of the given flow run.

*/ inline void SetExecutionId(const char* value) { m_executionIdHasBeenSet = true; m_executionId.assign(value); } /** *

Specifies the identifier of the given flow run.

*/ inline ExecutionRecord& WithExecutionId(const Aws::String& value) { SetExecutionId(value); return *this;} /** *

Specifies the identifier of the given flow run.

*/ inline ExecutionRecord& WithExecutionId(Aws::String&& value) { SetExecutionId(std::move(value)); return *this;} /** *

Specifies the identifier of the given flow run.

*/ inline ExecutionRecord& WithExecutionId(const char* value) { SetExecutionId(value); return *this;} /** *

Specifies the flow run status and whether it is in progress, has completed * successfully, or has failed.

*/ inline const ExecutionStatus& GetExecutionStatus() const{ return m_executionStatus; } /** *

Specifies the flow run status and whether it is in progress, has completed * successfully, or has failed.

*/ inline bool ExecutionStatusHasBeenSet() const { return m_executionStatusHasBeenSet; } /** *

Specifies the flow run status and whether it is in progress, has completed * successfully, or has failed.

*/ inline void SetExecutionStatus(const ExecutionStatus& value) { m_executionStatusHasBeenSet = true; m_executionStatus = value; } /** *

Specifies the flow run status and whether it is in progress, has completed * successfully, or has failed.

*/ inline void SetExecutionStatus(ExecutionStatus&& value) { m_executionStatusHasBeenSet = true; m_executionStatus = std::move(value); } /** *

Specifies the flow run status and whether it is in progress, has completed * successfully, or has failed.

*/ inline ExecutionRecord& WithExecutionStatus(const ExecutionStatus& value) { SetExecutionStatus(value); return *this;} /** *

Specifies the flow run status and whether it is in progress, has completed * successfully, or has failed.

*/ inline ExecutionRecord& WithExecutionStatus(ExecutionStatus&& value) { SetExecutionStatus(std::move(value)); return *this;} /** *

Describes the result of the given flow run.

*/ inline const ExecutionResult& GetExecutionResult() const{ return m_executionResult; } /** *

Describes the result of the given flow run.

*/ inline bool ExecutionResultHasBeenSet() const { return m_executionResultHasBeenSet; } /** *

Describes the result of the given flow run.

*/ inline void SetExecutionResult(const ExecutionResult& value) { m_executionResultHasBeenSet = true; m_executionResult = value; } /** *

Describes the result of the given flow run.

*/ inline void SetExecutionResult(ExecutionResult&& value) { m_executionResultHasBeenSet = true; m_executionResult = std::move(value); } /** *

Describes the result of the given flow run.

*/ inline ExecutionRecord& WithExecutionResult(const ExecutionResult& value) { SetExecutionResult(value); return *this;} /** *

Describes the result of the given flow run.

*/ inline ExecutionRecord& WithExecutionResult(ExecutionResult&& value) { SetExecutionResult(std::move(value)); return *this;} /** *

Specifies the start time of the flow run.

*/ inline const Aws::Utils::DateTime& GetStartedAt() const{ return m_startedAt; } /** *

Specifies the start time of the flow run.

*/ inline bool StartedAtHasBeenSet() const { return m_startedAtHasBeenSet; } /** *

Specifies the start time of the flow run.

*/ inline void SetStartedAt(const Aws::Utils::DateTime& value) { m_startedAtHasBeenSet = true; m_startedAt = value; } /** *

Specifies the start time of the flow run.

*/ inline void SetStartedAt(Aws::Utils::DateTime&& value) { m_startedAtHasBeenSet = true; m_startedAt = std::move(value); } /** *

Specifies the start time of the flow run.

*/ inline ExecutionRecord& WithStartedAt(const Aws::Utils::DateTime& value) { SetStartedAt(value); return *this;} /** *

Specifies the start time of the flow run.

*/ inline ExecutionRecord& WithStartedAt(Aws::Utils::DateTime&& value) { SetStartedAt(std::move(value)); return *this;} /** *

Specifies the time of the most recent update.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } /** *

Specifies the time of the most recent update.

*/ inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; } /** *

Specifies the time of the most recent update.

*/ inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = value; } /** *

Specifies the time of the most recent update.

*/ inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::move(value); } /** *

Specifies the time of the most recent update.

*/ inline ExecutionRecord& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;} /** *

Specifies the time of the most recent update.

*/ inline ExecutionRecord& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;} /** *

The timestamp that determines the first new or updated record to be * transferred in the flow run.

*/ inline const Aws::Utils::DateTime& GetDataPullStartTime() const{ return m_dataPullStartTime; } /** *

The timestamp that determines the first new or updated record to be * transferred in the flow run.

*/ inline bool DataPullStartTimeHasBeenSet() const { return m_dataPullStartTimeHasBeenSet; } /** *

The timestamp that determines the first new or updated record to be * transferred in the flow run.

*/ inline void SetDataPullStartTime(const Aws::Utils::DateTime& value) { m_dataPullStartTimeHasBeenSet = true; m_dataPullStartTime = value; } /** *

The timestamp that determines the first new or updated record to be * transferred in the flow run.

*/ inline void SetDataPullStartTime(Aws::Utils::DateTime&& value) { m_dataPullStartTimeHasBeenSet = true; m_dataPullStartTime = std::move(value); } /** *

The timestamp that determines the first new or updated record to be * transferred in the flow run.

*/ inline ExecutionRecord& WithDataPullStartTime(const Aws::Utils::DateTime& value) { SetDataPullStartTime(value); return *this;} /** *

The timestamp that determines the first new or updated record to be * transferred in the flow run.

*/ inline ExecutionRecord& WithDataPullStartTime(Aws::Utils::DateTime&& value) { SetDataPullStartTime(std::move(value)); return *this;} /** *

The timestamp that indicates the last new or updated record to be * transferred in the flow run.

*/ inline const Aws::Utils::DateTime& GetDataPullEndTime() const{ return m_dataPullEndTime; } /** *

The timestamp that indicates the last new or updated record to be * transferred in the flow run.

*/ inline bool DataPullEndTimeHasBeenSet() const { return m_dataPullEndTimeHasBeenSet; } /** *

The timestamp that indicates the last new or updated record to be * transferred in the flow run.

*/ inline void SetDataPullEndTime(const Aws::Utils::DateTime& value) { m_dataPullEndTimeHasBeenSet = true; m_dataPullEndTime = value; } /** *

The timestamp that indicates the last new or updated record to be * transferred in the flow run.

*/ inline void SetDataPullEndTime(Aws::Utils::DateTime&& value) { m_dataPullEndTimeHasBeenSet = true; m_dataPullEndTime = std::move(value); } /** *

The timestamp that indicates the last new or updated record to be * transferred in the flow run.

*/ inline ExecutionRecord& WithDataPullEndTime(const Aws::Utils::DateTime& value) { SetDataPullEndTime(value); return *this;} /** *

The timestamp that indicates the last new or updated record to be * transferred in the flow run.

*/ inline ExecutionRecord& WithDataPullEndTime(Aws::Utils::DateTime&& value) { SetDataPullEndTime(std::move(value)); return *this;} /** *

Describes the metadata catalog, metadata table, and data partitions that * Amazon AppFlow used for the associated flow run.

*/ inline const Aws::Vector& GetMetadataCatalogDetails() const{ return m_metadataCatalogDetails; } /** *

Describes the metadata catalog, metadata table, and data partitions that * Amazon AppFlow used for the associated flow run.

*/ inline bool MetadataCatalogDetailsHasBeenSet() const { return m_metadataCatalogDetailsHasBeenSet; } /** *

Describes the metadata catalog, metadata table, and data partitions that * Amazon AppFlow used for the associated flow run.

*/ inline void SetMetadataCatalogDetails(const Aws::Vector& value) { m_metadataCatalogDetailsHasBeenSet = true; m_metadataCatalogDetails = value; } /** *

Describes the metadata catalog, metadata table, and data partitions that * Amazon AppFlow used for the associated flow run.

*/ inline void SetMetadataCatalogDetails(Aws::Vector&& value) { m_metadataCatalogDetailsHasBeenSet = true; m_metadataCatalogDetails = std::move(value); } /** *

Describes the metadata catalog, metadata table, and data partitions that * Amazon AppFlow used for the associated flow run.

*/ inline ExecutionRecord& WithMetadataCatalogDetails(const Aws::Vector& value) { SetMetadataCatalogDetails(value); return *this;} /** *

Describes the metadata catalog, metadata table, and data partitions that * Amazon AppFlow used for the associated flow run.

*/ inline ExecutionRecord& WithMetadataCatalogDetails(Aws::Vector&& value) { SetMetadataCatalogDetails(std::move(value)); return *this;} /** *

Describes the metadata catalog, metadata table, and data partitions that * Amazon AppFlow used for the associated flow run.

*/ inline ExecutionRecord& AddMetadataCatalogDetails(const MetadataCatalogDetail& value) { m_metadataCatalogDetailsHasBeenSet = true; m_metadataCatalogDetails.push_back(value); return *this; } /** *

Describes the metadata catalog, metadata table, and data partitions that * Amazon AppFlow used for the associated flow run.

*/ inline ExecutionRecord& AddMetadataCatalogDetails(MetadataCatalogDetail&& value) { m_metadataCatalogDetailsHasBeenSet = true; m_metadataCatalogDetails.push_back(std::move(value)); return *this; } private: Aws::String m_executionId; bool m_executionIdHasBeenSet = false; ExecutionStatus m_executionStatus; bool m_executionStatusHasBeenSet = false; ExecutionResult m_executionResult; bool m_executionResultHasBeenSet = false; Aws::Utils::DateTime m_startedAt; bool m_startedAtHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedAt; bool m_lastUpdatedAtHasBeenSet = false; Aws::Utils::DateTime m_dataPullStartTime; bool m_dataPullStartTimeHasBeenSet = false; Aws::Utils::DateTime m_dataPullEndTime; bool m_dataPullEndTimeHasBeenSet = false; Aws::Vector m_metadataCatalogDetails; bool m_metadataCatalogDetailsHasBeenSet = false; }; } // namespace Model } // namespace Appflow } // namespace Aws