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

A workflow graph represents the complete workflow containing all the Glue * components present in the workflow and all the directed connections between * them.

See Also:

AWS * API Reference

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

A list of the the Glue components belong to the workflow represented as * nodes.

*/ inline const Aws::Vector& GetNodes() const{ return m_nodes; } /** *

A list of the the Glue components belong to the workflow represented as * nodes.

*/ inline bool NodesHasBeenSet() const { return m_nodesHasBeenSet; } /** *

A list of the the Glue components belong to the workflow represented as * nodes.

*/ inline void SetNodes(const Aws::Vector& value) { m_nodesHasBeenSet = true; m_nodes = value; } /** *

A list of the the Glue components belong to the workflow represented as * nodes.

*/ inline void SetNodes(Aws::Vector&& value) { m_nodesHasBeenSet = true; m_nodes = std::move(value); } /** *

A list of the the Glue components belong to the workflow represented as * nodes.

*/ inline WorkflowGraph& WithNodes(const Aws::Vector& value) { SetNodes(value); return *this;} /** *

A list of the the Glue components belong to the workflow represented as * nodes.

*/ inline WorkflowGraph& WithNodes(Aws::Vector&& value) { SetNodes(std::move(value)); return *this;} /** *

A list of the the Glue components belong to the workflow represented as * nodes.

*/ inline WorkflowGraph& AddNodes(const Node& value) { m_nodesHasBeenSet = true; m_nodes.push_back(value); return *this; } /** *

A list of the the Glue components belong to the workflow represented as * nodes.

*/ inline WorkflowGraph& AddNodes(Node&& value) { m_nodesHasBeenSet = true; m_nodes.push_back(std::move(value)); return *this; } /** *

A list of all the directed connections between the nodes belonging to the * workflow.

*/ inline const Aws::Vector& GetEdges() const{ return m_edges; } /** *

A list of all the directed connections between the nodes belonging to the * workflow.

*/ inline bool EdgesHasBeenSet() const { return m_edgesHasBeenSet; } /** *

A list of all the directed connections between the nodes belonging to the * workflow.

*/ inline void SetEdges(const Aws::Vector& value) { m_edgesHasBeenSet = true; m_edges = value; } /** *

A list of all the directed connections between the nodes belonging to the * workflow.

*/ inline void SetEdges(Aws::Vector&& value) { m_edgesHasBeenSet = true; m_edges = std::move(value); } /** *

A list of all the directed connections between the nodes belonging to the * workflow.

*/ inline WorkflowGraph& WithEdges(const Aws::Vector& value) { SetEdges(value); return *this;} /** *

A list of all the directed connections between the nodes belonging to the * workflow.

*/ inline WorkflowGraph& WithEdges(Aws::Vector&& value) { SetEdges(std::move(value)); return *this;} /** *

A list of all the directed connections between the nodes belonging to the * workflow.

*/ inline WorkflowGraph& AddEdges(const Edge& value) { m_edgesHasBeenSet = true; m_edges.push_back(value); return *this; } /** *

A list of all the directed connections between the nodes belonging to the * workflow.

*/ inline WorkflowGraph& AddEdges(Edge&& value) { m_edgesHasBeenSet = true; m_edges.push_back(std::move(value)); return *this; } private: Aws::Vector m_nodes; bool m_nodesHasBeenSet = false; Aws::Vector m_edges; bool m_edgesHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws