/** * 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 { /** *

Information about the destination of the next component in the network * path.

See Also:

AWS * API Reference

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

The IP addresses of the destination.

*/ inline const Aws::Vector& GetAddress() const{ return m_address; } /** *

The IP addresses of the destination.

*/ inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } /** *

The IP addresses of the destination.

*/ inline void SetAddress(const Aws::Vector& value) { m_addressHasBeenSet = true; m_address = value; } /** *

The IP addresses of the destination.

*/ inline void SetAddress(Aws::Vector&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } /** *

The IP addresses of the destination.

*/ inline NetworkPathComponentDetails& WithAddress(const Aws::Vector& value) { SetAddress(value); return *this;} /** *

The IP addresses of the destination.

*/ inline NetworkPathComponentDetails& WithAddress(Aws::Vector&& value) { SetAddress(std::move(value)); return *this;} /** *

The IP addresses of the destination.

*/ inline NetworkPathComponentDetails& AddAddress(const Aws::String& value) { m_addressHasBeenSet = true; m_address.push_back(value); return *this; } /** *

The IP addresses of the destination.

*/ inline NetworkPathComponentDetails& AddAddress(Aws::String&& value) { m_addressHasBeenSet = true; m_address.push_back(std::move(value)); return *this; } /** *

The IP addresses of the destination.

*/ inline NetworkPathComponentDetails& AddAddress(const char* value) { m_addressHasBeenSet = true; m_address.push_back(value); return *this; } /** *

A list of port ranges for the destination.

*/ inline const Aws::Vector& GetPortRanges() const{ return m_portRanges; } /** *

A list of port ranges for the destination.

*/ inline bool PortRangesHasBeenSet() const { return m_portRangesHasBeenSet; } /** *

A list of port ranges for the destination.

*/ inline void SetPortRanges(const Aws::Vector& value) { m_portRangesHasBeenSet = true; m_portRanges = value; } /** *

A list of port ranges for the destination.

*/ inline void SetPortRanges(Aws::Vector&& value) { m_portRangesHasBeenSet = true; m_portRanges = std::move(value); } /** *

A list of port ranges for the destination.

*/ inline NetworkPathComponentDetails& WithPortRanges(const Aws::Vector& value) { SetPortRanges(value); return *this;} /** *

A list of port ranges for the destination.

*/ inline NetworkPathComponentDetails& WithPortRanges(Aws::Vector&& value) { SetPortRanges(std::move(value)); return *this;} /** *

A list of port ranges for the destination.

*/ inline NetworkPathComponentDetails& AddPortRanges(const PortRange& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(value); return *this; } /** *

A list of port ranges for the destination.

*/ inline NetworkPathComponentDetails& AddPortRanges(PortRange&& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(std::move(value)); return *this; } private: Aws::Vector m_address; bool m_addressHasBeenSet = false; Aws::Vector m_portRanges; bool m_portRangesHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws