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

For AwsApiAction, NetworkConnectionAction, and * PortProbeAction, RemoteIpDetails provides information * about the remote IP address that was involved in the action.

See * Also:

AWS * API Reference

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

The IP address.

*/ inline const Aws::String& GetIpAddressV4() const{ return m_ipAddressV4; } /** *

The IP address.

*/ inline bool IpAddressV4HasBeenSet() const { return m_ipAddressV4HasBeenSet; } /** *

The IP address.

*/ inline void SetIpAddressV4(const Aws::String& value) { m_ipAddressV4HasBeenSet = true; m_ipAddressV4 = value; } /** *

The IP address.

*/ inline void SetIpAddressV4(Aws::String&& value) { m_ipAddressV4HasBeenSet = true; m_ipAddressV4 = std::move(value); } /** *

The IP address.

*/ inline void SetIpAddressV4(const char* value) { m_ipAddressV4HasBeenSet = true; m_ipAddressV4.assign(value); } /** *

The IP address.

*/ inline ActionRemoteIpDetails& WithIpAddressV4(const Aws::String& value) { SetIpAddressV4(value); return *this;} /** *

The IP address.

*/ inline ActionRemoteIpDetails& WithIpAddressV4(Aws::String&& value) { SetIpAddressV4(std::move(value)); return *this;} /** *

The IP address.

*/ inline ActionRemoteIpDetails& WithIpAddressV4(const char* value) { SetIpAddressV4(value); return *this;} /** *

The internet service provider (ISP) organization associated with the remote * IP address.

*/ inline const IpOrganizationDetails& GetOrganization() const{ return m_organization; } /** *

The internet service provider (ISP) organization associated with the remote * IP address.

*/ inline bool OrganizationHasBeenSet() const { return m_organizationHasBeenSet; } /** *

The internet service provider (ISP) organization associated with the remote * IP address.

*/ inline void SetOrganization(const IpOrganizationDetails& value) { m_organizationHasBeenSet = true; m_organization = value; } /** *

The internet service provider (ISP) organization associated with the remote * IP address.

*/ inline void SetOrganization(IpOrganizationDetails&& value) { m_organizationHasBeenSet = true; m_organization = std::move(value); } /** *

The internet service provider (ISP) organization associated with the remote * IP address.

*/ inline ActionRemoteIpDetails& WithOrganization(const IpOrganizationDetails& value) { SetOrganization(value); return *this;} /** *

The internet service provider (ISP) organization associated with the remote * IP address.

*/ inline ActionRemoteIpDetails& WithOrganization(IpOrganizationDetails&& value) { SetOrganization(std::move(value)); return *this;} /** *

The country where the remote IP address is located.

*/ inline const Country& GetCountry() const{ return m_country; } /** *

The country where the remote IP address is located.

*/ inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; } /** *

The country where the remote IP address is located.

*/ inline void SetCountry(const Country& value) { m_countryHasBeenSet = true; m_country = value; } /** *

The country where the remote IP address is located.

*/ inline void SetCountry(Country&& value) { m_countryHasBeenSet = true; m_country = std::move(value); } /** *

The country where the remote IP address is located.

*/ inline ActionRemoteIpDetails& WithCountry(const Country& value) { SetCountry(value); return *this;} /** *

The country where the remote IP address is located.

*/ inline ActionRemoteIpDetails& WithCountry(Country&& value) { SetCountry(std::move(value)); return *this;} /** *

The city where the remote IP address is located.

*/ inline const City& GetCity() const{ return m_city; } /** *

The city where the remote IP address is located.

*/ inline bool CityHasBeenSet() const { return m_cityHasBeenSet; } /** *

The city where the remote IP address is located.

*/ inline void SetCity(const City& value) { m_cityHasBeenSet = true; m_city = value; } /** *

The city where the remote IP address is located.

*/ inline void SetCity(City&& value) { m_cityHasBeenSet = true; m_city = std::move(value); } /** *

The city where the remote IP address is located.

*/ inline ActionRemoteIpDetails& WithCity(const City& value) { SetCity(value); return *this;} /** *

The city where the remote IP address is located.

*/ inline ActionRemoteIpDetails& WithCity(City&& value) { SetCity(std::move(value)); return *this;} /** *

The coordinates of the location of the remote IP address.

*/ inline const GeoLocation& GetGeoLocation() const{ return m_geoLocation; } /** *

The coordinates of the location of the remote IP address.

*/ inline bool GeoLocationHasBeenSet() const { return m_geoLocationHasBeenSet; } /** *

The coordinates of the location of the remote IP address.

*/ inline void SetGeoLocation(const GeoLocation& value) { m_geoLocationHasBeenSet = true; m_geoLocation = value; } /** *

The coordinates of the location of the remote IP address.

*/ inline void SetGeoLocation(GeoLocation&& value) { m_geoLocationHasBeenSet = true; m_geoLocation = std::move(value); } /** *

The coordinates of the location of the remote IP address.

*/ inline ActionRemoteIpDetails& WithGeoLocation(const GeoLocation& value) { SetGeoLocation(value); return *this;} /** *

The coordinates of the location of the remote IP address.

*/ inline ActionRemoteIpDetails& WithGeoLocation(GeoLocation&& value) { SetGeoLocation(std::move(value)); return *this;} private: Aws::String m_ipAddressV4; bool m_ipAddressV4HasBeenSet = false; IpOrganizationDetails m_organization; bool m_organizationHasBeenSet = false; Country m_country; bool m_countryHasBeenSet = false; City m_city; bool m_cityHasBeenSet = false; GeoLocation m_geoLocation; bool m_geoLocationHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws