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

The details of network-related information about a finding.

See * Also:

AWS * API Reference

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

The direction of network traffic associated with a finding.

*/ inline const NetworkDirection& GetDirection() const{ return m_direction; } /** *

The direction of network traffic associated with a finding.

*/ inline bool DirectionHasBeenSet() const { return m_directionHasBeenSet; } /** *

The direction of network traffic associated with a finding.

*/ inline void SetDirection(const NetworkDirection& value) { m_directionHasBeenSet = true; m_direction = value; } /** *

The direction of network traffic associated with a finding.

*/ inline void SetDirection(NetworkDirection&& value) { m_directionHasBeenSet = true; m_direction = std::move(value); } /** *

The direction of network traffic associated with a finding.

*/ inline Network& WithDirection(const NetworkDirection& value) { SetDirection(value); return *this;} /** *

The direction of network traffic associated with a finding.

*/ inline Network& WithDirection(NetworkDirection&& value) { SetDirection(std::move(value)); return *this;} /** *

The protocol of network-related information about a finding.

*/ inline const Aws::String& GetProtocol() const{ return m_protocol; } /** *

The protocol of network-related information about a finding.

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

The protocol of network-related information about a finding.

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

The protocol of network-related information about a finding.

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

The protocol of network-related information about a finding.

*/ inline void SetProtocol(const char* value) { m_protocolHasBeenSet = true; m_protocol.assign(value); } /** *

The protocol of network-related information about a finding.

*/ inline Network& WithProtocol(const Aws::String& value) { SetProtocol(value); return *this;} /** *

The protocol of network-related information about a finding.

*/ inline Network& WithProtocol(Aws::String&& value) { SetProtocol(std::move(value)); return *this;} /** *

The protocol of network-related information about a finding.

*/ inline Network& WithProtocol(const char* value) { SetProtocol(value); return *this;} /** *

The range of open ports that is present on the network.

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

The range of open ports that is present on the network.

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

The range of open ports that is present on the network.

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

The range of open ports that is present on the network.

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

The range of open ports that is present on the network.

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

The range of open ports that is present on the network.

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

The source IPv4 address of network-related information about a finding.

*/ inline const Aws::String& GetSourceIpV4() const{ return m_sourceIpV4; } /** *

The source IPv4 address of network-related information about a finding.

*/ inline bool SourceIpV4HasBeenSet() const { return m_sourceIpV4HasBeenSet; } /** *

The source IPv4 address of network-related information about a finding.

*/ inline void SetSourceIpV4(const Aws::String& value) { m_sourceIpV4HasBeenSet = true; m_sourceIpV4 = value; } /** *

The source IPv4 address of network-related information about a finding.

*/ inline void SetSourceIpV4(Aws::String&& value) { m_sourceIpV4HasBeenSet = true; m_sourceIpV4 = std::move(value); } /** *

The source IPv4 address of network-related information about a finding.

*/ inline void SetSourceIpV4(const char* value) { m_sourceIpV4HasBeenSet = true; m_sourceIpV4.assign(value); } /** *

The source IPv4 address of network-related information about a finding.

*/ inline Network& WithSourceIpV4(const Aws::String& value) { SetSourceIpV4(value); return *this;} /** *

The source IPv4 address of network-related information about a finding.

*/ inline Network& WithSourceIpV4(Aws::String&& value) { SetSourceIpV4(std::move(value)); return *this;} /** *

The source IPv4 address of network-related information about a finding.

*/ inline Network& WithSourceIpV4(const char* value) { SetSourceIpV4(value); return *this;} /** *

The source IPv6 address of network-related information about a finding.

*/ inline const Aws::String& GetSourceIpV6() const{ return m_sourceIpV6; } /** *

The source IPv6 address of network-related information about a finding.

*/ inline bool SourceIpV6HasBeenSet() const { return m_sourceIpV6HasBeenSet; } /** *

The source IPv6 address of network-related information about a finding.

*/ inline void SetSourceIpV6(const Aws::String& value) { m_sourceIpV6HasBeenSet = true; m_sourceIpV6 = value; } /** *

The source IPv6 address of network-related information about a finding.

*/ inline void SetSourceIpV6(Aws::String&& value) { m_sourceIpV6HasBeenSet = true; m_sourceIpV6 = std::move(value); } /** *

The source IPv6 address of network-related information about a finding.

*/ inline void SetSourceIpV6(const char* value) { m_sourceIpV6HasBeenSet = true; m_sourceIpV6.assign(value); } /** *

The source IPv6 address of network-related information about a finding.

*/ inline Network& WithSourceIpV6(const Aws::String& value) { SetSourceIpV6(value); return *this;} /** *

The source IPv6 address of network-related information about a finding.

*/ inline Network& WithSourceIpV6(Aws::String&& value) { SetSourceIpV6(std::move(value)); return *this;} /** *

The source IPv6 address of network-related information about a finding.

*/ inline Network& WithSourceIpV6(const char* value) { SetSourceIpV6(value); return *this;} /** *

The source port of network-related information about a finding.

*/ inline int GetSourcePort() const{ return m_sourcePort; } /** *

The source port of network-related information about a finding.

*/ inline bool SourcePortHasBeenSet() const { return m_sourcePortHasBeenSet; } /** *

The source port of network-related information about a finding.

*/ inline void SetSourcePort(int value) { m_sourcePortHasBeenSet = true; m_sourcePort = value; } /** *

The source port of network-related information about a finding.

*/ inline Network& WithSourcePort(int value) { SetSourcePort(value); return *this;} /** *

The source domain of network-related information about a finding.

*/ inline const Aws::String& GetSourceDomain() const{ return m_sourceDomain; } /** *

The source domain of network-related information about a finding.

*/ inline bool SourceDomainHasBeenSet() const { return m_sourceDomainHasBeenSet; } /** *

The source domain of network-related information about a finding.

*/ inline void SetSourceDomain(const Aws::String& value) { m_sourceDomainHasBeenSet = true; m_sourceDomain = value; } /** *

The source domain of network-related information about a finding.

*/ inline void SetSourceDomain(Aws::String&& value) { m_sourceDomainHasBeenSet = true; m_sourceDomain = std::move(value); } /** *

The source domain of network-related information about a finding.

*/ inline void SetSourceDomain(const char* value) { m_sourceDomainHasBeenSet = true; m_sourceDomain.assign(value); } /** *

The source domain of network-related information about a finding.

*/ inline Network& WithSourceDomain(const Aws::String& value) { SetSourceDomain(value); return *this;} /** *

The source domain of network-related information about a finding.

*/ inline Network& WithSourceDomain(Aws::String&& value) { SetSourceDomain(std::move(value)); return *this;} /** *

The source domain of network-related information about a finding.

*/ inline Network& WithSourceDomain(const char* value) { SetSourceDomain(value); return *this;} /** *

The source media access control (MAC) address of network-related information * about a finding.

*/ inline const Aws::String& GetSourceMac() const{ return m_sourceMac; } /** *

The source media access control (MAC) address of network-related information * about a finding.

*/ inline bool SourceMacHasBeenSet() const { return m_sourceMacHasBeenSet; } /** *

The source media access control (MAC) address of network-related information * about a finding.

*/ inline void SetSourceMac(const Aws::String& value) { m_sourceMacHasBeenSet = true; m_sourceMac = value; } /** *

The source media access control (MAC) address of network-related information * about a finding.

*/ inline void SetSourceMac(Aws::String&& value) { m_sourceMacHasBeenSet = true; m_sourceMac = std::move(value); } /** *

The source media access control (MAC) address of network-related information * about a finding.

*/ inline void SetSourceMac(const char* value) { m_sourceMacHasBeenSet = true; m_sourceMac.assign(value); } /** *

The source media access control (MAC) address of network-related information * about a finding.

*/ inline Network& WithSourceMac(const Aws::String& value) { SetSourceMac(value); return *this;} /** *

The source media access control (MAC) address of network-related information * about a finding.

*/ inline Network& WithSourceMac(Aws::String&& value) { SetSourceMac(std::move(value)); return *this;} /** *

The source media access control (MAC) address of network-related information * about a finding.

*/ inline Network& WithSourceMac(const char* value) { SetSourceMac(value); return *this;} /** *

The destination IPv4 address of network-related information about a * finding.

*/ inline const Aws::String& GetDestinationIpV4() const{ return m_destinationIpV4; } /** *

The destination IPv4 address of network-related information about a * finding.

*/ inline bool DestinationIpV4HasBeenSet() const { return m_destinationIpV4HasBeenSet; } /** *

The destination IPv4 address of network-related information about a * finding.

*/ inline void SetDestinationIpV4(const Aws::String& value) { m_destinationIpV4HasBeenSet = true; m_destinationIpV4 = value; } /** *

The destination IPv4 address of network-related information about a * finding.

*/ inline void SetDestinationIpV4(Aws::String&& value) { m_destinationIpV4HasBeenSet = true; m_destinationIpV4 = std::move(value); } /** *

The destination IPv4 address of network-related information about a * finding.

*/ inline void SetDestinationIpV4(const char* value) { m_destinationIpV4HasBeenSet = true; m_destinationIpV4.assign(value); } /** *

The destination IPv4 address of network-related information about a * finding.

*/ inline Network& WithDestinationIpV4(const Aws::String& value) { SetDestinationIpV4(value); return *this;} /** *

The destination IPv4 address of network-related information about a * finding.

*/ inline Network& WithDestinationIpV4(Aws::String&& value) { SetDestinationIpV4(std::move(value)); return *this;} /** *

The destination IPv4 address of network-related information about a * finding.

*/ inline Network& WithDestinationIpV4(const char* value) { SetDestinationIpV4(value); return *this;} /** *

The destination IPv6 address of network-related information about a * finding.

*/ inline const Aws::String& GetDestinationIpV6() const{ return m_destinationIpV6; } /** *

The destination IPv6 address of network-related information about a * finding.

*/ inline bool DestinationIpV6HasBeenSet() const { return m_destinationIpV6HasBeenSet; } /** *

The destination IPv6 address of network-related information about a * finding.

*/ inline void SetDestinationIpV6(const Aws::String& value) { m_destinationIpV6HasBeenSet = true; m_destinationIpV6 = value; } /** *

The destination IPv6 address of network-related information about a * finding.

*/ inline void SetDestinationIpV6(Aws::String&& value) { m_destinationIpV6HasBeenSet = true; m_destinationIpV6 = std::move(value); } /** *

The destination IPv6 address of network-related information about a * finding.

*/ inline void SetDestinationIpV6(const char* value) { m_destinationIpV6HasBeenSet = true; m_destinationIpV6.assign(value); } /** *

The destination IPv6 address of network-related information about a * finding.

*/ inline Network& WithDestinationIpV6(const Aws::String& value) { SetDestinationIpV6(value); return *this;} /** *

The destination IPv6 address of network-related information about a * finding.

*/ inline Network& WithDestinationIpV6(Aws::String&& value) { SetDestinationIpV6(std::move(value)); return *this;} /** *

The destination IPv6 address of network-related information about a * finding.

*/ inline Network& WithDestinationIpV6(const char* value) { SetDestinationIpV6(value); return *this;} /** *

The destination port of network-related information about a finding.

*/ inline int GetDestinationPort() const{ return m_destinationPort; } /** *

The destination port of network-related information about a finding.

*/ inline bool DestinationPortHasBeenSet() const { return m_destinationPortHasBeenSet; } /** *

The destination port of network-related information about a finding.

*/ inline void SetDestinationPort(int value) { m_destinationPortHasBeenSet = true; m_destinationPort = value; } /** *

The destination port of network-related information about a finding.

*/ inline Network& WithDestinationPort(int value) { SetDestinationPort(value); return *this;} /** *

The destination domain of network-related information about a finding.

*/ inline const Aws::String& GetDestinationDomain() const{ return m_destinationDomain; } /** *

The destination domain of network-related information about a finding.

*/ inline bool DestinationDomainHasBeenSet() const { return m_destinationDomainHasBeenSet; } /** *

The destination domain of network-related information about a finding.

*/ inline void SetDestinationDomain(const Aws::String& value) { m_destinationDomainHasBeenSet = true; m_destinationDomain = value; } /** *

The destination domain of network-related information about a finding.

*/ inline void SetDestinationDomain(Aws::String&& value) { m_destinationDomainHasBeenSet = true; m_destinationDomain = std::move(value); } /** *

The destination domain of network-related information about a finding.

*/ inline void SetDestinationDomain(const char* value) { m_destinationDomainHasBeenSet = true; m_destinationDomain.assign(value); } /** *

The destination domain of network-related information about a finding.

*/ inline Network& WithDestinationDomain(const Aws::String& value) { SetDestinationDomain(value); return *this;} /** *

The destination domain of network-related information about a finding.

*/ inline Network& WithDestinationDomain(Aws::String&& value) { SetDestinationDomain(std::move(value)); return *this;} /** *

The destination domain of network-related information about a finding.

*/ inline Network& WithDestinationDomain(const char* value) { SetDestinationDomain(value); return *this;} private: NetworkDirection m_direction; bool m_directionHasBeenSet = false; Aws::String m_protocol; bool m_protocolHasBeenSet = false; PortRange m_openPortRange; bool m_openPortRangeHasBeenSet = false; Aws::String m_sourceIpV4; bool m_sourceIpV4HasBeenSet = false; Aws::String m_sourceIpV6; bool m_sourceIpV6HasBeenSet = false; int m_sourcePort; bool m_sourcePortHasBeenSet = false; Aws::String m_sourceDomain; bool m_sourceDomainHasBeenSet = false; Aws::String m_sourceMac; bool m_sourceMacHasBeenSet = false; Aws::String m_destinationIpV4; bool m_destinationIpV4HasBeenSet = false; Aws::String m_destinationIpV6; bool m_destinationIpV6HasBeenSet = false; int m_destinationPort; bool m_destinationPortHasBeenSet = false; Aws::String m_destinationDomain; bool m_destinationDomainHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws