/** * 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 Glue { namespace Model { /** *

A node represents an Glue component (trigger, crawler, or job) on a workflow * graph.

See Also:

AWS API * Reference

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

The type of Glue component represented by the node.

*/ inline const NodeType& GetType() const{ return m_type; } /** *

The type of Glue component represented by the node.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of Glue component represented by the node.

*/ inline void SetType(const NodeType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of Glue component represented by the node.

*/ inline void SetType(NodeType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of Glue component represented by the node.

*/ inline Node& WithType(const NodeType& value) { SetType(value); return *this;} /** *

The type of Glue component represented by the node.

*/ inline Node& WithType(NodeType&& value) { SetType(std::move(value)); return *this;} /** *

The name of the Glue component represented by the node.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the Glue component represented by the node.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the Glue component represented by the node.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the Glue component represented by the node.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the Glue component represented by the node.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the Glue component represented by the node.

*/ inline Node& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the Glue component represented by the node.

*/ inline Node& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the Glue component represented by the node.

*/ inline Node& WithName(const char* value) { SetName(value); return *this;} /** *

The unique Id assigned to the node within the workflow.

*/ inline const Aws::String& GetUniqueId() const{ return m_uniqueId; } /** *

The unique Id assigned to the node within the workflow.

*/ inline bool UniqueIdHasBeenSet() const { return m_uniqueIdHasBeenSet; } /** *

The unique Id assigned to the node within the workflow.

*/ inline void SetUniqueId(const Aws::String& value) { m_uniqueIdHasBeenSet = true; m_uniqueId = value; } /** *

The unique Id assigned to the node within the workflow.

*/ inline void SetUniqueId(Aws::String&& value) { m_uniqueIdHasBeenSet = true; m_uniqueId = std::move(value); } /** *

The unique Id assigned to the node within the workflow.

*/ inline void SetUniqueId(const char* value) { m_uniqueIdHasBeenSet = true; m_uniqueId.assign(value); } /** *

The unique Id assigned to the node within the workflow.

*/ inline Node& WithUniqueId(const Aws::String& value) { SetUniqueId(value); return *this;} /** *

The unique Id assigned to the node within the workflow.

*/ inline Node& WithUniqueId(Aws::String&& value) { SetUniqueId(std::move(value)); return *this;} /** *

The unique Id assigned to the node within the workflow.

*/ inline Node& WithUniqueId(const char* value) { SetUniqueId(value); return *this;} /** *

Details of the Trigger when the node represents a Trigger.

*/ inline const TriggerNodeDetails& GetTriggerDetails() const{ return m_triggerDetails; } /** *

Details of the Trigger when the node represents a Trigger.

*/ inline bool TriggerDetailsHasBeenSet() const { return m_triggerDetailsHasBeenSet; } /** *

Details of the Trigger when the node represents a Trigger.

*/ inline void SetTriggerDetails(const TriggerNodeDetails& value) { m_triggerDetailsHasBeenSet = true; m_triggerDetails = value; } /** *

Details of the Trigger when the node represents a Trigger.

*/ inline void SetTriggerDetails(TriggerNodeDetails&& value) { m_triggerDetailsHasBeenSet = true; m_triggerDetails = std::move(value); } /** *

Details of the Trigger when the node represents a Trigger.

*/ inline Node& WithTriggerDetails(const TriggerNodeDetails& value) { SetTriggerDetails(value); return *this;} /** *

Details of the Trigger when the node represents a Trigger.

*/ inline Node& WithTriggerDetails(TriggerNodeDetails&& value) { SetTriggerDetails(std::move(value)); return *this;} /** *

Details of the Job when the node represents a Job.

*/ inline const JobNodeDetails& GetJobDetails() const{ return m_jobDetails; } /** *

Details of the Job when the node represents a Job.

*/ inline bool JobDetailsHasBeenSet() const { return m_jobDetailsHasBeenSet; } /** *

Details of the Job when the node represents a Job.

*/ inline void SetJobDetails(const JobNodeDetails& value) { m_jobDetailsHasBeenSet = true; m_jobDetails = value; } /** *

Details of the Job when the node represents a Job.

*/ inline void SetJobDetails(JobNodeDetails&& value) { m_jobDetailsHasBeenSet = true; m_jobDetails = std::move(value); } /** *

Details of the Job when the node represents a Job.

*/ inline Node& WithJobDetails(const JobNodeDetails& value) { SetJobDetails(value); return *this;} /** *

Details of the Job when the node represents a Job.

*/ inline Node& WithJobDetails(JobNodeDetails&& value) { SetJobDetails(std::move(value)); return *this;} /** *

Details of the crawler when the node represents a crawler.

*/ inline const CrawlerNodeDetails& GetCrawlerDetails() const{ return m_crawlerDetails; } /** *

Details of the crawler when the node represents a crawler.

*/ inline bool CrawlerDetailsHasBeenSet() const { return m_crawlerDetailsHasBeenSet; } /** *

Details of the crawler when the node represents a crawler.

*/ inline void SetCrawlerDetails(const CrawlerNodeDetails& value) { m_crawlerDetailsHasBeenSet = true; m_crawlerDetails = value; } /** *

Details of the crawler when the node represents a crawler.

*/ inline void SetCrawlerDetails(CrawlerNodeDetails&& value) { m_crawlerDetailsHasBeenSet = true; m_crawlerDetails = std::move(value); } /** *

Details of the crawler when the node represents a crawler.

*/ inline Node& WithCrawlerDetails(const CrawlerNodeDetails& value) { SetCrawlerDetails(value); return *this;} /** *

Details of the crawler when the node represents a crawler.

*/ inline Node& WithCrawlerDetails(CrawlerNodeDetails&& value) { SetCrawlerDetails(std::move(value)); return *this;} private: NodeType m_type; bool m_typeHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_uniqueId; bool m_uniqueIdHasBeenSet = false; TriggerNodeDetails m_triggerDetails; bool m_triggerDetailsHasBeenSet = false; JobNodeDetails m_jobDetails; bool m_jobDetailsHasBeenSet = false; CrawlerNodeDetails m_crawlerDetails; bool m_crawlerDetailsHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws