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

Information about a network path component.

See Also:

AWS * API Reference

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

The identifier of a component in the network path.

*/ inline const Aws::String& GetComponentId() const{ return m_componentId; } /** *

The identifier of a component in the network path.

*/ inline bool ComponentIdHasBeenSet() const { return m_componentIdHasBeenSet; } /** *

The identifier of a component in the network path.

*/ inline void SetComponentId(const Aws::String& value) { m_componentIdHasBeenSet = true; m_componentId = value; } /** *

The identifier of a component in the network path.

*/ inline void SetComponentId(Aws::String&& value) { m_componentIdHasBeenSet = true; m_componentId = std::move(value); } /** *

The identifier of a component in the network path.

*/ inline void SetComponentId(const char* value) { m_componentIdHasBeenSet = true; m_componentId.assign(value); } /** *

The identifier of a component in the network path.

*/ inline NetworkPathComponent& WithComponentId(const Aws::String& value) { SetComponentId(value); return *this;} /** *

The identifier of a component in the network path.

*/ inline NetworkPathComponent& WithComponentId(Aws::String&& value) { SetComponentId(std::move(value)); return *this;} /** *

The identifier of a component in the network path.

*/ inline NetworkPathComponent& WithComponentId(const char* value) { SetComponentId(value); return *this;} /** *

The type of component.

*/ inline const Aws::String& GetComponentType() const{ return m_componentType; } /** *

The type of component.

*/ inline bool ComponentTypeHasBeenSet() const { return m_componentTypeHasBeenSet; } /** *

The type of component.

*/ inline void SetComponentType(const Aws::String& value) { m_componentTypeHasBeenSet = true; m_componentType = value; } /** *

The type of component.

*/ inline void SetComponentType(Aws::String&& value) { m_componentTypeHasBeenSet = true; m_componentType = std::move(value); } /** *

The type of component.

*/ inline void SetComponentType(const char* value) { m_componentTypeHasBeenSet = true; m_componentType.assign(value); } /** *

The type of component.

*/ inline NetworkPathComponent& WithComponentType(const Aws::String& value) { SetComponentType(value); return *this;} /** *

The type of component.

*/ inline NetworkPathComponent& WithComponentType(Aws::String&& value) { SetComponentType(std::move(value)); return *this;} /** *

The type of component.

*/ inline NetworkPathComponent& WithComponentType(const char* value) { SetComponentType(value); return *this;} /** *

Information about the component that comes after the current component in the * network path.

*/ inline const NetworkHeader& GetEgress() const{ return m_egress; } /** *

Information about the component that comes after the current component in the * network path.

*/ inline bool EgressHasBeenSet() const { return m_egressHasBeenSet; } /** *

Information about the component that comes after the current component in the * network path.

*/ inline void SetEgress(const NetworkHeader& value) { m_egressHasBeenSet = true; m_egress = value; } /** *

Information about the component that comes after the current component in the * network path.

*/ inline void SetEgress(NetworkHeader&& value) { m_egressHasBeenSet = true; m_egress = std::move(value); } /** *

Information about the component that comes after the current component in the * network path.

*/ inline NetworkPathComponent& WithEgress(const NetworkHeader& value) { SetEgress(value); return *this;} /** *

Information about the component that comes after the current component in the * network path.

*/ inline NetworkPathComponent& WithEgress(NetworkHeader&& value) { SetEgress(std::move(value)); return *this;} /** *

Information about the component that comes before the current node in the * network path.

*/ inline const NetworkHeader& GetIngress() const{ return m_ingress; } /** *

Information about the component that comes before the current node in the * network path.

*/ inline bool IngressHasBeenSet() const { return m_ingressHasBeenSet; } /** *

Information about the component that comes before the current node in the * network path.

*/ inline void SetIngress(const NetworkHeader& value) { m_ingressHasBeenSet = true; m_ingress = value; } /** *

Information about the component that comes before the current node in the * network path.

*/ inline void SetIngress(NetworkHeader&& value) { m_ingressHasBeenSet = true; m_ingress = std::move(value); } /** *

Information about the component that comes before the current node in the * network path.

*/ inline NetworkPathComponent& WithIngress(const NetworkHeader& value) { SetIngress(value); return *this;} /** *

Information about the component that comes before the current node in the * network path.

*/ inline NetworkPathComponent& WithIngress(NetworkHeader&& value) { SetIngress(std::move(value)); return *this;} private: Aws::String m_componentId; bool m_componentIdHasBeenSet = false; Aws::String m_componentType; bool m_componentTypeHasBeenSet = false; NetworkHeader m_egress; bool m_egressHasBeenSet = false; NetworkHeader m_ingress; bool m_ingressHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws