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

A node interface.

See Also:

AWS * API Reference

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

The node interface's inputs.

*/ inline const Aws::Vector& GetInputs() const{ return m_inputs; } /** *

The node interface's inputs.

*/ inline bool InputsHasBeenSet() const { return m_inputsHasBeenSet; } /** *

The node interface's inputs.

*/ inline void SetInputs(const Aws::Vector& value) { m_inputsHasBeenSet = true; m_inputs = value; } /** *

The node interface's inputs.

*/ inline void SetInputs(Aws::Vector&& value) { m_inputsHasBeenSet = true; m_inputs = std::move(value); } /** *

The node interface's inputs.

*/ inline NodeInterface& WithInputs(const Aws::Vector& value) { SetInputs(value); return *this;} /** *

The node interface's inputs.

*/ inline NodeInterface& WithInputs(Aws::Vector&& value) { SetInputs(std::move(value)); return *this;} /** *

The node interface's inputs.

*/ inline NodeInterface& AddInputs(const NodeInputPort& value) { m_inputsHasBeenSet = true; m_inputs.push_back(value); return *this; } /** *

The node interface's inputs.

*/ inline NodeInterface& AddInputs(NodeInputPort&& value) { m_inputsHasBeenSet = true; m_inputs.push_back(std::move(value)); return *this; } /** *

The node interface's outputs.

*/ inline const Aws::Vector& GetOutputs() const{ return m_outputs; } /** *

The node interface's outputs.

*/ inline bool OutputsHasBeenSet() const { return m_outputsHasBeenSet; } /** *

The node interface's outputs.

*/ inline void SetOutputs(const Aws::Vector& value) { m_outputsHasBeenSet = true; m_outputs = value; } /** *

The node interface's outputs.

*/ inline void SetOutputs(Aws::Vector&& value) { m_outputsHasBeenSet = true; m_outputs = std::move(value); } /** *

The node interface's outputs.

*/ inline NodeInterface& WithOutputs(const Aws::Vector& value) { SetOutputs(value); return *this;} /** *

The node interface's outputs.

*/ inline NodeInterface& WithOutputs(Aws::Vector&& value) { SetOutputs(std::move(value)); return *this;} /** *

The node interface's outputs.

*/ inline NodeInterface& AddOutputs(const NodeOutputPort& value) { m_outputsHasBeenSet = true; m_outputs.push_back(value); return *this; } /** *

The node interface's outputs.

*/ inline NodeInterface& AddOutputs(NodeOutputPort&& value) { m_outputsHasBeenSet = true; m_outputs.push_back(std::move(value)); return *this; } private: Aws::Vector m_inputs; bool m_inputsHasBeenSet = false; Aws::Vector m_outputs; bool m_outputsHasBeenSet = false; }; } // namespace Model } // namespace Panorama } // namespace Aws