/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A workflow is a collection of multiple dependent Glue jobs and crawlers that
* are run to complete a complex ETL task. A workflow manages the execution and
* monitoring of all its jobs and crawlers.See Also:
AWS API
* Reference
The name of the workflow.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the workflow.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the workflow.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the workflow.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the workflow.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the workflow.
*/ inline Workflow& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the workflow.
*/ inline Workflow& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the workflow.
*/ inline Workflow& WithName(const char* value) { SetName(value); return *this;} /** *A description of the workflow.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *A description of the workflow.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *A description of the workflow.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *A description of the workflow.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *A description of the workflow.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *A description of the workflow.
*/ inline Workflow& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *A description of the workflow.
*/ inline Workflow& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *A description of the workflow.
*/ inline Workflow& WithDescription(const char* value) { SetDescription(value); return *this;} /** *A collection of properties to be used as part of each execution of the * workflow. The run properties are made available to each job in the workflow. A * job can modify the properties for the next jobs in the flow.
*/ inline const Aws::MapA collection of properties to be used as part of each execution of the * workflow. The run properties are made available to each job in the workflow. A * job can modify the properties for the next jobs in the flow.
*/ inline bool DefaultRunPropertiesHasBeenSet() const { return m_defaultRunPropertiesHasBeenSet; } /** *A collection of properties to be used as part of each execution of the * workflow. The run properties are made available to each job in the workflow. A * job can modify the properties for the next jobs in the flow.
*/ inline void SetDefaultRunProperties(const Aws::MapA collection of properties to be used as part of each execution of the * workflow. The run properties are made available to each job in the workflow. A * job can modify the properties for the next jobs in the flow.
*/ inline void SetDefaultRunProperties(Aws::MapA collection of properties to be used as part of each execution of the * workflow. The run properties are made available to each job in the workflow. A * job can modify the properties for the next jobs in the flow.
*/ inline Workflow& WithDefaultRunProperties(const Aws::MapA collection of properties to be used as part of each execution of the * workflow. The run properties are made available to each job in the workflow. A * job can modify the properties for the next jobs in the flow.
*/ inline Workflow& WithDefaultRunProperties(Aws::MapA collection of properties to be used as part of each execution of the * workflow. The run properties are made available to each job in the workflow. A * job can modify the properties for the next jobs in the flow.
*/ inline Workflow& AddDefaultRunProperties(const Aws::String& key, const Aws::String& value) { m_defaultRunPropertiesHasBeenSet = true; m_defaultRunProperties.emplace(key, value); return *this; } /** *A collection of properties to be used as part of each execution of the * workflow. The run properties are made available to each job in the workflow. A * job can modify the properties for the next jobs in the flow.
*/ inline Workflow& AddDefaultRunProperties(Aws::String&& key, const Aws::String& value) { m_defaultRunPropertiesHasBeenSet = true; m_defaultRunProperties.emplace(std::move(key), value); return *this; } /** *A collection of properties to be used as part of each execution of the * workflow. The run properties are made available to each job in the workflow. A * job can modify the properties for the next jobs in the flow.
*/ inline Workflow& AddDefaultRunProperties(const Aws::String& key, Aws::String&& value) { m_defaultRunPropertiesHasBeenSet = true; m_defaultRunProperties.emplace(key, std::move(value)); return *this; } /** *A collection of properties to be used as part of each execution of the * workflow. The run properties are made available to each job in the workflow. A * job can modify the properties for the next jobs in the flow.
*/ inline Workflow& AddDefaultRunProperties(Aws::String&& key, Aws::String&& value) { m_defaultRunPropertiesHasBeenSet = true; m_defaultRunProperties.emplace(std::move(key), std::move(value)); return *this; } /** *A collection of properties to be used as part of each execution of the * workflow. The run properties are made available to each job in the workflow. A * job can modify the properties for the next jobs in the flow.
*/ inline Workflow& AddDefaultRunProperties(const char* key, Aws::String&& value) { m_defaultRunPropertiesHasBeenSet = true; m_defaultRunProperties.emplace(key, std::move(value)); return *this; } /** *A collection of properties to be used as part of each execution of the * workflow. The run properties are made available to each job in the workflow. A * job can modify the properties for the next jobs in the flow.
*/ inline Workflow& AddDefaultRunProperties(Aws::String&& key, const char* value) { m_defaultRunPropertiesHasBeenSet = true; m_defaultRunProperties.emplace(std::move(key), value); return *this; } /** *A collection of properties to be used as part of each execution of the * workflow. The run properties are made available to each job in the workflow. A * job can modify the properties for the next jobs in the flow.
*/ inline Workflow& AddDefaultRunProperties(const char* key, const char* value) { m_defaultRunPropertiesHasBeenSet = true; m_defaultRunProperties.emplace(key, value); return *this; } /** *The date and time when the workflow was created.
*/ inline const Aws::Utils::DateTime& GetCreatedOn() const{ return m_createdOn; } /** *The date and time when the workflow was created.
*/ inline bool CreatedOnHasBeenSet() const { return m_createdOnHasBeenSet; } /** *The date and time when the workflow was created.
*/ inline void SetCreatedOn(const Aws::Utils::DateTime& value) { m_createdOnHasBeenSet = true; m_createdOn = value; } /** *The date and time when the workflow was created.
*/ inline void SetCreatedOn(Aws::Utils::DateTime&& value) { m_createdOnHasBeenSet = true; m_createdOn = std::move(value); } /** *The date and time when the workflow was created.
*/ inline Workflow& WithCreatedOn(const Aws::Utils::DateTime& value) { SetCreatedOn(value); return *this;} /** *The date and time when the workflow was created.
*/ inline Workflow& WithCreatedOn(Aws::Utils::DateTime&& value) { SetCreatedOn(std::move(value)); return *this;} /** *The date and time when the workflow was last modified.
*/ inline const Aws::Utils::DateTime& GetLastModifiedOn() const{ return m_lastModifiedOn; } /** *The date and time when the workflow was last modified.
*/ inline bool LastModifiedOnHasBeenSet() const { return m_lastModifiedOnHasBeenSet; } /** *The date and time when the workflow was last modified.
*/ inline void SetLastModifiedOn(const Aws::Utils::DateTime& value) { m_lastModifiedOnHasBeenSet = true; m_lastModifiedOn = value; } /** *The date and time when the workflow was last modified.
*/ inline void SetLastModifiedOn(Aws::Utils::DateTime&& value) { m_lastModifiedOnHasBeenSet = true; m_lastModifiedOn = std::move(value); } /** *The date and time when the workflow was last modified.
*/ inline Workflow& WithLastModifiedOn(const Aws::Utils::DateTime& value) { SetLastModifiedOn(value); return *this;} /** *The date and time when the workflow was last modified.
*/ inline Workflow& WithLastModifiedOn(Aws::Utils::DateTime&& value) { SetLastModifiedOn(std::move(value)); return *this;} /** *The information about the last execution of the workflow.
*/ inline const WorkflowRun& GetLastRun() const{ return m_lastRun; } /** *The information about the last execution of the workflow.
*/ inline bool LastRunHasBeenSet() const { return m_lastRunHasBeenSet; } /** *The information about the last execution of the workflow.
*/ inline void SetLastRun(const WorkflowRun& value) { m_lastRunHasBeenSet = true; m_lastRun = value; } /** *The information about the last execution of the workflow.
*/ inline void SetLastRun(WorkflowRun&& value) { m_lastRunHasBeenSet = true; m_lastRun = std::move(value); } /** *The information about the last execution of the workflow.
*/ inline Workflow& WithLastRun(const WorkflowRun& value) { SetLastRun(value); return *this;} /** *The information about the last execution of the workflow.
*/ inline Workflow& WithLastRun(WorkflowRun&& value) { SetLastRun(std::move(value)); return *this;} /** *The graph representing all the Glue components that belong to the workflow as * nodes and directed connections between them as edges.
*/ inline const WorkflowGraph& GetGraph() const{ return m_graph; } /** *The graph representing all the Glue components that belong to the workflow as * nodes and directed connections between them as edges.
*/ inline bool GraphHasBeenSet() const { return m_graphHasBeenSet; } /** *The graph representing all the Glue components that belong to the workflow as * nodes and directed connections between them as edges.
*/ inline void SetGraph(const WorkflowGraph& value) { m_graphHasBeenSet = true; m_graph = value; } /** *The graph representing all the Glue components that belong to the workflow as * nodes and directed connections between them as edges.
*/ inline void SetGraph(WorkflowGraph&& value) { m_graphHasBeenSet = true; m_graph = std::move(value); } /** *The graph representing all the Glue components that belong to the workflow as * nodes and directed connections between them as edges.
*/ inline Workflow& WithGraph(const WorkflowGraph& value) { SetGraph(value); return *this;} /** *The graph representing all the Glue components that belong to the workflow as * nodes and directed connections between them as edges.
*/ inline Workflow& WithGraph(WorkflowGraph&& value) { SetGraph(std::move(value)); return *this;} /** *You can use this parameter to prevent unwanted multiple updates to data, to * control costs, or in some cases, to prevent exceeding the maximum number of * concurrent runs of any of the component jobs. If you leave this parameter blank, * there is no limit to the number of concurrent workflow runs.
*/ inline int GetMaxConcurrentRuns() const{ return m_maxConcurrentRuns; } /** *You can use this parameter to prevent unwanted multiple updates to data, to * control costs, or in some cases, to prevent exceeding the maximum number of * concurrent runs of any of the component jobs. If you leave this parameter blank, * there is no limit to the number of concurrent workflow runs.
*/ inline bool MaxConcurrentRunsHasBeenSet() const { return m_maxConcurrentRunsHasBeenSet; } /** *You can use this parameter to prevent unwanted multiple updates to data, to * control costs, or in some cases, to prevent exceeding the maximum number of * concurrent runs of any of the component jobs. If you leave this parameter blank, * there is no limit to the number of concurrent workflow runs.
*/ inline void SetMaxConcurrentRuns(int value) { m_maxConcurrentRunsHasBeenSet = true; m_maxConcurrentRuns = value; } /** *You can use this parameter to prevent unwanted multiple updates to data, to * control costs, or in some cases, to prevent exceeding the maximum number of * concurrent runs of any of the component jobs. If you leave this parameter blank, * there is no limit to the number of concurrent workflow runs.
*/ inline Workflow& WithMaxConcurrentRuns(int value) { SetMaxConcurrentRuns(value); return *this;} /** *This structure indicates the details of the blueprint that this particular * workflow is created from.
*/ inline const BlueprintDetails& GetBlueprintDetails() const{ return m_blueprintDetails; } /** *This structure indicates the details of the blueprint that this particular * workflow is created from.
*/ inline bool BlueprintDetailsHasBeenSet() const { return m_blueprintDetailsHasBeenSet; } /** *This structure indicates the details of the blueprint that this particular * workflow is created from.
*/ inline void SetBlueprintDetails(const BlueprintDetails& value) { m_blueprintDetailsHasBeenSet = true; m_blueprintDetails = value; } /** *This structure indicates the details of the blueprint that this particular * workflow is created from.
*/ inline void SetBlueprintDetails(BlueprintDetails&& value) { m_blueprintDetailsHasBeenSet = true; m_blueprintDetails = std::move(value); } /** *This structure indicates the details of the blueprint that this particular * workflow is created from.
*/ inline Workflow& WithBlueprintDetails(const BlueprintDetails& value) { SetBlueprintDetails(value); return *this;} /** *This structure indicates the details of the blueprint that this particular * workflow is created from.
*/ inline Workflow& WithBlueprintDetails(BlueprintDetails&& value) { SetBlueprintDetails(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Map