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

Internet health includes measurements calculated by Amazon CloudWatch * Internet Monitor about the performance and availability for your application on * the internet. Amazon Web Services has substantial historical data about internet * performance and availability between Amazon Web Services services and different * network providers and geographies. By applying statistical analysis to the data, * Internet Monitor can detect when the performance and availability for your * application has dropped, compared to an estimated baseline that's already * calculated. To make it easier to see those drops, we report that information to * you in the form of health scores: a performance score and an availability * score.

See Also:

AWS * API Reference

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

Availability in Internet Monitor represents the estimated percentage of * traffic that is not seeing an availability drop. For example, an availability * score of 99% for an end user and service location pair is equivalent to 1% of * the traffic experiencing an availability drop for that pair.

For more * information, see How * Internet Monitor calculates performance and availability scores in the * Amazon CloudWatch Internet Monitor section of the CloudWatch User * Guide.

*/ inline const AvailabilityMeasurement& GetAvailability() const{ return m_availability; } /** *

Availability in Internet Monitor represents the estimated percentage of * traffic that is not seeing an availability drop. For example, an availability * score of 99% for an end user and service location pair is equivalent to 1% of * the traffic experiencing an availability drop for that pair.

For more * information, see How * Internet Monitor calculates performance and availability scores in the * Amazon CloudWatch Internet Monitor section of the CloudWatch User * Guide.

*/ inline bool AvailabilityHasBeenSet() const { return m_availabilityHasBeenSet; } /** *

Availability in Internet Monitor represents the estimated percentage of * traffic that is not seeing an availability drop. For example, an availability * score of 99% for an end user and service location pair is equivalent to 1% of * the traffic experiencing an availability drop for that pair.

For more * information, see How * Internet Monitor calculates performance and availability scores in the * Amazon CloudWatch Internet Monitor section of the CloudWatch User * Guide.

*/ inline void SetAvailability(const AvailabilityMeasurement& value) { m_availabilityHasBeenSet = true; m_availability = value; } /** *

Availability in Internet Monitor represents the estimated percentage of * traffic that is not seeing an availability drop. For example, an availability * score of 99% for an end user and service location pair is equivalent to 1% of * the traffic experiencing an availability drop for that pair.

For more * information, see How * Internet Monitor calculates performance and availability scores in the * Amazon CloudWatch Internet Monitor section of the CloudWatch User * Guide.

*/ inline void SetAvailability(AvailabilityMeasurement&& value) { m_availabilityHasBeenSet = true; m_availability = std::move(value); } /** *

Availability in Internet Monitor represents the estimated percentage of * traffic that is not seeing an availability drop. For example, an availability * score of 99% for an end user and service location pair is equivalent to 1% of * the traffic experiencing an availability drop for that pair.

For more * information, see How * Internet Monitor calculates performance and availability scores in the * Amazon CloudWatch Internet Monitor section of the CloudWatch User * Guide.

*/ inline InternetHealth& WithAvailability(const AvailabilityMeasurement& value) { SetAvailability(value); return *this;} /** *

Availability in Internet Monitor represents the estimated percentage of * traffic that is not seeing an availability drop. For example, an availability * score of 99% for an end user and service location pair is equivalent to 1% of * the traffic experiencing an availability drop for that pair.

For more * information, see How * Internet Monitor calculates performance and availability scores in the * Amazon CloudWatch Internet Monitor section of the CloudWatch User * Guide.

*/ inline InternetHealth& WithAvailability(AvailabilityMeasurement&& value) { SetAvailability(std::move(value)); return *this;} /** *

Performance in Internet Monitor represents the estimated percentage of * traffic that is not seeing a performance drop. For example, a performance score * of 99% for an end user and service location pair is equivalent to 1% of the * traffic experiencing a performance drop for that pair.

For more * information, see How * Internet Monitor calculates performance and availability scores in the * Amazon CloudWatch Internet Monitor section of the CloudWatch User * Guide.

*/ inline const PerformanceMeasurement& GetPerformance() const{ return m_performance; } /** *

Performance in Internet Monitor represents the estimated percentage of * traffic that is not seeing a performance drop. For example, a performance score * of 99% for an end user and service location pair is equivalent to 1% of the * traffic experiencing a performance drop for that pair.

For more * information, see How * Internet Monitor calculates performance and availability scores in the * Amazon CloudWatch Internet Monitor section of the CloudWatch User * Guide.

*/ inline bool PerformanceHasBeenSet() const { return m_performanceHasBeenSet; } /** *

Performance in Internet Monitor represents the estimated percentage of * traffic that is not seeing a performance drop. For example, a performance score * of 99% for an end user and service location pair is equivalent to 1% of the * traffic experiencing a performance drop for that pair.

For more * information, see How * Internet Monitor calculates performance and availability scores in the * Amazon CloudWatch Internet Monitor section of the CloudWatch User * Guide.

*/ inline void SetPerformance(const PerformanceMeasurement& value) { m_performanceHasBeenSet = true; m_performance = value; } /** *

Performance in Internet Monitor represents the estimated percentage of * traffic that is not seeing a performance drop. For example, a performance score * of 99% for an end user and service location pair is equivalent to 1% of the * traffic experiencing a performance drop for that pair.

For more * information, see How * Internet Monitor calculates performance and availability scores in the * Amazon CloudWatch Internet Monitor section of the CloudWatch User * Guide.

*/ inline void SetPerformance(PerformanceMeasurement&& value) { m_performanceHasBeenSet = true; m_performance = std::move(value); } /** *

Performance in Internet Monitor represents the estimated percentage of * traffic that is not seeing a performance drop. For example, a performance score * of 99% for an end user and service location pair is equivalent to 1% of the * traffic experiencing a performance drop for that pair.

For more * information, see How * Internet Monitor calculates performance and availability scores in the * Amazon CloudWatch Internet Monitor section of the CloudWatch User * Guide.

*/ inline InternetHealth& WithPerformance(const PerformanceMeasurement& value) { SetPerformance(value); return *this;} /** *

Performance in Internet Monitor represents the estimated percentage of * traffic that is not seeing a performance drop. For example, a performance score * of 99% for an end user and service location pair is equivalent to 1% of the * traffic experiencing a performance drop for that pair.

For more * information, see How * Internet Monitor calculates performance and availability scores in the * Amazon CloudWatch Internet Monitor section of the CloudWatch User * Guide.

*/ inline InternetHealth& WithPerformance(PerformanceMeasurement&& value) { SetPerformance(std::move(value)); return *this;} private: AvailabilityMeasurement m_availability; bool m_availabilityHasBeenSet = false; PerformanceMeasurement m_performance; bool m_performanceHasBeenSet = false; }; } // namespace Model } // namespace InternetMonitor } // namespace Aws