1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/macie2/Macie2_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/macie2/model/IpCity.h> 10 #include <aws/macie2/model/IpCountry.h> 11 #include <aws/macie2/model/IpGeoLocation.h> 12 #include <aws/macie2/model/IpOwner.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace Utils 18 { 19 namespace Json 20 { 21 class JsonValue; 22 class JsonView; 23 } // namespace Json 24 } // namespace Utils 25 namespace Macie2 26 { 27 namespace Model 28 { 29 30 /** 31 * <p>Provides information about the IP address of the device that an entity used 32 * to perform an action on an affected resource.</p><p><h3>See Also:</h3> <a 33 * href="http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/IpAddressDetails">AWS 34 * API Reference</a></p> 35 */ 36 class AWS_MACIE2_API IpAddressDetails 37 { 38 public: 39 IpAddressDetails(); 40 IpAddressDetails(Aws::Utils::Json::JsonView jsonValue); 41 IpAddressDetails& operator=(Aws::Utils::Json::JsonView jsonValue); 42 Aws::Utils::Json::JsonValue Jsonize() const; 43 44 45 /** 46 * <p>The Internet Protocol version 4 (IPv4) address of the device.</p> 47 */ GetIpAddressV4()48 inline const Aws::String& GetIpAddressV4() const{ return m_ipAddressV4; } 49 50 /** 51 * <p>The Internet Protocol version 4 (IPv4) address of the device.</p> 52 */ IpAddressV4HasBeenSet()53 inline bool IpAddressV4HasBeenSet() const { return m_ipAddressV4HasBeenSet; } 54 55 /** 56 * <p>The Internet Protocol version 4 (IPv4) address of the device.</p> 57 */ SetIpAddressV4(const Aws::String & value)58 inline void SetIpAddressV4(const Aws::String& value) { m_ipAddressV4HasBeenSet = true; m_ipAddressV4 = value; } 59 60 /** 61 * <p>The Internet Protocol version 4 (IPv4) address of the device.</p> 62 */ SetIpAddressV4(Aws::String && value)63 inline void SetIpAddressV4(Aws::String&& value) { m_ipAddressV4HasBeenSet = true; m_ipAddressV4 = std::move(value); } 64 65 /** 66 * <p>The Internet Protocol version 4 (IPv4) address of the device.</p> 67 */ SetIpAddressV4(const char * value)68 inline void SetIpAddressV4(const char* value) { m_ipAddressV4HasBeenSet = true; m_ipAddressV4.assign(value); } 69 70 /** 71 * <p>The Internet Protocol version 4 (IPv4) address of the device.</p> 72 */ WithIpAddressV4(const Aws::String & value)73 inline IpAddressDetails& WithIpAddressV4(const Aws::String& value) { SetIpAddressV4(value); return *this;} 74 75 /** 76 * <p>The Internet Protocol version 4 (IPv4) address of the device.</p> 77 */ WithIpAddressV4(Aws::String && value)78 inline IpAddressDetails& WithIpAddressV4(Aws::String&& value) { SetIpAddressV4(std::move(value)); return *this;} 79 80 /** 81 * <p>The Internet Protocol version 4 (IPv4) address of the device.</p> 82 */ WithIpAddressV4(const char * value)83 inline IpAddressDetails& WithIpAddressV4(const char* value) { SetIpAddressV4(value); return *this;} 84 85 86 /** 87 * <p>The city that the IP address originated from.</p> 88 */ GetIpCity()89 inline const IpCity& GetIpCity() const{ return m_ipCity; } 90 91 /** 92 * <p>The city that the IP address originated from.</p> 93 */ IpCityHasBeenSet()94 inline bool IpCityHasBeenSet() const { return m_ipCityHasBeenSet; } 95 96 /** 97 * <p>The city that the IP address originated from.</p> 98 */ SetIpCity(const IpCity & value)99 inline void SetIpCity(const IpCity& value) { m_ipCityHasBeenSet = true; m_ipCity = value; } 100 101 /** 102 * <p>The city that the IP address originated from.</p> 103 */ SetIpCity(IpCity && value)104 inline void SetIpCity(IpCity&& value) { m_ipCityHasBeenSet = true; m_ipCity = std::move(value); } 105 106 /** 107 * <p>The city that the IP address originated from.</p> 108 */ WithIpCity(const IpCity & value)109 inline IpAddressDetails& WithIpCity(const IpCity& value) { SetIpCity(value); return *this;} 110 111 /** 112 * <p>The city that the IP address originated from.</p> 113 */ WithIpCity(IpCity && value)114 inline IpAddressDetails& WithIpCity(IpCity&& value) { SetIpCity(std::move(value)); return *this;} 115 116 117 /** 118 * <p>The country that the IP address originated from.</p> 119 */ GetIpCountry()120 inline const IpCountry& GetIpCountry() const{ return m_ipCountry; } 121 122 /** 123 * <p>The country that the IP address originated from.</p> 124 */ IpCountryHasBeenSet()125 inline bool IpCountryHasBeenSet() const { return m_ipCountryHasBeenSet; } 126 127 /** 128 * <p>The country that the IP address originated from.</p> 129 */ SetIpCountry(const IpCountry & value)130 inline void SetIpCountry(const IpCountry& value) { m_ipCountryHasBeenSet = true; m_ipCountry = value; } 131 132 /** 133 * <p>The country that the IP address originated from.</p> 134 */ SetIpCountry(IpCountry && value)135 inline void SetIpCountry(IpCountry&& value) { m_ipCountryHasBeenSet = true; m_ipCountry = std::move(value); } 136 137 /** 138 * <p>The country that the IP address originated from.</p> 139 */ WithIpCountry(const IpCountry & value)140 inline IpAddressDetails& WithIpCountry(const IpCountry& value) { SetIpCountry(value); return *this;} 141 142 /** 143 * <p>The country that the IP address originated from.</p> 144 */ WithIpCountry(IpCountry && value)145 inline IpAddressDetails& WithIpCountry(IpCountry&& value) { SetIpCountry(std::move(value)); return *this;} 146 147 148 /** 149 * <p>The geographic coordinates of the location that the IP address originated 150 * from.</p> 151 */ GetIpGeoLocation()152 inline const IpGeoLocation& GetIpGeoLocation() const{ return m_ipGeoLocation; } 153 154 /** 155 * <p>The geographic coordinates of the location that the IP address originated 156 * from.</p> 157 */ IpGeoLocationHasBeenSet()158 inline bool IpGeoLocationHasBeenSet() const { return m_ipGeoLocationHasBeenSet; } 159 160 /** 161 * <p>The geographic coordinates of the location that the IP address originated 162 * from.</p> 163 */ SetIpGeoLocation(const IpGeoLocation & value)164 inline void SetIpGeoLocation(const IpGeoLocation& value) { m_ipGeoLocationHasBeenSet = true; m_ipGeoLocation = value; } 165 166 /** 167 * <p>The geographic coordinates of the location that the IP address originated 168 * from.</p> 169 */ SetIpGeoLocation(IpGeoLocation && value)170 inline void SetIpGeoLocation(IpGeoLocation&& value) { m_ipGeoLocationHasBeenSet = true; m_ipGeoLocation = std::move(value); } 171 172 /** 173 * <p>The geographic coordinates of the location that the IP address originated 174 * from.</p> 175 */ WithIpGeoLocation(const IpGeoLocation & value)176 inline IpAddressDetails& WithIpGeoLocation(const IpGeoLocation& value) { SetIpGeoLocation(value); return *this;} 177 178 /** 179 * <p>The geographic coordinates of the location that the IP address originated 180 * from.</p> 181 */ WithIpGeoLocation(IpGeoLocation && value)182 inline IpAddressDetails& WithIpGeoLocation(IpGeoLocation&& value) { SetIpGeoLocation(std::move(value)); return *this;} 183 184 185 /** 186 * <p>The registered owner of the IP address.</p> 187 */ GetIpOwner()188 inline const IpOwner& GetIpOwner() const{ return m_ipOwner; } 189 190 /** 191 * <p>The registered owner of the IP address.</p> 192 */ IpOwnerHasBeenSet()193 inline bool IpOwnerHasBeenSet() const { return m_ipOwnerHasBeenSet; } 194 195 /** 196 * <p>The registered owner of the IP address.</p> 197 */ SetIpOwner(const IpOwner & value)198 inline void SetIpOwner(const IpOwner& value) { m_ipOwnerHasBeenSet = true; m_ipOwner = value; } 199 200 /** 201 * <p>The registered owner of the IP address.</p> 202 */ SetIpOwner(IpOwner && value)203 inline void SetIpOwner(IpOwner&& value) { m_ipOwnerHasBeenSet = true; m_ipOwner = std::move(value); } 204 205 /** 206 * <p>The registered owner of the IP address.</p> 207 */ WithIpOwner(const IpOwner & value)208 inline IpAddressDetails& WithIpOwner(const IpOwner& value) { SetIpOwner(value); return *this;} 209 210 /** 211 * <p>The registered owner of the IP address.</p> 212 */ WithIpOwner(IpOwner && value)213 inline IpAddressDetails& WithIpOwner(IpOwner&& value) { SetIpOwner(std::move(value)); return *this;} 214 215 private: 216 217 Aws::String m_ipAddressV4; 218 bool m_ipAddressV4HasBeenSet; 219 220 IpCity m_ipCity; 221 bool m_ipCityHasBeenSet; 222 223 IpCountry m_ipCountry; 224 bool m_ipCountryHasBeenSet; 225 226 IpGeoLocation m_ipGeoLocation; 227 bool m_ipGeoLocationHasBeenSet; 228 229 IpOwner m_ipOwner; 230 bool m_ipOwnerHasBeenSet; 231 }; 232 233 } // namespace Model 234 } // namespace Macie2 235 } // namespace Aws 236