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

Contains the details of a network reachability finding.

See * Also:

AWS * API Reference

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

An object that contains details about a network path associated with a * finding.

*/ inline const NetworkPath& GetNetworkPath() const{ return m_networkPath; } /** *

An object that contains details about a network path associated with a * finding.

*/ inline bool NetworkPathHasBeenSet() const { return m_networkPathHasBeenSet; } /** *

An object that contains details about a network path associated with a * finding.

*/ inline void SetNetworkPath(const NetworkPath& value) { m_networkPathHasBeenSet = true; m_networkPath = value; } /** *

An object that contains details about a network path associated with a * finding.

*/ inline void SetNetworkPath(NetworkPath&& value) { m_networkPathHasBeenSet = true; m_networkPath = std::move(value); } /** *

An object that contains details about a network path associated with a * finding.

*/ inline NetworkReachabilityDetails& WithNetworkPath(const NetworkPath& value) { SetNetworkPath(value); return *this;} /** *

An object that contains details about a network path associated with a * finding.

*/ inline NetworkReachabilityDetails& WithNetworkPath(NetworkPath&& value) { SetNetworkPath(std::move(value)); return *this;} /** *

An object that contains details about the open port range associated with a * finding.

*/ inline const PortRange& GetOpenPortRange() const{ return m_openPortRange; } /** *

An object that contains details about the open port range associated with a * finding.

*/ inline bool OpenPortRangeHasBeenSet() const { return m_openPortRangeHasBeenSet; } /** *

An object that contains details about the open port range associated with a * finding.

*/ inline void SetOpenPortRange(const PortRange& value) { m_openPortRangeHasBeenSet = true; m_openPortRange = value; } /** *

An object that contains details about the open port range associated with a * finding.

*/ inline void SetOpenPortRange(PortRange&& value) { m_openPortRangeHasBeenSet = true; m_openPortRange = std::move(value); } /** *

An object that contains details about the open port range associated with a * finding.

*/ inline NetworkReachabilityDetails& WithOpenPortRange(const PortRange& value) { SetOpenPortRange(value); return *this;} /** *

An object that contains details about the open port range associated with a * finding.

*/ inline NetworkReachabilityDetails& WithOpenPortRange(PortRange&& value) { SetOpenPortRange(std::move(value)); return *this;} /** *

The protocol associated with a finding.

*/ inline const NetworkProtocol& GetProtocol() const{ return m_protocol; } /** *

The protocol associated with a finding.

*/ inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; } /** *

The protocol associated with a finding.

*/ inline void SetProtocol(const NetworkProtocol& value) { m_protocolHasBeenSet = true; m_protocol = value; } /** *

The protocol associated with a finding.

*/ inline void SetProtocol(NetworkProtocol&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); } /** *

The protocol associated with a finding.

*/ inline NetworkReachabilityDetails& WithProtocol(const NetworkProtocol& value) { SetProtocol(value); return *this;} /** *

The protocol associated with a finding.

*/ inline NetworkReachabilityDetails& WithProtocol(NetworkProtocol&& value) { SetProtocol(std::move(value)); return *this;} private: NetworkPath m_networkPath; bool m_networkPathHasBeenSet = false; PortRange m_openPortRange; bool m_openPortRangeHasBeenSet = false; NetworkProtocol m_protocol; bool m_protocolHasBeenSet = false; }; } // namespace Model } // namespace Inspector2 } // namespace Aws