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

Information about a location impacted by a health event in Amazon CloudWatch * Internet Monitor.

Geographic regions are hierarchically categorized into * country, subdivision, metro and city geographic granularities. The geographic * region is identified based on the IP address used at the client * locations.

See Also:

AWS * API Reference

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

The name of the network at an impacted location.

*/ inline const Aws::String& GetASName() const{ return m_aSName; } /** *

The name of the network at an impacted location.

*/ inline bool ASNameHasBeenSet() const { return m_aSNameHasBeenSet; } /** *

The name of the network at an impacted location.

*/ inline void SetASName(const Aws::String& value) { m_aSNameHasBeenSet = true; m_aSName = value; } /** *

The name of the network at an impacted location.

*/ inline void SetASName(Aws::String&& value) { m_aSNameHasBeenSet = true; m_aSName = std::move(value); } /** *

The name of the network at an impacted location.

*/ inline void SetASName(const char* value) { m_aSNameHasBeenSet = true; m_aSName.assign(value); } /** *

The name of the network at an impacted location.

*/ inline ImpactedLocation& WithASName(const Aws::String& value) { SetASName(value); return *this;} /** *

The name of the network at an impacted location.

*/ inline ImpactedLocation& WithASName(Aws::String&& value) { SetASName(std::move(value)); return *this;} /** *

The name of the network at an impacted location.

*/ inline ImpactedLocation& WithASName(const char* value) { SetASName(value); return *this;} /** *

The Autonomous System Number (ASN) of the network at an impacted * location.

*/ inline long long GetASNumber() const{ return m_aSNumber; } /** *

The Autonomous System Number (ASN) of the network at an impacted * location.

*/ inline bool ASNumberHasBeenSet() const { return m_aSNumberHasBeenSet; } /** *

The Autonomous System Number (ASN) of the network at an impacted * location.

*/ inline void SetASNumber(long long value) { m_aSNumberHasBeenSet = true; m_aSNumber = value; } /** *

The Autonomous System Number (ASN) of the network at an impacted * location.

*/ inline ImpactedLocation& WithASNumber(long long value) { SetASNumber(value); return *this;} /** *

The name of the country where the health event is located.

*/ inline const Aws::String& GetCountry() const{ return m_country; } /** *

The name of the country where the health event is located.

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

The name of the country where the health event is located.

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

The name of the country where the health event is located.

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

The name of the country where the health event is located.

*/ inline void SetCountry(const char* value) { m_countryHasBeenSet = true; m_country.assign(value); } /** *

The name of the country where the health event is located.

*/ inline ImpactedLocation& WithCountry(const Aws::String& value) { SetCountry(value); return *this;} /** *

The name of the country where the health event is located.

*/ inline ImpactedLocation& WithCountry(Aws::String&& value) { SetCountry(std::move(value)); return *this;} /** *

The name of the country where the health event is located.

*/ inline ImpactedLocation& WithCountry(const char* value) { SetCountry(value); return *this;} /** *

The subdivision location where the health event is located. The subdivision * usually maps to states in most countries (including the United States). For * United Kingdom, it maps to a country (England, Scotland, Wales) or province * (Northern Ireland).

*/ inline const Aws::String& GetSubdivision() const{ return m_subdivision; } /** *

The subdivision location where the health event is located. The subdivision * usually maps to states in most countries (including the United States). For * United Kingdom, it maps to a country (England, Scotland, Wales) or province * (Northern Ireland).

*/ inline bool SubdivisionHasBeenSet() const { return m_subdivisionHasBeenSet; } /** *

The subdivision location where the health event is located. The subdivision * usually maps to states in most countries (including the United States). For * United Kingdom, it maps to a country (England, Scotland, Wales) or province * (Northern Ireland).

*/ inline void SetSubdivision(const Aws::String& value) { m_subdivisionHasBeenSet = true; m_subdivision = value; } /** *

The subdivision location where the health event is located. The subdivision * usually maps to states in most countries (including the United States). For * United Kingdom, it maps to a country (England, Scotland, Wales) or province * (Northern Ireland).

*/ inline void SetSubdivision(Aws::String&& value) { m_subdivisionHasBeenSet = true; m_subdivision = std::move(value); } /** *

The subdivision location where the health event is located. The subdivision * usually maps to states in most countries (including the United States). For * United Kingdom, it maps to a country (England, Scotland, Wales) or province * (Northern Ireland).

*/ inline void SetSubdivision(const char* value) { m_subdivisionHasBeenSet = true; m_subdivision.assign(value); } /** *

The subdivision location where the health event is located. The subdivision * usually maps to states in most countries (including the United States). For * United Kingdom, it maps to a country (England, Scotland, Wales) or province * (Northern Ireland).

*/ inline ImpactedLocation& WithSubdivision(const Aws::String& value) { SetSubdivision(value); return *this;} /** *

The subdivision location where the health event is located. The subdivision * usually maps to states in most countries (including the United States). For * United Kingdom, it maps to a country (England, Scotland, Wales) or province * (Northern Ireland).

*/ inline ImpactedLocation& WithSubdivision(Aws::String&& value) { SetSubdivision(std::move(value)); return *this;} /** *

The subdivision location where the health event is located. The subdivision * usually maps to states in most countries (including the United States). For * United Kingdom, it maps to a country (England, Scotland, Wales) or province * (Northern Ireland).

*/ inline ImpactedLocation& WithSubdivision(const char* value) { SetSubdivision(value); return *this;} /** *

The metro area where the health event is located.

Metro indicates a * metropolitan region in the United States, such as the region around New York * City. In non-US countries, this is a second-level subdivision. For example, in * the United Kingdom, it could be a county, a London borough, a unitary authority, * council area, and so on.

*/ inline const Aws::String& GetMetro() const{ return m_metro; } /** *

The metro area where the health event is located.

Metro indicates a * metropolitan region in the United States, such as the region around New York * City. In non-US countries, this is a second-level subdivision. For example, in * the United Kingdom, it could be a county, a London borough, a unitary authority, * council area, and so on.

*/ inline bool MetroHasBeenSet() const { return m_metroHasBeenSet; } /** *

The metro area where the health event is located.

Metro indicates a * metropolitan region in the United States, such as the region around New York * City. In non-US countries, this is a second-level subdivision. For example, in * the United Kingdom, it could be a county, a London borough, a unitary authority, * council area, and so on.

*/ inline void SetMetro(const Aws::String& value) { m_metroHasBeenSet = true; m_metro = value; } /** *

The metro area where the health event is located.

Metro indicates a * metropolitan region in the United States, such as the region around New York * City. In non-US countries, this is a second-level subdivision. For example, in * the United Kingdom, it could be a county, a London borough, a unitary authority, * council area, and so on.

*/ inline void SetMetro(Aws::String&& value) { m_metroHasBeenSet = true; m_metro = std::move(value); } /** *

The metro area where the health event is located.

Metro indicates a * metropolitan region in the United States, such as the region around New York * City. In non-US countries, this is a second-level subdivision. For example, in * the United Kingdom, it could be a county, a London borough, a unitary authority, * council area, and so on.

*/ inline void SetMetro(const char* value) { m_metroHasBeenSet = true; m_metro.assign(value); } /** *

The metro area where the health event is located.

Metro indicates a * metropolitan region in the United States, such as the region around New York * City. In non-US countries, this is a second-level subdivision. For example, in * the United Kingdom, it could be a county, a London borough, a unitary authority, * council area, and so on.

*/ inline ImpactedLocation& WithMetro(const Aws::String& value) { SetMetro(value); return *this;} /** *

The metro area where the health event is located.

Metro indicates a * metropolitan region in the United States, such as the region around New York * City. In non-US countries, this is a second-level subdivision. For example, in * the United Kingdom, it could be a county, a London borough, a unitary authority, * council area, and so on.

*/ inline ImpactedLocation& WithMetro(Aws::String&& value) { SetMetro(std::move(value)); return *this;} /** *

The metro area where the health event is located.

Metro indicates a * metropolitan region in the United States, such as the region around New York * City. In non-US countries, this is a second-level subdivision. For example, in * the United Kingdom, it could be a county, a London borough, a unitary authority, * council area, and so on.

*/ inline ImpactedLocation& WithMetro(const char* value) { SetMetro(value); return *this;} /** *

The name of the city where the health event is located.

*/ inline const Aws::String& GetCity() const{ return m_city; } /** *

The name of the city where the health event is located.

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

The name of the city where the health event is located.

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

The name of the city where the health event is located.

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

The name of the city where the health event is located.

*/ inline void SetCity(const char* value) { m_cityHasBeenSet = true; m_city.assign(value); } /** *

The name of the city where the health event is located.

*/ inline ImpactedLocation& WithCity(const Aws::String& value) { SetCity(value); return *this;} /** *

The name of the city where the health event is located.

*/ inline ImpactedLocation& WithCity(Aws::String&& value) { SetCity(std::move(value)); return *this;} /** *

The name of the city where the health event is located.

*/ inline ImpactedLocation& WithCity(const char* value) { SetCity(value); return *this;} /** *

The latitude where the health event is located.

*/ inline double GetLatitude() const{ return m_latitude; } /** *

The latitude where the health event is located.

*/ inline bool LatitudeHasBeenSet() const { return m_latitudeHasBeenSet; } /** *

The latitude where the health event is located.

*/ inline void SetLatitude(double value) { m_latitudeHasBeenSet = true; m_latitude = value; } /** *

The latitude where the health event is located.

*/ inline ImpactedLocation& WithLatitude(double value) { SetLatitude(value); return *this;} /** *

The longitude where the health event is located.

*/ inline double GetLongitude() const{ return m_longitude; } /** *

The longitude where the health event is located.

*/ inline bool LongitudeHasBeenSet() const { return m_longitudeHasBeenSet; } /** *

The longitude where the health event is located.

*/ inline void SetLongitude(double value) { m_longitudeHasBeenSet = true; m_longitude = value; } /** *

The longitude where the health event is located.

*/ inline ImpactedLocation& WithLongitude(double value) { SetLongitude(value); return *this;} /** *

The country code where the health event is located. The ISO 3166-2 codes for * the country is provided, when available.

*/ inline const Aws::String& GetCountryCode() const{ return m_countryCode; } /** *

The country code where the health event is located. The ISO 3166-2 codes for * the country is provided, when available.

*/ inline bool CountryCodeHasBeenSet() const { return m_countryCodeHasBeenSet; } /** *

The country code where the health event is located. The ISO 3166-2 codes for * the country is provided, when available.

*/ inline void SetCountryCode(const Aws::String& value) { m_countryCodeHasBeenSet = true; m_countryCode = value; } /** *

The country code where the health event is located. The ISO 3166-2 codes for * the country is provided, when available.

*/ inline void SetCountryCode(Aws::String&& value) { m_countryCodeHasBeenSet = true; m_countryCode = std::move(value); } /** *

The country code where the health event is located. The ISO 3166-2 codes for * the country is provided, when available.

*/ inline void SetCountryCode(const char* value) { m_countryCodeHasBeenSet = true; m_countryCode.assign(value); } /** *

The country code where the health event is located. The ISO 3166-2 codes for * the country is provided, when available.

*/ inline ImpactedLocation& WithCountryCode(const Aws::String& value) { SetCountryCode(value); return *this;} /** *

The country code where the health event is located. The ISO 3166-2 codes for * the country is provided, when available.

*/ inline ImpactedLocation& WithCountryCode(Aws::String&& value) { SetCountryCode(std::move(value)); return *this;} /** *

The country code where the health event is located. The ISO 3166-2 codes for * the country is provided, when available.

*/ inline ImpactedLocation& WithCountryCode(const char* value) { SetCountryCode(value); return *this;} /** *

The subdivision code where the health event is located. The ISO 3166-2 codes * for country subdivisions is provided, when available.

*/ inline const Aws::String& GetSubdivisionCode() const{ return m_subdivisionCode; } /** *

The subdivision code where the health event is located. The ISO 3166-2 codes * for country subdivisions is provided, when available.

*/ inline bool SubdivisionCodeHasBeenSet() const { return m_subdivisionCodeHasBeenSet; } /** *

The subdivision code where the health event is located. The ISO 3166-2 codes * for country subdivisions is provided, when available.

*/ inline void SetSubdivisionCode(const Aws::String& value) { m_subdivisionCodeHasBeenSet = true; m_subdivisionCode = value; } /** *

The subdivision code where the health event is located. The ISO 3166-2 codes * for country subdivisions is provided, when available.

*/ inline void SetSubdivisionCode(Aws::String&& value) { m_subdivisionCodeHasBeenSet = true; m_subdivisionCode = std::move(value); } /** *

The subdivision code where the health event is located. The ISO 3166-2 codes * for country subdivisions is provided, when available.

*/ inline void SetSubdivisionCode(const char* value) { m_subdivisionCodeHasBeenSet = true; m_subdivisionCode.assign(value); } /** *

The subdivision code where the health event is located. The ISO 3166-2 codes * for country subdivisions is provided, when available.

*/ inline ImpactedLocation& WithSubdivisionCode(const Aws::String& value) { SetSubdivisionCode(value); return *this;} /** *

The subdivision code where the health event is located. The ISO 3166-2 codes * for country subdivisions is provided, when available.

*/ inline ImpactedLocation& WithSubdivisionCode(Aws::String&& value) { SetSubdivisionCode(std::move(value)); return *this;} /** *

The subdivision code where the health event is located. The ISO 3166-2 codes * for country subdivisions is provided, when available.

*/ inline ImpactedLocation& WithSubdivisionCode(const char* value) { SetSubdivisionCode(value); return *this;} /** *

The service location where the health event is located.

*/ inline const Aws::String& GetServiceLocation() const{ return m_serviceLocation; } /** *

The service location where the health event is located.

*/ inline bool ServiceLocationHasBeenSet() const { return m_serviceLocationHasBeenSet; } /** *

The service location where the health event is located.

*/ inline void SetServiceLocation(const Aws::String& value) { m_serviceLocationHasBeenSet = true; m_serviceLocation = value; } /** *

The service location where the health event is located.

*/ inline void SetServiceLocation(Aws::String&& value) { m_serviceLocationHasBeenSet = true; m_serviceLocation = std::move(value); } /** *

The service location where the health event is located.

*/ inline void SetServiceLocation(const char* value) { m_serviceLocationHasBeenSet = true; m_serviceLocation.assign(value); } /** *

The service location where the health event is located.

*/ inline ImpactedLocation& WithServiceLocation(const Aws::String& value) { SetServiceLocation(value); return *this;} /** *

The service location where the health event is located.

*/ inline ImpactedLocation& WithServiceLocation(Aws::String&& value) { SetServiceLocation(std::move(value)); return *this;} /** *

The service location where the health event is located.

*/ inline ImpactedLocation& WithServiceLocation(const char* value) { SetServiceLocation(value); return *this;} /** *

The status of the health event at an impacted location.

*/ inline const HealthEventStatus& GetStatus() const{ return m_status; } /** *

The status of the health event at an impacted location.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the health event at an impacted location.

*/ inline void SetStatus(const HealthEventStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the health event at an impacted location.

*/ inline void SetStatus(HealthEventStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the health event at an impacted location.

*/ inline ImpactedLocation& WithStatus(const HealthEventStatus& value) { SetStatus(value); return *this;} /** *

The status of the health event at an impacted location.

*/ inline ImpactedLocation& WithStatus(HealthEventStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The cause of the impairment. There are two types of network impairments: * Amazon Web Services network issues or internet issues. Internet issues are * typically a problem with a network provider, like an internet service provider * (ISP).

*/ inline const NetworkImpairment& GetCausedBy() const{ return m_causedBy; } /** *

The cause of the impairment. There are two types of network impairments: * Amazon Web Services network issues or internet issues. Internet issues are * typically a problem with a network provider, like an internet service provider * (ISP).

*/ inline bool CausedByHasBeenSet() const { return m_causedByHasBeenSet; } /** *

The cause of the impairment. There are two types of network impairments: * Amazon Web Services network issues or internet issues. Internet issues are * typically a problem with a network provider, like an internet service provider * (ISP).

*/ inline void SetCausedBy(const NetworkImpairment& value) { m_causedByHasBeenSet = true; m_causedBy = value; } /** *

The cause of the impairment. There are two types of network impairments: * Amazon Web Services network issues or internet issues. Internet issues are * typically a problem with a network provider, like an internet service provider * (ISP).

*/ inline void SetCausedBy(NetworkImpairment&& value) { m_causedByHasBeenSet = true; m_causedBy = std::move(value); } /** *

The cause of the impairment. There are two types of network impairments: * Amazon Web Services network issues or internet issues. Internet issues are * typically a problem with a network provider, like an internet service provider * (ISP).

*/ inline ImpactedLocation& WithCausedBy(const NetworkImpairment& value) { SetCausedBy(value); return *this;} /** *

The cause of the impairment. There are two types of network impairments: * Amazon Web Services network issues or internet issues. Internet issues are * typically a problem with a network provider, like an internet service provider * (ISP).

*/ inline ImpactedLocation& WithCausedBy(NetworkImpairment&& value) { SetCausedBy(std::move(value)); return *this;} /** *

The calculated health at a specific location.

*/ inline const InternetHealth& GetInternetHealth() const{ return m_internetHealth; } /** *

The calculated health at a specific location.

*/ inline bool InternetHealthHasBeenSet() const { return m_internetHealthHasBeenSet; } /** *

The calculated health at a specific location.

*/ inline void SetInternetHealth(const InternetHealth& value) { m_internetHealthHasBeenSet = true; m_internetHealth = value; } /** *

The calculated health at a specific location.

*/ inline void SetInternetHealth(InternetHealth&& value) { m_internetHealthHasBeenSet = true; m_internetHealth = std::move(value); } /** *

The calculated health at a specific location.

*/ inline ImpactedLocation& WithInternetHealth(const InternetHealth& value) { SetInternetHealth(value); return *this;} /** *

The calculated health at a specific location.

*/ inline ImpactedLocation& WithInternetHealth(InternetHealth&& value) { SetInternetHealth(std::move(value)); return *this;} private: Aws::String m_aSName; bool m_aSNameHasBeenSet = false; long long m_aSNumber; bool m_aSNumberHasBeenSet = false; Aws::String m_country; bool m_countryHasBeenSet = false; Aws::String m_subdivision; bool m_subdivisionHasBeenSet = false; Aws::String m_metro; bool m_metroHasBeenSet = false; Aws::String m_city; bool m_cityHasBeenSet = false; double m_latitude; bool m_latitudeHasBeenSet = false; double m_longitude; bool m_longitudeHasBeenSet = false; Aws::String m_countryCode; bool m_countryCodeHasBeenSet = false; Aws::String m_subdivisionCode; bool m_subdivisionCodeHasBeenSet = false; Aws::String m_serviceLocation; bool m_serviceLocationHasBeenSet = false; HealthEventStatus m_status; bool m_statusHasBeenSet = false; NetworkImpairment m_causedBy; bool m_causedByHasBeenSet = false; InternetHealth m_internetHealth; bool m_internetHealthHasBeenSet = false; }; } // namespace Model } // namespace InternetMonitor } // namespace Aws