/** * 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 #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace InternetMonitor { namespace Model { class GetMonitorResult { public: AWS_INTERNETMONITOR_API GetMonitorResult(); AWS_INTERNETMONITOR_API GetMonitorResult(const Aws::AmazonWebServiceResult& result); AWS_INTERNETMONITOR_API GetMonitorResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The name of the monitor.

*/ inline const Aws::String& GetMonitorName() const{ return m_monitorName; } /** *

The name of the monitor.

*/ inline void SetMonitorName(const Aws::String& value) { m_monitorName = value; } /** *

The name of the monitor.

*/ inline void SetMonitorName(Aws::String&& value) { m_monitorName = std::move(value); } /** *

The name of the monitor.

*/ inline void SetMonitorName(const char* value) { m_monitorName.assign(value); } /** *

The name of the monitor.

*/ inline GetMonitorResult& WithMonitorName(const Aws::String& value) { SetMonitorName(value); return *this;} /** *

The name of the monitor.

*/ inline GetMonitorResult& WithMonitorName(Aws::String&& value) { SetMonitorName(std::move(value)); return *this;} /** *

The name of the monitor.

*/ inline GetMonitorResult& WithMonitorName(const char* value) { SetMonitorName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the monitor.

*/ inline const Aws::String& GetMonitorArn() const{ return m_monitorArn; } /** *

The Amazon Resource Name (ARN) of the monitor.

*/ inline void SetMonitorArn(const Aws::String& value) { m_monitorArn = value; } /** *

The Amazon Resource Name (ARN) of the monitor.

*/ inline void SetMonitorArn(Aws::String&& value) { m_monitorArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the monitor.

*/ inline void SetMonitorArn(const char* value) { m_monitorArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the monitor.

*/ inline GetMonitorResult& WithMonitorArn(const Aws::String& value) { SetMonitorArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the monitor.

*/ inline GetMonitorResult& WithMonitorArn(Aws::String&& value) { SetMonitorArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the monitor.

*/ inline GetMonitorResult& WithMonitorArn(const char* value) { SetMonitorArn(value); return *this;} /** *

The resources that have been added for the monitor. Resources are listed by * their Amazon Resource Names (ARNs).

*/ inline const Aws::Vector& GetResources() const{ return m_resources; } /** *

The resources that have been added for the monitor. Resources are listed by * their Amazon Resource Names (ARNs).

*/ inline void SetResources(const Aws::Vector& value) { m_resources = value; } /** *

The resources that have been added for the monitor. Resources are listed by * their Amazon Resource Names (ARNs).

*/ inline void SetResources(Aws::Vector&& value) { m_resources = std::move(value); } /** *

The resources that have been added for the monitor. Resources are listed by * their Amazon Resource Names (ARNs).

*/ inline GetMonitorResult& WithResources(const Aws::Vector& value) { SetResources(value); return *this;} /** *

The resources that have been added for the monitor. Resources are listed by * their Amazon Resource Names (ARNs).

*/ inline GetMonitorResult& WithResources(Aws::Vector&& value) { SetResources(std::move(value)); return *this;} /** *

The resources that have been added for the monitor. Resources are listed by * their Amazon Resource Names (ARNs).

*/ inline GetMonitorResult& AddResources(const Aws::String& value) { m_resources.push_back(value); return *this; } /** *

The resources that have been added for the monitor. Resources are listed by * their Amazon Resource Names (ARNs).

*/ inline GetMonitorResult& AddResources(Aws::String&& value) { m_resources.push_back(std::move(value)); return *this; } /** *

The resources that have been added for the monitor. Resources are listed by * their Amazon Resource Names (ARNs).

*/ inline GetMonitorResult& AddResources(const char* value) { m_resources.push_back(value); return *this; } /** *

The status of the monitor.

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

The status of the monitor.

*/ inline void SetStatus(const MonitorConfigState& value) { m_status = value; } /** *

The status of the monitor.

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

The status of the monitor.

*/ inline GetMonitorResult& WithStatus(const MonitorConfigState& value) { SetStatus(value); return *this;} /** *

The status of the monitor.

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

The time when the monitor was created.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

The time when the monitor was created.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } /** *

The time when the monitor was created.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } /** *

The time when the monitor was created.

*/ inline GetMonitorResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *

The time when the monitor was created.

*/ inline GetMonitorResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

The last time that the monitor was modified.

*/ inline const Aws::Utils::DateTime& GetModifiedAt() const{ return m_modifiedAt; } /** *

The last time that the monitor was modified.

*/ inline void SetModifiedAt(const Aws::Utils::DateTime& value) { m_modifiedAt = value; } /** *

The last time that the monitor was modified.

*/ inline void SetModifiedAt(Aws::Utils::DateTime&& value) { m_modifiedAt = std::move(value); } /** *

The last time that the monitor was modified.

*/ inline GetMonitorResult& WithModifiedAt(const Aws::Utils::DateTime& value) { SetModifiedAt(value); return *this;} /** *

The last time that the monitor was modified.

*/ inline GetMonitorResult& WithModifiedAt(Aws::Utils::DateTime&& value) { SetModifiedAt(std::move(value)); return *this;} /** *

The health of the data processing for the monitor.

*/ inline const MonitorProcessingStatusCode& GetProcessingStatus() const{ return m_processingStatus; } /** *

The health of the data processing for the monitor.

*/ inline void SetProcessingStatus(const MonitorProcessingStatusCode& value) { m_processingStatus = value; } /** *

The health of the data processing for the monitor.

*/ inline void SetProcessingStatus(MonitorProcessingStatusCode&& value) { m_processingStatus = std::move(value); } /** *

The health of the data processing for the monitor.

*/ inline GetMonitorResult& WithProcessingStatus(const MonitorProcessingStatusCode& value) { SetProcessingStatus(value); return *this;} /** *

The health of the data processing for the monitor.

*/ inline GetMonitorResult& WithProcessingStatus(MonitorProcessingStatusCode&& value) { SetProcessingStatus(std::move(value)); return *this;} /** *

Additional information about the health of the data processing for the * monitor.

*/ inline const Aws::String& GetProcessingStatusInfo() const{ return m_processingStatusInfo; } /** *

Additional information about the health of the data processing for the * monitor.

*/ inline void SetProcessingStatusInfo(const Aws::String& value) { m_processingStatusInfo = value; } /** *

Additional information about the health of the data processing for the * monitor.

*/ inline void SetProcessingStatusInfo(Aws::String&& value) { m_processingStatusInfo = std::move(value); } /** *

Additional information about the health of the data processing for the * monitor.

*/ inline void SetProcessingStatusInfo(const char* value) { m_processingStatusInfo.assign(value); } /** *

Additional information about the health of the data processing for the * monitor.

*/ inline GetMonitorResult& WithProcessingStatusInfo(const Aws::String& value) { SetProcessingStatusInfo(value); return *this;} /** *

Additional information about the health of the data processing for the * monitor.

*/ inline GetMonitorResult& WithProcessingStatusInfo(Aws::String&& value) { SetProcessingStatusInfo(std::move(value)); return *this;} /** *

Additional information about the health of the data processing for the * monitor.

*/ inline GetMonitorResult& WithProcessingStatusInfo(const char* value) { SetProcessingStatusInfo(value); return *this;} /** *

The tags that have been added to monitor.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

The tags that have been added to monitor.

*/ inline void SetTags(const Aws::Map& value) { m_tags = value; } /** *

The tags that have been added to monitor.

*/ inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } /** *

The tags that have been added to monitor.

*/ inline GetMonitorResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

The tags that have been added to monitor.

*/ inline GetMonitorResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

The tags that have been added to monitor.

*/ inline GetMonitorResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } /** *

The tags that have been added to monitor.

*/ inline GetMonitorResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } /** *

The tags that have been added to monitor.

*/ inline GetMonitorResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags that have been added to monitor.

*/ inline GetMonitorResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

The tags that have been added to monitor.

*/ inline GetMonitorResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags that have been added to monitor.

*/ inline GetMonitorResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } /** *

The tags that have been added to monitor.

*/ inline GetMonitorResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } /** *

The maximum number of city-networks to monitor for your resources. A * city-network is the location (city) where clients access your application * resources from and the network or ASN, such as an internet service provider * (ISP), that clients access the resources through. This limit helps control * billing costs.

To learn more, see Choosing * a city-network maximum value in the Amazon CloudWatch Internet Monitor * section of the CloudWatch User Guide.

*/ inline int GetMaxCityNetworksToMonitor() const{ return m_maxCityNetworksToMonitor; } /** *

The maximum number of city-networks to monitor for your resources. A * city-network is the location (city) where clients access your application * resources from and the network or ASN, such as an internet service provider * (ISP), that clients access the resources through. This limit helps control * billing costs.

To learn more, see Choosing * a city-network maximum value in the Amazon CloudWatch Internet Monitor * section of the CloudWatch User Guide.

*/ inline void SetMaxCityNetworksToMonitor(int value) { m_maxCityNetworksToMonitor = value; } /** *

The maximum number of city-networks to monitor for your resources. A * city-network is the location (city) where clients access your application * resources from and the network or ASN, such as an internet service provider * (ISP), that clients access the resources through. This limit helps control * billing costs.

To learn more, see Choosing * a city-network maximum value in the Amazon CloudWatch Internet Monitor * section of the CloudWatch User Guide.

*/ inline GetMonitorResult& WithMaxCityNetworksToMonitor(int value) { SetMaxCityNetworksToMonitor(value); return *this;} /** *

Publish internet measurements for Internet Monitor to another location, such * as an Amazon S3 bucket. The measurements are also published to Amazon CloudWatch * Logs.

*/ inline const InternetMeasurementsLogDelivery& GetInternetMeasurementsLogDelivery() const{ return m_internetMeasurementsLogDelivery; } /** *

Publish internet measurements for Internet Monitor to another location, such * as an Amazon S3 bucket. The measurements are also published to Amazon CloudWatch * Logs.

*/ inline void SetInternetMeasurementsLogDelivery(const InternetMeasurementsLogDelivery& value) { m_internetMeasurementsLogDelivery = value; } /** *

Publish internet measurements for Internet Monitor to another location, such * as an Amazon S3 bucket. The measurements are also published to Amazon CloudWatch * Logs.

*/ inline void SetInternetMeasurementsLogDelivery(InternetMeasurementsLogDelivery&& value) { m_internetMeasurementsLogDelivery = std::move(value); } /** *

Publish internet measurements for Internet Monitor to another location, such * as an Amazon S3 bucket. The measurements are also published to Amazon CloudWatch * Logs.

*/ inline GetMonitorResult& WithInternetMeasurementsLogDelivery(const InternetMeasurementsLogDelivery& value) { SetInternetMeasurementsLogDelivery(value); return *this;} /** *

Publish internet measurements for Internet Monitor to another location, such * as an Amazon S3 bucket. The measurements are also published to Amazon CloudWatch * Logs.

*/ inline GetMonitorResult& WithInternetMeasurementsLogDelivery(InternetMeasurementsLogDelivery&& value) { SetInternetMeasurementsLogDelivery(std::move(value)); return *this;} /** *

The percentage of the internet-facing traffic for your application that you * want to monitor with this monitor.

*/ inline int GetTrafficPercentageToMonitor() const{ return m_trafficPercentageToMonitor; } /** *

The percentage of the internet-facing traffic for your application that you * want to monitor with this monitor.

*/ inline void SetTrafficPercentageToMonitor(int value) { m_trafficPercentageToMonitor = value; } /** *

The percentage of the internet-facing traffic for your application that you * want to monitor with this monitor.

*/ inline GetMonitorResult& WithTrafficPercentageToMonitor(int value) { SetTrafficPercentageToMonitor(value); return *this;} /** *

The list of health event thresholds. A health event threshold percentage, for * performance and availability, determines the level of impact at which Amazon * CloudWatch Internet Monitor creates a health event when there's an internet * issue that affects your application end users.

*/ inline const HealthEventsConfig& GetHealthEventsConfig() const{ return m_healthEventsConfig; } /** *

The list of health event thresholds. A health event threshold percentage, for * performance and availability, determines the level of impact at which Amazon * CloudWatch Internet Monitor creates a health event when there's an internet * issue that affects your application end users.

*/ inline void SetHealthEventsConfig(const HealthEventsConfig& value) { m_healthEventsConfig = value; } /** *

The list of health event thresholds. A health event threshold percentage, for * performance and availability, determines the level of impact at which Amazon * CloudWatch Internet Monitor creates a health event when there's an internet * issue that affects your application end users.

*/ inline void SetHealthEventsConfig(HealthEventsConfig&& value) { m_healthEventsConfig = std::move(value); } /** *

The list of health event thresholds. A health event threshold percentage, for * performance and availability, determines the level of impact at which Amazon * CloudWatch Internet Monitor creates a health event when there's an internet * issue that affects your application end users.

*/ inline GetMonitorResult& WithHealthEventsConfig(const HealthEventsConfig& value) { SetHealthEventsConfig(value); return *this;} /** *

The list of health event thresholds. A health event threshold percentage, for * performance and availability, determines the level of impact at which Amazon * CloudWatch Internet Monitor creates a health event when there's an internet * issue that affects your application end users.

*/ inline GetMonitorResult& WithHealthEventsConfig(HealthEventsConfig&& value) { SetHealthEventsConfig(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline GetMonitorResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline GetMonitorResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline GetMonitorResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_monitorName; Aws::String m_monitorArn; Aws::Vector m_resources; MonitorConfigState m_status; Aws::Utils::DateTime m_createdAt; Aws::Utils::DateTime m_modifiedAt; MonitorProcessingStatusCode m_processingStatus; Aws::String m_processingStatusInfo; Aws::Map m_tags; int m_maxCityNetworksToMonitor; InternetMeasurementsLogDelivery m_internetMeasurementsLogDelivery; int m_trafficPercentageToMonitor; HealthEventsConfig m_healthEventsConfig; Aws::String m_requestId; }; } // namespace Model } // namespace InternetMonitor } // namespace Aws