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

Provides information about the IP address of the device that an entity used * to perform an action on an affected resource.

See Also:

AWS * API Reference

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

The Internet Protocol version 4 (IPv4) address of the device.

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

The Internet Protocol version 4 (IPv4) address of the device.

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

The Internet Protocol version 4 (IPv4) address of the device.

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

The Internet Protocol version 4 (IPv4) address of the device.

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

The Internet Protocol version 4 (IPv4) address of the device.

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

The Internet Protocol version 4 (IPv4) address of the device.

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

The Internet Protocol version 4 (IPv4) address of the device.

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

The Internet Protocol version 4 (IPv4) address of the device.

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

The city that the IP address originated from.

*/ inline const IpCity& GetIpCity() const{ return m_ipCity; } /** *

The city that the IP address originated from.

*/ inline bool IpCityHasBeenSet() const { return m_ipCityHasBeenSet; } /** *

The city that the IP address originated from.

*/ inline void SetIpCity(const IpCity& value) { m_ipCityHasBeenSet = true; m_ipCity = value; } /** *

The city that the IP address originated from.

*/ inline void SetIpCity(IpCity&& value) { m_ipCityHasBeenSet = true; m_ipCity = std::move(value); } /** *

The city that the IP address originated from.

*/ inline IpAddressDetails& WithIpCity(const IpCity& value) { SetIpCity(value); return *this;} /** *

The city that the IP address originated from.

*/ inline IpAddressDetails& WithIpCity(IpCity&& value) { SetIpCity(std::move(value)); return *this;} /** *

The country that the IP address originated from.

*/ inline const IpCountry& GetIpCountry() const{ return m_ipCountry; } /** *

The country that the IP address originated from.

*/ inline bool IpCountryHasBeenSet() const { return m_ipCountryHasBeenSet; } /** *

The country that the IP address originated from.

*/ inline void SetIpCountry(const IpCountry& value) { m_ipCountryHasBeenSet = true; m_ipCountry = value; } /** *

The country that the IP address originated from.

*/ inline void SetIpCountry(IpCountry&& value) { m_ipCountryHasBeenSet = true; m_ipCountry = std::move(value); } /** *

The country that the IP address originated from.

*/ inline IpAddressDetails& WithIpCountry(const IpCountry& value) { SetIpCountry(value); return *this;} /** *

The country that the IP address originated from.

*/ inline IpAddressDetails& WithIpCountry(IpCountry&& value) { SetIpCountry(std::move(value)); return *this;} /** *

The geographic coordinates of the location that the IP address originated * from.

*/ inline const IpGeoLocation& GetIpGeoLocation() const{ return m_ipGeoLocation; } /** *

The geographic coordinates of the location that the IP address originated * from.

*/ inline bool IpGeoLocationHasBeenSet() const { return m_ipGeoLocationHasBeenSet; } /** *

The geographic coordinates of the location that the IP address originated * from.

*/ inline void SetIpGeoLocation(const IpGeoLocation& value) { m_ipGeoLocationHasBeenSet = true; m_ipGeoLocation = value; } /** *

The geographic coordinates of the location that the IP address originated * from.

*/ inline void SetIpGeoLocation(IpGeoLocation&& value) { m_ipGeoLocationHasBeenSet = true; m_ipGeoLocation = std::move(value); } /** *

The geographic coordinates of the location that the IP address originated * from.

*/ inline IpAddressDetails& WithIpGeoLocation(const IpGeoLocation& value) { SetIpGeoLocation(value); return *this;} /** *

The geographic coordinates of the location that the IP address originated * from.

*/ inline IpAddressDetails& WithIpGeoLocation(IpGeoLocation&& value) { SetIpGeoLocation(std::move(value)); return *this;} /** *

The registered owner of the IP address.

*/ inline const IpOwner& GetIpOwner() const{ return m_ipOwner; } /** *

The registered owner of the IP address.

*/ inline bool IpOwnerHasBeenSet() const { return m_ipOwnerHasBeenSet; } /** *

The registered owner of the IP address.

*/ inline void SetIpOwner(const IpOwner& value) { m_ipOwnerHasBeenSet = true; m_ipOwner = value; } /** *

The registered owner of the IP address.

*/ inline void SetIpOwner(IpOwner&& value) { m_ipOwnerHasBeenSet = true; m_ipOwner = std::move(value); } /** *

The registered owner of the IP address.

*/ inline IpAddressDetails& WithIpOwner(const IpOwner& value) { SetIpOwner(value); return *this;} /** *

The registered owner of the IP address.

*/ inline IpAddressDetails& WithIpOwner(IpOwner&& value) { SetIpOwner(std::move(value)); return *this;} private: Aws::String m_ipAddressV4; bool m_ipAddressV4HasBeenSet = false; IpCity m_ipCity; bool m_ipCityHasBeenSet = false; IpCountry m_ipCountry; bool m_ipCountryHasBeenSet = false; IpGeoLocation m_ipGeoLocation; bool m_ipGeoLocationHasBeenSet = false; IpOwner m_ipOwner; bool m_ipOwnerHasBeenSet = false; }; } // namespace Model } // namespace Macie2 } // namespace Aws