/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A node represents an Glue component (trigger, crawler, or job) on a workflow
* graph.See Also:
AWS API
* Reference
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