/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CloudWatchRUM { namespace Model { /** *

A RUM app monitor collects telemetry data from your application and sends * that data to RUM. The data includes performance and reliability information such * as page load time, client-side errors, and user behavior.

See * Also:

AWS API * Reference

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

A structure that contains much of the configuration data for the app * monitor.

*/ inline const AppMonitorConfiguration& GetAppMonitorConfiguration() const{ return m_appMonitorConfiguration; } /** *

A structure that contains much of the configuration data for the app * monitor.

*/ inline bool AppMonitorConfigurationHasBeenSet() const { return m_appMonitorConfigurationHasBeenSet; } /** *

A structure that contains much of the configuration data for the app * monitor.

*/ inline void SetAppMonitorConfiguration(const AppMonitorConfiguration& value) { m_appMonitorConfigurationHasBeenSet = true; m_appMonitorConfiguration = value; } /** *

A structure that contains much of the configuration data for the app * monitor.

*/ inline void SetAppMonitorConfiguration(AppMonitorConfiguration&& value) { m_appMonitorConfigurationHasBeenSet = true; m_appMonitorConfiguration = std::move(value); } /** *

A structure that contains much of the configuration data for the app * monitor.

*/ inline AppMonitor& WithAppMonitorConfiguration(const AppMonitorConfiguration& value) { SetAppMonitorConfiguration(value); return *this;} /** *

A structure that contains much of the configuration data for the app * monitor.

*/ inline AppMonitor& WithAppMonitorConfiguration(AppMonitorConfiguration&& value) { SetAppMonitorConfiguration(std::move(value)); return *this;} /** *

The date and time that this app monitor was created.

*/ inline const Aws::String& GetCreated() const{ return m_created; } /** *

The date and time that this app monitor was created.

*/ inline bool CreatedHasBeenSet() const { return m_createdHasBeenSet; } /** *

The date and time that this app monitor was created.

*/ inline void SetCreated(const Aws::String& value) { m_createdHasBeenSet = true; m_created = value; } /** *

The date and time that this app monitor was created.

*/ inline void SetCreated(Aws::String&& value) { m_createdHasBeenSet = true; m_created = std::move(value); } /** *

The date and time that this app monitor was created.

*/ inline void SetCreated(const char* value) { m_createdHasBeenSet = true; m_created.assign(value); } /** *

The date and time that this app monitor was created.

*/ inline AppMonitor& WithCreated(const Aws::String& value) { SetCreated(value); return *this;} /** *

The date and time that this app monitor was created.

*/ inline AppMonitor& WithCreated(Aws::String&& value) { SetCreated(std::move(value)); return *this;} /** *

The date and time that this app monitor was created.

*/ inline AppMonitor& WithCreated(const char* value) { SetCreated(value); return *this;} /** *

Specifies whether this app monitor allows the web client to define and send * custom events.

For more information about custom events, see Send * custom events.

*/ inline const CustomEvents& GetCustomEvents() const{ return m_customEvents; } /** *

Specifies whether this app monitor allows the web client to define and send * custom events.

For more information about custom events, see Send * custom events.

*/ inline bool CustomEventsHasBeenSet() const { return m_customEventsHasBeenSet; } /** *

Specifies whether this app monitor allows the web client to define and send * custom events.

For more information about custom events, see Send * custom events.

*/ inline void SetCustomEvents(const CustomEvents& value) { m_customEventsHasBeenSet = true; m_customEvents = value; } /** *

Specifies whether this app monitor allows the web client to define and send * custom events.

For more information about custom events, see Send * custom events.

*/ inline void SetCustomEvents(CustomEvents&& value) { m_customEventsHasBeenSet = true; m_customEvents = std::move(value); } /** *

Specifies whether this app monitor allows the web client to define and send * custom events.

For more information about custom events, see Send * custom events.

*/ inline AppMonitor& WithCustomEvents(const CustomEvents& value) { SetCustomEvents(value); return *this;} /** *

Specifies whether this app monitor allows the web client to define and send * custom events.

For more information about custom events, see Send * custom events.

*/ inline AppMonitor& WithCustomEvents(CustomEvents&& value) { SetCustomEvents(std::move(value)); return *this;} /** *

A structure that contains information about whether this app monitor stores a * copy of the telemetry data that RUM collects using CloudWatch Logs.

*/ inline const DataStorage& GetDataStorage() const{ return m_dataStorage; } /** *

A structure that contains information about whether this app monitor stores a * copy of the telemetry data that RUM collects using CloudWatch Logs.

*/ inline bool DataStorageHasBeenSet() const { return m_dataStorageHasBeenSet; } /** *

A structure that contains information about whether this app monitor stores a * copy of the telemetry data that RUM collects using CloudWatch Logs.

*/ inline void SetDataStorage(const DataStorage& value) { m_dataStorageHasBeenSet = true; m_dataStorage = value; } /** *

A structure that contains information about whether this app monitor stores a * copy of the telemetry data that RUM collects using CloudWatch Logs.

*/ inline void SetDataStorage(DataStorage&& value) { m_dataStorageHasBeenSet = true; m_dataStorage = std::move(value); } /** *

A structure that contains information about whether this app monitor stores a * copy of the telemetry data that RUM collects using CloudWatch Logs.

*/ inline AppMonitor& WithDataStorage(const DataStorage& value) { SetDataStorage(value); return *this;} /** *

A structure that contains information about whether this app monitor stores a * copy of the telemetry data that RUM collects using CloudWatch Logs.

*/ inline AppMonitor& WithDataStorage(DataStorage&& value) { SetDataStorage(std::move(value)); return *this;} /** *

The top-level internet domain name for which your application has * administrative authority.

*/ inline const Aws::String& GetDomain() const{ return m_domain; } /** *

The top-level internet domain name for which your application has * administrative authority.

*/ inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } /** *

The top-level internet domain name for which your application has * administrative authority.

*/ inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; } /** *

The top-level internet domain name for which your application has * administrative authority.

*/ inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } /** *

The top-level internet domain name for which your application has * administrative authority.

*/ inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); } /** *

The top-level internet domain name for which your application has * administrative authority.

*/ inline AppMonitor& WithDomain(const Aws::String& value) { SetDomain(value); return *this;} /** *

The top-level internet domain name for which your application has * administrative authority.

*/ inline AppMonitor& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;} /** *

The top-level internet domain name for which your application has * administrative authority.

*/ inline AppMonitor& WithDomain(const char* value) { SetDomain(value); return *this;} /** *

The unique ID of this app monitor.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The unique ID of this app monitor.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The unique ID of this app monitor.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The unique ID of this app monitor.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The unique ID of this app monitor.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The unique ID of this app monitor.

*/ inline AppMonitor& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The unique ID of this app monitor.

*/ inline AppMonitor& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The unique ID of this app monitor.

*/ inline AppMonitor& WithId(const char* value) { SetId(value); return *this;} /** *

The date and time of the most recent changes to this app monitor's * configuration.

*/ inline const Aws::String& GetLastModified() const{ return m_lastModified; } /** *

The date and time of the most recent changes to this app monitor's * configuration.

*/ inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; } /** *

The date and time of the most recent changes to this app monitor's * configuration.

*/ inline void SetLastModified(const Aws::String& value) { m_lastModifiedHasBeenSet = true; m_lastModified = value; } /** *

The date and time of the most recent changes to this app monitor's * configuration.

*/ inline void SetLastModified(Aws::String&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::move(value); } /** *

The date and time of the most recent changes to this app monitor's * configuration.

*/ inline void SetLastModified(const char* value) { m_lastModifiedHasBeenSet = true; m_lastModified.assign(value); } /** *

The date and time of the most recent changes to this app monitor's * configuration.

*/ inline AppMonitor& WithLastModified(const Aws::String& value) { SetLastModified(value); return *this;} /** *

The date and time of the most recent changes to this app monitor's * configuration.

*/ inline AppMonitor& WithLastModified(Aws::String&& value) { SetLastModified(std::move(value)); return *this;} /** *

The date and time of the most recent changes to this app monitor's * configuration.

*/ inline AppMonitor& WithLastModified(const char* value) { SetLastModified(value); return *this;} /** *

The name of the app monitor.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the app monitor.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the app monitor.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the app monitor.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the app monitor.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the app monitor.

*/ inline AppMonitor& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the app monitor.

*/ inline AppMonitor& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the app monitor.

*/ inline AppMonitor& WithName(const char* value) { SetName(value); return *this;} /** *

The current state of the app monitor.

*/ inline const StateEnum& GetState() const{ return m_state; } /** *

The current state of the app monitor.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The current state of the app monitor.

*/ inline void SetState(const StateEnum& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The current state of the app monitor.

*/ inline void SetState(StateEnum&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The current state of the app monitor.

*/ inline AppMonitor& WithState(const StateEnum& value) { SetState(value); return *this;} /** *

The current state of the app monitor.

*/ inline AppMonitor& WithState(StateEnum&& value) { SetState(std::move(value)); return *this;} /** *

The list of tag keys and values associated with this app monitor.

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

The list of tag keys and values associated with this app monitor.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The list of tag keys and values associated with this app monitor.

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

The list of tag keys and values associated with this app monitor.

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

The list of tag keys and values associated with this app monitor.

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

The list of tag keys and values associated with this app monitor.

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

The list of tag keys and values associated with this app monitor.

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

The list of tag keys and values associated with this app monitor.

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

The list of tag keys and values associated with this app monitor.

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

The list of tag keys and values associated with this app monitor.

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

The list of tag keys and values associated with this app monitor.

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

The list of tag keys and values associated with this app monitor.

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

The list of tag keys and values associated with this app monitor.

*/ inline AppMonitor& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } private: AppMonitorConfiguration m_appMonitorConfiguration; bool m_appMonitorConfigurationHasBeenSet = false; Aws::String m_created; bool m_createdHasBeenSet = false; CustomEvents m_customEvents; bool m_customEventsHasBeenSet = false; DataStorage m_dataStorage; bool m_dataStorageHasBeenSet = false; Aws::String m_domain; bool m_domainHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_lastModified; bool m_lastModifiedHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; StateEnum m_state; bool m_stateHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace CloudWatchRUM } // namespace Aws