feat(hos_client_create, hos_client_destory): 多次调用destory不会导致重复释放

This commit is contained in:
彭宣正
2020-12-14 17:24:58 +08:00
parent 505d529c32
commit 10b370e486
55976 changed files with 8544395 additions and 2 deletions

View File

@@ -0,0 +1,21 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/Region.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace CloudWatch
{
namespace CloudWatchEndpoint
{
AWS_CLOUDWATCH_API Aws::String ForRegion(const Aws::String& regionName, bool useDualStack = false);
} // namespace CloudWatchEndpoint
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,23 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/client/AWSErrorMarshaller.h>
namespace Aws
{
namespace Client
{
class AWS_CLOUDWATCH_API CloudWatchErrorMarshaller : public Aws::Client::XmlErrorMarshaller
{
public:
Aws::Client::AWSError<Aws::Client::CoreErrors> FindErrorByName(const char* exceptionName) const override;
};
} // namespace Client
} // namespace Aws

View File

@@ -0,0 +1,80 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/core/client/AWSError.h>
#include <aws/core/client/CoreErrors.h>
#include <aws/monitoring/CloudWatch_EXPORTS.h>
namespace Aws
{
namespace CloudWatch
{
enum class CloudWatchErrors
{
//From Core//
//////////////////////////////////////////////////////////////////////////////////////////
INCOMPLETE_SIGNATURE = 0,
INTERNAL_FAILURE = 1,
INVALID_ACTION = 2,
INVALID_CLIENT_TOKEN_ID = 3,
INVALID_PARAMETER_COMBINATION = 4,
INVALID_QUERY_PARAMETER = 5,
INVALID_PARAMETER_VALUE = 6,
MISSING_ACTION = 7, // SDK should never allow
MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow
MISSING_PARAMETER = 9, // SDK should never allow
OPT_IN_REQUIRED = 10,
REQUEST_EXPIRED = 11,
SERVICE_UNAVAILABLE = 12,
THROTTLING = 13,
VALIDATION = 14,
ACCESS_DENIED = 15,
RESOURCE_NOT_FOUND = 16,
UNRECOGNIZED_CLIENT = 17,
MALFORMED_QUERY_STRING = 18,
SLOW_DOWN = 19,
REQUEST_TIME_TOO_SKEWED = 20,
INVALID_SIGNATURE = 21,
SIGNATURE_DOES_NOT_MATCH = 22,
INVALID_ACCESS_KEY_ID = 23,
REQUEST_TIMEOUT = 24,
NETWORK_CONNECTION = 99,
UNKNOWN = 100,
///////////////////////////////////////////////////////////////////////////////////////////
CONCURRENT_MODIFICATION= static_cast<int>(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1,
DASHBOARD_INVALID_INPUT,
DASHBOARD_NOT_FOUND,
INTERNAL_SERVICE_FAULT,
INVALID_FORMAT_FAULT,
INVALID_NEXT_TOKEN,
LIMIT_EXCEEDED,
LIMIT_EXCEEDED_FAULT,
MISSING_REQUIRED_PARAMETER
};
class AWS_CLOUDWATCH_API CloudWatchError : public Aws::Client::AWSError<CloudWatchErrors>
{
public:
CloudWatchError() {}
CloudWatchError(const Aws::Client::AWSError<Aws::Client::CoreErrors>& rhs) : Aws::Client::AWSError<CloudWatchErrors>(rhs) {}
CloudWatchError(Aws::Client::AWSError<Aws::Client::CoreErrors>&& rhs) : Aws::Client::AWSError<CloudWatchErrors>(rhs) {}
CloudWatchError(const Aws::Client::AWSError<CloudWatchErrors>& rhs) : Aws::Client::AWSError<CloudWatchErrors>(rhs) {}
CloudWatchError(Aws::Client::AWSError<CloudWatchErrors>&& rhs) : Aws::Client::AWSError<CloudWatchErrors>(rhs) {}
template <typename T>
T GetModeledError();
};
namespace CloudWatchErrorMapper
{
AWS_CLOUDWATCH_API Aws::Client::AWSError<Aws::Client::CoreErrors> GetErrorForName(const char* errorName);
}
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,42 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/AmazonSerializableWebServiceRequest.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <aws/core/http/HttpRequest.h>
namespace Aws
{
namespace CloudWatch
{
class AWS_CLOUDWATCH_API CloudWatchRequest : public Aws::AmazonSerializableWebServiceRequest
{
public:
virtual ~CloudWatchRequest () {}
void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); }
inline Aws::Http::HeaderValueCollection GetHeaders() const override
{
auto headers = GetRequestSpecificHeaders();
if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0))
{
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::FORM_CONTENT_TYPE ));
}
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2010-08-01"));
return headers;
}
protected:
virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); }
};
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,29 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#ifdef _MSC_VER
//disable windows complaining about max template size.
#pragma warning (disable : 4503)
#endif // _MSC_VER
#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32)
#ifdef _MSC_VER
#pragma warning(disable : 4251)
#endif // _MSC_VER
#ifdef USE_IMPORT_EXPORT
#ifdef AWS_CLOUDWATCH_EXPORTS
#define AWS_CLOUDWATCH_API __declspec(dllexport)
#else
#define AWS_CLOUDWATCH_API __declspec(dllimport)
#endif /* AWS_CLOUDWATCH_EXPORTS */
#else
#define AWS_CLOUDWATCH_API
#endif // USE_IMPORT_EXPORT
#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32)
#define AWS_CLOUDWATCH_API
#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32)

View File

@@ -0,0 +1,283 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/monitoring/model/AlarmType.h>
#include <aws/core/utils/DateTime.h>
#include <aws/monitoring/model/HistoryItemType.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>Represents the history of a specific alarm.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/AlarmHistoryItem">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API AlarmHistoryItem
{
public:
AlarmHistoryItem();
AlarmHistoryItem(const Aws::Utils::Xml::XmlNode& xmlNode);
AlarmHistoryItem& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>The descriptive name for the alarm.</p>
*/
inline const Aws::String& GetAlarmName() const{ return m_alarmName; }
/**
* <p>The descriptive name for the alarm.</p>
*/
inline bool AlarmNameHasBeenSet() const { return m_alarmNameHasBeenSet; }
/**
* <p>The descriptive name for the alarm.</p>
*/
inline void SetAlarmName(const Aws::String& value) { m_alarmNameHasBeenSet = true; m_alarmName = value; }
/**
* <p>The descriptive name for the alarm.</p>
*/
inline void SetAlarmName(Aws::String&& value) { m_alarmNameHasBeenSet = true; m_alarmName = std::move(value); }
/**
* <p>The descriptive name for the alarm.</p>
*/
inline void SetAlarmName(const char* value) { m_alarmNameHasBeenSet = true; m_alarmName.assign(value); }
/**
* <p>The descriptive name for the alarm.</p>
*/
inline AlarmHistoryItem& WithAlarmName(const Aws::String& value) { SetAlarmName(value); return *this;}
/**
* <p>The descriptive name for the alarm.</p>
*/
inline AlarmHistoryItem& WithAlarmName(Aws::String&& value) { SetAlarmName(std::move(value)); return *this;}
/**
* <p>The descriptive name for the alarm.</p>
*/
inline AlarmHistoryItem& WithAlarmName(const char* value) { SetAlarmName(value); return *this;}
/**
* <p>The type of alarm, either metric alarm or composite alarm.</p>
*/
inline const AlarmType& GetAlarmType() const{ return m_alarmType; }
/**
* <p>The type of alarm, either metric alarm or composite alarm.</p>
*/
inline bool AlarmTypeHasBeenSet() const { return m_alarmTypeHasBeenSet; }
/**
* <p>The type of alarm, either metric alarm or composite alarm.</p>
*/
inline void SetAlarmType(const AlarmType& value) { m_alarmTypeHasBeenSet = true; m_alarmType = value; }
/**
* <p>The type of alarm, either metric alarm or composite alarm.</p>
*/
inline void SetAlarmType(AlarmType&& value) { m_alarmTypeHasBeenSet = true; m_alarmType = std::move(value); }
/**
* <p>The type of alarm, either metric alarm or composite alarm.</p>
*/
inline AlarmHistoryItem& WithAlarmType(const AlarmType& value) { SetAlarmType(value); return *this;}
/**
* <p>The type of alarm, either metric alarm or composite alarm.</p>
*/
inline AlarmHistoryItem& WithAlarmType(AlarmType&& value) { SetAlarmType(std::move(value)); return *this;}
/**
* <p>The time stamp for the alarm history item.</p>
*/
inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; }
/**
* <p>The time stamp for the alarm history item.</p>
*/
inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; }
/**
* <p>The time stamp for the alarm history item.</p>
*/
inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; }
/**
* <p>The time stamp for the alarm history item.</p>
*/
inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); }
/**
* <p>The time stamp for the alarm history item.</p>
*/
inline AlarmHistoryItem& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;}
/**
* <p>The time stamp for the alarm history item.</p>
*/
inline AlarmHistoryItem& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;}
/**
* <p>The type of alarm history item.</p>
*/
inline const HistoryItemType& GetHistoryItemType() const{ return m_historyItemType; }
/**
* <p>The type of alarm history item.</p>
*/
inline bool HistoryItemTypeHasBeenSet() const { return m_historyItemTypeHasBeenSet; }
/**
* <p>The type of alarm history item.</p>
*/
inline void SetHistoryItemType(const HistoryItemType& value) { m_historyItemTypeHasBeenSet = true; m_historyItemType = value; }
/**
* <p>The type of alarm history item.</p>
*/
inline void SetHistoryItemType(HistoryItemType&& value) { m_historyItemTypeHasBeenSet = true; m_historyItemType = std::move(value); }
/**
* <p>The type of alarm history item.</p>
*/
inline AlarmHistoryItem& WithHistoryItemType(const HistoryItemType& value) { SetHistoryItemType(value); return *this;}
/**
* <p>The type of alarm history item.</p>
*/
inline AlarmHistoryItem& WithHistoryItemType(HistoryItemType&& value) { SetHistoryItemType(std::move(value)); return *this;}
/**
* <p>A summary of the alarm history, in text format.</p>
*/
inline const Aws::String& GetHistorySummary() const{ return m_historySummary; }
/**
* <p>A summary of the alarm history, in text format.</p>
*/
inline bool HistorySummaryHasBeenSet() const { return m_historySummaryHasBeenSet; }
/**
* <p>A summary of the alarm history, in text format.</p>
*/
inline void SetHistorySummary(const Aws::String& value) { m_historySummaryHasBeenSet = true; m_historySummary = value; }
/**
* <p>A summary of the alarm history, in text format.</p>
*/
inline void SetHistorySummary(Aws::String&& value) { m_historySummaryHasBeenSet = true; m_historySummary = std::move(value); }
/**
* <p>A summary of the alarm history, in text format.</p>
*/
inline void SetHistorySummary(const char* value) { m_historySummaryHasBeenSet = true; m_historySummary.assign(value); }
/**
* <p>A summary of the alarm history, in text format.</p>
*/
inline AlarmHistoryItem& WithHistorySummary(const Aws::String& value) { SetHistorySummary(value); return *this;}
/**
* <p>A summary of the alarm history, in text format.</p>
*/
inline AlarmHistoryItem& WithHistorySummary(Aws::String&& value) { SetHistorySummary(std::move(value)); return *this;}
/**
* <p>A summary of the alarm history, in text format.</p>
*/
inline AlarmHistoryItem& WithHistorySummary(const char* value) { SetHistorySummary(value); return *this;}
/**
* <p>Data about the alarm, in JSON format.</p>
*/
inline const Aws::String& GetHistoryData() const{ return m_historyData; }
/**
* <p>Data about the alarm, in JSON format.</p>
*/
inline bool HistoryDataHasBeenSet() const { return m_historyDataHasBeenSet; }
/**
* <p>Data about the alarm, in JSON format.</p>
*/
inline void SetHistoryData(const Aws::String& value) { m_historyDataHasBeenSet = true; m_historyData = value; }
/**
* <p>Data about the alarm, in JSON format.</p>
*/
inline void SetHistoryData(Aws::String&& value) { m_historyDataHasBeenSet = true; m_historyData = std::move(value); }
/**
* <p>Data about the alarm, in JSON format.</p>
*/
inline void SetHistoryData(const char* value) { m_historyDataHasBeenSet = true; m_historyData.assign(value); }
/**
* <p>Data about the alarm, in JSON format.</p>
*/
inline AlarmHistoryItem& WithHistoryData(const Aws::String& value) { SetHistoryData(value); return *this;}
/**
* <p>Data about the alarm, in JSON format.</p>
*/
inline AlarmHistoryItem& WithHistoryData(Aws::String&& value) { SetHistoryData(std::move(value)); return *this;}
/**
* <p>Data about the alarm, in JSON format.</p>
*/
inline AlarmHistoryItem& WithHistoryData(const char* value) { SetHistoryData(value); return *this;}
private:
Aws::String m_alarmName;
bool m_alarmNameHasBeenSet;
AlarmType m_alarmType;
bool m_alarmTypeHasBeenSet;
Aws::Utils::DateTime m_timestamp;
bool m_timestampHasBeenSet;
HistoryItemType m_historyItemType;
bool m_historyItemTypeHasBeenSet;
Aws::String m_historySummary;
bool m_historySummaryHasBeenSet;
Aws::String m_historyData;
bool m_historyDataHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
enum class AlarmType
{
NOT_SET,
CompositeAlarm,
MetricAlarm
};
namespace AlarmTypeMapper
{
AWS_CLOUDWATCH_API AlarmType GetAlarmTypeForName(const Aws::String& name);
AWS_CLOUDWATCH_API Aws::String GetNameForAlarmType(AlarmType value);
} // namespace AlarmTypeMapper
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,314 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/AnomalyDetectorConfiguration.h>
#include <aws/monitoring/model/AnomalyDetectorStateValue.h>
#include <aws/monitoring/model/Dimension.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>An anomaly detection model associated with a particular CloudWatch metric and
* statistic. You can use the model to display a band of expected normal values
* when the metric is graphed.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/AnomalyDetector">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API AnomalyDetector
{
public:
AnomalyDetector();
AnomalyDetector(const Aws::Utils::Xml::XmlNode& xmlNode);
AnomalyDetector& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>The namespace of the metric associated with the anomaly detection model.</p>
*/
inline const Aws::String& GetNamespace() const{ return m_namespace; }
/**
* <p>The namespace of the metric associated with the anomaly detection model.</p>
*/
inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; }
/**
* <p>The namespace of the metric associated with the anomaly detection model.</p>
*/
inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; }
/**
* <p>The namespace of the metric associated with the anomaly detection model.</p>
*/
inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); }
/**
* <p>The namespace of the metric associated with the anomaly detection model.</p>
*/
inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); }
/**
* <p>The namespace of the metric associated with the anomaly detection model.</p>
*/
inline AnomalyDetector& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;}
/**
* <p>The namespace of the metric associated with the anomaly detection model.</p>
*/
inline AnomalyDetector& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;}
/**
* <p>The namespace of the metric associated with the anomaly detection model.</p>
*/
inline AnomalyDetector& WithNamespace(const char* value) { SetNamespace(value); return *this;}
/**
* <p>The name of the metric associated with the anomaly detection model.</p>
*/
inline const Aws::String& GetMetricName() const{ return m_metricName; }
/**
* <p>The name of the metric associated with the anomaly detection model.</p>
*/
inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; }
/**
* <p>The name of the metric associated with the anomaly detection model.</p>
*/
inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; }
/**
* <p>The name of the metric associated with the anomaly detection model.</p>
*/
inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); }
/**
* <p>The name of the metric associated with the anomaly detection model.</p>
*/
inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); }
/**
* <p>The name of the metric associated with the anomaly detection model.</p>
*/
inline AnomalyDetector& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;}
/**
* <p>The name of the metric associated with the anomaly detection model.</p>
*/
inline AnomalyDetector& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;}
/**
* <p>The name of the metric associated with the anomaly detection model.</p>
*/
inline AnomalyDetector& WithMetricName(const char* value) { SetMetricName(value); return *this;}
/**
* <p>The metric dimensions associated with the anomaly detection model.</p>
*/
inline const Aws::Vector<Dimension>& GetDimensions() const{ return m_dimensions; }
/**
* <p>The metric dimensions associated with the anomaly detection model.</p>
*/
inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
/**
* <p>The metric dimensions associated with the anomaly detection model.</p>
*/
inline void SetDimensions(const Aws::Vector<Dimension>& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; }
/**
* <p>The metric dimensions associated with the anomaly detection model.</p>
*/
inline void SetDimensions(Aws::Vector<Dimension>&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); }
/**
* <p>The metric dimensions associated with the anomaly detection model.</p>
*/
inline AnomalyDetector& WithDimensions(const Aws::Vector<Dimension>& value) { SetDimensions(value); return *this;}
/**
* <p>The metric dimensions associated with the anomaly detection model.</p>
*/
inline AnomalyDetector& WithDimensions(Aws::Vector<Dimension>&& value) { SetDimensions(std::move(value)); return *this;}
/**
* <p>The metric dimensions associated with the anomaly detection model.</p>
*/
inline AnomalyDetector& AddDimensions(const Dimension& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; }
/**
* <p>The metric dimensions associated with the anomaly detection model.</p>
*/
inline AnomalyDetector& AddDimensions(Dimension&& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(std::move(value)); return *this; }
/**
* <p>The statistic associated with the anomaly detection model.</p>
*/
inline const Aws::String& GetStat() const{ return m_stat; }
/**
* <p>The statistic associated with the anomaly detection model.</p>
*/
inline bool StatHasBeenSet() const { return m_statHasBeenSet; }
/**
* <p>The statistic associated with the anomaly detection model.</p>
*/
inline void SetStat(const Aws::String& value) { m_statHasBeenSet = true; m_stat = value; }
/**
* <p>The statistic associated with the anomaly detection model.</p>
*/
inline void SetStat(Aws::String&& value) { m_statHasBeenSet = true; m_stat = std::move(value); }
/**
* <p>The statistic associated with the anomaly detection model.</p>
*/
inline void SetStat(const char* value) { m_statHasBeenSet = true; m_stat.assign(value); }
/**
* <p>The statistic associated with the anomaly detection model.</p>
*/
inline AnomalyDetector& WithStat(const Aws::String& value) { SetStat(value); return *this;}
/**
* <p>The statistic associated with the anomaly detection model.</p>
*/
inline AnomalyDetector& WithStat(Aws::String&& value) { SetStat(std::move(value)); return *this;}
/**
* <p>The statistic associated with the anomaly detection model.</p>
*/
inline AnomalyDetector& WithStat(const char* value) { SetStat(value); return *this;}
/**
* <p>The configuration specifies details about how the anomaly detection model is
* to be trained, including time ranges to exclude from use for training the model,
* and the time zone to use for the metric.</p>
*/
inline const AnomalyDetectorConfiguration& GetConfiguration() const{ return m_configuration; }
/**
* <p>The configuration specifies details about how the anomaly detection model is
* to be trained, including time ranges to exclude from use for training the model,
* and the time zone to use for the metric.</p>
*/
inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; }
/**
* <p>The configuration specifies details about how the anomaly detection model is
* to be trained, including time ranges to exclude from use for training the model,
* and the time zone to use for the metric.</p>
*/
inline void SetConfiguration(const AnomalyDetectorConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; }
/**
* <p>The configuration specifies details about how the anomaly detection model is
* to be trained, including time ranges to exclude from use for training the model,
* and the time zone to use for the metric.</p>
*/
inline void SetConfiguration(AnomalyDetectorConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); }
/**
* <p>The configuration specifies details about how the anomaly detection model is
* to be trained, including time ranges to exclude from use for training the model,
* and the time zone to use for the metric.</p>
*/
inline AnomalyDetector& WithConfiguration(const AnomalyDetectorConfiguration& value) { SetConfiguration(value); return *this;}
/**
* <p>The configuration specifies details about how the anomaly detection model is
* to be trained, including time ranges to exclude from use for training the model,
* and the time zone to use for the metric.</p>
*/
inline AnomalyDetector& WithConfiguration(AnomalyDetectorConfiguration&& value) { SetConfiguration(std::move(value)); return *this;}
/**
* <p>The current status of the anomaly detector's training. The possible values
* are <code>TRAINED | PENDING_TRAINING | TRAINED_INSUFFICIENT_DATA</code> </p>
*/
inline const AnomalyDetectorStateValue& GetStateValue() const{ return m_stateValue; }
/**
* <p>The current status of the anomaly detector's training. The possible values
* are <code>TRAINED | PENDING_TRAINING | TRAINED_INSUFFICIENT_DATA</code> </p>
*/
inline bool StateValueHasBeenSet() const { return m_stateValueHasBeenSet; }
/**
* <p>The current status of the anomaly detector's training. The possible values
* are <code>TRAINED | PENDING_TRAINING | TRAINED_INSUFFICIENT_DATA</code> </p>
*/
inline void SetStateValue(const AnomalyDetectorStateValue& value) { m_stateValueHasBeenSet = true; m_stateValue = value; }
/**
* <p>The current status of the anomaly detector's training. The possible values
* are <code>TRAINED | PENDING_TRAINING | TRAINED_INSUFFICIENT_DATA</code> </p>
*/
inline void SetStateValue(AnomalyDetectorStateValue&& value) { m_stateValueHasBeenSet = true; m_stateValue = std::move(value); }
/**
* <p>The current status of the anomaly detector's training. The possible values
* are <code>TRAINED | PENDING_TRAINING | TRAINED_INSUFFICIENT_DATA</code> </p>
*/
inline AnomalyDetector& WithStateValue(const AnomalyDetectorStateValue& value) { SetStateValue(value); return *this;}
/**
* <p>The current status of the anomaly detector's training. The possible values
* are <code>TRAINED | PENDING_TRAINING | TRAINED_INSUFFICIENT_DATA</code> </p>
*/
inline AnomalyDetector& WithStateValue(AnomalyDetectorStateValue&& value) { SetStateValue(std::move(value)); return *this;}
private:
Aws::String m_namespace;
bool m_namespaceHasBeenSet;
Aws::String m_metricName;
bool m_metricNameHasBeenSet;
Aws::Vector<Dimension> m_dimensions;
bool m_dimensionsHasBeenSet;
Aws::String m_stat;
bool m_statHasBeenSet;
AnomalyDetectorConfiguration m_configuration;
bool m_configurationHasBeenSet;
AnomalyDetectorStateValue m_stateValue;
bool m_stateValueHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,194 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/monitoring/model/Range.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>The configuration specifies details about how the anomaly detection model is
* to be trained, including time ranges to exclude from use for training the model
* and the time zone to use for the metric.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/AnomalyDetectorConfiguration">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API AnomalyDetectorConfiguration
{
public:
AnomalyDetectorConfiguration();
AnomalyDetectorConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode);
AnomalyDetectorConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>An array of time ranges to exclude from use when the anomaly detection model
* is trained. Use this to make sure that events that could cause unusual values
* for the metric, such as deployments, aren't used when CloudWatch creates the
* model.</p>
*/
inline const Aws::Vector<Range>& GetExcludedTimeRanges() const{ return m_excludedTimeRanges; }
/**
* <p>An array of time ranges to exclude from use when the anomaly detection model
* is trained. Use this to make sure that events that could cause unusual values
* for the metric, such as deployments, aren't used when CloudWatch creates the
* model.</p>
*/
inline bool ExcludedTimeRangesHasBeenSet() const { return m_excludedTimeRangesHasBeenSet; }
/**
* <p>An array of time ranges to exclude from use when the anomaly detection model
* is trained. Use this to make sure that events that could cause unusual values
* for the metric, such as deployments, aren't used when CloudWatch creates the
* model.</p>
*/
inline void SetExcludedTimeRanges(const Aws::Vector<Range>& value) { m_excludedTimeRangesHasBeenSet = true; m_excludedTimeRanges = value; }
/**
* <p>An array of time ranges to exclude from use when the anomaly detection model
* is trained. Use this to make sure that events that could cause unusual values
* for the metric, such as deployments, aren't used when CloudWatch creates the
* model.</p>
*/
inline void SetExcludedTimeRanges(Aws::Vector<Range>&& value) { m_excludedTimeRangesHasBeenSet = true; m_excludedTimeRanges = std::move(value); }
/**
* <p>An array of time ranges to exclude from use when the anomaly detection model
* is trained. Use this to make sure that events that could cause unusual values
* for the metric, such as deployments, aren't used when CloudWatch creates the
* model.</p>
*/
inline AnomalyDetectorConfiguration& WithExcludedTimeRanges(const Aws::Vector<Range>& value) { SetExcludedTimeRanges(value); return *this;}
/**
* <p>An array of time ranges to exclude from use when the anomaly detection model
* is trained. Use this to make sure that events that could cause unusual values
* for the metric, such as deployments, aren't used when CloudWatch creates the
* model.</p>
*/
inline AnomalyDetectorConfiguration& WithExcludedTimeRanges(Aws::Vector<Range>&& value) { SetExcludedTimeRanges(std::move(value)); return *this;}
/**
* <p>An array of time ranges to exclude from use when the anomaly detection model
* is trained. Use this to make sure that events that could cause unusual values
* for the metric, such as deployments, aren't used when CloudWatch creates the
* model.</p>
*/
inline AnomalyDetectorConfiguration& AddExcludedTimeRanges(const Range& value) { m_excludedTimeRangesHasBeenSet = true; m_excludedTimeRanges.push_back(value); return *this; }
/**
* <p>An array of time ranges to exclude from use when the anomaly detection model
* is trained. Use this to make sure that events that could cause unusual values
* for the metric, such as deployments, aren't used when CloudWatch creates the
* model.</p>
*/
inline AnomalyDetectorConfiguration& AddExcludedTimeRanges(Range&& value) { m_excludedTimeRangesHasBeenSet = true; m_excludedTimeRanges.push_back(std::move(value)); return *this; }
/**
* <p>The time zone to use for the metric. This is useful to enable the model to
* automatically account for daylight savings time changes if the metric is
* sensitive to such time changes.</p> <p>To specify a time zone, use the name of
* the time zone as specified in the standard tz database. For more information,
* see <a href="https://en.wikipedia.org/wiki/Tz_database">tz database</a>.</p>
*/
inline const Aws::String& GetMetricTimezone() const{ return m_metricTimezone; }
/**
* <p>The time zone to use for the metric. This is useful to enable the model to
* automatically account for daylight savings time changes if the metric is
* sensitive to such time changes.</p> <p>To specify a time zone, use the name of
* the time zone as specified in the standard tz database. For more information,
* see <a href="https://en.wikipedia.org/wiki/Tz_database">tz database</a>.</p>
*/
inline bool MetricTimezoneHasBeenSet() const { return m_metricTimezoneHasBeenSet; }
/**
* <p>The time zone to use for the metric. This is useful to enable the model to
* automatically account for daylight savings time changes if the metric is
* sensitive to such time changes.</p> <p>To specify a time zone, use the name of
* the time zone as specified in the standard tz database. For more information,
* see <a href="https://en.wikipedia.org/wiki/Tz_database">tz database</a>.</p>
*/
inline void SetMetricTimezone(const Aws::String& value) { m_metricTimezoneHasBeenSet = true; m_metricTimezone = value; }
/**
* <p>The time zone to use for the metric. This is useful to enable the model to
* automatically account for daylight savings time changes if the metric is
* sensitive to such time changes.</p> <p>To specify a time zone, use the name of
* the time zone as specified in the standard tz database. For more information,
* see <a href="https://en.wikipedia.org/wiki/Tz_database">tz database</a>.</p>
*/
inline void SetMetricTimezone(Aws::String&& value) { m_metricTimezoneHasBeenSet = true; m_metricTimezone = std::move(value); }
/**
* <p>The time zone to use for the metric. This is useful to enable the model to
* automatically account for daylight savings time changes if the metric is
* sensitive to such time changes.</p> <p>To specify a time zone, use the name of
* the time zone as specified in the standard tz database. For more information,
* see <a href="https://en.wikipedia.org/wiki/Tz_database">tz database</a>.</p>
*/
inline void SetMetricTimezone(const char* value) { m_metricTimezoneHasBeenSet = true; m_metricTimezone.assign(value); }
/**
* <p>The time zone to use for the metric. This is useful to enable the model to
* automatically account for daylight savings time changes if the metric is
* sensitive to such time changes.</p> <p>To specify a time zone, use the name of
* the time zone as specified in the standard tz database. For more information,
* see <a href="https://en.wikipedia.org/wiki/Tz_database">tz database</a>.</p>
*/
inline AnomalyDetectorConfiguration& WithMetricTimezone(const Aws::String& value) { SetMetricTimezone(value); return *this;}
/**
* <p>The time zone to use for the metric. This is useful to enable the model to
* automatically account for daylight savings time changes if the metric is
* sensitive to such time changes.</p> <p>To specify a time zone, use the name of
* the time zone as specified in the standard tz database. For more information,
* see <a href="https://en.wikipedia.org/wiki/Tz_database">tz database</a>.</p>
*/
inline AnomalyDetectorConfiguration& WithMetricTimezone(Aws::String&& value) { SetMetricTimezone(std::move(value)); return *this;}
/**
* <p>The time zone to use for the metric. This is useful to enable the model to
* automatically account for daylight savings time changes if the metric is
* sensitive to such time changes.</p> <p>To specify a time zone, use the name of
* the time zone as specified in the standard tz database. For more information,
* see <a href="https://en.wikipedia.org/wiki/Tz_database">tz database</a>.</p>
*/
inline AnomalyDetectorConfiguration& WithMetricTimezone(const char* value) { SetMetricTimezone(value); return *this;}
private:
Aws::Vector<Range> m_excludedTimeRanges;
bool m_excludedTimeRangesHasBeenSet;
Aws::String m_metricTimezone;
bool m_metricTimezoneHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
enum class AnomalyDetectorStateValue
{
NOT_SET,
PENDING_TRAINING,
TRAINED_INSUFFICIENT_DATA,
TRAINED
};
namespace AnomalyDetectorStateValueMapper
{
AWS_CLOUDWATCH_API AnomalyDetectorStateValue GetAnomalyDetectorStateValueForName(const Aws::String& name);
AWS_CLOUDWATCH_API Aws::String GetNameForAnomalyDetectorStateValue(AnomalyDetectorStateValue value);
} // namespace AnomalyDetectorStateValueMapper
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
enum class ComparisonOperator
{
NOT_SET,
GreaterThanOrEqualToThreshold,
GreaterThanThreshold,
LessThanThreshold,
LessThanOrEqualToThreshold,
LessThanLowerOrGreaterThanUpperThreshold,
LessThanLowerThreshold,
GreaterThanUpperThreshold
};
namespace ComparisonOperatorMapper
{
AWS_CLOUDWATCH_API ComparisonOperator GetComparisonOperatorForName(const Aws::String& name);
AWS_CLOUDWATCH_API Aws::String GetNameForComparisonOperator(ComparisonOperator value);
} // namespace ComparisonOperatorMapper
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,626 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/monitoring/model/StateValue.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>The details about a composite alarm.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/CompositeAlarm">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API CompositeAlarm
{
public:
CompositeAlarm();
CompositeAlarm(const Aws::Utils::Xml::XmlNode& xmlNode);
CompositeAlarm& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>Indicates whether actions should be executed during any changes to the alarm
* state.</p>
*/
inline bool GetActionsEnabled() const{ return m_actionsEnabled; }
/**
* <p>Indicates whether actions should be executed during any changes to the alarm
* state.</p>
*/
inline bool ActionsEnabledHasBeenSet() const { return m_actionsEnabledHasBeenSet; }
/**
* <p>Indicates whether actions should be executed during any changes to the alarm
* state.</p>
*/
inline void SetActionsEnabled(bool value) { m_actionsEnabledHasBeenSet = true; m_actionsEnabled = value; }
/**
* <p>Indicates whether actions should be executed during any changes to the alarm
* state.</p>
*/
inline CompositeAlarm& WithActionsEnabled(bool value) { SetActionsEnabled(value); return *this;}
/**
* <p>The actions to execute when this alarm transitions to the ALARM state from
* any other state. Each action is specified as an Amazon Resource Name (ARN).</p>
*/
inline const Aws::Vector<Aws::String>& GetAlarmActions() const{ return m_alarmActions; }
/**
* <p>The actions to execute when this alarm transitions to the ALARM state from
* any other state. Each action is specified as an Amazon Resource Name (ARN).</p>
*/
inline bool AlarmActionsHasBeenSet() const { return m_alarmActionsHasBeenSet; }
/**
* <p>The actions to execute when this alarm transitions to the ALARM state from
* any other state. Each action is specified as an Amazon Resource Name (ARN).</p>
*/
inline void SetAlarmActions(const Aws::Vector<Aws::String>& value) { m_alarmActionsHasBeenSet = true; m_alarmActions = value; }
/**
* <p>The actions to execute when this alarm transitions to the ALARM state from
* any other state. Each action is specified as an Amazon Resource Name (ARN).</p>
*/
inline void SetAlarmActions(Aws::Vector<Aws::String>&& value) { m_alarmActionsHasBeenSet = true; m_alarmActions = std::move(value); }
/**
* <p>The actions to execute when this alarm transitions to the ALARM state from
* any other state. Each action is specified as an Amazon Resource Name (ARN).</p>
*/
inline CompositeAlarm& WithAlarmActions(const Aws::Vector<Aws::String>& value) { SetAlarmActions(value); return *this;}
/**
* <p>The actions to execute when this alarm transitions to the ALARM state from
* any other state. Each action is specified as an Amazon Resource Name (ARN).</p>
*/
inline CompositeAlarm& WithAlarmActions(Aws::Vector<Aws::String>&& value) { SetAlarmActions(std::move(value)); return *this;}
/**
* <p>The actions to execute when this alarm transitions to the ALARM state from
* any other state. Each action is specified as an Amazon Resource Name (ARN).</p>
*/
inline CompositeAlarm& AddAlarmActions(const Aws::String& value) { m_alarmActionsHasBeenSet = true; m_alarmActions.push_back(value); return *this; }
/**
* <p>The actions to execute when this alarm transitions to the ALARM state from
* any other state. Each action is specified as an Amazon Resource Name (ARN).</p>
*/
inline CompositeAlarm& AddAlarmActions(Aws::String&& value) { m_alarmActionsHasBeenSet = true; m_alarmActions.push_back(std::move(value)); return *this; }
/**
* <p>The actions to execute when this alarm transitions to the ALARM state from
* any other state. Each action is specified as an Amazon Resource Name (ARN).</p>
*/
inline CompositeAlarm& AddAlarmActions(const char* value) { m_alarmActionsHasBeenSet = true; m_alarmActions.push_back(value); return *this; }
/**
* <p>The Amazon Resource Name (ARN) of the alarm.</p>
*/
inline const Aws::String& GetAlarmArn() const{ return m_alarmArn; }
/**
* <p>The Amazon Resource Name (ARN) of the alarm.</p>
*/
inline bool AlarmArnHasBeenSet() const { return m_alarmArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the alarm.</p>
*/
inline void SetAlarmArn(const Aws::String& value) { m_alarmArnHasBeenSet = true; m_alarmArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the alarm.</p>
*/
inline void SetAlarmArn(Aws::String&& value) { m_alarmArnHasBeenSet = true; m_alarmArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the alarm.</p>
*/
inline void SetAlarmArn(const char* value) { m_alarmArnHasBeenSet = true; m_alarmArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the alarm.</p>
*/
inline CompositeAlarm& WithAlarmArn(const Aws::String& value) { SetAlarmArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the alarm.</p>
*/
inline CompositeAlarm& WithAlarmArn(Aws::String&& value) { SetAlarmArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the alarm.</p>
*/
inline CompositeAlarm& WithAlarmArn(const char* value) { SetAlarmArn(value); return *this;}
/**
* <p>The time stamp of the last update to the alarm configuration.</p>
*/
inline const Aws::Utils::DateTime& GetAlarmConfigurationUpdatedTimestamp() const{ return m_alarmConfigurationUpdatedTimestamp; }
/**
* <p>The time stamp of the last update to the alarm configuration.</p>
*/
inline bool AlarmConfigurationUpdatedTimestampHasBeenSet() const { return m_alarmConfigurationUpdatedTimestampHasBeenSet; }
/**
* <p>The time stamp of the last update to the alarm configuration.</p>
*/
inline void SetAlarmConfigurationUpdatedTimestamp(const Aws::Utils::DateTime& value) { m_alarmConfigurationUpdatedTimestampHasBeenSet = true; m_alarmConfigurationUpdatedTimestamp = value; }
/**
* <p>The time stamp of the last update to the alarm configuration.</p>
*/
inline void SetAlarmConfigurationUpdatedTimestamp(Aws::Utils::DateTime&& value) { m_alarmConfigurationUpdatedTimestampHasBeenSet = true; m_alarmConfigurationUpdatedTimestamp = std::move(value); }
/**
* <p>The time stamp of the last update to the alarm configuration.</p>
*/
inline CompositeAlarm& WithAlarmConfigurationUpdatedTimestamp(const Aws::Utils::DateTime& value) { SetAlarmConfigurationUpdatedTimestamp(value); return *this;}
/**
* <p>The time stamp of the last update to the alarm configuration.</p>
*/
inline CompositeAlarm& WithAlarmConfigurationUpdatedTimestamp(Aws::Utils::DateTime&& value) { SetAlarmConfigurationUpdatedTimestamp(std::move(value)); return *this;}
/**
* <p>The description of the alarm.</p>
*/
inline const Aws::String& GetAlarmDescription() const{ return m_alarmDescription; }
/**
* <p>The description of the alarm.</p>
*/
inline bool AlarmDescriptionHasBeenSet() const { return m_alarmDescriptionHasBeenSet; }
/**
* <p>The description of the alarm.</p>
*/
inline void SetAlarmDescription(const Aws::String& value) { m_alarmDescriptionHasBeenSet = true; m_alarmDescription = value; }
/**
* <p>The description of the alarm.</p>
*/
inline void SetAlarmDescription(Aws::String&& value) { m_alarmDescriptionHasBeenSet = true; m_alarmDescription = std::move(value); }
/**
* <p>The description of the alarm.</p>
*/
inline void SetAlarmDescription(const char* value) { m_alarmDescriptionHasBeenSet = true; m_alarmDescription.assign(value); }
/**
* <p>The description of the alarm.</p>
*/
inline CompositeAlarm& WithAlarmDescription(const Aws::String& value) { SetAlarmDescription(value); return *this;}
/**
* <p>The description of the alarm.</p>
*/
inline CompositeAlarm& WithAlarmDescription(Aws::String&& value) { SetAlarmDescription(std::move(value)); return *this;}
/**
* <p>The description of the alarm.</p>
*/
inline CompositeAlarm& WithAlarmDescription(const char* value) { SetAlarmDescription(value); return *this;}
/**
* <p>The name of the alarm.</p>
*/
inline const Aws::String& GetAlarmName() const{ return m_alarmName; }
/**
* <p>The name of the alarm.</p>
*/
inline bool AlarmNameHasBeenSet() const { return m_alarmNameHasBeenSet; }
/**
* <p>The name of the alarm.</p>
*/
inline void SetAlarmName(const Aws::String& value) { m_alarmNameHasBeenSet = true; m_alarmName = value; }
/**
* <p>The name of the alarm.</p>
*/
inline void SetAlarmName(Aws::String&& value) { m_alarmNameHasBeenSet = true; m_alarmName = std::move(value); }
/**
* <p>The name of the alarm.</p>
*/
inline void SetAlarmName(const char* value) { m_alarmNameHasBeenSet = true; m_alarmName.assign(value); }
/**
* <p>The name of the alarm.</p>
*/
inline CompositeAlarm& WithAlarmName(const Aws::String& value) { SetAlarmName(value); return *this;}
/**
* <p>The name of the alarm.</p>
*/
inline CompositeAlarm& WithAlarmName(Aws::String&& value) { SetAlarmName(std::move(value)); return *this;}
/**
* <p>The name of the alarm.</p>
*/
inline CompositeAlarm& WithAlarmName(const char* value) { SetAlarmName(value); return *this;}
/**
* <p>The rule that this alarm uses to evaluate its alarm state.</p>
*/
inline const Aws::String& GetAlarmRule() const{ return m_alarmRule; }
/**
* <p>The rule that this alarm uses to evaluate its alarm state.</p>
*/
inline bool AlarmRuleHasBeenSet() const { return m_alarmRuleHasBeenSet; }
/**
* <p>The rule that this alarm uses to evaluate its alarm state.</p>
*/
inline void SetAlarmRule(const Aws::String& value) { m_alarmRuleHasBeenSet = true; m_alarmRule = value; }
/**
* <p>The rule that this alarm uses to evaluate its alarm state.</p>
*/
inline void SetAlarmRule(Aws::String&& value) { m_alarmRuleHasBeenSet = true; m_alarmRule = std::move(value); }
/**
* <p>The rule that this alarm uses to evaluate its alarm state.</p>
*/
inline void SetAlarmRule(const char* value) { m_alarmRuleHasBeenSet = true; m_alarmRule.assign(value); }
/**
* <p>The rule that this alarm uses to evaluate its alarm state.</p>
*/
inline CompositeAlarm& WithAlarmRule(const Aws::String& value) { SetAlarmRule(value); return *this;}
/**
* <p>The rule that this alarm uses to evaluate its alarm state.</p>
*/
inline CompositeAlarm& WithAlarmRule(Aws::String&& value) { SetAlarmRule(std::move(value)); return *this;}
/**
* <p>The rule that this alarm uses to evaluate its alarm state.</p>
*/
inline CompositeAlarm& WithAlarmRule(const char* value) { SetAlarmRule(value); return *this;}
/**
* <p>The actions to execute when this alarm transitions to the INSUFFICIENT_DATA
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p>
*/
inline const Aws::Vector<Aws::String>& GetInsufficientDataActions() const{ return m_insufficientDataActions; }
/**
* <p>The actions to execute when this alarm transitions to the INSUFFICIENT_DATA
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p>
*/
inline bool InsufficientDataActionsHasBeenSet() const { return m_insufficientDataActionsHasBeenSet; }
/**
* <p>The actions to execute when this alarm transitions to the INSUFFICIENT_DATA
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p>
*/
inline void SetInsufficientDataActions(const Aws::Vector<Aws::String>& value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions = value; }
/**
* <p>The actions to execute when this alarm transitions to the INSUFFICIENT_DATA
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p>
*/
inline void SetInsufficientDataActions(Aws::Vector<Aws::String>&& value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions = std::move(value); }
/**
* <p>The actions to execute when this alarm transitions to the INSUFFICIENT_DATA
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p>
*/
inline CompositeAlarm& WithInsufficientDataActions(const Aws::Vector<Aws::String>& value) { SetInsufficientDataActions(value); return *this;}
/**
* <p>The actions to execute when this alarm transitions to the INSUFFICIENT_DATA
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p>
*/
inline CompositeAlarm& WithInsufficientDataActions(Aws::Vector<Aws::String>&& value) { SetInsufficientDataActions(std::move(value)); return *this;}
/**
* <p>The actions to execute when this alarm transitions to the INSUFFICIENT_DATA
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p>
*/
inline CompositeAlarm& AddInsufficientDataActions(const Aws::String& value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions.push_back(value); return *this; }
/**
* <p>The actions to execute when this alarm transitions to the INSUFFICIENT_DATA
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p>
*/
inline CompositeAlarm& AddInsufficientDataActions(Aws::String&& value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions.push_back(std::move(value)); return *this; }
/**
* <p>The actions to execute when this alarm transitions to the INSUFFICIENT_DATA
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p>
*/
inline CompositeAlarm& AddInsufficientDataActions(const char* value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions.push_back(value); return *this; }
/**
* <p>The actions to execute when this alarm transitions to the OK state from any
* other state. Each action is specified as an Amazon Resource Name (ARN).</p>
*/
inline const Aws::Vector<Aws::String>& GetOKActions() const{ return m_oKActions; }
/**
* <p>The actions to execute when this alarm transitions to the OK state from any
* other state. Each action is specified as an Amazon Resource Name (ARN).</p>
*/
inline bool OKActionsHasBeenSet() const { return m_oKActionsHasBeenSet; }
/**
* <p>The actions to execute when this alarm transitions to the OK state from any
* other state. Each action is specified as an Amazon Resource Name (ARN).</p>
*/
inline void SetOKActions(const Aws::Vector<Aws::String>& value) { m_oKActionsHasBeenSet = true; m_oKActions = value; }
/**
* <p>The actions to execute when this alarm transitions to the OK state from any
* other state. Each action is specified as an Amazon Resource Name (ARN).</p>
*/
inline void SetOKActions(Aws::Vector<Aws::String>&& value) { m_oKActionsHasBeenSet = true; m_oKActions = std::move(value); }
/**
* <p>The actions to execute when this alarm transitions to the OK state from any
* other state. Each action is specified as an Amazon Resource Name (ARN).</p>
*/
inline CompositeAlarm& WithOKActions(const Aws::Vector<Aws::String>& value) { SetOKActions(value); return *this;}
/**
* <p>The actions to execute when this alarm transitions to the OK state from any
* other state. Each action is specified as an Amazon Resource Name (ARN).</p>
*/
inline CompositeAlarm& WithOKActions(Aws::Vector<Aws::String>&& value) { SetOKActions(std::move(value)); return *this;}
/**
* <p>The actions to execute when this alarm transitions to the OK state from any
* other state. Each action is specified as an Amazon Resource Name (ARN).</p>
*/
inline CompositeAlarm& AddOKActions(const Aws::String& value) { m_oKActionsHasBeenSet = true; m_oKActions.push_back(value); return *this; }
/**
* <p>The actions to execute when this alarm transitions to the OK state from any
* other state. Each action is specified as an Amazon Resource Name (ARN).</p>
*/
inline CompositeAlarm& AddOKActions(Aws::String&& value) { m_oKActionsHasBeenSet = true; m_oKActions.push_back(std::move(value)); return *this; }
/**
* <p>The actions to execute when this alarm transitions to the OK state from any
* other state. Each action is specified as an Amazon Resource Name (ARN).</p>
*/
inline CompositeAlarm& AddOKActions(const char* value) { m_oKActionsHasBeenSet = true; m_oKActions.push_back(value); return *this; }
/**
* <p>An explanation for the alarm state, in text format.</p>
*/
inline const Aws::String& GetStateReason() const{ return m_stateReason; }
/**
* <p>An explanation for the alarm state, in text format.</p>
*/
inline bool StateReasonHasBeenSet() const { return m_stateReasonHasBeenSet; }
/**
* <p>An explanation for the alarm state, in text format.</p>
*/
inline void SetStateReason(const Aws::String& value) { m_stateReasonHasBeenSet = true; m_stateReason = value; }
/**
* <p>An explanation for the alarm state, in text format.</p>
*/
inline void SetStateReason(Aws::String&& value) { m_stateReasonHasBeenSet = true; m_stateReason = std::move(value); }
/**
* <p>An explanation for the alarm state, in text format.</p>
*/
inline void SetStateReason(const char* value) { m_stateReasonHasBeenSet = true; m_stateReason.assign(value); }
/**
* <p>An explanation for the alarm state, in text format.</p>
*/
inline CompositeAlarm& WithStateReason(const Aws::String& value) { SetStateReason(value); return *this;}
/**
* <p>An explanation for the alarm state, in text format.</p>
*/
inline CompositeAlarm& WithStateReason(Aws::String&& value) { SetStateReason(std::move(value)); return *this;}
/**
* <p>An explanation for the alarm state, in text format.</p>
*/
inline CompositeAlarm& WithStateReason(const char* value) { SetStateReason(value); return *this;}
/**
* <p>An explanation for the alarm state, in JSON format.</p>
*/
inline const Aws::String& GetStateReasonData() const{ return m_stateReasonData; }
/**
* <p>An explanation for the alarm state, in JSON format.</p>
*/
inline bool StateReasonDataHasBeenSet() const { return m_stateReasonDataHasBeenSet; }
/**
* <p>An explanation for the alarm state, in JSON format.</p>
*/
inline void SetStateReasonData(const Aws::String& value) { m_stateReasonDataHasBeenSet = true; m_stateReasonData = value; }
/**
* <p>An explanation for the alarm state, in JSON format.</p>
*/
inline void SetStateReasonData(Aws::String&& value) { m_stateReasonDataHasBeenSet = true; m_stateReasonData = std::move(value); }
/**
* <p>An explanation for the alarm state, in JSON format.</p>
*/
inline void SetStateReasonData(const char* value) { m_stateReasonDataHasBeenSet = true; m_stateReasonData.assign(value); }
/**
* <p>An explanation for the alarm state, in JSON format.</p>
*/
inline CompositeAlarm& WithStateReasonData(const Aws::String& value) { SetStateReasonData(value); return *this;}
/**
* <p>An explanation for the alarm state, in JSON format.</p>
*/
inline CompositeAlarm& WithStateReasonData(Aws::String&& value) { SetStateReasonData(std::move(value)); return *this;}
/**
* <p>An explanation for the alarm state, in JSON format.</p>
*/
inline CompositeAlarm& WithStateReasonData(const char* value) { SetStateReasonData(value); return *this;}
/**
* <p>The time stamp of the last update to the alarm state.</p>
*/
inline const Aws::Utils::DateTime& GetStateUpdatedTimestamp() const{ return m_stateUpdatedTimestamp; }
/**
* <p>The time stamp of the last update to the alarm state.</p>
*/
inline bool StateUpdatedTimestampHasBeenSet() const { return m_stateUpdatedTimestampHasBeenSet; }
/**
* <p>The time stamp of the last update to the alarm state.</p>
*/
inline void SetStateUpdatedTimestamp(const Aws::Utils::DateTime& value) { m_stateUpdatedTimestampHasBeenSet = true; m_stateUpdatedTimestamp = value; }
/**
* <p>The time stamp of the last update to the alarm state.</p>
*/
inline void SetStateUpdatedTimestamp(Aws::Utils::DateTime&& value) { m_stateUpdatedTimestampHasBeenSet = true; m_stateUpdatedTimestamp = std::move(value); }
/**
* <p>The time stamp of the last update to the alarm state.</p>
*/
inline CompositeAlarm& WithStateUpdatedTimestamp(const Aws::Utils::DateTime& value) { SetStateUpdatedTimestamp(value); return *this;}
/**
* <p>The time stamp of the last update to the alarm state.</p>
*/
inline CompositeAlarm& WithStateUpdatedTimestamp(Aws::Utils::DateTime&& value) { SetStateUpdatedTimestamp(std::move(value)); return *this;}
/**
* <p>The state value for the alarm.</p>
*/
inline const StateValue& GetStateValue() const{ return m_stateValue; }
/**
* <p>The state value for the alarm.</p>
*/
inline bool StateValueHasBeenSet() const { return m_stateValueHasBeenSet; }
/**
* <p>The state value for the alarm.</p>
*/
inline void SetStateValue(const StateValue& value) { m_stateValueHasBeenSet = true; m_stateValue = value; }
/**
* <p>The state value for the alarm.</p>
*/
inline void SetStateValue(StateValue&& value) { m_stateValueHasBeenSet = true; m_stateValue = std::move(value); }
/**
* <p>The state value for the alarm.</p>
*/
inline CompositeAlarm& WithStateValue(const StateValue& value) { SetStateValue(value); return *this;}
/**
* <p>The state value for the alarm.</p>
*/
inline CompositeAlarm& WithStateValue(StateValue&& value) { SetStateValue(std::move(value)); return *this;}
private:
bool m_actionsEnabled;
bool m_actionsEnabledHasBeenSet;
Aws::Vector<Aws::String> m_alarmActions;
bool m_alarmActionsHasBeenSet;
Aws::String m_alarmArn;
bool m_alarmArnHasBeenSet;
Aws::Utils::DateTime m_alarmConfigurationUpdatedTimestamp;
bool m_alarmConfigurationUpdatedTimestampHasBeenSet;
Aws::String m_alarmDescription;
bool m_alarmDescriptionHasBeenSet;
Aws::String m_alarmName;
bool m_alarmNameHasBeenSet;
Aws::String m_alarmRule;
bool m_alarmRuleHasBeenSet;
Aws::Vector<Aws::String> m_insufficientDataActions;
bool m_insufficientDataActionsHasBeenSet;
Aws::Vector<Aws::String> m_oKActions;
bool m_oKActionsHasBeenSet;
Aws::String m_stateReason;
bool m_stateReasonHasBeenSet;
Aws::String m_stateReasonData;
bool m_stateReasonDataHasBeenSet;
Aws::Utils::DateTime m_stateUpdatedTimestamp;
bool m_stateUpdatedTimestampHasBeenSet;
StateValue m_stateValue;
bool m_stateValueHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,205 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>Represents a specific dashboard.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DashboardEntry">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API DashboardEntry
{
public:
DashboardEntry();
DashboardEntry(const Aws::Utils::Xml::XmlNode& xmlNode);
DashboardEntry& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>The name of the dashboard.</p>
*/
inline const Aws::String& GetDashboardName() const{ return m_dashboardName; }
/**
* <p>The name of the dashboard.</p>
*/
inline bool DashboardNameHasBeenSet() const { return m_dashboardNameHasBeenSet; }
/**
* <p>The name of the dashboard.</p>
*/
inline void SetDashboardName(const Aws::String& value) { m_dashboardNameHasBeenSet = true; m_dashboardName = value; }
/**
* <p>The name of the dashboard.</p>
*/
inline void SetDashboardName(Aws::String&& value) { m_dashboardNameHasBeenSet = true; m_dashboardName = std::move(value); }
/**
* <p>The name of the dashboard.</p>
*/
inline void SetDashboardName(const char* value) { m_dashboardNameHasBeenSet = true; m_dashboardName.assign(value); }
/**
* <p>The name of the dashboard.</p>
*/
inline DashboardEntry& WithDashboardName(const Aws::String& value) { SetDashboardName(value); return *this;}
/**
* <p>The name of the dashboard.</p>
*/
inline DashboardEntry& WithDashboardName(Aws::String&& value) { SetDashboardName(std::move(value)); return *this;}
/**
* <p>The name of the dashboard.</p>
*/
inline DashboardEntry& WithDashboardName(const char* value) { SetDashboardName(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the dashboard.</p>
*/
inline const Aws::String& GetDashboardArn() const{ return m_dashboardArn; }
/**
* <p>The Amazon Resource Name (ARN) of the dashboard.</p>
*/
inline bool DashboardArnHasBeenSet() const { return m_dashboardArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the dashboard.</p>
*/
inline void SetDashboardArn(const Aws::String& value) { m_dashboardArnHasBeenSet = true; m_dashboardArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the dashboard.</p>
*/
inline void SetDashboardArn(Aws::String&& value) { m_dashboardArnHasBeenSet = true; m_dashboardArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the dashboard.</p>
*/
inline void SetDashboardArn(const char* value) { m_dashboardArnHasBeenSet = true; m_dashboardArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the dashboard.</p>
*/
inline DashboardEntry& WithDashboardArn(const Aws::String& value) { SetDashboardArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the dashboard.</p>
*/
inline DashboardEntry& WithDashboardArn(Aws::String&& value) { SetDashboardArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the dashboard.</p>
*/
inline DashboardEntry& WithDashboardArn(const char* value) { SetDashboardArn(value); return *this;}
/**
* <p>The time stamp of when the dashboard was last modified, either by an API call
* or through the console. This number is expressed as the number of milliseconds
* since Jan 1, 1970 00:00:00 UTC.</p>
*/
inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; }
/**
* <p>The time stamp of when the dashboard was last modified, either by an API call
* or through the console. This number is expressed as the number of milliseconds
* since Jan 1, 1970 00:00:00 UTC.</p>
*/
inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; }
/**
* <p>The time stamp of when the dashboard was last modified, either by an API call
* or through the console. This number is expressed as the number of milliseconds
* since Jan 1, 1970 00:00:00 UTC.</p>
*/
inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModifiedHasBeenSet = true; m_lastModified = value; }
/**
* <p>The time stamp of when the dashboard was last modified, either by an API call
* or through the console. This number is expressed as the number of milliseconds
* since Jan 1, 1970 00:00:00 UTC.</p>
*/
inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::move(value); }
/**
* <p>The time stamp of when the dashboard was last modified, either by an API call
* or through the console. This number is expressed as the number of milliseconds
* since Jan 1, 1970 00:00:00 UTC.</p>
*/
inline DashboardEntry& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;}
/**
* <p>The time stamp of when the dashboard was last modified, either by an API call
* or through the console. This number is expressed as the number of milliseconds
* since Jan 1, 1970 00:00:00 UTC.</p>
*/
inline DashboardEntry& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;}
/**
* <p>The size of the dashboard, in bytes.</p>
*/
inline long long GetSize() const{ return m_size; }
/**
* <p>The size of the dashboard, in bytes.</p>
*/
inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; }
/**
* <p>The size of the dashboard, in bytes.</p>
*/
inline void SetSize(long long value) { m_sizeHasBeenSet = true; m_size = value; }
/**
* <p>The size of the dashboard, in bytes.</p>
*/
inline DashboardEntry& WithSize(long long value) { SetSize(value); return *this;}
private:
Aws::String m_dashboardName;
bool m_dashboardNameHasBeenSet;
Aws::String m_dashboardArn;
bool m_dashboardArnHasBeenSet;
Aws::Utils::DateTime m_lastModified;
bool m_lastModifiedHasBeenSet;
long long m_size;
bool m_sizeHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,104 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/DashboardValidationMessage.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>Some part of the dashboard data is invalid.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DashboardInvalidInputError">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API DashboardInvalidInputError
{
public:
DashboardInvalidInputError();
DashboardInvalidInputError(const Aws::Utils::Xml::XmlNode& xmlNode);
DashboardInvalidInputError& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
inline const Aws::String& GetMessage() const{ return m_message; }
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
inline DashboardInvalidInputError& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
inline DashboardInvalidInputError& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
inline DashboardInvalidInputError& WithMessage(const char* value) { SetMessage(value); return *this;}
inline const Aws::Vector<DashboardValidationMessage>& GetDashboardValidationMessages() const{ return m_dashboardValidationMessages; }
inline bool DashboardValidationMessagesHasBeenSet() const { return m_dashboardValidationMessagesHasBeenSet; }
inline void SetDashboardValidationMessages(const Aws::Vector<DashboardValidationMessage>& value) { m_dashboardValidationMessagesHasBeenSet = true; m_dashboardValidationMessages = value; }
inline void SetDashboardValidationMessages(Aws::Vector<DashboardValidationMessage>&& value) { m_dashboardValidationMessagesHasBeenSet = true; m_dashboardValidationMessages = std::move(value); }
inline DashboardInvalidInputError& WithDashboardValidationMessages(const Aws::Vector<DashboardValidationMessage>& value) { SetDashboardValidationMessages(value); return *this;}
inline DashboardInvalidInputError& WithDashboardValidationMessages(Aws::Vector<DashboardValidationMessage>&& value) { SetDashboardValidationMessages(std::move(value)); return *this;}
inline DashboardInvalidInputError& AddDashboardValidationMessages(const DashboardValidationMessage& value) { m_dashboardValidationMessagesHasBeenSet = true; m_dashboardValidationMessages.push_back(value); return *this; }
inline DashboardInvalidInputError& AddDashboardValidationMessages(DashboardValidationMessage&& value) { m_dashboardValidationMessagesHasBeenSet = true; m_dashboardValidationMessages.push_back(std::move(value)); return *this; }
private:
Aws::String m_message;
bool m_messageHasBeenSet;
Aws::Vector<DashboardValidationMessage> m_dashboardValidationMessages;
bool m_dashboardValidationMessagesHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,134 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>An error or warning for the operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DashboardValidationMessage">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API DashboardValidationMessage
{
public:
DashboardValidationMessage();
DashboardValidationMessage(const Aws::Utils::Xml::XmlNode& xmlNode);
DashboardValidationMessage& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>The data path related to the message.</p>
*/
inline const Aws::String& GetDataPath() const{ return m_dataPath; }
/**
* <p>The data path related to the message.</p>
*/
inline bool DataPathHasBeenSet() const { return m_dataPathHasBeenSet; }
/**
* <p>The data path related to the message.</p>
*/
inline void SetDataPath(const Aws::String& value) { m_dataPathHasBeenSet = true; m_dataPath = value; }
/**
* <p>The data path related to the message.</p>
*/
inline void SetDataPath(Aws::String&& value) { m_dataPathHasBeenSet = true; m_dataPath = std::move(value); }
/**
* <p>The data path related to the message.</p>
*/
inline void SetDataPath(const char* value) { m_dataPathHasBeenSet = true; m_dataPath.assign(value); }
/**
* <p>The data path related to the message.</p>
*/
inline DashboardValidationMessage& WithDataPath(const Aws::String& value) { SetDataPath(value); return *this;}
/**
* <p>The data path related to the message.</p>
*/
inline DashboardValidationMessage& WithDataPath(Aws::String&& value) { SetDataPath(std::move(value)); return *this;}
/**
* <p>The data path related to the message.</p>
*/
inline DashboardValidationMessage& WithDataPath(const char* value) { SetDataPath(value); return *this;}
/**
* <p>A message describing the error or warning.</p>
*/
inline const Aws::String& GetMessage() const{ return m_message; }
/**
* <p>A message describing the error or warning.</p>
*/
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
/**
* <p>A message describing the error or warning.</p>
*/
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
/**
* <p>A message describing the error or warning.</p>
*/
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
/**
* <p>A message describing the error or warning.</p>
*/
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
/**
* <p>A message describing the error or warning.</p>
*/
inline DashboardValidationMessage& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
/**
* <p>A message describing the error or warning.</p>
*/
inline DashboardValidationMessage& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
/**
* <p>A message describing the error or warning.</p>
*/
inline DashboardValidationMessage& WithMessage(const char* value) { SetMessage(value); return *this;}
private:
Aws::String m_dataPath;
bool m_dataPathHasBeenSet;
Aws::String m_message;
bool m_messageHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,291 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/DateTime.h>
#include <aws/monitoring/model/StandardUnit.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>Encapsulates the statistical data that CloudWatch computes from metric
* data.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/Datapoint">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API Datapoint
{
public:
Datapoint();
Datapoint(const Aws::Utils::Xml::XmlNode& xmlNode);
Datapoint& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>The time stamp used for the data point.</p>
*/
inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; }
/**
* <p>The time stamp used for the data point.</p>
*/
inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; }
/**
* <p>The time stamp used for the data point.</p>
*/
inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; }
/**
* <p>The time stamp used for the data point.</p>
*/
inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); }
/**
* <p>The time stamp used for the data point.</p>
*/
inline Datapoint& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;}
/**
* <p>The time stamp used for the data point.</p>
*/
inline Datapoint& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;}
/**
* <p>The number of metric values that contributed to the aggregate value of this
* data point.</p>
*/
inline double GetSampleCount() const{ return m_sampleCount; }
/**
* <p>The number of metric values that contributed to the aggregate value of this
* data point.</p>
*/
inline bool SampleCountHasBeenSet() const { return m_sampleCountHasBeenSet; }
/**
* <p>The number of metric values that contributed to the aggregate value of this
* data point.</p>
*/
inline void SetSampleCount(double value) { m_sampleCountHasBeenSet = true; m_sampleCount = value; }
/**
* <p>The number of metric values that contributed to the aggregate value of this
* data point.</p>
*/
inline Datapoint& WithSampleCount(double value) { SetSampleCount(value); return *this;}
/**
* <p>The average of the metric values that correspond to the data point.</p>
*/
inline double GetAverage() const{ return m_average; }
/**
* <p>The average of the metric values that correspond to the data point.</p>
*/
inline bool AverageHasBeenSet() const { return m_averageHasBeenSet; }
/**
* <p>The average of the metric values that correspond to the data point.</p>
*/
inline void SetAverage(double value) { m_averageHasBeenSet = true; m_average = value; }
/**
* <p>The average of the metric values that correspond to the data point.</p>
*/
inline Datapoint& WithAverage(double value) { SetAverage(value); return *this;}
/**
* <p>The sum of the metric values for the data point.</p>
*/
inline double GetSum() const{ return m_sum; }
/**
* <p>The sum of the metric values for the data point.</p>
*/
inline bool SumHasBeenSet() const { return m_sumHasBeenSet; }
/**
* <p>The sum of the metric values for the data point.</p>
*/
inline void SetSum(double value) { m_sumHasBeenSet = true; m_sum = value; }
/**
* <p>The sum of the metric values for the data point.</p>
*/
inline Datapoint& WithSum(double value) { SetSum(value); return *this;}
/**
* <p>The minimum metric value for the data point.</p>
*/
inline double GetMinimum() const{ return m_minimum; }
/**
* <p>The minimum metric value for the data point.</p>
*/
inline bool MinimumHasBeenSet() const { return m_minimumHasBeenSet; }
/**
* <p>The minimum metric value for the data point.</p>
*/
inline void SetMinimum(double value) { m_minimumHasBeenSet = true; m_minimum = value; }
/**
* <p>The minimum metric value for the data point.</p>
*/
inline Datapoint& WithMinimum(double value) { SetMinimum(value); return *this;}
/**
* <p>The maximum metric value for the data point.</p>
*/
inline double GetMaximum() const{ return m_maximum; }
/**
* <p>The maximum metric value for the data point.</p>
*/
inline bool MaximumHasBeenSet() const { return m_maximumHasBeenSet; }
/**
* <p>The maximum metric value for the data point.</p>
*/
inline void SetMaximum(double value) { m_maximumHasBeenSet = true; m_maximum = value; }
/**
* <p>The maximum metric value for the data point.</p>
*/
inline Datapoint& WithMaximum(double value) { SetMaximum(value); return *this;}
/**
* <p>The standard unit for the data point.</p>
*/
inline const StandardUnit& GetUnit() const{ return m_unit; }
/**
* <p>The standard unit for the data point.</p>
*/
inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; }
/**
* <p>The standard unit for the data point.</p>
*/
inline void SetUnit(const StandardUnit& value) { m_unitHasBeenSet = true; m_unit = value; }
/**
* <p>The standard unit for the data point.</p>
*/
inline void SetUnit(StandardUnit&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); }
/**
* <p>The standard unit for the data point.</p>
*/
inline Datapoint& WithUnit(const StandardUnit& value) { SetUnit(value); return *this;}
/**
* <p>The standard unit for the data point.</p>
*/
inline Datapoint& WithUnit(StandardUnit&& value) { SetUnit(std::move(value)); return *this;}
/**
* <p>The percentile statistic for the data point.</p>
*/
inline const Aws::Map<Aws::String, double>& GetExtendedStatistics() const{ return m_extendedStatistics; }
/**
* <p>The percentile statistic for the data point.</p>
*/
inline bool ExtendedStatisticsHasBeenSet() const { return m_extendedStatisticsHasBeenSet; }
/**
* <p>The percentile statistic for the data point.</p>
*/
inline void SetExtendedStatistics(const Aws::Map<Aws::String, double>& value) { m_extendedStatisticsHasBeenSet = true; m_extendedStatistics = value; }
/**
* <p>The percentile statistic for the data point.</p>
*/
inline void SetExtendedStatistics(Aws::Map<Aws::String, double>&& value) { m_extendedStatisticsHasBeenSet = true; m_extendedStatistics = std::move(value); }
/**
* <p>The percentile statistic for the data point.</p>
*/
inline Datapoint& WithExtendedStatistics(const Aws::Map<Aws::String, double>& value) { SetExtendedStatistics(value); return *this;}
/**
* <p>The percentile statistic for the data point.</p>
*/
inline Datapoint& WithExtendedStatistics(Aws::Map<Aws::String, double>&& value) { SetExtendedStatistics(std::move(value)); return *this;}
/**
* <p>The percentile statistic for the data point.</p>
*/
inline Datapoint& AddExtendedStatistics(const Aws::String& key, double value) { m_extendedStatisticsHasBeenSet = true; m_extendedStatistics.emplace(key, value); return *this; }
/**
* <p>The percentile statistic for the data point.</p>
*/
inline Datapoint& AddExtendedStatistics(Aws::String&& key, double value) { m_extendedStatisticsHasBeenSet = true; m_extendedStatistics.emplace(std::move(key), value); return *this; }
/**
* <p>The percentile statistic for the data point.</p>
*/
inline Datapoint& AddExtendedStatistics(const char* key, double value) { m_extendedStatisticsHasBeenSet = true; m_extendedStatistics.emplace(key, value); return *this; }
private:
Aws::Utils::DateTime m_timestamp;
bool m_timestampHasBeenSet;
double m_sampleCount;
bool m_sampleCountHasBeenSet;
double m_average;
bool m_averageHasBeenSet;
double m_sum;
bool m_sumHasBeenSet;
double m_minimum;
bool m_minimumHasBeenSet;
double m_maximum;
bool m_maximumHasBeenSet;
StandardUnit m_unit;
bool m_unitHasBeenSet;
Aws::Map<Aws::String, double> m_extendedStatistics;
bool m_extendedStatisticsHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,93 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API DeleteAlarmsRequest : public CloudWatchRequest
{
public:
DeleteAlarmsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteAlarms"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The alarms to be deleted.</p>
*/
inline const Aws::Vector<Aws::String>& GetAlarmNames() const{ return m_alarmNames; }
/**
* <p>The alarms to be deleted.</p>
*/
inline bool AlarmNamesHasBeenSet() const { return m_alarmNamesHasBeenSet; }
/**
* <p>The alarms to be deleted.</p>
*/
inline void SetAlarmNames(const Aws::Vector<Aws::String>& value) { m_alarmNamesHasBeenSet = true; m_alarmNames = value; }
/**
* <p>The alarms to be deleted.</p>
*/
inline void SetAlarmNames(Aws::Vector<Aws::String>&& value) { m_alarmNamesHasBeenSet = true; m_alarmNames = std::move(value); }
/**
* <p>The alarms to be deleted.</p>
*/
inline DeleteAlarmsRequest& WithAlarmNames(const Aws::Vector<Aws::String>& value) { SetAlarmNames(value); return *this;}
/**
* <p>The alarms to be deleted.</p>
*/
inline DeleteAlarmsRequest& WithAlarmNames(Aws::Vector<Aws::String>&& value) { SetAlarmNames(std::move(value)); return *this;}
/**
* <p>The alarms to be deleted.</p>
*/
inline DeleteAlarmsRequest& AddAlarmNames(const Aws::String& value) { m_alarmNamesHasBeenSet = true; m_alarmNames.push_back(value); return *this; }
/**
* <p>The alarms to be deleted.</p>
*/
inline DeleteAlarmsRequest& AddAlarmNames(Aws::String&& value) { m_alarmNamesHasBeenSet = true; m_alarmNames.push_back(std::move(value)); return *this; }
/**
* <p>The alarms to be deleted.</p>
*/
inline DeleteAlarmsRequest& AddAlarmNames(const char* value) { m_alarmNamesHasBeenSet = true; m_alarmNames.push_back(value); return *this; }
private:
Aws::Vector<Aws::String> m_alarmNames;
bool m_alarmNamesHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,229 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/Dimension.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API DeleteAnomalyDetectorRequest : public CloudWatchRequest
{
public:
DeleteAnomalyDetectorRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteAnomalyDetector"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The namespace associated with the anomaly detection model to delete.</p>
*/
inline const Aws::String& GetNamespace() const{ return m_namespace; }
/**
* <p>The namespace associated with the anomaly detection model to delete.</p>
*/
inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; }
/**
* <p>The namespace associated with the anomaly detection model to delete.</p>
*/
inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; }
/**
* <p>The namespace associated with the anomaly detection model to delete.</p>
*/
inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); }
/**
* <p>The namespace associated with the anomaly detection model to delete.</p>
*/
inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); }
/**
* <p>The namespace associated with the anomaly detection model to delete.</p>
*/
inline DeleteAnomalyDetectorRequest& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;}
/**
* <p>The namespace associated with the anomaly detection model to delete.</p>
*/
inline DeleteAnomalyDetectorRequest& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;}
/**
* <p>The namespace associated with the anomaly detection model to delete.</p>
*/
inline DeleteAnomalyDetectorRequest& WithNamespace(const char* value) { SetNamespace(value); return *this;}
/**
* <p>The metric name associated with the anomaly detection model to delete.</p>
*/
inline const Aws::String& GetMetricName() const{ return m_metricName; }
/**
* <p>The metric name associated with the anomaly detection model to delete.</p>
*/
inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; }
/**
* <p>The metric name associated with the anomaly detection model to delete.</p>
*/
inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; }
/**
* <p>The metric name associated with the anomaly detection model to delete.</p>
*/
inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); }
/**
* <p>The metric name associated with the anomaly detection model to delete.</p>
*/
inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); }
/**
* <p>The metric name associated with the anomaly detection model to delete.</p>
*/
inline DeleteAnomalyDetectorRequest& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;}
/**
* <p>The metric name associated with the anomaly detection model to delete.</p>
*/
inline DeleteAnomalyDetectorRequest& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;}
/**
* <p>The metric name associated with the anomaly detection model to delete.</p>
*/
inline DeleteAnomalyDetectorRequest& WithMetricName(const char* value) { SetMetricName(value); return *this;}
/**
* <p>The metric dimensions associated with the anomaly detection model to
* delete.</p>
*/
inline const Aws::Vector<Dimension>& GetDimensions() const{ return m_dimensions; }
/**
* <p>The metric dimensions associated with the anomaly detection model to
* delete.</p>
*/
inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
/**
* <p>The metric dimensions associated with the anomaly detection model to
* delete.</p>
*/
inline void SetDimensions(const Aws::Vector<Dimension>& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; }
/**
* <p>The metric dimensions associated with the anomaly detection model to
* delete.</p>
*/
inline void SetDimensions(Aws::Vector<Dimension>&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); }
/**
* <p>The metric dimensions associated with the anomaly detection model to
* delete.</p>
*/
inline DeleteAnomalyDetectorRequest& WithDimensions(const Aws::Vector<Dimension>& value) { SetDimensions(value); return *this;}
/**
* <p>The metric dimensions associated with the anomaly detection model to
* delete.</p>
*/
inline DeleteAnomalyDetectorRequest& WithDimensions(Aws::Vector<Dimension>&& value) { SetDimensions(std::move(value)); return *this;}
/**
* <p>The metric dimensions associated with the anomaly detection model to
* delete.</p>
*/
inline DeleteAnomalyDetectorRequest& AddDimensions(const Dimension& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; }
/**
* <p>The metric dimensions associated with the anomaly detection model to
* delete.</p>
*/
inline DeleteAnomalyDetectorRequest& AddDimensions(Dimension&& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(std::move(value)); return *this; }
/**
* <p>The statistic associated with the anomaly detection model to delete.</p>
*/
inline const Aws::String& GetStat() const{ return m_stat; }
/**
* <p>The statistic associated with the anomaly detection model to delete.</p>
*/
inline bool StatHasBeenSet() const { return m_statHasBeenSet; }
/**
* <p>The statistic associated with the anomaly detection model to delete.</p>
*/
inline void SetStat(const Aws::String& value) { m_statHasBeenSet = true; m_stat = value; }
/**
* <p>The statistic associated with the anomaly detection model to delete.</p>
*/
inline void SetStat(Aws::String&& value) { m_statHasBeenSet = true; m_stat = std::move(value); }
/**
* <p>The statistic associated with the anomaly detection model to delete.</p>
*/
inline void SetStat(const char* value) { m_statHasBeenSet = true; m_stat.assign(value); }
/**
* <p>The statistic associated with the anomaly detection model to delete.</p>
*/
inline DeleteAnomalyDetectorRequest& WithStat(const Aws::String& value) { SetStat(value); return *this;}
/**
* <p>The statistic associated with the anomaly detection model to delete.</p>
*/
inline DeleteAnomalyDetectorRequest& WithStat(Aws::String&& value) { SetStat(std::move(value)); return *this;}
/**
* <p>The statistic associated with the anomaly detection model to delete.</p>
*/
inline DeleteAnomalyDetectorRequest& WithStat(const char* value) { SetStat(value); return *this;}
private:
Aws::String m_namespace;
bool m_namespaceHasBeenSet;
Aws::String m_metricName;
bool m_metricNameHasBeenSet;
Aws::Vector<Dimension> m_dimensions;
bool m_dimensionsHasBeenSet;
Aws::String m_stat;
bool m_statHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,57 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API DeleteAnomalyDetectorResult
{
public:
DeleteAnomalyDetectorResult();
DeleteAnomalyDetectorResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
DeleteAnomalyDetectorResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline DeleteAnomalyDetectorResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline DeleteAnomalyDetectorResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,93 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API DeleteDashboardsRequest : public CloudWatchRequest
{
public:
DeleteDashboardsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteDashboards"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The dashboards to be deleted. This parameter is required.</p>
*/
inline const Aws::Vector<Aws::String>& GetDashboardNames() const{ return m_dashboardNames; }
/**
* <p>The dashboards to be deleted. This parameter is required.</p>
*/
inline bool DashboardNamesHasBeenSet() const { return m_dashboardNamesHasBeenSet; }
/**
* <p>The dashboards to be deleted. This parameter is required.</p>
*/
inline void SetDashboardNames(const Aws::Vector<Aws::String>& value) { m_dashboardNamesHasBeenSet = true; m_dashboardNames = value; }
/**
* <p>The dashboards to be deleted. This parameter is required.</p>
*/
inline void SetDashboardNames(Aws::Vector<Aws::String>&& value) { m_dashboardNamesHasBeenSet = true; m_dashboardNames = std::move(value); }
/**
* <p>The dashboards to be deleted. This parameter is required.</p>
*/
inline DeleteDashboardsRequest& WithDashboardNames(const Aws::Vector<Aws::String>& value) { SetDashboardNames(value); return *this;}
/**
* <p>The dashboards to be deleted. This parameter is required.</p>
*/
inline DeleteDashboardsRequest& WithDashboardNames(Aws::Vector<Aws::String>&& value) { SetDashboardNames(std::move(value)); return *this;}
/**
* <p>The dashboards to be deleted. This parameter is required.</p>
*/
inline DeleteDashboardsRequest& AddDashboardNames(const Aws::String& value) { m_dashboardNamesHasBeenSet = true; m_dashboardNames.push_back(value); return *this; }
/**
* <p>The dashboards to be deleted. This parameter is required.</p>
*/
inline DeleteDashboardsRequest& AddDashboardNames(Aws::String&& value) { m_dashboardNamesHasBeenSet = true; m_dashboardNames.push_back(std::move(value)); return *this; }
/**
* <p>The dashboards to be deleted. This parameter is required.</p>
*/
inline DeleteDashboardsRequest& AddDashboardNames(const char* value) { m_dashboardNamesHasBeenSet = true; m_dashboardNames.push_back(value); return *this; }
private:
Aws::Vector<Aws::String> m_dashboardNames;
bool m_dashboardNamesHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,57 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API DeleteDashboardsResult
{
public:
DeleteDashboardsResult();
DeleteDashboardsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
DeleteDashboardsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline DeleteDashboardsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline DeleteDashboardsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,111 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API DeleteInsightRulesRequest : public CloudWatchRequest
{
public:
DeleteInsightRulesRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteInsightRules"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>An array of the rule names to delete. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline const Aws::Vector<Aws::String>& GetRuleNames() const{ return m_ruleNames; }
/**
* <p>An array of the rule names to delete. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline bool RuleNamesHasBeenSet() const { return m_ruleNamesHasBeenSet; }
/**
* <p>An array of the rule names to delete. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline void SetRuleNames(const Aws::Vector<Aws::String>& value) { m_ruleNamesHasBeenSet = true; m_ruleNames = value; }
/**
* <p>An array of the rule names to delete. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline void SetRuleNames(Aws::Vector<Aws::String>&& value) { m_ruleNamesHasBeenSet = true; m_ruleNames = std::move(value); }
/**
* <p>An array of the rule names to delete. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline DeleteInsightRulesRequest& WithRuleNames(const Aws::Vector<Aws::String>& value) { SetRuleNames(value); return *this;}
/**
* <p>An array of the rule names to delete. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline DeleteInsightRulesRequest& WithRuleNames(Aws::Vector<Aws::String>&& value) { SetRuleNames(std::move(value)); return *this;}
/**
* <p>An array of the rule names to delete. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline DeleteInsightRulesRequest& AddRuleNames(const Aws::String& value) { m_ruleNamesHasBeenSet = true; m_ruleNames.push_back(value); return *this; }
/**
* <p>An array of the rule names to delete. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline DeleteInsightRulesRequest& AddRuleNames(Aws::String&& value) { m_ruleNamesHasBeenSet = true; m_ruleNames.push_back(std::move(value)); return *this; }
/**
* <p>An array of the rule names to delete. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline DeleteInsightRulesRequest& AddRuleNames(const char* value) { m_ruleNamesHasBeenSet = true; m_ruleNames.push_back(value); return *this; }
private:
Aws::Vector<Aws::String> m_ruleNames;
bool m_ruleNamesHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,104 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <aws/monitoring/model/PartialFailure.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API DeleteInsightRulesResult
{
public:
DeleteInsightRulesResult();
DeleteInsightRulesResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
DeleteInsightRulesResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
/**
* <p>An array listing the rules that could not be deleted. You cannot delete
* built-in rules.</p>
*/
inline const Aws::Vector<PartialFailure>& GetFailures() const{ return m_failures; }
/**
* <p>An array listing the rules that could not be deleted. You cannot delete
* built-in rules.</p>
*/
inline void SetFailures(const Aws::Vector<PartialFailure>& value) { m_failures = value; }
/**
* <p>An array listing the rules that could not be deleted. You cannot delete
* built-in rules.</p>
*/
inline void SetFailures(Aws::Vector<PartialFailure>&& value) { m_failures = std::move(value); }
/**
* <p>An array listing the rules that could not be deleted. You cannot delete
* built-in rules.</p>
*/
inline DeleteInsightRulesResult& WithFailures(const Aws::Vector<PartialFailure>& value) { SetFailures(value); return *this;}
/**
* <p>An array listing the rules that could not be deleted. You cannot delete
* built-in rules.</p>
*/
inline DeleteInsightRulesResult& WithFailures(Aws::Vector<PartialFailure>&& value) { SetFailures(std::move(value)); return *this;}
/**
* <p>An array listing the rules that could not be deleted. You cannot delete
* built-in rules.</p>
*/
inline DeleteInsightRulesResult& AddFailures(const PartialFailure& value) { m_failures.push_back(value); return *this; }
/**
* <p>An array listing the rules that could not be deleted. You cannot delete
* built-in rules.</p>
*/
inline DeleteInsightRulesResult& AddFailures(PartialFailure&& value) { m_failures.push_back(std::move(value)); return *this; }
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline DeleteInsightRulesResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline DeleteInsightRulesResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
Aws::Vector<PartialFailure> m_failures;
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,382 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/HistoryItemType.h>
#include <aws/core/utils/DateTime.h>
#include <aws/monitoring/model/ScanBy.h>
#include <aws/monitoring/model/AlarmType.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API DescribeAlarmHistoryRequest : public CloudWatchRequest
{
public:
DescribeAlarmHistoryRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeAlarmHistory"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The name of the alarm.</p>
*/
inline const Aws::String& GetAlarmName() const{ return m_alarmName; }
/**
* <p>The name of the alarm.</p>
*/
inline bool AlarmNameHasBeenSet() const { return m_alarmNameHasBeenSet; }
/**
* <p>The name of the alarm.</p>
*/
inline void SetAlarmName(const Aws::String& value) { m_alarmNameHasBeenSet = true; m_alarmName = value; }
/**
* <p>The name of the alarm.</p>
*/
inline void SetAlarmName(Aws::String&& value) { m_alarmNameHasBeenSet = true; m_alarmName = std::move(value); }
/**
* <p>The name of the alarm.</p>
*/
inline void SetAlarmName(const char* value) { m_alarmNameHasBeenSet = true; m_alarmName.assign(value); }
/**
* <p>The name of the alarm.</p>
*/
inline DescribeAlarmHistoryRequest& WithAlarmName(const Aws::String& value) { SetAlarmName(value); return *this;}
/**
* <p>The name of the alarm.</p>
*/
inline DescribeAlarmHistoryRequest& WithAlarmName(Aws::String&& value) { SetAlarmName(std::move(value)); return *this;}
/**
* <p>The name of the alarm.</p>
*/
inline DescribeAlarmHistoryRequest& WithAlarmName(const char* value) { SetAlarmName(value); return *this;}
/**
* <p>Use this parameter to specify whether you want the operation to return metric
* alarms or composite alarms. If you omit this parameter, only metric alarms are
* returned.</p>
*/
inline const Aws::Vector<AlarmType>& GetAlarmTypes() const{ return m_alarmTypes; }
/**
* <p>Use this parameter to specify whether you want the operation to return metric
* alarms or composite alarms. If you omit this parameter, only metric alarms are
* returned.</p>
*/
inline bool AlarmTypesHasBeenSet() const { return m_alarmTypesHasBeenSet; }
/**
* <p>Use this parameter to specify whether you want the operation to return metric
* alarms or composite alarms. If you omit this parameter, only metric alarms are
* returned.</p>
*/
inline void SetAlarmTypes(const Aws::Vector<AlarmType>& value) { m_alarmTypesHasBeenSet = true; m_alarmTypes = value; }
/**
* <p>Use this parameter to specify whether you want the operation to return metric
* alarms or composite alarms. If you omit this parameter, only metric alarms are
* returned.</p>
*/
inline void SetAlarmTypes(Aws::Vector<AlarmType>&& value) { m_alarmTypesHasBeenSet = true; m_alarmTypes = std::move(value); }
/**
* <p>Use this parameter to specify whether you want the operation to return metric
* alarms or composite alarms. If you omit this parameter, only metric alarms are
* returned.</p>
*/
inline DescribeAlarmHistoryRequest& WithAlarmTypes(const Aws::Vector<AlarmType>& value) { SetAlarmTypes(value); return *this;}
/**
* <p>Use this parameter to specify whether you want the operation to return metric
* alarms or composite alarms. If you omit this parameter, only metric alarms are
* returned.</p>
*/
inline DescribeAlarmHistoryRequest& WithAlarmTypes(Aws::Vector<AlarmType>&& value) { SetAlarmTypes(std::move(value)); return *this;}
/**
* <p>Use this parameter to specify whether you want the operation to return metric
* alarms or composite alarms. If you omit this parameter, only metric alarms are
* returned.</p>
*/
inline DescribeAlarmHistoryRequest& AddAlarmTypes(const AlarmType& value) { m_alarmTypesHasBeenSet = true; m_alarmTypes.push_back(value); return *this; }
/**
* <p>Use this parameter to specify whether you want the operation to return metric
* alarms or composite alarms. If you omit this parameter, only metric alarms are
* returned.</p>
*/
inline DescribeAlarmHistoryRequest& AddAlarmTypes(AlarmType&& value) { m_alarmTypesHasBeenSet = true; m_alarmTypes.push_back(std::move(value)); return *this; }
/**
* <p>The type of alarm histories to retrieve.</p>
*/
inline const HistoryItemType& GetHistoryItemType() const{ return m_historyItemType; }
/**
* <p>The type of alarm histories to retrieve.</p>
*/
inline bool HistoryItemTypeHasBeenSet() const { return m_historyItemTypeHasBeenSet; }
/**
* <p>The type of alarm histories to retrieve.</p>
*/
inline void SetHistoryItemType(const HistoryItemType& value) { m_historyItemTypeHasBeenSet = true; m_historyItemType = value; }
/**
* <p>The type of alarm histories to retrieve.</p>
*/
inline void SetHistoryItemType(HistoryItemType&& value) { m_historyItemTypeHasBeenSet = true; m_historyItemType = std::move(value); }
/**
* <p>The type of alarm histories to retrieve.</p>
*/
inline DescribeAlarmHistoryRequest& WithHistoryItemType(const HistoryItemType& value) { SetHistoryItemType(value); return *this;}
/**
* <p>The type of alarm histories to retrieve.</p>
*/
inline DescribeAlarmHistoryRequest& WithHistoryItemType(HistoryItemType&& value) { SetHistoryItemType(std::move(value)); return *this;}
/**
* <p>The starting date to retrieve alarm history.</p>
*/
inline const Aws::Utils::DateTime& GetStartDate() const{ return m_startDate; }
/**
* <p>The starting date to retrieve alarm history.</p>
*/
inline bool StartDateHasBeenSet() const { return m_startDateHasBeenSet; }
/**
* <p>The starting date to retrieve alarm history.</p>
*/
inline void SetStartDate(const Aws::Utils::DateTime& value) { m_startDateHasBeenSet = true; m_startDate = value; }
/**
* <p>The starting date to retrieve alarm history.</p>
*/
inline void SetStartDate(Aws::Utils::DateTime&& value) { m_startDateHasBeenSet = true; m_startDate = std::move(value); }
/**
* <p>The starting date to retrieve alarm history.</p>
*/
inline DescribeAlarmHistoryRequest& WithStartDate(const Aws::Utils::DateTime& value) { SetStartDate(value); return *this;}
/**
* <p>The starting date to retrieve alarm history.</p>
*/
inline DescribeAlarmHistoryRequest& WithStartDate(Aws::Utils::DateTime&& value) { SetStartDate(std::move(value)); return *this;}
/**
* <p>The ending date to retrieve alarm history.</p>
*/
inline const Aws::Utils::DateTime& GetEndDate() const{ return m_endDate; }
/**
* <p>The ending date to retrieve alarm history.</p>
*/
inline bool EndDateHasBeenSet() const { return m_endDateHasBeenSet; }
/**
* <p>The ending date to retrieve alarm history.</p>
*/
inline void SetEndDate(const Aws::Utils::DateTime& value) { m_endDateHasBeenSet = true; m_endDate = value; }
/**
* <p>The ending date to retrieve alarm history.</p>
*/
inline void SetEndDate(Aws::Utils::DateTime&& value) { m_endDateHasBeenSet = true; m_endDate = std::move(value); }
/**
* <p>The ending date to retrieve alarm history.</p>
*/
inline DescribeAlarmHistoryRequest& WithEndDate(const Aws::Utils::DateTime& value) { SetEndDate(value); return *this;}
/**
* <p>The ending date to retrieve alarm history.</p>
*/
inline DescribeAlarmHistoryRequest& WithEndDate(Aws::Utils::DateTime&& value) { SetEndDate(std::move(value)); return *this;}
/**
* <p>The maximum number of alarm history records to retrieve.</p>
*/
inline int GetMaxRecords() const{ return m_maxRecords; }
/**
* <p>The maximum number of alarm history records to retrieve.</p>
*/
inline bool MaxRecordsHasBeenSet() const { return m_maxRecordsHasBeenSet; }
/**
* <p>The maximum number of alarm history records to retrieve.</p>
*/
inline void SetMaxRecords(int value) { m_maxRecordsHasBeenSet = true; m_maxRecords = value; }
/**
* <p>The maximum number of alarm history records to retrieve.</p>
*/
inline DescribeAlarmHistoryRequest& WithMaxRecords(int value) { SetMaxRecords(value); return *this;}
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline DescribeAlarmHistoryRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline DescribeAlarmHistoryRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline DescribeAlarmHistoryRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
/**
* <p>Specified whether to return the newest or oldest alarm history first. Specify
* <code>TimestampDescending</code> to have the newest event history returned
* first, and specify <code>TimestampAscending</code> to have the oldest history
* returned first.</p>
*/
inline const ScanBy& GetScanBy() const{ return m_scanBy; }
/**
* <p>Specified whether to return the newest or oldest alarm history first. Specify
* <code>TimestampDescending</code> to have the newest event history returned
* first, and specify <code>TimestampAscending</code> to have the oldest history
* returned first.</p>
*/
inline bool ScanByHasBeenSet() const { return m_scanByHasBeenSet; }
/**
* <p>Specified whether to return the newest or oldest alarm history first. Specify
* <code>TimestampDescending</code> to have the newest event history returned
* first, and specify <code>TimestampAscending</code> to have the oldest history
* returned first.</p>
*/
inline void SetScanBy(const ScanBy& value) { m_scanByHasBeenSet = true; m_scanBy = value; }
/**
* <p>Specified whether to return the newest or oldest alarm history first. Specify
* <code>TimestampDescending</code> to have the newest event history returned
* first, and specify <code>TimestampAscending</code> to have the oldest history
* returned first.</p>
*/
inline void SetScanBy(ScanBy&& value) { m_scanByHasBeenSet = true; m_scanBy = std::move(value); }
/**
* <p>Specified whether to return the newest or oldest alarm history first. Specify
* <code>TimestampDescending</code> to have the newest event history returned
* first, and specify <code>TimestampAscending</code> to have the oldest history
* returned first.</p>
*/
inline DescribeAlarmHistoryRequest& WithScanBy(const ScanBy& value) { SetScanBy(value); return *this;}
/**
* <p>Specified whether to return the newest or oldest alarm history first. Specify
* <code>TimestampDescending</code> to have the newest event history returned
* first, and specify <code>TimestampAscending</code> to have the oldest history
* returned first.</p>
*/
inline DescribeAlarmHistoryRequest& WithScanBy(ScanBy&& value) { SetScanBy(std::move(value)); return *this;}
private:
Aws::String m_alarmName;
bool m_alarmNameHasBeenSet;
Aws::Vector<AlarmType> m_alarmTypes;
bool m_alarmTypesHasBeenSet;
HistoryItemType m_historyItemType;
bool m_historyItemTypeHasBeenSet;
Aws::Utils::DateTime m_startDate;
bool m_startDateHasBeenSet;
Aws::Utils::DateTime m_endDate;
bool m_endDateHasBeenSet;
int m_maxRecords;
bool m_maxRecordsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
ScanBy m_scanBy;
bool m_scanByHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,136 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <aws/monitoring/model/AlarmHistoryItem.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API DescribeAlarmHistoryResult
{
public:
DescribeAlarmHistoryResult();
DescribeAlarmHistoryResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
DescribeAlarmHistoryResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
/**
* <p>The alarm histories, in JSON format.</p>
*/
inline const Aws::Vector<AlarmHistoryItem>& GetAlarmHistoryItems() const{ return m_alarmHistoryItems; }
/**
* <p>The alarm histories, in JSON format.</p>
*/
inline void SetAlarmHistoryItems(const Aws::Vector<AlarmHistoryItem>& value) { m_alarmHistoryItems = value; }
/**
* <p>The alarm histories, in JSON format.</p>
*/
inline void SetAlarmHistoryItems(Aws::Vector<AlarmHistoryItem>&& value) { m_alarmHistoryItems = std::move(value); }
/**
* <p>The alarm histories, in JSON format.</p>
*/
inline DescribeAlarmHistoryResult& WithAlarmHistoryItems(const Aws::Vector<AlarmHistoryItem>& value) { SetAlarmHistoryItems(value); return *this;}
/**
* <p>The alarm histories, in JSON format.</p>
*/
inline DescribeAlarmHistoryResult& WithAlarmHistoryItems(Aws::Vector<AlarmHistoryItem>&& value) { SetAlarmHistoryItems(std::move(value)); return *this;}
/**
* <p>The alarm histories, in JSON format.</p>
*/
inline DescribeAlarmHistoryResult& AddAlarmHistoryItems(const AlarmHistoryItem& value) { m_alarmHistoryItems.push_back(value); return *this; }
/**
* <p>The alarm histories, in JSON format.</p>
*/
inline DescribeAlarmHistoryResult& AddAlarmHistoryItems(AlarmHistoryItem&& value) { m_alarmHistoryItems.push_back(std::move(value)); return *this; }
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline DescribeAlarmHistoryResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline DescribeAlarmHistoryResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline DescribeAlarmHistoryResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline DescribeAlarmHistoryResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline DescribeAlarmHistoryResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
Aws::Vector<AlarmHistoryItem> m_alarmHistoryItems;
Aws::String m_nextToken;
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,337 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/monitoring/model/Statistic.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/StandardUnit.h>
#include <aws/monitoring/model/Dimension.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API DescribeAlarmsForMetricRequest : public CloudWatchRequest
{
public:
DescribeAlarmsForMetricRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeAlarmsForMetric"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The name of the metric.</p>
*/
inline const Aws::String& GetMetricName() const{ return m_metricName; }
/**
* <p>The name of the metric.</p>
*/
inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; }
/**
* <p>The name of the metric.</p>
*/
inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; }
/**
* <p>The name of the metric.</p>
*/
inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); }
/**
* <p>The name of the metric.</p>
*/
inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); }
/**
* <p>The name of the metric.</p>
*/
inline DescribeAlarmsForMetricRequest& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;}
/**
* <p>The name of the metric.</p>
*/
inline DescribeAlarmsForMetricRequest& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;}
/**
* <p>The name of the metric.</p>
*/
inline DescribeAlarmsForMetricRequest& WithMetricName(const char* value) { SetMetricName(value); return *this;}
/**
* <p>The namespace of the metric.</p>
*/
inline const Aws::String& GetNamespace() const{ return m_namespace; }
/**
* <p>The namespace of the metric.</p>
*/
inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; }
/**
* <p>The namespace of the metric.</p>
*/
inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; }
/**
* <p>The namespace of the metric.</p>
*/
inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); }
/**
* <p>The namespace of the metric.</p>
*/
inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); }
/**
* <p>The namespace of the metric.</p>
*/
inline DescribeAlarmsForMetricRequest& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;}
/**
* <p>The namespace of the metric.</p>
*/
inline DescribeAlarmsForMetricRequest& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;}
/**
* <p>The namespace of the metric.</p>
*/
inline DescribeAlarmsForMetricRequest& WithNamespace(const char* value) { SetNamespace(value); return *this;}
/**
* <p>The statistic for the metric, other than percentiles. For percentile
* statistics, use <code>ExtendedStatistics</code>.</p>
*/
inline const Statistic& GetStatistic() const{ return m_statistic; }
/**
* <p>The statistic for the metric, other than percentiles. For percentile
* statistics, use <code>ExtendedStatistics</code>.</p>
*/
inline bool StatisticHasBeenSet() const { return m_statisticHasBeenSet; }
/**
* <p>The statistic for the metric, other than percentiles. For percentile
* statistics, use <code>ExtendedStatistics</code>.</p>
*/
inline void SetStatistic(const Statistic& value) { m_statisticHasBeenSet = true; m_statistic = value; }
/**
* <p>The statistic for the metric, other than percentiles. For percentile
* statistics, use <code>ExtendedStatistics</code>.</p>
*/
inline void SetStatistic(Statistic&& value) { m_statisticHasBeenSet = true; m_statistic = std::move(value); }
/**
* <p>The statistic for the metric, other than percentiles. For percentile
* statistics, use <code>ExtendedStatistics</code>.</p>
*/
inline DescribeAlarmsForMetricRequest& WithStatistic(const Statistic& value) { SetStatistic(value); return *this;}
/**
* <p>The statistic for the metric, other than percentiles. For percentile
* statistics, use <code>ExtendedStatistics</code>.</p>
*/
inline DescribeAlarmsForMetricRequest& WithStatistic(Statistic&& value) { SetStatistic(std::move(value)); return *this;}
/**
* <p>The percentile statistic for the metric. Specify a value between p0.0 and
* p100.</p>
*/
inline const Aws::String& GetExtendedStatistic() const{ return m_extendedStatistic; }
/**
* <p>The percentile statistic for the metric. Specify a value between p0.0 and
* p100.</p>
*/
inline bool ExtendedStatisticHasBeenSet() const { return m_extendedStatisticHasBeenSet; }
/**
* <p>The percentile statistic for the metric. Specify a value between p0.0 and
* p100.</p>
*/
inline void SetExtendedStatistic(const Aws::String& value) { m_extendedStatisticHasBeenSet = true; m_extendedStatistic = value; }
/**
* <p>The percentile statistic for the metric. Specify a value between p0.0 and
* p100.</p>
*/
inline void SetExtendedStatistic(Aws::String&& value) { m_extendedStatisticHasBeenSet = true; m_extendedStatistic = std::move(value); }
/**
* <p>The percentile statistic for the metric. Specify a value between p0.0 and
* p100.</p>
*/
inline void SetExtendedStatistic(const char* value) { m_extendedStatisticHasBeenSet = true; m_extendedStatistic.assign(value); }
/**
* <p>The percentile statistic for the metric. Specify a value between p0.0 and
* p100.</p>
*/
inline DescribeAlarmsForMetricRequest& WithExtendedStatistic(const Aws::String& value) { SetExtendedStatistic(value); return *this;}
/**
* <p>The percentile statistic for the metric. Specify a value between p0.0 and
* p100.</p>
*/
inline DescribeAlarmsForMetricRequest& WithExtendedStatistic(Aws::String&& value) { SetExtendedStatistic(std::move(value)); return *this;}
/**
* <p>The percentile statistic for the metric. Specify a value between p0.0 and
* p100.</p>
*/
inline DescribeAlarmsForMetricRequest& WithExtendedStatistic(const char* value) { SetExtendedStatistic(value); return *this;}
/**
* <p>The dimensions associated with the metric. If the metric has any associated
* dimensions, you must specify them in order for the call to succeed.</p>
*/
inline const Aws::Vector<Dimension>& GetDimensions() const{ return m_dimensions; }
/**
* <p>The dimensions associated with the metric. If the metric has any associated
* dimensions, you must specify them in order for the call to succeed.</p>
*/
inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
/**
* <p>The dimensions associated with the metric. If the metric has any associated
* dimensions, you must specify them in order for the call to succeed.</p>
*/
inline void SetDimensions(const Aws::Vector<Dimension>& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; }
/**
* <p>The dimensions associated with the metric. If the metric has any associated
* dimensions, you must specify them in order for the call to succeed.</p>
*/
inline void SetDimensions(Aws::Vector<Dimension>&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); }
/**
* <p>The dimensions associated with the metric. If the metric has any associated
* dimensions, you must specify them in order for the call to succeed.</p>
*/
inline DescribeAlarmsForMetricRequest& WithDimensions(const Aws::Vector<Dimension>& value) { SetDimensions(value); return *this;}
/**
* <p>The dimensions associated with the metric. If the metric has any associated
* dimensions, you must specify them in order for the call to succeed.</p>
*/
inline DescribeAlarmsForMetricRequest& WithDimensions(Aws::Vector<Dimension>&& value) { SetDimensions(std::move(value)); return *this;}
/**
* <p>The dimensions associated with the metric. If the metric has any associated
* dimensions, you must specify them in order for the call to succeed.</p>
*/
inline DescribeAlarmsForMetricRequest& AddDimensions(const Dimension& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; }
/**
* <p>The dimensions associated with the metric. If the metric has any associated
* dimensions, you must specify them in order for the call to succeed.</p>
*/
inline DescribeAlarmsForMetricRequest& AddDimensions(Dimension&& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(std::move(value)); return *this; }
/**
* <p>The period, in seconds, over which the statistic is applied.</p>
*/
inline int GetPeriod() const{ return m_period; }
/**
* <p>The period, in seconds, over which the statistic is applied.</p>
*/
inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
/**
* <p>The period, in seconds, over which the statistic is applied.</p>
*/
inline void SetPeriod(int value) { m_periodHasBeenSet = true; m_period = value; }
/**
* <p>The period, in seconds, over which the statistic is applied.</p>
*/
inline DescribeAlarmsForMetricRequest& WithPeriod(int value) { SetPeriod(value); return *this;}
/**
* <p>The unit for the metric.</p>
*/
inline const StandardUnit& GetUnit() const{ return m_unit; }
/**
* <p>The unit for the metric.</p>
*/
inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; }
/**
* <p>The unit for the metric.</p>
*/
inline void SetUnit(const StandardUnit& value) { m_unitHasBeenSet = true; m_unit = value; }
/**
* <p>The unit for the metric.</p>
*/
inline void SetUnit(StandardUnit&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); }
/**
* <p>The unit for the metric.</p>
*/
inline DescribeAlarmsForMetricRequest& WithUnit(const StandardUnit& value) { SetUnit(value); return *this;}
/**
* <p>The unit for the metric.</p>
*/
inline DescribeAlarmsForMetricRequest& WithUnit(StandardUnit&& value) { SetUnit(std::move(value)); return *this;}
private:
Aws::String m_metricName;
bool m_metricNameHasBeenSet;
Aws::String m_namespace;
bool m_namespaceHasBeenSet;
Statistic m_statistic;
bool m_statisticHasBeenSet;
Aws::String m_extendedStatistic;
bool m_extendedStatisticHasBeenSet;
Aws::Vector<Dimension> m_dimensions;
bool m_dimensionsHasBeenSet;
int m_period;
bool m_periodHasBeenSet;
StandardUnit m_unit;
bool m_unitHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,97 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <aws/monitoring/model/MetricAlarm.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API DescribeAlarmsForMetricResult
{
public:
DescribeAlarmsForMetricResult();
DescribeAlarmsForMetricResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
DescribeAlarmsForMetricResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
/**
* <p>The information for each alarm with the specified metric.</p>
*/
inline const Aws::Vector<MetricAlarm>& GetMetricAlarms() const{ return m_metricAlarms; }
/**
* <p>The information for each alarm with the specified metric.</p>
*/
inline void SetMetricAlarms(const Aws::Vector<MetricAlarm>& value) { m_metricAlarms = value; }
/**
* <p>The information for each alarm with the specified metric.</p>
*/
inline void SetMetricAlarms(Aws::Vector<MetricAlarm>&& value) { m_metricAlarms = std::move(value); }
/**
* <p>The information for each alarm with the specified metric.</p>
*/
inline DescribeAlarmsForMetricResult& WithMetricAlarms(const Aws::Vector<MetricAlarm>& value) { SetMetricAlarms(value); return *this;}
/**
* <p>The information for each alarm with the specified metric.</p>
*/
inline DescribeAlarmsForMetricResult& WithMetricAlarms(Aws::Vector<MetricAlarm>&& value) { SetMetricAlarms(std::move(value)); return *this;}
/**
* <p>The information for each alarm with the specified metric.</p>
*/
inline DescribeAlarmsForMetricResult& AddMetricAlarms(const MetricAlarm& value) { m_metricAlarms.push_back(value); return *this; }
/**
* <p>The information for each alarm with the specified metric.</p>
*/
inline DescribeAlarmsForMetricResult& AddMetricAlarms(MetricAlarm&& value) { m_metricAlarms.push_back(std::move(value)); return *this; }
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline DescribeAlarmsForMetricResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline DescribeAlarmsForMetricResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
Aws::Vector<MetricAlarm> m_metricAlarms;
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,679 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/monitoring/model/StateValue.h>
#include <aws/monitoring/model/AlarmType.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API DescribeAlarmsRequest : public CloudWatchRequest
{
public:
DescribeAlarmsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeAlarms"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The names of the alarms to retrieve information about.</p>
*/
inline const Aws::Vector<Aws::String>& GetAlarmNames() const{ return m_alarmNames; }
/**
* <p>The names of the alarms to retrieve information about.</p>
*/
inline bool AlarmNamesHasBeenSet() const { return m_alarmNamesHasBeenSet; }
/**
* <p>The names of the alarms to retrieve information about.</p>
*/
inline void SetAlarmNames(const Aws::Vector<Aws::String>& value) { m_alarmNamesHasBeenSet = true; m_alarmNames = value; }
/**
* <p>The names of the alarms to retrieve information about.</p>
*/
inline void SetAlarmNames(Aws::Vector<Aws::String>&& value) { m_alarmNamesHasBeenSet = true; m_alarmNames = std::move(value); }
/**
* <p>The names of the alarms to retrieve information about.</p>
*/
inline DescribeAlarmsRequest& WithAlarmNames(const Aws::Vector<Aws::String>& value) { SetAlarmNames(value); return *this;}
/**
* <p>The names of the alarms to retrieve information about.</p>
*/
inline DescribeAlarmsRequest& WithAlarmNames(Aws::Vector<Aws::String>&& value) { SetAlarmNames(std::move(value)); return *this;}
/**
* <p>The names of the alarms to retrieve information about.</p>
*/
inline DescribeAlarmsRequest& AddAlarmNames(const Aws::String& value) { m_alarmNamesHasBeenSet = true; m_alarmNames.push_back(value); return *this; }
/**
* <p>The names of the alarms to retrieve information about.</p>
*/
inline DescribeAlarmsRequest& AddAlarmNames(Aws::String&& value) { m_alarmNamesHasBeenSet = true; m_alarmNames.push_back(std::move(value)); return *this; }
/**
* <p>The names of the alarms to retrieve information about.</p>
*/
inline DescribeAlarmsRequest& AddAlarmNames(const char* value) { m_alarmNamesHasBeenSet = true; m_alarmNames.push_back(value); return *this; }
/**
* <p>An alarm name prefix. If you specify this parameter, you receive information
* about all alarms that have names that start with this prefix.</p> <p>If this
* parameter is specified, you cannot specify <code>AlarmNames</code>.</p>
*/
inline const Aws::String& GetAlarmNamePrefix() const{ return m_alarmNamePrefix; }
/**
* <p>An alarm name prefix. If you specify this parameter, you receive information
* about all alarms that have names that start with this prefix.</p> <p>If this
* parameter is specified, you cannot specify <code>AlarmNames</code>.</p>
*/
inline bool AlarmNamePrefixHasBeenSet() const { return m_alarmNamePrefixHasBeenSet; }
/**
* <p>An alarm name prefix. If you specify this parameter, you receive information
* about all alarms that have names that start with this prefix.</p> <p>If this
* parameter is specified, you cannot specify <code>AlarmNames</code>.</p>
*/
inline void SetAlarmNamePrefix(const Aws::String& value) { m_alarmNamePrefixHasBeenSet = true; m_alarmNamePrefix = value; }
/**
* <p>An alarm name prefix. If you specify this parameter, you receive information
* about all alarms that have names that start with this prefix.</p> <p>If this
* parameter is specified, you cannot specify <code>AlarmNames</code>.</p>
*/
inline void SetAlarmNamePrefix(Aws::String&& value) { m_alarmNamePrefixHasBeenSet = true; m_alarmNamePrefix = std::move(value); }
/**
* <p>An alarm name prefix. If you specify this parameter, you receive information
* about all alarms that have names that start with this prefix.</p> <p>If this
* parameter is specified, you cannot specify <code>AlarmNames</code>.</p>
*/
inline void SetAlarmNamePrefix(const char* value) { m_alarmNamePrefixHasBeenSet = true; m_alarmNamePrefix.assign(value); }
/**
* <p>An alarm name prefix. If you specify this parameter, you receive information
* about all alarms that have names that start with this prefix.</p> <p>If this
* parameter is specified, you cannot specify <code>AlarmNames</code>.</p>
*/
inline DescribeAlarmsRequest& WithAlarmNamePrefix(const Aws::String& value) { SetAlarmNamePrefix(value); return *this;}
/**
* <p>An alarm name prefix. If you specify this parameter, you receive information
* about all alarms that have names that start with this prefix.</p> <p>If this
* parameter is specified, you cannot specify <code>AlarmNames</code>.</p>
*/
inline DescribeAlarmsRequest& WithAlarmNamePrefix(Aws::String&& value) { SetAlarmNamePrefix(std::move(value)); return *this;}
/**
* <p>An alarm name prefix. If you specify this parameter, you receive information
* about all alarms that have names that start with this prefix.</p> <p>If this
* parameter is specified, you cannot specify <code>AlarmNames</code>.</p>
*/
inline DescribeAlarmsRequest& WithAlarmNamePrefix(const char* value) { SetAlarmNamePrefix(value); return *this;}
/**
* <p>Use this parameter to specify whether you want the operation to return metric
* alarms or composite alarms. If you omit this parameter, only metric alarms are
* returned.</p>
*/
inline const Aws::Vector<AlarmType>& GetAlarmTypes() const{ return m_alarmTypes; }
/**
* <p>Use this parameter to specify whether you want the operation to return metric
* alarms or composite alarms. If you omit this parameter, only metric alarms are
* returned.</p>
*/
inline bool AlarmTypesHasBeenSet() const { return m_alarmTypesHasBeenSet; }
/**
* <p>Use this parameter to specify whether you want the operation to return metric
* alarms or composite alarms. If you omit this parameter, only metric alarms are
* returned.</p>
*/
inline void SetAlarmTypes(const Aws::Vector<AlarmType>& value) { m_alarmTypesHasBeenSet = true; m_alarmTypes = value; }
/**
* <p>Use this parameter to specify whether you want the operation to return metric
* alarms or composite alarms. If you omit this parameter, only metric alarms are
* returned.</p>
*/
inline void SetAlarmTypes(Aws::Vector<AlarmType>&& value) { m_alarmTypesHasBeenSet = true; m_alarmTypes = std::move(value); }
/**
* <p>Use this parameter to specify whether you want the operation to return metric
* alarms or composite alarms. If you omit this parameter, only metric alarms are
* returned.</p>
*/
inline DescribeAlarmsRequest& WithAlarmTypes(const Aws::Vector<AlarmType>& value) { SetAlarmTypes(value); return *this;}
/**
* <p>Use this parameter to specify whether you want the operation to return metric
* alarms or composite alarms. If you omit this parameter, only metric alarms are
* returned.</p>
*/
inline DescribeAlarmsRequest& WithAlarmTypes(Aws::Vector<AlarmType>&& value) { SetAlarmTypes(std::move(value)); return *this;}
/**
* <p>Use this parameter to specify whether you want the operation to return metric
* alarms or composite alarms. If you omit this parameter, only metric alarms are
* returned.</p>
*/
inline DescribeAlarmsRequest& AddAlarmTypes(const AlarmType& value) { m_alarmTypesHasBeenSet = true; m_alarmTypes.push_back(value); return *this; }
/**
* <p>Use this parameter to specify whether you want the operation to return metric
* alarms or composite alarms. If you omit this parameter, only metric alarms are
* returned.</p>
*/
inline DescribeAlarmsRequest& AddAlarmTypes(AlarmType&& value) { m_alarmTypesHasBeenSet = true; m_alarmTypes.push_back(std::move(value)); return *this; }
/**
* <p>If you use this parameter and specify the name of a composite alarm, the
* operation returns information about the "children" alarms of the alarm you
* specify. These are the metric alarms and composite alarms referenced in the
* <code>AlarmRule</code> field of the composite alarm that you specify in
* <code>ChildrenOfAlarmName</code>. Information about the composite alarm that you
* name in <code>ChildrenOfAlarmName</code> is not returned.</p> <p>If you specify
* <code>ChildrenOfAlarmName</code>, you cannot specify any other parameters in the
* request except for <code>MaxRecords</code> and <code>NextToken</code>. If you do
* so, you receive a validation error.</p> <p>Only the <code>Alarm
* Name</code>, <code>ARN</code>, <code>StateValue</code>
* (OK/ALARM/INSUFFICIENT_DATA), and <code>StateUpdatedTimestamp</code> information
* are returned by this operation when you use this parameter. To get complete
* information about these alarms, perform another <code>DescribeAlarms</code>
* operation and specify the parent alarm names in the <code>AlarmNames</code>
* parameter.</p>
*/
inline const Aws::String& GetChildrenOfAlarmName() const{ return m_childrenOfAlarmName; }
/**
* <p>If you use this parameter and specify the name of a composite alarm, the
* operation returns information about the "children" alarms of the alarm you
* specify. These are the metric alarms and composite alarms referenced in the
* <code>AlarmRule</code> field of the composite alarm that you specify in
* <code>ChildrenOfAlarmName</code>. Information about the composite alarm that you
* name in <code>ChildrenOfAlarmName</code> is not returned.</p> <p>If you specify
* <code>ChildrenOfAlarmName</code>, you cannot specify any other parameters in the
* request except for <code>MaxRecords</code> and <code>NextToken</code>. If you do
* so, you receive a validation error.</p> <p>Only the <code>Alarm
* Name</code>, <code>ARN</code>, <code>StateValue</code>
* (OK/ALARM/INSUFFICIENT_DATA), and <code>StateUpdatedTimestamp</code> information
* are returned by this operation when you use this parameter. To get complete
* information about these alarms, perform another <code>DescribeAlarms</code>
* operation and specify the parent alarm names in the <code>AlarmNames</code>
* parameter.</p>
*/
inline bool ChildrenOfAlarmNameHasBeenSet() const { return m_childrenOfAlarmNameHasBeenSet; }
/**
* <p>If you use this parameter and specify the name of a composite alarm, the
* operation returns information about the "children" alarms of the alarm you
* specify. These are the metric alarms and composite alarms referenced in the
* <code>AlarmRule</code> field of the composite alarm that you specify in
* <code>ChildrenOfAlarmName</code>. Information about the composite alarm that you
* name in <code>ChildrenOfAlarmName</code> is not returned.</p> <p>If you specify
* <code>ChildrenOfAlarmName</code>, you cannot specify any other parameters in the
* request except for <code>MaxRecords</code> and <code>NextToken</code>. If you do
* so, you receive a validation error.</p> <p>Only the <code>Alarm
* Name</code>, <code>ARN</code>, <code>StateValue</code>
* (OK/ALARM/INSUFFICIENT_DATA), and <code>StateUpdatedTimestamp</code> information
* are returned by this operation when you use this parameter. To get complete
* information about these alarms, perform another <code>DescribeAlarms</code>
* operation and specify the parent alarm names in the <code>AlarmNames</code>
* parameter.</p>
*/
inline void SetChildrenOfAlarmName(const Aws::String& value) { m_childrenOfAlarmNameHasBeenSet = true; m_childrenOfAlarmName = value; }
/**
* <p>If you use this parameter and specify the name of a composite alarm, the
* operation returns information about the "children" alarms of the alarm you
* specify. These are the metric alarms and composite alarms referenced in the
* <code>AlarmRule</code> field of the composite alarm that you specify in
* <code>ChildrenOfAlarmName</code>. Information about the composite alarm that you
* name in <code>ChildrenOfAlarmName</code> is not returned.</p> <p>If you specify
* <code>ChildrenOfAlarmName</code>, you cannot specify any other parameters in the
* request except for <code>MaxRecords</code> and <code>NextToken</code>. If you do
* so, you receive a validation error.</p> <p>Only the <code>Alarm
* Name</code>, <code>ARN</code>, <code>StateValue</code>
* (OK/ALARM/INSUFFICIENT_DATA), and <code>StateUpdatedTimestamp</code> information
* are returned by this operation when you use this parameter. To get complete
* information about these alarms, perform another <code>DescribeAlarms</code>
* operation and specify the parent alarm names in the <code>AlarmNames</code>
* parameter.</p>
*/
inline void SetChildrenOfAlarmName(Aws::String&& value) { m_childrenOfAlarmNameHasBeenSet = true; m_childrenOfAlarmName = std::move(value); }
/**
* <p>If you use this parameter and specify the name of a composite alarm, the
* operation returns information about the "children" alarms of the alarm you
* specify. These are the metric alarms and composite alarms referenced in the
* <code>AlarmRule</code> field of the composite alarm that you specify in
* <code>ChildrenOfAlarmName</code>. Information about the composite alarm that you
* name in <code>ChildrenOfAlarmName</code> is not returned.</p> <p>If you specify
* <code>ChildrenOfAlarmName</code>, you cannot specify any other parameters in the
* request except for <code>MaxRecords</code> and <code>NextToken</code>. If you do
* so, you receive a validation error.</p> <p>Only the <code>Alarm
* Name</code>, <code>ARN</code>, <code>StateValue</code>
* (OK/ALARM/INSUFFICIENT_DATA), and <code>StateUpdatedTimestamp</code> information
* are returned by this operation when you use this parameter. To get complete
* information about these alarms, perform another <code>DescribeAlarms</code>
* operation and specify the parent alarm names in the <code>AlarmNames</code>
* parameter.</p>
*/
inline void SetChildrenOfAlarmName(const char* value) { m_childrenOfAlarmNameHasBeenSet = true; m_childrenOfAlarmName.assign(value); }
/**
* <p>If you use this parameter and specify the name of a composite alarm, the
* operation returns information about the "children" alarms of the alarm you
* specify. These are the metric alarms and composite alarms referenced in the
* <code>AlarmRule</code> field of the composite alarm that you specify in
* <code>ChildrenOfAlarmName</code>. Information about the composite alarm that you
* name in <code>ChildrenOfAlarmName</code> is not returned.</p> <p>If you specify
* <code>ChildrenOfAlarmName</code>, you cannot specify any other parameters in the
* request except for <code>MaxRecords</code> and <code>NextToken</code>. If you do
* so, you receive a validation error.</p> <p>Only the <code>Alarm
* Name</code>, <code>ARN</code>, <code>StateValue</code>
* (OK/ALARM/INSUFFICIENT_DATA), and <code>StateUpdatedTimestamp</code> information
* are returned by this operation when you use this parameter. To get complete
* information about these alarms, perform another <code>DescribeAlarms</code>
* operation and specify the parent alarm names in the <code>AlarmNames</code>
* parameter.</p>
*/
inline DescribeAlarmsRequest& WithChildrenOfAlarmName(const Aws::String& value) { SetChildrenOfAlarmName(value); return *this;}
/**
* <p>If you use this parameter and specify the name of a composite alarm, the
* operation returns information about the "children" alarms of the alarm you
* specify. These are the metric alarms and composite alarms referenced in the
* <code>AlarmRule</code> field of the composite alarm that you specify in
* <code>ChildrenOfAlarmName</code>. Information about the composite alarm that you
* name in <code>ChildrenOfAlarmName</code> is not returned.</p> <p>If you specify
* <code>ChildrenOfAlarmName</code>, you cannot specify any other parameters in the
* request except for <code>MaxRecords</code> and <code>NextToken</code>. If you do
* so, you receive a validation error.</p> <p>Only the <code>Alarm
* Name</code>, <code>ARN</code>, <code>StateValue</code>
* (OK/ALARM/INSUFFICIENT_DATA), and <code>StateUpdatedTimestamp</code> information
* are returned by this operation when you use this parameter. To get complete
* information about these alarms, perform another <code>DescribeAlarms</code>
* operation and specify the parent alarm names in the <code>AlarmNames</code>
* parameter.</p>
*/
inline DescribeAlarmsRequest& WithChildrenOfAlarmName(Aws::String&& value) { SetChildrenOfAlarmName(std::move(value)); return *this;}
/**
* <p>If you use this parameter and specify the name of a composite alarm, the
* operation returns information about the "children" alarms of the alarm you
* specify. These are the metric alarms and composite alarms referenced in the
* <code>AlarmRule</code> field of the composite alarm that you specify in
* <code>ChildrenOfAlarmName</code>. Information about the composite alarm that you
* name in <code>ChildrenOfAlarmName</code> is not returned.</p> <p>If you specify
* <code>ChildrenOfAlarmName</code>, you cannot specify any other parameters in the
* request except for <code>MaxRecords</code> and <code>NextToken</code>. If you do
* so, you receive a validation error.</p> <p>Only the <code>Alarm
* Name</code>, <code>ARN</code>, <code>StateValue</code>
* (OK/ALARM/INSUFFICIENT_DATA), and <code>StateUpdatedTimestamp</code> information
* are returned by this operation when you use this parameter. To get complete
* information about these alarms, perform another <code>DescribeAlarms</code>
* operation and specify the parent alarm names in the <code>AlarmNames</code>
* parameter.</p>
*/
inline DescribeAlarmsRequest& WithChildrenOfAlarmName(const char* value) { SetChildrenOfAlarmName(value); return *this;}
/**
* <p>If you use this parameter and specify the name of a metric or composite
* alarm, the operation returns information about the "parent" alarms of the alarm
* you specify. These are the composite alarms that have <code>AlarmRule</code>
* parameters that reference the alarm named in <code>ParentsOfAlarmName</code>.
* Information about the alarm that you specify in <code>ParentsOfAlarmName</code>
* is not returned.</p> <p>If you specify <code>ParentsOfAlarmName</code>, you
* cannot specify any other parameters in the request except for
* <code>MaxRecords</code> and <code>NextToken</code>. If you do so, you receive a
* validation error.</p> <p>Only the Alarm Name and ARN are returned by this
* operation when you use this parameter. To get complete information about these
* alarms, perform another <code>DescribeAlarms</code> operation and specify the
* parent alarm names in the <code>AlarmNames</code> parameter.</p>
*/
inline const Aws::String& GetParentsOfAlarmName() const{ return m_parentsOfAlarmName; }
/**
* <p>If you use this parameter and specify the name of a metric or composite
* alarm, the operation returns information about the "parent" alarms of the alarm
* you specify. These are the composite alarms that have <code>AlarmRule</code>
* parameters that reference the alarm named in <code>ParentsOfAlarmName</code>.
* Information about the alarm that you specify in <code>ParentsOfAlarmName</code>
* is not returned.</p> <p>If you specify <code>ParentsOfAlarmName</code>, you
* cannot specify any other parameters in the request except for
* <code>MaxRecords</code> and <code>NextToken</code>. If you do so, you receive a
* validation error.</p> <p>Only the Alarm Name and ARN are returned by this
* operation when you use this parameter. To get complete information about these
* alarms, perform another <code>DescribeAlarms</code> operation and specify the
* parent alarm names in the <code>AlarmNames</code> parameter.</p>
*/
inline bool ParentsOfAlarmNameHasBeenSet() const { return m_parentsOfAlarmNameHasBeenSet; }
/**
* <p>If you use this parameter and specify the name of a metric or composite
* alarm, the operation returns information about the "parent" alarms of the alarm
* you specify. These are the composite alarms that have <code>AlarmRule</code>
* parameters that reference the alarm named in <code>ParentsOfAlarmName</code>.
* Information about the alarm that you specify in <code>ParentsOfAlarmName</code>
* is not returned.</p> <p>If you specify <code>ParentsOfAlarmName</code>, you
* cannot specify any other parameters in the request except for
* <code>MaxRecords</code> and <code>NextToken</code>. If you do so, you receive a
* validation error.</p> <p>Only the Alarm Name and ARN are returned by this
* operation when you use this parameter. To get complete information about these
* alarms, perform another <code>DescribeAlarms</code> operation and specify the
* parent alarm names in the <code>AlarmNames</code> parameter.</p>
*/
inline void SetParentsOfAlarmName(const Aws::String& value) { m_parentsOfAlarmNameHasBeenSet = true; m_parentsOfAlarmName = value; }
/**
* <p>If you use this parameter and specify the name of a metric or composite
* alarm, the operation returns information about the "parent" alarms of the alarm
* you specify. These are the composite alarms that have <code>AlarmRule</code>
* parameters that reference the alarm named in <code>ParentsOfAlarmName</code>.
* Information about the alarm that you specify in <code>ParentsOfAlarmName</code>
* is not returned.</p> <p>If you specify <code>ParentsOfAlarmName</code>, you
* cannot specify any other parameters in the request except for
* <code>MaxRecords</code> and <code>NextToken</code>. If you do so, you receive a
* validation error.</p> <p>Only the Alarm Name and ARN are returned by this
* operation when you use this parameter. To get complete information about these
* alarms, perform another <code>DescribeAlarms</code> operation and specify the
* parent alarm names in the <code>AlarmNames</code> parameter.</p>
*/
inline void SetParentsOfAlarmName(Aws::String&& value) { m_parentsOfAlarmNameHasBeenSet = true; m_parentsOfAlarmName = std::move(value); }
/**
* <p>If you use this parameter and specify the name of a metric or composite
* alarm, the operation returns information about the "parent" alarms of the alarm
* you specify. These are the composite alarms that have <code>AlarmRule</code>
* parameters that reference the alarm named in <code>ParentsOfAlarmName</code>.
* Information about the alarm that you specify in <code>ParentsOfAlarmName</code>
* is not returned.</p> <p>If you specify <code>ParentsOfAlarmName</code>, you
* cannot specify any other parameters in the request except for
* <code>MaxRecords</code> and <code>NextToken</code>. If you do so, you receive a
* validation error.</p> <p>Only the Alarm Name and ARN are returned by this
* operation when you use this parameter. To get complete information about these
* alarms, perform another <code>DescribeAlarms</code> operation and specify the
* parent alarm names in the <code>AlarmNames</code> parameter.</p>
*/
inline void SetParentsOfAlarmName(const char* value) { m_parentsOfAlarmNameHasBeenSet = true; m_parentsOfAlarmName.assign(value); }
/**
* <p>If you use this parameter and specify the name of a metric or composite
* alarm, the operation returns information about the "parent" alarms of the alarm
* you specify. These are the composite alarms that have <code>AlarmRule</code>
* parameters that reference the alarm named in <code>ParentsOfAlarmName</code>.
* Information about the alarm that you specify in <code>ParentsOfAlarmName</code>
* is not returned.</p> <p>If you specify <code>ParentsOfAlarmName</code>, you
* cannot specify any other parameters in the request except for
* <code>MaxRecords</code> and <code>NextToken</code>. If you do so, you receive a
* validation error.</p> <p>Only the Alarm Name and ARN are returned by this
* operation when you use this parameter. To get complete information about these
* alarms, perform another <code>DescribeAlarms</code> operation and specify the
* parent alarm names in the <code>AlarmNames</code> parameter.</p>
*/
inline DescribeAlarmsRequest& WithParentsOfAlarmName(const Aws::String& value) { SetParentsOfAlarmName(value); return *this;}
/**
* <p>If you use this parameter and specify the name of a metric or composite
* alarm, the operation returns information about the "parent" alarms of the alarm
* you specify. These are the composite alarms that have <code>AlarmRule</code>
* parameters that reference the alarm named in <code>ParentsOfAlarmName</code>.
* Information about the alarm that you specify in <code>ParentsOfAlarmName</code>
* is not returned.</p> <p>If you specify <code>ParentsOfAlarmName</code>, you
* cannot specify any other parameters in the request except for
* <code>MaxRecords</code> and <code>NextToken</code>. If you do so, you receive a
* validation error.</p> <p>Only the Alarm Name and ARN are returned by this
* operation when you use this parameter. To get complete information about these
* alarms, perform another <code>DescribeAlarms</code> operation and specify the
* parent alarm names in the <code>AlarmNames</code> parameter.</p>
*/
inline DescribeAlarmsRequest& WithParentsOfAlarmName(Aws::String&& value) { SetParentsOfAlarmName(std::move(value)); return *this;}
/**
* <p>If you use this parameter and specify the name of a metric or composite
* alarm, the operation returns information about the "parent" alarms of the alarm
* you specify. These are the composite alarms that have <code>AlarmRule</code>
* parameters that reference the alarm named in <code>ParentsOfAlarmName</code>.
* Information about the alarm that you specify in <code>ParentsOfAlarmName</code>
* is not returned.</p> <p>If you specify <code>ParentsOfAlarmName</code>, you
* cannot specify any other parameters in the request except for
* <code>MaxRecords</code> and <code>NextToken</code>. If you do so, you receive a
* validation error.</p> <p>Only the Alarm Name and ARN are returned by this
* operation when you use this parameter. To get complete information about these
* alarms, perform another <code>DescribeAlarms</code> operation and specify the
* parent alarm names in the <code>AlarmNames</code> parameter.</p>
*/
inline DescribeAlarmsRequest& WithParentsOfAlarmName(const char* value) { SetParentsOfAlarmName(value); return *this;}
/**
* <p>Specify this parameter to receive information only about alarms that are
* currently in the state that you specify.</p>
*/
inline const StateValue& GetStateValue() const{ return m_stateValue; }
/**
* <p>Specify this parameter to receive information only about alarms that are
* currently in the state that you specify.</p>
*/
inline bool StateValueHasBeenSet() const { return m_stateValueHasBeenSet; }
/**
* <p>Specify this parameter to receive information only about alarms that are
* currently in the state that you specify.</p>
*/
inline void SetStateValue(const StateValue& value) { m_stateValueHasBeenSet = true; m_stateValue = value; }
/**
* <p>Specify this parameter to receive information only about alarms that are
* currently in the state that you specify.</p>
*/
inline void SetStateValue(StateValue&& value) { m_stateValueHasBeenSet = true; m_stateValue = std::move(value); }
/**
* <p>Specify this parameter to receive information only about alarms that are
* currently in the state that you specify.</p>
*/
inline DescribeAlarmsRequest& WithStateValue(const StateValue& value) { SetStateValue(value); return *this;}
/**
* <p>Specify this parameter to receive information only about alarms that are
* currently in the state that you specify.</p>
*/
inline DescribeAlarmsRequest& WithStateValue(StateValue&& value) { SetStateValue(std::move(value)); return *this;}
/**
* <p>Use this parameter to filter the results of the operation to only those
* alarms that use a certain alarm action. For example, you could specify the ARN
* of an SNS topic to find all alarms that send notifications to that topic.</p>
*/
inline const Aws::String& GetActionPrefix() const{ return m_actionPrefix; }
/**
* <p>Use this parameter to filter the results of the operation to only those
* alarms that use a certain alarm action. For example, you could specify the ARN
* of an SNS topic to find all alarms that send notifications to that topic.</p>
*/
inline bool ActionPrefixHasBeenSet() const { return m_actionPrefixHasBeenSet; }
/**
* <p>Use this parameter to filter the results of the operation to only those
* alarms that use a certain alarm action. For example, you could specify the ARN
* of an SNS topic to find all alarms that send notifications to that topic.</p>
*/
inline void SetActionPrefix(const Aws::String& value) { m_actionPrefixHasBeenSet = true; m_actionPrefix = value; }
/**
* <p>Use this parameter to filter the results of the operation to only those
* alarms that use a certain alarm action. For example, you could specify the ARN
* of an SNS topic to find all alarms that send notifications to that topic.</p>
*/
inline void SetActionPrefix(Aws::String&& value) { m_actionPrefixHasBeenSet = true; m_actionPrefix = std::move(value); }
/**
* <p>Use this parameter to filter the results of the operation to only those
* alarms that use a certain alarm action. For example, you could specify the ARN
* of an SNS topic to find all alarms that send notifications to that topic.</p>
*/
inline void SetActionPrefix(const char* value) { m_actionPrefixHasBeenSet = true; m_actionPrefix.assign(value); }
/**
* <p>Use this parameter to filter the results of the operation to only those
* alarms that use a certain alarm action. For example, you could specify the ARN
* of an SNS topic to find all alarms that send notifications to that topic.</p>
*/
inline DescribeAlarmsRequest& WithActionPrefix(const Aws::String& value) { SetActionPrefix(value); return *this;}
/**
* <p>Use this parameter to filter the results of the operation to only those
* alarms that use a certain alarm action. For example, you could specify the ARN
* of an SNS topic to find all alarms that send notifications to that topic.</p>
*/
inline DescribeAlarmsRequest& WithActionPrefix(Aws::String&& value) { SetActionPrefix(std::move(value)); return *this;}
/**
* <p>Use this parameter to filter the results of the operation to only those
* alarms that use a certain alarm action. For example, you could specify the ARN
* of an SNS topic to find all alarms that send notifications to that topic.</p>
*/
inline DescribeAlarmsRequest& WithActionPrefix(const char* value) { SetActionPrefix(value); return *this;}
/**
* <p>The maximum number of alarm descriptions to retrieve.</p>
*/
inline int GetMaxRecords() const{ return m_maxRecords; }
/**
* <p>The maximum number of alarm descriptions to retrieve.</p>
*/
inline bool MaxRecordsHasBeenSet() const { return m_maxRecordsHasBeenSet; }
/**
* <p>The maximum number of alarm descriptions to retrieve.</p>
*/
inline void SetMaxRecords(int value) { m_maxRecordsHasBeenSet = true; m_maxRecords = value; }
/**
* <p>The maximum number of alarm descriptions to retrieve.</p>
*/
inline DescribeAlarmsRequest& WithMaxRecords(int value) { SetMaxRecords(value); return *this;}
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline DescribeAlarmsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline DescribeAlarmsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline DescribeAlarmsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Aws::String> m_alarmNames;
bool m_alarmNamesHasBeenSet;
Aws::String m_alarmNamePrefix;
bool m_alarmNamePrefixHasBeenSet;
Aws::Vector<AlarmType> m_alarmTypes;
bool m_alarmTypesHasBeenSet;
Aws::String m_childrenOfAlarmName;
bool m_childrenOfAlarmNameHasBeenSet;
Aws::String m_parentsOfAlarmName;
bool m_parentsOfAlarmNameHasBeenSet;
StateValue m_stateValue;
bool m_stateValueHasBeenSet;
Aws::String m_actionPrefix;
bool m_actionPrefixHasBeenSet;
int m_maxRecords;
bool m_maxRecordsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,175 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <aws/monitoring/model/CompositeAlarm.h>
#include <aws/monitoring/model/MetricAlarm.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API DescribeAlarmsResult
{
public:
DescribeAlarmsResult();
DescribeAlarmsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
DescribeAlarmsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
/**
* <p>The information about any composite alarms returned by the operation.</p>
*/
inline const Aws::Vector<CompositeAlarm>& GetCompositeAlarms() const{ return m_compositeAlarms; }
/**
* <p>The information about any composite alarms returned by the operation.</p>
*/
inline void SetCompositeAlarms(const Aws::Vector<CompositeAlarm>& value) { m_compositeAlarms = value; }
/**
* <p>The information about any composite alarms returned by the operation.</p>
*/
inline void SetCompositeAlarms(Aws::Vector<CompositeAlarm>&& value) { m_compositeAlarms = std::move(value); }
/**
* <p>The information about any composite alarms returned by the operation.</p>
*/
inline DescribeAlarmsResult& WithCompositeAlarms(const Aws::Vector<CompositeAlarm>& value) { SetCompositeAlarms(value); return *this;}
/**
* <p>The information about any composite alarms returned by the operation.</p>
*/
inline DescribeAlarmsResult& WithCompositeAlarms(Aws::Vector<CompositeAlarm>&& value) { SetCompositeAlarms(std::move(value)); return *this;}
/**
* <p>The information about any composite alarms returned by the operation.</p>
*/
inline DescribeAlarmsResult& AddCompositeAlarms(const CompositeAlarm& value) { m_compositeAlarms.push_back(value); return *this; }
/**
* <p>The information about any composite alarms returned by the operation.</p>
*/
inline DescribeAlarmsResult& AddCompositeAlarms(CompositeAlarm&& value) { m_compositeAlarms.push_back(std::move(value)); return *this; }
/**
* <p>The information about any metric alarms returned by the operation.</p>
*/
inline const Aws::Vector<MetricAlarm>& GetMetricAlarms() const{ return m_metricAlarms; }
/**
* <p>The information about any metric alarms returned by the operation.</p>
*/
inline void SetMetricAlarms(const Aws::Vector<MetricAlarm>& value) { m_metricAlarms = value; }
/**
* <p>The information about any metric alarms returned by the operation.</p>
*/
inline void SetMetricAlarms(Aws::Vector<MetricAlarm>&& value) { m_metricAlarms = std::move(value); }
/**
* <p>The information about any metric alarms returned by the operation.</p>
*/
inline DescribeAlarmsResult& WithMetricAlarms(const Aws::Vector<MetricAlarm>& value) { SetMetricAlarms(value); return *this;}
/**
* <p>The information about any metric alarms returned by the operation.</p>
*/
inline DescribeAlarmsResult& WithMetricAlarms(Aws::Vector<MetricAlarm>&& value) { SetMetricAlarms(std::move(value)); return *this;}
/**
* <p>The information about any metric alarms returned by the operation.</p>
*/
inline DescribeAlarmsResult& AddMetricAlarms(const MetricAlarm& value) { m_metricAlarms.push_back(value); return *this; }
/**
* <p>The information about any metric alarms returned by the operation.</p>
*/
inline DescribeAlarmsResult& AddMetricAlarms(MetricAlarm&& value) { m_metricAlarms.push_back(std::move(value)); return *this; }
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline DescribeAlarmsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline DescribeAlarmsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline DescribeAlarmsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline DescribeAlarmsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline DescribeAlarmsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
Aws::Vector<CompositeAlarm> m_compositeAlarms;
Aws::Vector<MetricAlarm> m_metricAlarms;
Aws::String m_nextToken;
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,317 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/Dimension.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API DescribeAnomalyDetectorsRequest : public CloudWatchRequest
{
public:
DescribeAnomalyDetectorsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeAnomalyDetectors"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>Use the token returned by the previous operation to request the next page of
* results.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>Use the token returned by the previous operation to request the next page of
* results.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>Use the token returned by the previous operation to request the next page of
* results.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>Use the token returned by the previous operation to request the next page of
* results.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>Use the token returned by the previous operation to request the next page of
* results.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>Use the token returned by the previous operation to request the next page of
* results.</p>
*/
inline DescribeAnomalyDetectorsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>Use the token returned by the previous operation to request the next page of
* results.</p>
*/
inline DescribeAnomalyDetectorsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>Use the token returned by the previous operation to request the next page of
* results.</p>
*/
inline DescribeAnomalyDetectorsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
/**
* <p>The maximum number of results to return in one operation. The maximum value
* that you can specify is 100.</p> <p>To retrieve the remaining results, make
* another call with the returned <code>NextToken</code> value. </p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The maximum number of results to return in one operation. The maximum value
* that you can specify is 100.</p> <p>To retrieve the remaining results, make
* another call with the returned <code>NextToken</code> value. </p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The maximum number of results to return in one operation. The maximum value
* that you can specify is 100.</p> <p>To retrieve the remaining results, make
* another call with the returned <code>NextToken</code> value. </p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The maximum number of results to return in one operation. The maximum value
* that you can specify is 100.</p> <p>To retrieve the remaining results, make
* another call with the returned <code>NextToken</code> value. </p>
*/
inline DescribeAnomalyDetectorsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified namespace.</p>
*/
inline const Aws::String& GetNamespace() const{ return m_namespace; }
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified namespace.</p>
*/
inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; }
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified namespace.</p>
*/
inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; }
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified namespace.</p>
*/
inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); }
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified namespace.</p>
*/
inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); }
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified namespace.</p>
*/
inline DescribeAnomalyDetectorsRequest& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;}
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified namespace.</p>
*/
inline DescribeAnomalyDetectorsRequest& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;}
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified namespace.</p>
*/
inline DescribeAnomalyDetectorsRequest& WithNamespace(const char* value) { SetNamespace(value); return *this;}
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified metric name. If there are multiple metrics with this name in
* different namespaces that have anomaly detection models, they're all
* returned.</p>
*/
inline const Aws::String& GetMetricName() const{ return m_metricName; }
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified metric name. If there are multiple metrics with this name in
* different namespaces that have anomaly detection models, they're all
* returned.</p>
*/
inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; }
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified metric name. If there are multiple metrics with this name in
* different namespaces that have anomaly detection models, they're all
* returned.</p>
*/
inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; }
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified metric name. If there are multiple metrics with this name in
* different namespaces that have anomaly detection models, they're all
* returned.</p>
*/
inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); }
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified metric name. If there are multiple metrics with this name in
* different namespaces that have anomaly detection models, they're all
* returned.</p>
*/
inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); }
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified metric name. If there are multiple metrics with this name in
* different namespaces that have anomaly detection models, they're all
* returned.</p>
*/
inline DescribeAnomalyDetectorsRequest& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;}
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified metric name. If there are multiple metrics with this name in
* different namespaces that have anomaly detection models, they're all
* returned.</p>
*/
inline DescribeAnomalyDetectorsRequest& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;}
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified metric name. If there are multiple metrics with this name in
* different namespaces that have anomaly detection models, they're all
* returned.</p>
*/
inline DescribeAnomalyDetectorsRequest& WithMetricName(const char* value) { SetMetricName(value); return *this;}
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified metric dimensions. If there are multiple metrics that have
* these dimensions and have anomaly detection models associated, they're all
* returned.</p>
*/
inline const Aws::Vector<Dimension>& GetDimensions() const{ return m_dimensions; }
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified metric dimensions. If there are multiple metrics that have
* these dimensions and have anomaly detection models associated, they're all
* returned.</p>
*/
inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified metric dimensions. If there are multiple metrics that have
* these dimensions and have anomaly detection models associated, they're all
* returned.</p>
*/
inline void SetDimensions(const Aws::Vector<Dimension>& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; }
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified metric dimensions. If there are multiple metrics that have
* these dimensions and have anomaly detection models associated, they're all
* returned.</p>
*/
inline void SetDimensions(Aws::Vector<Dimension>&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); }
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified metric dimensions. If there are multiple metrics that have
* these dimensions and have anomaly detection models associated, they're all
* returned.</p>
*/
inline DescribeAnomalyDetectorsRequest& WithDimensions(const Aws::Vector<Dimension>& value) { SetDimensions(value); return *this;}
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified metric dimensions. If there are multiple metrics that have
* these dimensions and have anomaly detection models associated, they're all
* returned.</p>
*/
inline DescribeAnomalyDetectorsRequest& WithDimensions(Aws::Vector<Dimension>&& value) { SetDimensions(std::move(value)); return *this;}
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified metric dimensions. If there are multiple metrics that have
* these dimensions and have anomaly detection models associated, they're all
* returned.</p>
*/
inline DescribeAnomalyDetectorsRequest& AddDimensions(const Dimension& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; }
/**
* <p>Limits the results to only the anomaly detection models that are associated
* with the specified metric dimensions. If there are multiple metrics that have
* these dimensions and have anomaly detection models associated, they're all
* returned.</p>
*/
inline DescribeAnomalyDetectorsRequest& AddDimensions(Dimension&& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(std::move(value)); return *this; }
private:
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_namespace;
bool m_namespaceHasBeenSet;
Aws::String m_metricName;
bool m_metricNameHasBeenSet;
Aws::Vector<Dimension> m_dimensions;
bool m_dimensionsHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,143 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <aws/monitoring/model/AnomalyDetector.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API DescribeAnomalyDetectorsResult
{
public:
DescribeAnomalyDetectorsResult();
DescribeAnomalyDetectorsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
DescribeAnomalyDetectorsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
/**
* <p>The list of anomaly detection models returned by the operation.</p>
*/
inline const Aws::Vector<AnomalyDetector>& GetAnomalyDetectors() const{ return m_anomalyDetectors; }
/**
* <p>The list of anomaly detection models returned by the operation.</p>
*/
inline void SetAnomalyDetectors(const Aws::Vector<AnomalyDetector>& value) { m_anomalyDetectors = value; }
/**
* <p>The list of anomaly detection models returned by the operation.</p>
*/
inline void SetAnomalyDetectors(Aws::Vector<AnomalyDetector>&& value) { m_anomalyDetectors = std::move(value); }
/**
* <p>The list of anomaly detection models returned by the operation.</p>
*/
inline DescribeAnomalyDetectorsResult& WithAnomalyDetectors(const Aws::Vector<AnomalyDetector>& value) { SetAnomalyDetectors(value); return *this;}
/**
* <p>The list of anomaly detection models returned by the operation.</p>
*/
inline DescribeAnomalyDetectorsResult& WithAnomalyDetectors(Aws::Vector<AnomalyDetector>&& value) { SetAnomalyDetectors(std::move(value)); return *this;}
/**
* <p>The list of anomaly detection models returned by the operation.</p>
*/
inline DescribeAnomalyDetectorsResult& AddAnomalyDetectors(const AnomalyDetector& value) { m_anomalyDetectors.push_back(value); return *this; }
/**
* <p>The list of anomaly detection models returned by the operation.</p>
*/
inline DescribeAnomalyDetectorsResult& AddAnomalyDetectors(AnomalyDetector&& value) { m_anomalyDetectors.push_back(std::move(value)); return *this; }
/**
* <p>A token that you can use in a subsequent operation to retrieve the next set
* of results.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token that you can use in a subsequent operation to retrieve the next set
* of results.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>A token that you can use in a subsequent operation to retrieve the next set
* of results.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>A token that you can use in a subsequent operation to retrieve the next set
* of results.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>A token that you can use in a subsequent operation to retrieve the next set
* of results.</p>
*/
inline DescribeAnomalyDetectorsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token that you can use in a subsequent operation to retrieve the next set
* of results.</p>
*/
inline DescribeAnomalyDetectorsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token that you can use in a subsequent operation to retrieve the next set
* of results.</p>
*/
inline DescribeAnomalyDetectorsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline DescribeAnomalyDetectorsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline DescribeAnomalyDetectorsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
Aws::Vector<AnomalyDetector> m_anomalyDetectors;
Aws::String m_nextToken;
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,115 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API DescribeInsightRulesRequest : public CloudWatchRequest
{
public:
DescribeInsightRulesRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeInsightRules"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>Reserved for future use.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>Reserved for future use.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>Reserved for future use.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>Reserved for future use.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>Reserved for future use.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>Reserved for future use.</p>
*/
inline DescribeInsightRulesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>Reserved for future use.</p>
*/
inline DescribeInsightRulesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>Reserved for future use.</p>
*/
inline DescribeInsightRulesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
/**
* <p>This parameter is not currently used. Reserved for future use. If it is used
* in the future, the maximum value might be different.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>This parameter is not currently used. Reserved for future use. If it is used
* in the future, the maximum value might be different.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>This parameter is not currently used. Reserved for future use. If it is used
* in the future, the maximum value might be different.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>This parameter is not currently used. Reserved for future use. If it is used
* in the future, the maximum value might be different.</p>
*/
inline DescribeInsightRulesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
private:
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,136 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <aws/monitoring/model/InsightRule.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API DescribeInsightRulesResult
{
public:
DescribeInsightRulesResult();
DescribeInsightRulesResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
DescribeInsightRulesResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
/**
* <p>Reserved for future use.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>Reserved for future use.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>Reserved for future use.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>Reserved for future use.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>Reserved for future use.</p>
*/
inline DescribeInsightRulesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>Reserved for future use.</p>
*/
inline DescribeInsightRulesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>Reserved for future use.</p>
*/
inline DescribeInsightRulesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
/**
* <p>The rules returned by the operation.</p>
*/
inline const Aws::Vector<InsightRule>& GetInsightRules() const{ return m_insightRules; }
/**
* <p>The rules returned by the operation.</p>
*/
inline void SetInsightRules(const Aws::Vector<InsightRule>& value) { m_insightRules = value; }
/**
* <p>The rules returned by the operation.</p>
*/
inline void SetInsightRules(Aws::Vector<InsightRule>&& value) { m_insightRules = std::move(value); }
/**
* <p>The rules returned by the operation.</p>
*/
inline DescribeInsightRulesResult& WithInsightRules(const Aws::Vector<InsightRule>& value) { SetInsightRules(value); return *this;}
/**
* <p>The rules returned by the operation.</p>
*/
inline DescribeInsightRulesResult& WithInsightRules(Aws::Vector<InsightRule>&& value) { SetInsightRules(std::move(value)); return *this;}
/**
* <p>The rules returned by the operation.</p>
*/
inline DescribeInsightRulesResult& AddInsightRules(const InsightRule& value) { m_insightRules.push_back(value); return *this; }
/**
* <p>The rules returned by the operation.</p>
*/
inline DescribeInsightRulesResult& AddInsightRules(InsightRule&& value) { m_insightRules.push_back(std::move(value)); return *this; }
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline DescribeInsightRulesResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline DescribeInsightRulesResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
Aws::String m_nextToken;
Aws::Vector<InsightRule> m_insightRules;
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,146 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>A dimension is a name/value pair that is part of the identity of a metric.
* You can assign up to 10 dimensions to a metric. Because dimensions are part of
* the unique identifier for a metric, whenever you add a unique name/value pair to
* one of your metrics, you are creating a new variation of that metric.
* </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/Dimension">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API Dimension
{
public:
Dimension();
Dimension(const Aws::Utils::Xml::XmlNode& xmlNode);
Dimension& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>The name of the dimension. Dimension names cannot contain blank spaces or
* non-ASCII characters.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the dimension. Dimension names cannot contain blank spaces or
* non-ASCII characters.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the dimension. Dimension names cannot contain blank spaces or
* non-ASCII characters.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the dimension. Dimension names cannot contain blank spaces or
* non-ASCII characters.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the dimension. Dimension names cannot contain blank spaces or
* non-ASCII characters.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the dimension. Dimension names cannot contain blank spaces or
* non-ASCII characters.</p>
*/
inline Dimension& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the dimension. Dimension names cannot contain blank spaces or
* non-ASCII characters.</p>
*/
inline Dimension& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the dimension. Dimension names cannot contain blank spaces or
* non-ASCII characters.</p>
*/
inline Dimension& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>The value of the dimension.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
/**
* <p>The value of the dimension.</p>
*/
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
/**
* <p>The value of the dimension.</p>
*/
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
/**
* <p>The value of the dimension.</p>
*/
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
/**
* <p>The value of the dimension.</p>
*/
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
/**
* <p>The value of the dimension.</p>
*/
inline Dimension& WithValue(const Aws::String& value) { SetValue(value); return *this;}
/**
* <p>The value of the dimension.</p>
*/
inline Dimension& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
/**
* <p>The value of the dimension.</p>
*/
inline Dimension& WithValue(const char* value) { SetValue(value); return *this;}
private:
Aws::String m_name;
bool m_nameHasBeenSet;
Aws::String m_value;
bool m_valueHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,134 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>Represents filters for a dimension.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DimensionFilter">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API DimensionFilter
{
public:
DimensionFilter();
DimensionFilter(const Aws::Utils::Xml::XmlNode& xmlNode);
DimensionFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>The dimension name to be matched.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The dimension name to be matched.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The dimension name to be matched.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The dimension name to be matched.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The dimension name to be matched.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The dimension name to be matched.</p>
*/
inline DimensionFilter& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The dimension name to be matched.</p>
*/
inline DimensionFilter& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The dimension name to be matched.</p>
*/
inline DimensionFilter& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>The value of the dimension to be matched.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
/**
* <p>The value of the dimension to be matched.</p>
*/
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
/**
* <p>The value of the dimension to be matched.</p>
*/
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
/**
* <p>The value of the dimension to be matched.</p>
*/
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
/**
* <p>The value of the dimension to be matched.</p>
*/
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
/**
* <p>The value of the dimension to be matched.</p>
*/
inline DimensionFilter& WithValue(const Aws::String& value) { SetValue(value); return *this;}
/**
* <p>The value of the dimension to be matched.</p>
*/
inline DimensionFilter& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
/**
* <p>The value of the dimension to be matched.</p>
*/
inline DimensionFilter& WithValue(const char* value) { SetValue(value); return *this;}
private:
Aws::String m_name;
bool m_nameHasBeenSet;
Aws::String m_value;
bool m_valueHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,93 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API DisableAlarmActionsRequest : public CloudWatchRequest
{
public:
DisableAlarmActionsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DisableAlarmActions"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The names of the alarms.</p>
*/
inline const Aws::Vector<Aws::String>& GetAlarmNames() const{ return m_alarmNames; }
/**
* <p>The names of the alarms.</p>
*/
inline bool AlarmNamesHasBeenSet() const { return m_alarmNamesHasBeenSet; }
/**
* <p>The names of the alarms.</p>
*/
inline void SetAlarmNames(const Aws::Vector<Aws::String>& value) { m_alarmNamesHasBeenSet = true; m_alarmNames = value; }
/**
* <p>The names of the alarms.</p>
*/
inline void SetAlarmNames(Aws::Vector<Aws::String>&& value) { m_alarmNamesHasBeenSet = true; m_alarmNames = std::move(value); }
/**
* <p>The names of the alarms.</p>
*/
inline DisableAlarmActionsRequest& WithAlarmNames(const Aws::Vector<Aws::String>& value) { SetAlarmNames(value); return *this;}
/**
* <p>The names of the alarms.</p>
*/
inline DisableAlarmActionsRequest& WithAlarmNames(Aws::Vector<Aws::String>&& value) { SetAlarmNames(std::move(value)); return *this;}
/**
* <p>The names of the alarms.</p>
*/
inline DisableAlarmActionsRequest& AddAlarmNames(const Aws::String& value) { m_alarmNamesHasBeenSet = true; m_alarmNames.push_back(value); return *this; }
/**
* <p>The names of the alarms.</p>
*/
inline DisableAlarmActionsRequest& AddAlarmNames(Aws::String&& value) { m_alarmNamesHasBeenSet = true; m_alarmNames.push_back(std::move(value)); return *this; }
/**
* <p>The names of the alarms.</p>
*/
inline DisableAlarmActionsRequest& AddAlarmNames(const char* value) { m_alarmNamesHasBeenSet = true; m_alarmNames.push_back(value); return *this; }
private:
Aws::Vector<Aws::String> m_alarmNames;
bool m_alarmNamesHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,111 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API DisableInsightRulesRequest : public CloudWatchRequest
{
public:
DisableInsightRulesRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DisableInsightRules"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>An array of the rule names to disable. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline const Aws::Vector<Aws::String>& GetRuleNames() const{ return m_ruleNames; }
/**
* <p>An array of the rule names to disable. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline bool RuleNamesHasBeenSet() const { return m_ruleNamesHasBeenSet; }
/**
* <p>An array of the rule names to disable. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline void SetRuleNames(const Aws::Vector<Aws::String>& value) { m_ruleNamesHasBeenSet = true; m_ruleNames = value; }
/**
* <p>An array of the rule names to disable. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline void SetRuleNames(Aws::Vector<Aws::String>&& value) { m_ruleNamesHasBeenSet = true; m_ruleNames = std::move(value); }
/**
* <p>An array of the rule names to disable. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline DisableInsightRulesRequest& WithRuleNames(const Aws::Vector<Aws::String>& value) { SetRuleNames(value); return *this;}
/**
* <p>An array of the rule names to disable. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline DisableInsightRulesRequest& WithRuleNames(Aws::Vector<Aws::String>&& value) { SetRuleNames(std::move(value)); return *this;}
/**
* <p>An array of the rule names to disable. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline DisableInsightRulesRequest& AddRuleNames(const Aws::String& value) { m_ruleNamesHasBeenSet = true; m_ruleNames.push_back(value); return *this; }
/**
* <p>An array of the rule names to disable. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline DisableInsightRulesRequest& AddRuleNames(Aws::String&& value) { m_ruleNamesHasBeenSet = true; m_ruleNames.push_back(std::move(value)); return *this; }
/**
* <p>An array of the rule names to disable. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline DisableInsightRulesRequest& AddRuleNames(const char* value) { m_ruleNamesHasBeenSet = true; m_ruleNames.push_back(value); return *this; }
private:
Aws::Vector<Aws::String> m_ruleNames;
bool m_ruleNamesHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,104 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <aws/monitoring/model/PartialFailure.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API DisableInsightRulesResult
{
public:
DisableInsightRulesResult();
DisableInsightRulesResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
DisableInsightRulesResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
/**
* <p>An array listing the rules that could not be disabled. You cannot disable
* built-in rules.</p>
*/
inline const Aws::Vector<PartialFailure>& GetFailures() const{ return m_failures; }
/**
* <p>An array listing the rules that could not be disabled. You cannot disable
* built-in rules.</p>
*/
inline void SetFailures(const Aws::Vector<PartialFailure>& value) { m_failures = value; }
/**
* <p>An array listing the rules that could not be disabled. You cannot disable
* built-in rules.</p>
*/
inline void SetFailures(Aws::Vector<PartialFailure>&& value) { m_failures = std::move(value); }
/**
* <p>An array listing the rules that could not be disabled. You cannot disable
* built-in rules.</p>
*/
inline DisableInsightRulesResult& WithFailures(const Aws::Vector<PartialFailure>& value) { SetFailures(value); return *this;}
/**
* <p>An array listing the rules that could not be disabled. You cannot disable
* built-in rules.</p>
*/
inline DisableInsightRulesResult& WithFailures(Aws::Vector<PartialFailure>&& value) { SetFailures(std::move(value)); return *this;}
/**
* <p>An array listing the rules that could not be disabled. You cannot disable
* built-in rules.</p>
*/
inline DisableInsightRulesResult& AddFailures(const PartialFailure& value) { m_failures.push_back(value); return *this; }
/**
* <p>An array listing the rules that could not be disabled. You cannot disable
* built-in rules.</p>
*/
inline DisableInsightRulesResult& AddFailures(PartialFailure&& value) { m_failures.push_back(std::move(value)); return *this; }
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline DisableInsightRulesResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline DisableInsightRulesResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
Aws::Vector<PartialFailure> m_failures;
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,93 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API EnableAlarmActionsRequest : public CloudWatchRequest
{
public:
EnableAlarmActionsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "EnableAlarmActions"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The names of the alarms.</p>
*/
inline const Aws::Vector<Aws::String>& GetAlarmNames() const{ return m_alarmNames; }
/**
* <p>The names of the alarms.</p>
*/
inline bool AlarmNamesHasBeenSet() const { return m_alarmNamesHasBeenSet; }
/**
* <p>The names of the alarms.</p>
*/
inline void SetAlarmNames(const Aws::Vector<Aws::String>& value) { m_alarmNamesHasBeenSet = true; m_alarmNames = value; }
/**
* <p>The names of the alarms.</p>
*/
inline void SetAlarmNames(Aws::Vector<Aws::String>&& value) { m_alarmNamesHasBeenSet = true; m_alarmNames = std::move(value); }
/**
* <p>The names of the alarms.</p>
*/
inline EnableAlarmActionsRequest& WithAlarmNames(const Aws::Vector<Aws::String>& value) { SetAlarmNames(value); return *this;}
/**
* <p>The names of the alarms.</p>
*/
inline EnableAlarmActionsRequest& WithAlarmNames(Aws::Vector<Aws::String>&& value) { SetAlarmNames(std::move(value)); return *this;}
/**
* <p>The names of the alarms.</p>
*/
inline EnableAlarmActionsRequest& AddAlarmNames(const Aws::String& value) { m_alarmNamesHasBeenSet = true; m_alarmNames.push_back(value); return *this; }
/**
* <p>The names of the alarms.</p>
*/
inline EnableAlarmActionsRequest& AddAlarmNames(Aws::String&& value) { m_alarmNamesHasBeenSet = true; m_alarmNames.push_back(std::move(value)); return *this; }
/**
* <p>The names of the alarms.</p>
*/
inline EnableAlarmActionsRequest& AddAlarmNames(const char* value) { m_alarmNamesHasBeenSet = true; m_alarmNames.push_back(value); return *this; }
private:
Aws::Vector<Aws::String> m_alarmNames;
bool m_alarmNamesHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,111 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API EnableInsightRulesRequest : public CloudWatchRequest
{
public:
EnableInsightRulesRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "EnableInsightRules"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>An array of the rule names to enable. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline const Aws::Vector<Aws::String>& GetRuleNames() const{ return m_ruleNames; }
/**
* <p>An array of the rule names to enable. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline bool RuleNamesHasBeenSet() const { return m_ruleNamesHasBeenSet; }
/**
* <p>An array of the rule names to enable. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline void SetRuleNames(const Aws::Vector<Aws::String>& value) { m_ruleNamesHasBeenSet = true; m_ruleNames = value; }
/**
* <p>An array of the rule names to enable. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline void SetRuleNames(Aws::Vector<Aws::String>&& value) { m_ruleNamesHasBeenSet = true; m_ruleNames = std::move(value); }
/**
* <p>An array of the rule names to enable. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline EnableInsightRulesRequest& WithRuleNames(const Aws::Vector<Aws::String>& value) { SetRuleNames(value); return *this;}
/**
* <p>An array of the rule names to enable. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline EnableInsightRulesRequest& WithRuleNames(Aws::Vector<Aws::String>&& value) { SetRuleNames(std::move(value)); return *this;}
/**
* <p>An array of the rule names to enable. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline EnableInsightRulesRequest& AddRuleNames(const Aws::String& value) { m_ruleNamesHasBeenSet = true; m_ruleNames.push_back(value); return *this; }
/**
* <p>An array of the rule names to enable. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline EnableInsightRulesRequest& AddRuleNames(Aws::String&& value) { m_ruleNamesHasBeenSet = true; m_ruleNames.push_back(std::move(value)); return *this; }
/**
* <p>An array of the rule names to enable. If you need to find out the names of
* your rules, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html">DescribeInsightRules</a>.</p>
*/
inline EnableInsightRulesRequest& AddRuleNames(const char* value) { m_ruleNamesHasBeenSet = true; m_ruleNames.push_back(value); return *this; }
private:
Aws::Vector<Aws::String> m_ruleNames;
bool m_ruleNamesHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,104 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <aws/monitoring/model/PartialFailure.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API EnableInsightRulesResult
{
public:
EnableInsightRulesResult();
EnableInsightRulesResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
EnableInsightRulesResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
/**
* <p>An array listing the rules that could not be enabled. You cannot disable or
* enable built-in rules.</p>
*/
inline const Aws::Vector<PartialFailure>& GetFailures() const{ return m_failures; }
/**
* <p>An array listing the rules that could not be enabled. You cannot disable or
* enable built-in rules.</p>
*/
inline void SetFailures(const Aws::Vector<PartialFailure>& value) { m_failures = value; }
/**
* <p>An array listing the rules that could not be enabled. You cannot disable or
* enable built-in rules.</p>
*/
inline void SetFailures(Aws::Vector<PartialFailure>&& value) { m_failures = std::move(value); }
/**
* <p>An array listing the rules that could not be enabled. You cannot disable or
* enable built-in rules.</p>
*/
inline EnableInsightRulesResult& WithFailures(const Aws::Vector<PartialFailure>& value) { SetFailures(value); return *this;}
/**
* <p>An array listing the rules that could not be enabled. You cannot disable or
* enable built-in rules.</p>
*/
inline EnableInsightRulesResult& WithFailures(Aws::Vector<PartialFailure>&& value) { SetFailures(std::move(value)); return *this;}
/**
* <p>An array listing the rules that could not be enabled. You cannot disable or
* enable built-in rules.</p>
*/
inline EnableInsightRulesResult& AddFailures(const PartialFailure& value) { m_failures.push_back(value); return *this; }
/**
* <p>An array listing the rules that could not be enabled. You cannot disable or
* enable built-in rules.</p>
*/
inline EnableInsightRulesResult& AddFailures(PartialFailure&& value) { m_failures.push_back(std::move(value)); return *this; }
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline EnableInsightRulesResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline EnableInsightRulesResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
Aws::Vector<PartialFailure> m_failures;
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,87 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API GetDashboardRequest : public CloudWatchRequest
{
public:
GetDashboardRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "GetDashboard"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The name of the dashboard to be described.</p>
*/
inline const Aws::String& GetDashboardName() const{ return m_dashboardName; }
/**
* <p>The name of the dashboard to be described.</p>
*/
inline bool DashboardNameHasBeenSet() const { return m_dashboardNameHasBeenSet; }
/**
* <p>The name of the dashboard to be described.</p>
*/
inline void SetDashboardName(const Aws::String& value) { m_dashboardNameHasBeenSet = true; m_dashboardName = value; }
/**
* <p>The name of the dashboard to be described.</p>
*/
inline void SetDashboardName(Aws::String&& value) { m_dashboardNameHasBeenSet = true; m_dashboardName = std::move(value); }
/**
* <p>The name of the dashboard to be described.</p>
*/
inline void SetDashboardName(const char* value) { m_dashboardNameHasBeenSet = true; m_dashboardName.assign(value); }
/**
* <p>The name of the dashboard to be described.</p>
*/
inline GetDashboardRequest& WithDashboardName(const Aws::String& value) { SetDashboardName(value); return *this;}
/**
* <p>The name of the dashboard to be described.</p>
*/
inline GetDashboardRequest& WithDashboardName(Aws::String&& value) { SetDashboardName(std::move(value)); return *this;}
/**
* <p>The name of the dashboard to be described.</p>
*/
inline GetDashboardRequest& WithDashboardName(const char* value) { SetDashboardName(value); return *this;}
private:
Aws::String m_dashboardName;
bool m_dashboardNameHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,200 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API GetDashboardResult
{
public:
GetDashboardResult();
GetDashboardResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
GetDashboardResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
/**
* <p>The Amazon Resource Name (ARN) of the dashboard.</p>
*/
inline const Aws::String& GetDashboardArn() const{ return m_dashboardArn; }
/**
* <p>The Amazon Resource Name (ARN) of the dashboard.</p>
*/
inline void SetDashboardArn(const Aws::String& value) { m_dashboardArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the dashboard.</p>
*/
inline void SetDashboardArn(Aws::String&& value) { m_dashboardArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the dashboard.</p>
*/
inline void SetDashboardArn(const char* value) { m_dashboardArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the dashboard.</p>
*/
inline GetDashboardResult& WithDashboardArn(const Aws::String& value) { SetDashboardArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the dashboard.</p>
*/
inline GetDashboardResult& WithDashboardArn(Aws::String&& value) { SetDashboardArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the dashboard.</p>
*/
inline GetDashboardResult& WithDashboardArn(const char* value) { SetDashboardArn(value); return *this;}
/**
* <p>The detailed information about the dashboard, including what widgets are
* included and their location on the dashboard. For more information about the
* <code>DashboardBody</code> syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html">Dashboard
* Body Structure and Syntax</a>. </p>
*/
inline const Aws::String& GetDashboardBody() const{ return m_dashboardBody; }
/**
* <p>The detailed information about the dashboard, including what widgets are
* included and their location on the dashboard. For more information about the
* <code>DashboardBody</code> syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html">Dashboard
* Body Structure and Syntax</a>. </p>
*/
inline void SetDashboardBody(const Aws::String& value) { m_dashboardBody = value; }
/**
* <p>The detailed information about the dashboard, including what widgets are
* included and their location on the dashboard. For more information about the
* <code>DashboardBody</code> syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html">Dashboard
* Body Structure and Syntax</a>. </p>
*/
inline void SetDashboardBody(Aws::String&& value) { m_dashboardBody = std::move(value); }
/**
* <p>The detailed information about the dashboard, including what widgets are
* included and their location on the dashboard. For more information about the
* <code>DashboardBody</code> syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html">Dashboard
* Body Structure and Syntax</a>. </p>
*/
inline void SetDashboardBody(const char* value) { m_dashboardBody.assign(value); }
/**
* <p>The detailed information about the dashboard, including what widgets are
* included and their location on the dashboard. For more information about the
* <code>DashboardBody</code> syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html">Dashboard
* Body Structure and Syntax</a>. </p>
*/
inline GetDashboardResult& WithDashboardBody(const Aws::String& value) { SetDashboardBody(value); return *this;}
/**
* <p>The detailed information about the dashboard, including what widgets are
* included and their location on the dashboard. For more information about the
* <code>DashboardBody</code> syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html">Dashboard
* Body Structure and Syntax</a>. </p>
*/
inline GetDashboardResult& WithDashboardBody(Aws::String&& value) { SetDashboardBody(std::move(value)); return *this;}
/**
* <p>The detailed information about the dashboard, including what widgets are
* included and their location on the dashboard. For more information about the
* <code>DashboardBody</code> syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html">Dashboard
* Body Structure and Syntax</a>. </p>
*/
inline GetDashboardResult& WithDashboardBody(const char* value) { SetDashboardBody(value); return *this;}
/**
* <p>The name of the dashboard.</p>
*/
inline const Aws::String& GetDashboardName() const{ return m_dashboardName; }
/**
* <p>The name of the dashboard.</p>
*/
inline void SetDashboardName(const Aws::String& value) { m_dashboardName = value; }
/**
* <p>The name of the dashboard.</p>
*/
inline void SetDashboardName(Aws::String&& value) { m_dashboardName = std::move(value); }
/**
* <p>The name of the dashboard.</p>
*/
inline void SetDashboardName(const char* value) { m_dashboardName.assign(value); }
/**
* <p>The name of the dashboard.</p>
*/
inline GetDashboardResult& WithDashboardName(const Aws::String& value) { SetDashboardName(value); return *this;}
/**
* <p>The name of the dashboard.</p>
*/
inline GetDashboardResult& WithDashboardName(Aws::String&& value) { SetDashboardName(std::move(value)); return *this;}
/**
* <p>The name of the dashboard.</p>
*/
inline GetDashboardResult& WithDashboardName(const char* value) { SetDashboardName(value); return *this;}
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline GetDashboardResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline GetDashboardResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
Aws::String m_dashboardArn;
Aws::String m_dashboardBody;
Aws::String m_dashboardName;
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,500 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API GetInsightRuleReportRequest : public CloudWatchRequest
{
public:
GetInsightRuleReportRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "GetInsightRuleReport"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The name of the rule that you want to see data from.</p>
*/
inline const Aws::String& GetRuleName() const{ return m_ruleName; }
/**
* <p>The name of the rule that you want to see data from.</p>
*/
inline bool RuleNameHasBeenSet() const { return m_ruleNameHasBeenSet; }
/**
* <p>The name of the rule that you want to see data from.</p>
*/
inline void SetRuleName(const Aws::String& value) { m_ruleNameHasBeenSet = true; m_ruleName = value; }
/**
* <p>The name of the rule that you want to see data from.</p>
*/
inline void SetRuleName(Aws::String&& value) { m_ruleNameHasBeenSet = true; m_ruleName = std::move(value); }
/**
* <p>The name of the rule that you want to see data from.</p>
*/
inline void SetRuleName(const char* value) { m_ruleNameHasBeenSet = true; m_ruleName.assign(value); }
/**
* <p>The name of the rule that you want to see data from.</p>
*/
inline GetInsightRuleReportRequest& WithRuleName(const Aws::String& value) { SetRuleName(value); return *this;}
/**
* <p>The name of the rule that you want to see data from.</p>
*/
inline GetInsightRuleReportRequest& WithRuleName(Aws::String&& value) { SetRuleName(std::move(value)); return *this;}
/**
* <p>The name of the rule that you want to see data from.</p>
*/
inline GetInsightRuleReportRequest& WithRuleName(const char* value) { SetRuleName(value); return *this;}
/**
* <p>The start time of the data to use in the report. When used in a raw HTTP
* Query API, it is formatted as <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
/**
* <p>The start time of the data to use in the report. When used in a raw HTTP
* Query API, it is formatted as <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
/**
* <p>The start time of the data to use in the report. When used in a raw HTTP
* Query API, it is formatted as <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
/**
* <p>The start time of the data to use in the report. When used in a raw HTTP
* Query API, it is formatted as <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
/**
* <p>The start time of the data to use in the report. When used in a raw HTTP
* Query API, it is formatted as <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline GetInsightRuleReportRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
/**
* <p>The start time of the data to use in the report. When used in a raw HTTP
* Query API, it is formatted as <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline GetInsightRuleReportRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
/**
* <p>The end time of the data to use in the report. When used in a raw HTTP Query
* API, it is formatted as <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; }
/**
* <p>The end time of the data to use in the report. When used in a raw HTTP Query
* API, it is formatted as <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
/**
* <p>The end time of the data to use in the report. When used in a raw HTTP Query
* API, it is formatted as <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; }
/**
* <p>The end time of the data to use in the report. When used in a raw HTTP Query
* API, it is formatted as <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); }
/**
* <p>The end time of the data to use in the report. When used in a raw HTTP Query
* API, it is formatted as <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline GetInsightRuleReportRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;}
/**
* <p>The end time of the data to use in the report. When used in a raw HTTP Query
* API, it is formatted as <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline GetInsightRuleReportRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
/**
* <p>The period, in seconds, to use for the statistics in the
* <code>InsightRuleMetricDatapoint</code> results.</p>
*/
inline int GetPeriod() const{ return m_period; }
/**
* <p>The period, in seconds, to use for the statistics in the
* <code>InsightRuleMetricDatapoint</code> results.</p>
*/
inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
/**
* <p>The period, in seconds, to use for the statistics in the
* <code>InsightRuleMetricDatapoint</code> results.</p>
*/
inline void SetPeriod(int value) { m_periodHasBeenSet = true; m_period = value; }
/**
* <p>The period, in seconds, to use for the statistics in the
* <code>InsightRuleMetricDatapoint</code> results.</p>
*/
inline GetInsightRuleReportRequest& WithPeriod(int value) { SetPeriod(value); return *this;}
/**
* <p>The maximum number of contributors to include in the report. The range is 1
* to 100. If you omit this, the default of 10 is used.</p>
*/
inline int GetMaxContributorCount() const{ return m_maxContributorCount; }
/**
* <p>The maximum number of contributors to include in the report. The range is 1
* to 100. If you omit this, the default of 10 is used.</p>
*/
inline bool MaxContributorCountHasBeenSet() const { return m_maxContributorCountHasBeenSet; }
/**
* <p>The maximum number of contributors to include in the report. The range is 1
* to 100. If you omit this, the default of 10 is used.</p>
*/
inline void SetMaxContributorCount(int value) { m_maxContributorCountHasBeenSet = true; m_maxContributorCount = value; }
/**
* <p>The maximum number of contributors to include in the report. The range is 1
* to 100. If you omit this, the default of 10 is used.</p>
*/
inline GetInsightRuleReportRequest& WithMaxContributorCount(int value) { SetMaxContributorCount(value); return *this;}
/**
* <p>Specifies which metrics to use for aggregation of contributor values for the
* report. You can specify one or more of the following metrics:</p> <ul> <li> <p>
* <code>UniqueContributors</code> -- the number of unique contributors for each
* data point.</p> </li> <li> <p> <code>MaxContributorValue</code> -- the value of
* the top contributor for each data point. The identity of the contributor might
* change for each data point in the graph.</p> <p>If this rule aggregates by
* COUNT, the top contributor for each data point is the contributor with the most
* occurrences in that period. If the rule aggregates by SUM, the top contributor
* is the contributor with the highest sum in the log field specified by the rule's
* <code>Value</code>, during that period.</p> </li> <li> <p>
* <code>SampleCount</code> -- the number of data points matched by the rule.</p>
* </li> <li> <p> <code>Sum</code> -- the sum of the values from all contributors
* during the time period represented by that data point.</p> </li> <li> <p>
* <code>Minimum</code> -- the minimum value from a single observation during the
* time period represented by that data point.</p> </li> <li> <p>
* <code>Maximum</code> -- the maximum value from a single observation during the
* time period represented by that data point.</p> </li> <li> <p>
* <code>Average</code> -- the average value from all contributors during the time
* period represented by that data point.</p> </li> </ul>
*/
inline const Aws::Vector<Aws::String>& GetMetrics() const{ return m_metrics; }
/**
* <p>Specifies which metrics to use for aggregation of contributor values for the
* report. You can specify one or more of the following metrics:</p> <ul> <li> <p>
* <code>UniqueContributors</code> -- the number of unique contributors for each
* data point.</p> </li> <li> <p> <code>MaxContributorValue</code> -- the value of
* the top contributor for each data point. The identity of the contributor might
* change for each data point in the graph.</p> <p>If this rule aggregates by
* COUNT, the top contributor for each data point is the contributor with the most
* occurrences in that period. If the rule aggregates by SUM, the top contributor
* is the contributor with the highest sum in the log field specified by the rule's
* <code>Value</code>, during that period.</p> </li> <li> <p>
* <code>SampleCount</code> -- the number of data points matched by the rule.</p>
* </li> <li> <p> <code>Sum</code> -- the sum of the values from all contributors
* during the time period represented by that data point.</p> </li> <li> <p>
* <code>Minimum</code> -- the minimum value from a single observation during the
* time period represented by that data point.</p> </li> <li> <p>
* <code>Maximum</code> -- the maximum value from a single observation during the
* time period represented by that data point.</p> </li> <li> <p>
* <code>Average</code> -- the average value from all contributors during the time
* period represented by that data point.</p> </li> </ul>
*/
inline bool MetricsHasBeenSet() const { return m_metricsHasBeenSet; }
/**
* <p>Specifies which metrics to use for aggregation of contributor values for the
* report. You can specify one or more of the following metrics:</p> <ul> <li> <p>
* <code>UniqueContributors</code> -- the number of unique contributors for each
* data point.</p> </li> <li> <p> <code>MaxContributorValue</code> -- the value of
* the top contributor for each data point. The identity of the contributor might
* change for each data point in the graph.</p> <p>If this rule aggregates by
* COUNT, the top contributor for each data point is the contributor with the most
* occurrences in that period. If the rule aggregates by SUM, the top contributor
* is the contributor with the highest sum in the log field specified by the rule's
* <code>Value</code>, during that period.</p> </li> <li> <p>
* <code>SampleCount</code> -- the number of data points matched by the rule.</p>
* </li> <li> <p> <code>Sum</code> -- the sum of the values from all contributors
* during the time period represented by that data point.</p> </li> <li> <p>
* <code>Minimum</code> -- the minimum value from a single observation during the
* time period represented by that data point.</p> </li> <li> <p>
* <code>Maximum</code> -- the maximum value from a single observation during the
* time period represented by that data point.</p> </li> <li> <p>
* <code>Average</code> -- the average value from all contributors during the time
* period represented by that data point.</p> </li> </ul>
*/
inline void SetMetrics(const Aws::Vector<Aws::String>& value) { m_metricsHasBeenSet = true; m_metrics = value; }
/**
* <p>Specifies which metrics to use for aggregation of contributor values for the
* report. You can specify one or more of the following metrics:</p> <ul> <li> <p>
* <code>UniqueContributors</code> -- the number of unique contributors for each
* data point.</p> </li> <li> <p> <code>MaxContributorValue</code> -- the value of
* the top contributor for each data point. The identity of the contributor might
* change for each data point in the graph.</p> <p>If this rule aggregates by
* COUNT, the top contributor for each data point is the contributor with the most
* occurrences in that period. If the rule aggregates by SUM, the top contributor
* is the contributor with the highest sum in the log field specified by the rule's
* <code>Value</code>, during that period.</p> </li> <li> <p>
* <code>SampleCount</code> -- the number of data points matched by the rule.</p>
* </li> <li> <p> <code>Sum</code> -- the sum of the values from all contributors
* during the time period represented by that data point.</p> </li> <li> <p>
* <code>Minimum</code> -- the minimum value from a single observation during the
* time period represented by that data point.</p> </li> <li> <p>
* <code>Maximum</code> -- the maximum value from a single observation during the
* time period represented by that data point.</p> </li> <li> <p>
* <code>Average</code> -- the average value from all contributors during the time
* period represented by that data point.</p> </li> </ul>
*/
inline void SetMetrics(Aws::Vector<Aws::String>&& value) { m_metricsHasBeenSet = true; m_metrics = std::move(value); }
/**
* <p>Specifies which metrics to use for aggregation of contributor values for the
* report. You can specify one or more of the following metrics:</p> <ul> <li> <p>
* <code>UniqueContributors</code> -- the number of unique contributors for each
* data point.</p> </li> <li> <p> <code>MaxContributorValue</code> -- the value of
* the top contributor for each data point. The identity of the contributor might
* change for each data point in the graph.</p> <p>If this rule aggregates by
* COUNT, the top contributor for each data point is the contributor with the most
* occurrences in that period. If the rule aggregates by SUM, the top contributor
* is the contributor with the highest sum in the log field specified by the rule's
* <code>Value</code>, during that period.</p> </li> <li> <p>
* <code>SampleCount</code> -- the number of data points matched by the rule.</p>
* </li> <li> <p> <code>Sum</code> -- the sum of the values from all contributors
* during the time period represented by that data point.</p> </li> <li> <p>
* <code>Minimum</code> -- the minimum value from a single observation during the
* time period represented by that data point.</p> </li> <li> <p>
* <code>Maximum</code> -- the maximum value from a single observation during the
* time period represented by that data point.</p> </li> <li> <p>
* <code>Average</code> -- the average value from all contributors during the time
* period represented by that data point.</p> </li> </ul>
*/
inline GetInsightRuleReportRequest& WithMetrics(const Aws::Vector<Aws::String>& value) { SetMetrics(value); return *this;}
/**
* <p>Specifies which metrics to use for aggregation of contributor values for the
* report. You can specify one or more of the following metrics:</p> <ul> <li> <p>
* <code>UniqueContributors</code> -- the number of unique contributors for each
* data point.</p> </li> <li> <p> <code>MaxContributorValue</code> -- the value of
* the top contributor for each data point. The identity of the contributor might
* change for each data point in the graph.</p> <p>If this rule aggregates by
* COUNT, the top contributor for each data point is the contributor with the most
* occurrences in that period. If the rule aggregates by SUM, the top contributor
* is the contributor with the highest sum in the log field specified by the rule's
* <code>Value</code>, during that period.</p> </li> <li> <p>
* <code>SampleCount</code> -- the number of data points matched by the rule.</p>
* </li> <li> <p> <code>Sum</code> -- the sum of the values from all contributors
* during the time period represented by that data point.</p> </li> <li> <p>
* <code>Minimum</code> -- the minimum value from a single observation during the
* time period represented by that data point.</p> </li> <li> <p>
* <code>Maximum</code> -- the maximum value from a single observation during the
* time period represented by that data point.</p> </li> <li> <p>
* <code>Average</code> -- the average value from all contributors during the time
* period represented by that data point.</p> </li> </ul>
*/
inline GetInsightRuleReportRequest& WithMetrics(Aws::Vector<Aws::String>&& value) { SetMetrics(std::move(value)); return *this;}
/**
* <p>Specifies which metrics to use for aggregation of contributor values for the
* report. You can specify one or more of the following metrics:</p> <ul> <li> <p>
* <code>UniqueContributors</code> -- the number of unique contributors for each
* data point.</p> </li> <li> <p> <code>MaxContributorValue</code> -- the value of
* the top contributor for each data point. The identity of the contributor might
* change for each data point in the graph.</p> <p>If this rule aggregates by
* COUNT, the top contributor for each data point is the contributor with the most
* occurrences in that period. If the rule aggregates by SUM, the top contributor
* is the contributor with the highest sum in the log field specified by the rule's
* <code>Value</code>, during that period.</p> </li> <li> <p>
* <code>SampleCount</code> -- the number of data points matched by the rule.</p>
* </li> <li> <p> <code>Sum</code> -- the sum of the values from all contributors
* during the time period represented by that data point.</p> </li> <li> <p>
* <code>Minimum</code> -- the minimum value from a single observation during the
* time period represented by that data point.</p> </li> <li> <p>
* <code>Maximum</code> -- the maximum value from a single observation during the
* time period represented by that data point.</p> </li> <li> <p>
* <code>Average</code> -- the average value from all contributors during the time
* period represented by that data point.</p> </li> </ul>
*/
inline GetInsightRuleReportRequest& AddMetrics(const Aws::String& value) { m_metricsHasBeenSet = true; m_metrics.push_back(value); return *this; }
/**
* <p>Specifies which metrics to use for aggregation of contributor values for the
* report. You can specify one or more of the following metrics:</p> <ul> <li> <p>
* <code>UniqueContributors</code> -- the number of unique contributors for each
* data point.</p> </li> <li> <p> <code>MaxContributorValue</code> -- the value of
* the top contributor for each data point. The identity of the contributor might
* change for each data point in the graph.</p> <p>If this rule aggregates by
* COUNT, the top contributor for each data point is the contributor with the most
* occurrences in that period. If the rule aggregates by SUM, the top contributor
* is the contributor with the highest sum in the log field specified by the rule's
* <code>Value</code>, during that period.</p> </li> <li> <p>
* <code>SampleCount</code> -- the number of data points matched by the rule.</p>
* </li> <li> <p> <code>Sum</code> -- the sum of the values from all contributors
* during the time period represented by that data point.</p> </li> <li> <p>
* <code>Minimum</code> -- the minimum value from a single observation during the
* time period represented by that data point.</p> </li> <li> <p>
* <code>Maximum</code> -- the maximum value from a single observation during the
* time period represented by that data point.</p> </li> <li> <p>
* <code>Average</code> -- the average value from all contributors during the time
* period represented by that data point.</p> </li> </ul>
*/
inline GetInsightRuleReportRequest& AddMetrics(Aws::String&& value) { m_metricsHasBeenSet = true; m_metrics.push_back(std::move(value)); return *this; }
/**
* <p>Specifies which metrics to use for aggregation of contributor values for the
* report. You can specify one or more of the following metrics:</p> <ul> <li> <p>
* <code>UniqueContributors</code> -- the number of unique contributors for each
* data point.</p> </li> <li> <p> <code>MaxContributorValue</code> -- the value of
* the top contributor for each data point. The identity of the contributor might
* change for each data point in the graph.</p> <p>If this rule aggregates by
* COUNT, the top contributor for each data point is the contributor with the most
* occurrences in that period. If the rule aggregates by SUM, the top contributor
* is the contributor with the highest sum in the log field specified by the rule's
* <code>Value</code>, during that period.</p> </li> <li> <p>
* <code>SampleCount</code> -- the number of data points matched by the rule.</p>
* </li> <li> <p> <code>Sum</code> -- the sum of the values from all contributors
* during the time period represented by that data point.</p> </li> <li> <p>
* <code>Minimum</code> -- the minimum value from a single observation during the
* time period represented by that data point.</p> </li> <li> <p>
* <code>Maximum</code> -- the maximum value from a single observation during the
* time period represented by that data point.</p> </li> <li> <p>
* <code>Average</code> -- the average value from all contributors during the time
* period represented by that data point.</p> </li> </ul>
*/
inline GetInsightRuleReportRequest& AddMetrics(const char* value) { m_metricsHasBeenSet = true; m_metrics.push_back(value); return *this; }
/**
* <p>Determines what statistic to use to rank the contributors. Valid values are
* SUM and MAXIMUM.</p>
*/
inline const Aws::String& GetOrderBy() const{ return m_orderBy; }
/**
* <p>Determines what statistic to use to rank the contributors. Valid values are
* SUM and MAXIMUM.</p>
*/
inline bool OrderByHasBeenSet() const { return m_orderByHasBeenSet; }
/**
* <p>Determines what statistic to use to rank the contributors. Valid values are
* SUM and MAXIMUM.</p>
*/
inline void SetOrderBy(const Aws::String& value) { m_orderByHasBeenSet = true; m_orderBy = value; }
/**
* <p>Determines what statistic to use to rank the contributors. Valid values are
* SUM and MAXIMUM.</p>
*/
inline void SetOrderBy(Aws::String&& value) { m_orderByHasBeenSet = true; m_orderBy = std::move(value); }
/**
* <p>Determines what statistic to use to rank the contributors. Valid values are
* SUM and MAXIMUM.</p>
*/
inline void SetOrderBy(const char* value) { m_orderByHasBeenSet = true; m_orderBy.assign(value); }
/**
* <p>Determines what statistic to use to rank the contributors. Valid values are
* SUM and MAXIMUM.</p>
*/
inline GetInsightRuleReportRequest& WithOrderBy(const Aws::String& value) { SetOrderBy(value); return *this;}
/**
* <p>Determines what statistic to use to rank the contributors. Valid values are
* SUM and MAXIMUM.</p>
*/
inline GetInsightRuleReportRequest& WithOrderBy(Aws::String&& value) { SetOrderBy(std::move(value)); return *this;}
/**
* <p>Determines what statistic to use to rank the contributors. Valid values are
* SUM and MAXIMUM.</p>
*/
inline GetInsightRuleReportRequest& WithOrderBy(const char* value) { SetOrderBy(value); return *this;}
private:
Aws::String m_ruleName;
bool m_ruleNameHasBeenSet;
Aws::Utils::DateTime m_startTime;
bool m_startTimeHasBeenSet;
Aws::Utils::DateTime m_endTime;
bool m_endTimeHasBeenSet;
int m_period;
bool m_periodHasBeenSet;
int m_maxContributorCount;
bool m_maxContributorCountHasBeenSet;
Aws::Vector<Aws::String> m_metrics;
bool m_metricsHasBeenSet;
Aws::String m_orderBy;
bool m_orderByHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,305 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <aws/monitoring/model/InsightRuleContributor.h>
#include <aws/monitoring/model/InsightRuleMetricDatapoint.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API GetInsightRuleReportResult
{
public:
GetInsightRuleReportResult();
GetInsightRuleReportResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
GetInsightRuleReportResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
/**
* <p>An array of the strings used as the keys for this rule. The keys are the
* dimensions used to classify contributors. If the rule contains more than one
* key, then each unique combination of values for the keys is counted as a unique
* contributor.</p>
*/
inline const Aws::Vector<Aws::String>& GetKeyLabels() const{ return m_keyLabels; }
/**
* <p>An array of the strings used as the keys for this rule. The keys are the
* dimensions used to classify contributors. If the rule contains more than one
* key, then each unique combination of values for the keys is counted as a unique
* contributor.</p>
*/
inline void SetKeyLabels(const Aws::Vector<Aws::String>& value) { m_keyLabels = value; }
/**
* <p>An array of the strings used as the keys for this rule. The keys are the
* dimensions used to classify contributors. If the rule contains more than one
* key, then each unique combination of values for the keys is counted as a unique
* contributor.</p>
*/
inline void SetKeyLabels(Aws::Vector<Aws::String>&& value) { m_keyLabels = std::move(value); }
/**
* <p>An array of the strings used as the keys for this rule. The keys are the
* dimensions used to classify contributors. If the rule contains more than one
* key, then each unique combination of values for the keys is counted as a unique
* contributor.</p>
*/
inline GetInsightRuleReportResult& WithKeyLabels(const Aws::Vector<Aws::String>& value) { SetKeyLabels(value); return *this;}
/**
* <p>An array of the strings used as the keys for this rule. The keys are the
* dimensions used to classify contributors. If the rule contains more than one
* key, then each unique combination of values for the keys is counted as a unique
* contributor.</p>
*/
inline GetInsightRuleReportResult& WithKeyLabels(Aws::Vector<Aws::String>&& value) { SetKeyLabels(std::move(value)); return *this;}
/**
* <p>An array of the strings used as the keys for this rule. The keys are the
* dimensions used to classify contributors. If the rule contains more than one
* key, then each unique combination of values for the keys is counted as a unique
* contributor.</p>
*/
inline GetInsightRuleReportResult& AddKeyLabels(const Aws::String& value) { m_keyLabels.push_back(value); return *this; }
/**
* <p>An array of the strings used as the keys for this rule. The keys are the
* dimensions used to classify contributors. If the rule contains more than one
* key, then each unique combination of values for the keys is counted as a unique
* contributor.</p>
*/
inline GetInsightRuleReportResult& AddKeyLabels(Aws::String&& value) { m_keyLabels.push_back(std::move(value)); return *this; }
/**
* <p>An array of the strings used as the keys for this rule. The keys are the
* dimensions used to classify contributors. If the rule contains more than one
* key, then each unique combination of values for the keys is counted as a unique
* contributor.</p>
*/
inline GetInsightRuleReportResult& AddKeyLabels(const char* value) { m_keyLabels.push_back(value); return *this; }
/**
* <p>Specifies whether this rule aggregates contributor data by COUNT or SUM.</p>
*/
inline const Aws::String& GetAggregationStatistic() const{ return m_aggregationStatistic; }
/**
* <p>Specifies whether this rule aggregates contributor data by COUNT or SUM.</p>
*/
inline void SetAggregationStatistic(const Aws::String& value) { m_aggregationStatistic = value; }
/**
* <p>Specifies whether this rule aggregates contributor data by COUNT or SUM.</p>
*/
inline void SetAggregationStatistic(Aws::String&& value) { m_aggregationStatistic = std::move(value); }
/**
* <p>Specifies whether this rule aggregates contributor data by COUNT or SUM.</p>
*/
inline void SetAggregationStatistic(const char* value) { m_aggregationStatistic.assign(value); }
/**
* <p>Specifies whether this rule aggregates contributor data by COUNT or SUM.</p>
*/
inline GetInsightRuleReportResult& WithAggregationStatistic(const Aws::String& value) { SetAggregationStatistic(value); return *this;}
/**
* <p>Specifies whether this rule aggregates contributor data by COUNT or SUM.</p>
*/
inline GetInsightRuleReportResult& WithAggregationStatistic(Aws::String&& value) { SetAggregationStatistic(std::move(value)); return *this;}
/**
* <p>Specifies whether this rule aggregates contributor data by COUNT or SUM.</p>
*/
inline GetInsightRuleReportResult& WithAggregationStatistic(const char* value) { SetAggregationStatistic(value); return *this;}
/**
* <p>The sum of the values from all individual contributors that match the
* rule.</p>
*/
inline double GetAggregateValue() const{ return m_aggregateValue; }
/**
* <p>The sum of the values from all individual contributors that match the
* rule.</p>
*/
inline void SetAggregateValue(double value) { m_aggregateValue = value; }
/**
* <p>The sum of the values from all individual contributors that match the
* rule.</p>
*/
inline GetInsightRuleReportResult& WithAggregateValue(double value) { SetAggregateValue(value); return *this;}
/**
* <p>An approximate count of the unique contributors found by this rule in this
* time period.</p>
*/
inline long long GetApproximateUniqueCount() const{ return m_approximateUniqueCount; }
/**
* <p>An approximate count of the unique contributors found by this rule in this
* time period.</p>
*/
inline void SetApproximateUniqueCount(long long value) { m_approximateUniqueCount = value; }
/**
* <p>An approximate count of the unique contributors found by this rule in this
* time period.</p>
*/
inline GetInsightRuleReportResult& WithApproximateUniqueCount(long long value) { SetApproximateUniqueCount(value); return *this;}
/**
* <p>An array of the unique contributors found by this rule in this time period.
* If the rule contains multiple keys, each combination of values for the keys
* counts as a unique contributor.</p>
*/
inline const Aws::Vector<InsightRuleContributor>& GetContributors() const{ return m_contributors; }
/**
* <p>An array of the unique contributors found by this rule in this time period.
* If the rule contains multiple keys, each combination of values for the keys
* counts as a unique contributor.</p>
*/
inline void SetContributors(const Aws::Vector<InsightRuleContributor>& value) { m_contributors = value; }
/**
* <p>An array of the unique contributors found by this rule in this time period.
* If the rule contains multiple keys, each combination of values for the keys
* counts as a unique contributor.</p>
*/
inline void SetContributors(Aws::Vector<InsightRuleContributor>&& value) { m_contributors = std::move(value); }
/**
* <p>An array of the unique contributors found by this rule in this time period.
* If the rule contains multiple keys, each combination of values for the keys
* counts as a unique contributor.</p>
*/
inline GetInsightRuleReportResult& WithContributors(const Aws::Vector<InsightRuleContributor>& value) { SetContributors(value); return *this;}
/**
* <p>An array of the unique contributors found by this rule in this time period.
* If the rule contains multiple keys, each combination of values for the keys
* counts as a unique contributor.</p>
*/
inline GetInsightRuleReportResult& WithContributors(Aws::Vector<InsightRuleContributor>&& value) { SetContributors(std::move(value)); return *this;}
/**
* <p>An array of the unique contributors found by this rule in this time period.
* If the rule contains multiple keys, each combination of values for the keys
* counts as a unique contributor.</p>
*/
inline GetInsightRuleReportResult& AddContributors(const InsightRuleContributor& value) { m_contributors.push_back(value); return *this; }
/**
* <p>An array of the unique contributors found by this rule in this time period.
* If the rule contains multiple keys, each combination of values for the keys
* counts as a unique contributor.</p>
*/
inline GetInsightRuleReportResult& AddContributors(InsightRuleContributor&& value) { m_contributors.push_back(std::move(value)); return *this; }
/**
* <p>A time series of metric data points that matches the time period in the rule
* request.</p>
*/
inline const Aws::Vector<InsightRuleMetricDatapoint>& GetMetricDatapoints() const{ return m_metricDatapoints; }
/**
* <p>A time series of metric data points that matches the time period in the rule
* request.</p>
*/
inline void SetMetricDatapoints(const Aws::Vector<InsightRuleMetricDatapoint>& value) { m_metricDatapoints = value; }
/**
* <p>A time series of metric data points that matches the time period in the rule
* request.</p>
*/
inline void SetMetricDatapoints(Aws::Vector<InsightRuleMetricDatapoint>&& value) { m_metricDatapoints = std::move(value); }
/**
* <p>A time series of metric data points that matches the time period in the rule
* request.</p>
*/
inline GetInsightRuleReportResult& WithMetricDatapoints(const Aws::Vector<InsightRuleMetricDatapoint>& value) { SetMetricDatapoints(value); return *this;}
/**
* <p>A time series of metric data points that matches the time period in the rule
* request.</p>
*/
inline GetInsightRuleReportResult& WithMetricDatapoints(Aws::Vector<InsightRuleMetricDatapoint>&& value) { SetMetricDatapoints(std::move(value)); return *this;}
/**
* <p>A time series of metric data points that matches the time period in the rule
* request.</p>
*/
inline GetInsightRuleReportResult& AddMetricDatapoints(const InsightRuleMetricDatapoint& value) { m_metricDatapoints.push_back(value); return *this; }
/**
* <p>A time series of metric data points that matches the time period in the rule
* request.</p>
*/
inline GetInsightRuleReportResult& AddMetricDatapoints(InsightRuleMetricDatapoint&& value) { m_metricDatapoints.push_back(std::move(value)); return *this; }
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline GetInsightRuleReportResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline GetInsightRuleReportResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
Aws::Vector<Aws::String> m_keyLabels;
Aws::String m_aggregationStatistic;
double m_aggregateValue;
long long m_approximateUniqueCount;
Aws::Vector<InsightRuleContributor> m_contributors;
Aws::Vector<InsightRuleMetricDatapoint> m_metricDatapoints;
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,489 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/monitoring/model/ScanBy.h>
#include <aws/monitoring/model/MetricDataQuery.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API GetMetricDataRequest : public CloudWatchRequest
{
public:
GetMetricDataRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "GetMetricData"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The metric queries to be returned. A single <code>GetMetricData</code> call
* can include as many as 500 <code>MetricDataQuery</code> structures. Each of
* these structures can specify either a metric to retrieve, or a math expression
* to perform on retrieved data. </p>
*/
inline const Aws::Vector<MetricDataQuery>& GetMetricDataQueries() const{ return m_metricDataQueries; }
/**
* <p>The metric queries to be returned. A single <code>GetMetricData</code> call
* can include as many as 500 <code>MetricDataQuery</code> structures. Each of
* these structures can specify either a metric to retrieve, or a math expression
* to perform on retrieved data. </p>
*/
inline bool MetricDataQueriesHasBeenSet() const { return m_metricDataQueriesHasBeenSet; }
/**
* <p>The metric queries to be returned. A single <code>GetMetricData</code> call
* can include as many as 500 <code>MetricDataQuery</code> structures. Each of
* these structures can specify either a metric to retrieve, or a math expression
* to perform on retrieved data. </p>
*/
inline void SetMetricDataQueries(const Aws::Vector<MetricDataQuery>& value) { m_metricDataQueriesHasBeenSet = true; m_metricDataQueries = value; }
/**
* <p>The metric queries to be returned. A single <code>GetMetricData</code> call
* can include as many as 500 <code>MetricDataQuery</code> structures. Each of
* these structures can specify either a metric to retrieve, or a math expression
* to perform on retrieved data. </p>
*/
inline void SetMetricDataQueries(Aws::Vector<MetricDataQuery>&& value) { m_metricDataQueriesHasBeenSet = true; m_metricDataQueries = std::move(value); }
/**
* <p>The metric queries to be returned. A single <code>GetMetricData</code> call
* can include as many as 500 <code>MetricDataQuery</code> structures. Each of
* these structures can specify either a metric to retrieve, or a math expression
* to perform on retrieved data. </p>
*/
inline GetMetricDataRequest& WithMetricDataQueries(const Aws::Vector<MetricDataQuery>& value) { SetMetricDataQueries(value); return *this;}
/**
* <p>The metric queries to be returned. A single <code>GetMetricData</code> call
* can include as many as 500 <code>MetricDataQuery</code> structures. Each of
* these structures can specify either a metric to retrieve, or a math expression
* to perform on retrieved data. </p>
*/
inline GetMetricDataRequest& WithMetricDataQueries(Aws::Vector<MetricDataQuery>&& value) { SetMetricDataQueries(std::move(value)); return *this;}
/**
* <p>The metric queries to be returned. A single <code>GetMetricData</code> call
* can include as many as 500 <code>MetricDataQuery</code> structures. Each of
* these structures can specify either a metric to retrieve, or a math expression
* to perform on retrieved data. </p>
*/
inline GetMetricDataRequest& AddMetricDataQueries(const MetricDataQuery& value) { m_metricDataQueriesHasBeenSet = true; m_metricDataQueries.push_back(value); return *this; }
/**
* <p>The metric queries to be returned. A single <code>GetMetricData</code> call
* can include as many as 500 <code>MetricDataQuery</code> structures. Each of
* these structures can specify either a metric to retrieve, or a math expression
* to perform on retrieved data. </p>
*/
inline GetMetricDataRequest& AddMetricDataQueries(MetricDataQuery&& value) { m_metricDataQueriesHasBeenSet = true; m_metricDataQueries.push_back(std::move(value)); return *this; }
/**
* <p>The time stamp indicating the earliest data to be returned.</p> <p>The value
* specified is inclusive; results include data points with the specified time
* stamp. </p> <p>CloudWatch rounds the specified time stamp as follows:</p> <ul>
* <li> <p>Start time less than 15 days ago - Round down to the nearest whole
* minute. For example, 12:32:34 is rounded down to 12:32:00.</p> </li> <li>
* <p>Start time between 15 and 63 days ago - Round down to the nearest 5-minute
* clock interval. For example, 12:32:34 is rounded down to 12:30:00.</p> </li>
* <li> <p>Start time greater than 63 days ago - Round down to the nearest 1-hour
* clock interval. For example, 12:32:34 is rounded down to 12:00:00.</p> </li>
* </ul> <p>If you set <code>Period</code> to 5, 10, or 30, the start time of your
* request is rounded down to the nearest time that corresponds to even 5-, 10-, or
* 30-second divisions of a minute. For example, if you make a query at (HH:mm:ss)
* 01:05:23 for the previous 10-second period, the start time of your request is
* rounded down and you receive data from 01:05:10 to 01:05:20. If you make a query
* at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds, you
* receive data timestamped between 15:02:15 and 15:07:15. </p> <p>For better
* performance, specify <code>StartTime</code> and <code>EndTime</code> values that
* align with the value of the metric's <code>Period</code> and sync up with the
* beginning and end of an hour. For example, if the <code>Period</code> of a
* metric is 5 minutes, specifying 12:05 or 12:30 as <code>StartTime</code> can get
* a faster response from CloudWatch than setting 12:07 or 12:29 as the
* <code>StartTime</code>.</p>
*/
inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
/**
* <p>The time stamp indicating the earliest data to be returned.</p> <p>The value
* specified is inclusive; results include data points with the specified time
* stamp. </p> <p>CloudWatch rounds the specified time stamp as follows:</p> <ul>
* <li> <p>Start time less than 15 days ago - Round down to the nearest whole
* minute. For example, 12:32:34 is rounded down to 12:32:00.</p> </li> <li>
* <p>Start time between 15 and 63 days ago - Round down to the nearest 5-minute
* clock interval. For example, 12:32:34 is rounded down to 12:30:00.</p> </li>
* <li> <p>Start time greater than 63 days ago - Round down to the nearest 1-hour
* clock interval. For example, 12:32:34 is rounded down to 12:00:00.</p> </li>
* </ul> <p>If you set <code>Period</code> to 5, 10, or 30, the start time of your
* request is rounded down to the nearest time that corresponds to even 5-, 10-, or
* 30-second divisions of a minute. For example, if you make a query at (HH:mm:ss)
* 01:05:23 for the previous 10-second period, the start time of your request is
* rounded down and you receive data from 01:05:10 to 01:05:20. If you make a query
* at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds, you
* receive data timestamped between 15:02:15 and 15:07:15. </p> <p>For better
* performance, specify <code>StartTime</code> and <code>EndTime</code> values that
* align with the value of the metric's <code>Period</code> and sync up with the
* beginning and end of an hour. For example, if the <code>Period</code> of a
* metric is 5 minutes, specifying 12:05 or 12:30 as <code>StartTime</code> can get
* a faster response from CloudWatch than setting 12:07 or 12:29 as the
* <code>StartTime</code>.</p>
*/
inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
/**
* <p>The time stamp indicating the earliest data to be returned.</p> <p>The value
* specified is inclusive; results include data points with the specified time
* stamp. </p> <p>CloudWatch rounds the specified time stamp as follows:</p> <ul>
* <li> <p>Start time less than 15 days ago - Round down to the nearest whole
* minute. For example, 12:32:34 is rounded down to 12:32:00.</p> </li> <li>
* <p>Start time between 15 and 63 days ago - Round down to the nearest 5-minute
* clock interval. For example, 12:32:34 is rounded down to 12:30:00.</p> </li>
* <li> <p>Start time greater than 63 days ago - Round down to the nearest 1-hour
* clock interval. For example, 12:32:34 is rounded down to 12:00:00.</p> </li>
* </ul> <p>If you set <code>Period</code> to 5, 10, or 30, the start time of your
* request is rounded down to the nearest time that corresponds to even 5-, 10-, or
* 30-second divisions of a minute. For example, if you make a query at (HH:mm:ss)
* 01:05:23 for the previous 10-second period, the start time of your request is
* rounded down and you receive data from 01:05:10 to 01:05:20. If you make a query
* at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds, you
* receive data timestamped between 15:02:15 and 15:07:15. </p> <p>For better
* performance, specify <code>StartTime</code> and <code>EndTime</code> values that
* align with the value of the metric's <code>Period</code> and sync up with the
* beginning and end of an hour. For example, if the <code>Period</code> of a
* metric is 5 minutes, specifying 12:05 or 12:30 as <code>StartTime</code> can get
* a faster response from CloudWatch than setting 12:07 or 12:29 as the
* <code>StartTime</code>.</p>
*/
inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
/**
* <p>The time stamp indicating the earliest data to be returned.</p> <p>The value
* specified is inclusive; results include data points with the specified time
* stamp. </p> <p>CloudWatch rounds the specified time stamp as follows:</p> <ul>
* <li> <p>Start time less than 15 days ago - Round down to the nearest whole
* minute. For example, 12:32:34 is rounded down to 12:32:00.</p> </li> <li>
* <p>Start time between 15 and 63 days ago - Round down to the nearest 5-minute
* clock interval. For example, 12:32:34 is rounded down to 12:30:00.</p> </li>
* <li> <p>Start time greater than 63 days ago - Round down to the nearest 1-hour
* clock interval. For example, 12:32:34 is rounded down to 12:00:00.</p> </li>
* </ul> <p>If you set <code>Period</code> to 5, 10, or 30, the start time of your
* request is rounded down to the nearest time that corresponds to even 5-, 10-, or
* 30-second divisions of a minute. For example, if you make a query at (HH:mm:ss)
* 01:05:23 for the previous 10-second period, the start time of your request is
* rounded down and you receive data from 01:05:10 to 01:05:20. If you make a query
* at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds, you
* receive data timestamped between 15:02:15 and 15:07:15. </p> <p>For better
* performance, specify <code>StartTime</code> and <code>EndTime</code> values that
* align with the value of the metric's <code>Period</code> and sync up with the
* beginning and end of an hour. For example, if the <code>Period</code> of a
* metric is 5 minutes, specifying 12:05 or 12:30 as <code>StartTime</code> can get
* a faster response from CloudWatch than setting 12:07 or 12:29 as the
* <code>StartTime</code>.</p>
*/
inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
/**
* <p>The time stamp indicating the earliest data to be returned.</p> <p>The value
* specified is inclusive; results include data points with the specified time
* stamp. </p> <p>CloudWatch rounds the specified time stamp as follows:</p> <ul>
* <li> <p>Start time less than 15 days ago - Round down to the nearest whole
* minute. For example, 12:32:34 is rounded down to 12:32:00.</p> </li> <li>
* <p>Start time between 15 and 63 days ago - Round down to the nearest 5-minute
* clock interval. For example, 12:32:34 is rounded down to 12:30:00.</p> </li>
* <li> <p>Start time greater than 63 days ago - Round down to the nearest 1-hour
* clock interval. For example, 12:32:34 is rounded down to 12:00:00.</p> </li>
* </ul> <p>If you set <code>Period</code> to 5, 10, or 30, the start time of your
* request is rounded down to the nearest time that corresponds to even 5-, 10-, or
* 30-second divisions of a minute. For example, if you make a query at (HH:mm:ss)
* 01:05:23 for the previous 10-second period, the start time of your request is
* rounded down and you receive data from 01:05:10 to 01:05:20. If you make a query
* at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds, you
* receive data timestamped between 15:02:15 and 15:07:15. </p> <p>For better
* performance, specify <code>StartTime</code> and <code>EndTime</code> values that
* align with the value of the metric's <code>Period</code> and sync up with the
* beginning and end of an hour. For example, if the <code>Period</code> of a
* metric is 5 minutes, specifying 12:05 or 12:30 as <code>StartTime</code> can get
* a faster response from CloudWatch than setting 12:07 or 12:29 as the
* <code>StartTime</code>.</p>
*/
inline GetMetricDataRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
/**
* <p>The time stamp indicating the earliest data to be returned.</p> <p>The value
* specified is inclusive; results include data points with the specified time
* stamp. </p> <p>CloudWatch rounds the specified time stamp as follows:</p> <ul>
* <li> <p>Start time less than 15 days ago - Round down to the nearest whole
* minute. For example, 12:32:34 is rounded down to 12:32:00.</p> </li> <li>
* <p>Start time between 15 and 63 days ago - Round down to the nearest 5-minute
* clock interval. For example, 12:32:34 is rounded down to 12:30:00.</p> </li>
* <li> <p>Start time greater than 63 days ago - Round down to the nearest 1-hour
* clock interval. For example, 12:32:34 is rounded down to 12:00:00.</p> </li>
* </ul> <p>If you set <code>Period</code> to 5, 10, or 30, the start time of your
* request is rounded down to the nearest time that corresponds to even 5-, 10-, or
* 30-second divisions of a minute. For example, if you make a query at (HH:mm:ss)
* 01:05:23 for the previous 10-second period, the start time of your request is
* rounded down and you receive data from 01:05:10 to 01:05:20. If you make a query
* at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds, you
* receive data timestamped between 15:02:15 and 15:07:15. </p> <p>For better
* performance, specify <code>StartTime</code> and <code>EndTime</code> values that
* align with the value of the metric's <code>Period</code> and sync up with the
* beginning and end of an hour. For example, if the <code>Period</code> of a
* metric is 5 minutes, specifying 12:05 or 12:30 as <code>StartTime</code> can get
* a faster response from CloudWatch than setting 12:07 or 12:29 as the
* <code>StartTime</code>.</p>
*/
inline GetMetricDataRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
/**
* <p>The time stamp indicating the latest data to be returned.</p> <p>The value
* specified is exclusive; results include data points up to the specified time
* stamp.</p> <p>For better performance, specify <code>StartTime</code> and
* <code>EndTime</code> values that align with the value of the metric's
* <code>Period</code> and sync up with the beginning and end of an hour. For
* example, if the <code>Period</code> of a metric is 5 minutes, specifying 12:05
* or 12:30 as <code>EndTime</code> can get a faster response from CloudWatch than
* setting 12:07 or 12:29 as the <code>EndTime</code>.</p>
*/
inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; }
/**
* <p>The time stamp indicating the latest data to be returned.</p> <p>The value
* specified is exclusive; results include data points up to the specified time
* stamp.</p> <p>For better performance, specify <code>StartTime</code> and
* <code>EndTime</code> values that align with the value of the metric's
* <code>Period</code> and sync up with the beginning and end of an hour. For
* example, if the <code>Period</code> of a metric is 5 minutes, specifying 12:05
* or 12:30 as <code>EndTime</code> can get a faster response from CloudWatch than
* setting 12:07 or 12:29 as the <code>EndTime</code>.</p>
*/
inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
/**
* <p>The time stamp indicating the latest data to be returned.</p> <p>The value
* specified is exclusive; results include data points up to the specified time
* stamp.</p> <p>For better performance, specify <code>StartTime</code> and
* <code>EndTime</code> values that align with the value of the metric's
* <code>Period</code> and sync up with the beginning and end of an hour. For
* example, if the <code>Period</code> of a metric is 5 minutes, specifying 12:05
* or 12:30 as <code>EndTime</code> can get a faster response from CloudWatch than
* setting 12:07 or 12:29 as the <code>EndTime</code>.</p>
*/
inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; }
/**
* <p>The time stamp indicating the latest data to be returned.</p> <p>The value
* specified is exclusive; results include data points up to the specified time
* stamp.</p> <p>For better performance, specify <code>StartTime</code> and
* <code>EndTime</code> values that align with the value of the metric's
* <code>Period</code> and sync up with the beginning and end of an hour. For
* example, if the <code>Period</code> of a metric is 5 minutes, specifying 12:05
* or 12:30 as <code>EndTime</code> can get a faster response from CloudWatch than
* setting 12:07 or 12:29 as the <code>EndTime</code>.</p>
*/
inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); }
/**
* <p>The time stamp indicating the latest data to be returned.</p> <p>The value
* specified is exclusive; results include data points up to the specified time
* stamp.</p> <p>For better performance, specify <code>StartTime</code> and
* <code>EndTime</code> values that align with the value of the metric's
* <code>Period</code> and sync up with the beginning and end of an hour. For
* example, if the <code>Period</code> of a metric is 5 minutes, specifying 12:05
* or 12:30 as <code>EndTime</code> can get a faster response from CloudWatch than
* setting 12:07 or 12:29 as the <code>EndTime</code>.</p>
*/
inline GetMetricDataRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;}
/**
* <p>The time stamp indicating the latest data to be returned.</p> <p>The value
* specified is exclusive; results include data points up to the specified time
* stamp.</p> <p>For better performance, specify <code>StartTime</code> and
* <code>EndTime</code> values that align with the value of the metric's
* <code>Period</code> and sync up with the beginning and end of an hour. For
* example, if the <code>Period</code> of a metric is 5 minutes, specifying 12:05
* or 12:30 as <code>EndTime</code> can get a faster response from CloudWatch than
* setting 12:07 or 12:29 as the <code>EndTime</code>.</p>
*/
inline GetMetricDataRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
/**
* <p>Include this value, if it was returned by the previous call, to get the next
* set of data points.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>Include this value, if it was returned by the previous call, to get the next
* set of data points.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>Include this value, if it was returned by the previous call, to get the next
* set of data points.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>Include this value, if it was returned by the previous call, to get the next
* set of data points.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>Include this value, if it was returned by the previous call, to get the next
* set of data points.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>Include this value, if it was returned by the previous call, to get the next
* set of data points.</p>
*/
inline GetMetricDataRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>Include this value, if it was returned by the previous call, to get the next
* set of data points.</p>
*/
inline GetMetricDataRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>Include this value, if it was returned by the previous call, to get the next
* set of data points.</p>
*/
inline GetMetricDataRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
/**
* <p>The order in which data points should be returned.
* <code>TimestampDescending</code> returns the newest data first and paginates
* when the <code>MaxDatapoints</code> limit is reached.
* <code>TimestampAscending</code> returns the oldest data first and paginates when
* the <code>MaxDatapoints</code> limit is reached.</p>
*/
inline const ScanBy& GetScanBy() const{ return m_scanBy; }
/**
* <p>The order in which data points should be returned.
* <code>TimestampDescending</code> returns the newest data first and paginates
* when the <code>MaxDatapoints</code> limit is reached.
* <code>TimestampAscending</code> returns the oldest data first and paginates when
* the <code>MaxDatapoints</code> limit is reached.</p>
*/
inline bool ScanByHasBeenSet() const { return m_scanByHasBeenSet; }
/**
* <p>The order in which data points should be returned.
* <code>TimestampDescending</code> returns the newest data first and paginates
* when the <code>MaxDatapoints</code> limit is reached.
* <code>TimestampAscending</code> returns the oldest data first and paginates when
* the <code>MaxDatapoints</code> limit is reached.</p>
*/
inline void SetScanBy(const ScanBy& value) { m_scanByHasBeenSet = true; m_scanBy = value; }
/**
* <p>The order in which data points should be returned.
* <code>TimestampDescending</code> returns the newest data first and paginates
* when the <code>MaxDatapoints</code> limit is reached.
* <code>TimestampAscending</code> returns the oldest data first and paginates when
* the <code>MaxDatapoints</code> limit is reached.</p>
*/
inline void SetScanBy(ScanBy&& value) { m_scanByHasBeenSet = true; m_scanBy = std::move(value); }
/**
* <p>The order in which data points should be returned.
* <code>TimestampDescending</code> returns the newest data first and paginates
* when the <code>MaxDatapoints</code> limit is reached.
* <code>TimestampAscending</code> returns the oldest data first and paginates when
* the <code>MaxDatapoints</code> limit is reached.</p>
*/
inline GetMetricDataRequest& WithScanBy(const ScanBy& value) { SetScanBy(value); return *this;}
/**
* <p>The order in which data points should be returned.
* <code>TimestampDescending</code> returns the newest data first and paginates
* when the <code>MaxDatapoints</code> limit is reached.
* <code>TimestampAscending</code> returns the oldest data first and paginates when
* the <code>MaxDatapoints</code> limit is reached.</p>
*/
inline GetMetricDataRequest& WithScanBy(ScanBy&& value) { SetScanBy(std::move(value)); return *this;}
/**
* <p>The maximum number of data points the request should return before
* paginating. If you omit this, the default of 100,800 is used.</p>
*/
inline int GetMaxDatapoints() const{ return m_maxDatapoints; }
/**
* <p>The maximum number of data points the request should return before
* paginating. If you omit this, the default of 100,800 is used.</p>
*/
inline bool MaxDatapointsHasBeenSet() const { return m_maxDatapointsHasBeenSet; }
/**
* <p>The maximum number of data points the request should return before
* paginating. If you omit this, the default of 100,800 is used.</p>
*/
inline void SetMaxDatapoints(int value) { m_maxDatapointsHasBeenSet = true; m_maxDatapoints = value; }
/**
* <p>The maximum number of data points the request should return before
* paginating. If you omit this, the default of 100,800 is used.</p>
*/
inline GetMetricDataRequest& WithMaxDatapoints(int value) { SetMaxDatapoints(value); return *this;}
private:
Aws::Vector<MetricDataQuery> m_metricDataQueries;
bool m_metricDataQueriesHasBeenSet;
Aws::Utils::DateTime m_startTime;
bool m_startTimeHasBeenSet;
Aws::Utils::DateTime m_endTime;
bool m_endTimeHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
ScanBy m_scanBy;
bool m_scanByHasBeenSet;
int m_maxDatapoints;
bool m_maxDatapointsHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,231 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <aws/monitoring/model/MetricDataResult.h>
#include <aws/monitoring/model/MessageData.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API GetMetricDataResult
{
public:
GetMetricDataResult();
GetMetricDataResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
GetMetricDataResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
/**
* <p>The metrics that are returned, including the metric name, namespace, and
* dimensions.</p>
*/
inline const Aws::Vector<MetricDataResult>& GetMetricDataResults() const{ return m_metricDataResults; }
/**
* <p>The metrics that are returned, including the metric name, namespace, and
* dimensions.</p>
*/
inline void SetMetricDataResults(const Aws::Vector<MetricDataResult>& value) { m_metricDataResults = value; }
/**
* <p>The metrics that are returned, including the metric name, namespace, and
* dimensions.</p>
*/
inline void SetMetricDataResults(Aws::Vector<MetricDataResult>&& value) { m_metricDataResults = std::move(value); }
/**
* <p>The metrics that are returned, including the metric name, namespace, and
* dimensions.</p>
*/
inline GetMetricDataResult& WithMetricDataResults(const Aws::Vector<MetricDataResult>& value) { SetMetricDataResults(value); return *this;}
/**
* <p>The metrics that are returned, including the metric name, namespace, and
* dimensions.</p>
*/
inline GetMetricDataResult& WithMetricDataResults(Aws::Vector<MetricDataResult>&& value) { SetMetricDataResults(std::move(value)); return *this;}
/**
* <p>The metrics that are returned, including the metric name, namespace, and
* dimensions.</p>
*/
inline GetMetricDataResult& AddMetricDataResults(const MetricDataResult& value) { m_metricDataResults.push_back(value); return *this; }
/**
* <p>The metrics that are returned, including the metric name, namespace, and
* dimensions.</p>
*/
inline GetMetricDataResult& AddMetricDataResults(MetricDataResult&& value) { m_metricDataResults.push_back(std::move(value)); return *this; }
/**
* <p>A token that marks the next batch of returned results.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token that marks the next batch of returned results.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>A token that marks the next batch of returned results.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>A token that marks the next batch of returned results.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>A token that marks the next batch of returned results.</p>
*/
inline GetMetricDataResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token that marks the next batch of returned results.</p>
*/
inline GetMetricDataResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token that marks the next batch of returned results.</p>
*/
inline GetMetricDataResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
/**
* <p>Contains a message about this <code>GetMetricData</code> operation, if the
* operation results in such a message. An example of a message that might be
* returned is <code>Maximum number of allowed metrics exceeded</code>. If there is
* a message, as much of the operation as possible is still executed.</p> <p>A
* message appears here only if it is related to the global
* <code>GetMetricData</code> operation. Any message about a specific metric
* returned by the operation appears in the <code>MetricDataResult</code> object
* returned for that metric.</p>
*/
inline const Aws::Vector<MessageData>& GetMessages() const{ return m_messages; }
/**
* <p>Contains a message about this <code>GetMetricData</code> operation, if the
* operation results in such a message. An example of a message that might be
* returned is <code>Maximum number of allowed metrics exceeded</code>. If there is
* a message, as much of the operation as possible is still executed.</p> <p>A
* message appears here only if it is related to the global
* <code>GetMetricData</code> operation. Any message about a specific metric
* returned by the operation appears in the <code>MetricDataResult</code> object
* returned for that metric.</p>
*/
inline void SetMessages(const Aws::Vector<MessageData>& value) { m_messages = value; }
/**
* <p>Contains a message about this <code>GetMetricData</code> operation, if the
* operation results in such a message. An example of a message that might be
* returned is <code>Maximum number of allowed metrics exceeded</code>. If there is
* a message, as much of the operation as possible is still executed.</p> <p>A
* message appears here only if it is related to the global
* <code>GetMetricData</code> operation. Any message about a specific metric
* returned by the operation appears in the <code>MetricDataResult</code> object
* returned for that metric.</p>
*/
inline void SetMessages(Aws::Vector<MessageData>&& value) { m_messages = std::move(value); }
/**
* <p>Contains a message about this <code>GetMetricData</code> operation, if the
* operation results in such a message. An example of a message that might be
* returned is <code>Maximum number of allowed metrics exceeded</code>. If there is
* a message, as much of the operation as possible is still executed.</p> <p>A
* message appears here only if it is related to the global
* <code>GetMetricData</code> operation. Any message about a specific metric
* returned by the operation appears in the <code>MetricDataResult</code> object
* returned for that metric.</p>
*/
inline GetMetricDataResult& WithMessages(const Aws::Vector<MessageData>& value) { SetMessages(value); return *this;}
/**
* <p>Contains a message about this <code>GetMetricData</code> operation, if the
* operation results in such a message. An example of a message that might be
* returned is <code>Maximum number of allowed metrics exceeded</code>. If there is
* a message, as much of the operation as possible is still executed.</p> <p>A
* message appears here only if it is related to the global
* <code>GetMetricData</code> operation. Any message about a specific metric
* returned by the operation appears in the <code>MetricDataResult</code> object
* returned for that metric.</p>
*/
inline GetMetricDataResult& WithMessages(Aws::Vector<MessageData>&& value) { SetMessages(std::move(value)); return *this;}
/**
* <p>Contains a message about this <code>GetMetricData</code> operation, if the
* operation results in such a message. An example of a message that might be
* returned is <code>Maximum number of allowed metrics exceeded</code>. If there is
* a message, as much of the operation as possible is still executed.</p> <p>A
* message appears here only if it is related to the global
* <code>GetMetricData</code> operation. Any message about a specific metric
* returned by the operation appears in the <code>MetricDataResult</code> object
* returned for that metric.</p>
*/
inline GetMetricDataResult& AddMessages(const MessageData& value) { m_messages.push_back(value); return *this; }
/**
* <p>Contains a message about this <code>GetMetricData</code> operation, if the
* operation results in such a message. An example of a message that might be
* returned is <code>Maximum number of allowed metrics exceeded</code>. If there is
* a message, as much of the operation as possible is still executed.</p> <p>A
* message appears here only if it is related to the global
* <code>GetMetricData</code> operation. Any message about a specific metric
* returned by the operation appears in the <code>MetricDataResult</code> object
* returned for that metric.</p>
*/
inline GetMetricDataResult& AddMessages(MessageData&& value) { m_messages.push_back(std::move(value)); return *this; }
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline GetMetricDataResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline GetMetricDataResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
Aws::Vector<MetricDataResult> m_metricDataResults;
Aws::String m_nextToken;
Aws::Vector<MessageData> m_messages;
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,735 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/DateTime.h>
#include <aws/monitoring/model/StandardUnit.h>
#include <aws/monitoring/model/Dimension.h>
#include <aws/monitoring/model/Statistic.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API GetMetricStatisticsRequest : public CloudWatchRequest
{
public:
GetMetricStatisticsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "GetMetricStatistics"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The namespace of the metric, with or without spaces.</p>
*/
inline const Aws::String& GetNamespace() const{ return m_namespace; }
/**
* <p>The namespace of the metric, with or without spaces.</p>
*/
inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; }
/**
* <p>The namespace of the metric, with or without spaces.</p>
*/
inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; }
/**
* <p>The namespace of the metric, with or without spaces.</p>
*/
inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); }
/**
* <p>The namespace of the metric, with or without spaces.</p>
*/
inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); }
/**
* <p>The namespace of the metric, with or without spaces.</p>
*/
inline GetMetricStatisticsRequest& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;}
/**
* <p>The namespace of the metric, with or without spaces.</p>
*/
inline GetMetricStatisticsRequest& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;}
/**
* <p>The namespace of the metric, with or without spaces.</p>
*/
inline GetMetricStatisticsRequest& WithNamespace(const char* value) { SetNamespace(value); return *this;}
/**
* <p>The name of the metric, with or without spaces.</p>
*/
inline const Aws::String& GetMetricName() const{ return m_metricName; }
/**
* <p>The name of the metric, with or without spaces.</p>
*/
inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; }
/**
* <p>The name of the metric, with or without spaces.</p>
*/
inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; }
/**
* <p>The name of the metric, with or without spaces.</p>
*/
inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); }
/**
* <p>The name of the metric, with or without spaces.</p>
*/
inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); }
/**
* <p>The name of the metric, with or without spaces.</p>
*/
inline GetMetricStatisticsRequest& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;}
/**
* <p>The name of the metric, with or without spaces.</p>
*/
inline GetMetricStatisticsRequest& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;}
/**
* <p>The name of the metric, with or without spaces.</p>
*/
inline GetMetricStatisticsRequest& WithMetricName(const char* value) { SetMetricName(value); return *this;}
/**
* <p>The dimensions. If the metric contains multiple dimensions, you must include
* a value for each dimension. CloudWatch treats each unique combination of
* dimensions as a separate metric. If a specific combination of dimensions was not
* published, you can't retrieve statistics for it. You must specify the same
* dimensions that were used when the metrics were created. For an example, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#dimension-combinations">Dimension
* Combinations</a> in the <i>Amazon CloudWatch User Guide</i>. For more
* information about specifying dimensions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html">Publishing
* Metrics</a> in the <i>Amazon CloudWatch User Guide</i>.</p>
*/
inline const Aws::Vector<Dimension>& GetDimensions() const{ return m_dimensions; }
/**
* <p>The dimensions. If the metric contains multiple dimensions, you must include
* a value for each dimension. CloudWatch treats each unique combination of
* dimensions as a separate metric. If a specific combination of dimensions was not
* published, you can't retrieve statistics for it. You must specify the same
* dimensions that were used when the metrics were created. For an example, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#dimension-combinations">Dimension
* Combinations</a> in the <i>Amazon CloudWatch User Guide</i>. For more
* information about specifying dimensions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html">Publishing
* Metrics</a> in the <i>Amazon CloudWatch User Guide</i>.</p>
*/
inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
/**
* <p>The dimensions. If the metric contains multiple dimensions, you must include
* a value for each dimension. CloudWatch treats each unique combination of
* dimensions as a separate metric. If a specific combination of dimensions was not
* published, you can't retrieve statistics for it. You must specify the same
* dimensions that were used when the metrics were created. For an example, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#dimension-combinations">Dimension
* Combinations</a> in the <i>Amazon CloudWatch User Guide</i>. For more
* information about specifying dimensions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html">Publishing
* Metrics</a> in the <i>Amazon CloudWatch User Guide</i>.</p>
*/
inline void SetDimensions(const Aws::Vector<Dimension>& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; }
/**
* <p>The dimensions. If the metric contains multiple dimensions, you must include
* a value for each dimension. CloudWatch treats each unique combination of
* dimensions as a separate metric. If a specific combination of dimensions was not
* published, you can't retrieve statistics for it. You must specify the same
* dimensions that were used when the metrics were created. For an example, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#dimension-combinations">Dimension
* Combinations</a> in the <i>Amazon CloudWatch User Guide</i>. For more
* information about specifying dimensions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html">Publishing
* Metrics</a> in the <i>Amazon CloudWatch User Guide</i>.</p>
*/
inline void SetDimensions(Aws::Vector<Dimension>&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); }
/**
* <p>The dimensions. If the metric contains multiple dimensions, you must include
* a value for each dimension. CloudWatch treats each unique combination of
* dimensions as a separate metric. If a specific combination of dimensions was not
* published, you can't retrieve statistics for it. You must specify the same
* dimensions that were used when the metrics were created. For an example, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#dimension-combinations">Dimension
* Combinations</a> in the <i>Amazon CloudWatch User Guide</i>. For more
* information about specifying dimensions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html">Publishing
* Metrics</a> in the <i>Amazon CloudWatch User Guide</i>.</p>
*/
inline GetMetricStatisticsRequest& WithDimensions(const Aws::Vector<Dimension>& value) { SetDimensions(value); return *this;}
/**
* <p>The dimensions. If the metric contains multiple dimensions, you must include
* a value for each dimension. CloudWatch treats each unique combination of
* dimensions as a separate metric. If a specific combination of dimensions was not
* published, you can't retrieve statistics for it. You must specify the same
* dimensions that were used when the metrics were created. For an example, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#dimension-combinations">Dimension
* Combinations</a> in the <i>Amazon CloudWatch User Guide</i>. For more
* information about specifying dimensions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html">Publishing
* Metrics</a> in the <i>Amazon CloudWatch User Guide</i>.</p>
*/
inline GetMetricStatisticsRequest& WithDimensions(Aws::Vector<Dimension>&& value) { SetDimensions(std::move(value)); return *this;}
/**
* <p>The dimensions. If the metric contains multiple dimensions, you must include
* a value for each dimension. CloudWatch treats each unique combination of
* dimensions as a separate metric. If a specific combination of dimensions was not
* published, you can't retrieve statistics for it. You must specify the same
* dimensions that were used when the metrics were created. For an example, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#dimension-combinations">Dimension
* Combinations</a> in the <i>Amazon CloudWatch User Guide</i>. For more
* information about specifying dimensions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html">Publishing
* Metrics</a> in the <i>Amazon CloudWatch User Guide</i>.</p>
*/
inline GetMetricStatisticsRequest& AddDimensions(const Dimension& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; }
/**
* <p>The dimensions. If the metric contains multiple dimensions, you must include
* a value for each dimension. CloudWatch treats each unique combination of
* dimensions as a separate metric. If a specific combination of dimensions was not
* published, you can't retrieve statistics for it. You must specify the same
* dimensions that were used when the metrics were created. For an example, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#dimension-combinations">Dimension
* Combinations</a> in the <i>Amazon CloudWatch User Guide</i>. For more
* information about specifying dimensions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html">Publishing
* Metrics</a> in the <i>Amazon CloudWatch User Guide</i>.</p>
*/
inline GetMetricStatisticsRequest& AddDimensions(Dimension&& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(std::move(value)); return *this; }
/**
* <p>The time stamp that determines the first data point to return. Start times
* are evaluated relative to the time that CloudWatch receives the request.</p>
* <p>The value specified is inclusive; results include data points with the
* specified time stamp. In a raw HTTP query, the time stamp must be in ISO 8601
* UTC format (for example, 2016-10-03T23:00:00Z).</p> <p>CloudWatch rounds the
* specified time stamp as follows:</p> <ul> <li> <p>Start time less than 15 days
* ago - Round down to the nearest whole minute. For example, 12:32:34 is rounded
* down to 12:32:00.</p> </li> <li> <p>Start time between 15 and 63 days ago -
* Round down to the nearest 5-minute clock interval. For example, 12:32:34 is
* rounded down to 12:30:00.</p> </li> <li> <p>Start time greater than 63 days ago
* - Round down to the nearest 1-hour clock interval. For example, 12:32:34 is
* rounded down to 12:00:00.</p> </li> </ul> <p>If you set <code>Period</code> to
* 5, 10, or 30, the start time of your request is rounded down to the nearest time
* that corresponds to even 5-, 10-, or 30-second divisions of a minute. For
* example, if you make a query at (HH:mm:ss) 01:05:23 for the previous 10-second
* period, the start time of your request is rounded down and you receive data from
* 01:05:10 to 01:05:20. If you make a query at 15:07:17 for the previous 5 minutes
* of data, using a period of 5 seconds, you receive data timestamped between
* 15:02:15 and 15:07:15. </p>
*/
inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
/**
* <p>The time stamp that determines the first data point to return. Start times
* are evaluated relative to the time that CloudWatch receives the request.</p>
* <p>The value specified is inclusive; results include data points with the
* specified time stamp. In a raw HTTP query, the time stamp must be in ISO 8601
* UTC format (for example, 2016-10-03T23:00:00Z).</p> <p>CloudWatch rounds the
* specified time stamp as follows:</p> <ul> <li> <p>Start time less than 15 days
* ago - Round down to the nearest whole minute. For example, 12:32:34 is rounded
* down to 12:32:00.</p> </li> <li> <p>Start time between 15 and 63 days ago -
* Round down to the nearest 5-minute clock interval. For example, 12:32:34 is
* rounded down to 12:30:00.</p> </li> <li> <p>Start time greater than 63 days ago
* - Round down to the nearest 1-hour clock interval. For example, 12:32:34 is
* rounded down to 12:00:00.</p> </li> </ul> <p>If you set <code>Period</code> to
* 5, 10, or 30, the start time of your request is rounded down to the nearest time
* that corresponds to even 5-, 10-, or 30-second divisions of a minute. For
* example, if you make a query at (HH:mm:ss) 01:05:23 for the previous 10-second
* period, the start time of your request is rounded down and you receive data from
* 01:05:10 to 01:05:20. If you make a query at 15:07:17 for the previous 5 minutes
* of data, using a period of 5 seconds, you receive data timestamped between
* 15:02:15 and 15:07:15. </p>
*/
inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
/**
* <p>The time stamp that determines the first data point to return. Start times
* are evaluated relative to the time that CloudWatch receives the request.</p>
* <p>The value specified is inclusive; results include data points with the
* specified time stamp. In a raw HTTP query, the time stamp must be in ISO 8601
* UTC format (for example, 2016-10-03T23:00:00Z).</p> <p>CloudWatch rounds the
* specified time stamp as follows:</p> <ul> <li> <p>Start time less than 15 days
* ago - Round down to the nearest whole minute. For example, 12:32:34 is rounded
* down to 12:32:00.</p> </li> <li> <p>Start time between 15 and 63 days ago -
* Round down to the nearest 5-minute clock interval. For example, 12:32:34 is
* rounded down to 12:30:00.</p> </li> <li> <p>Start time greater than 63 days ago
* - Round down to the nearest 1-hour clock interval. For example, 12:32:34 is
* rounded down to 12:00:00.</p> </li> </ul> <p>If you set <code>Period</code> to
* 5, 10, or 30, the start time of your request is rounded down to the nearest time
* that corresponds to even 5-, 10-, or 30-second divisions of a minute. For
* example, if you make a query at (HH:mm:ss) 01:05:23 for the previous 10-second
* period, the start time of your request is rounded down and you receive data from
* 01:05:10 to 01:05:20. If you make a query at 15:07:17 for the previous 5 minutes
* of data, using a period of 5 seconds, you receive data timestamped between
* 15:02:15 and 15:07:15. </p>
*/
inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
/**
* <p>The time stamp that determines the first data point to return. Start times
* are evaluated relative to the time that CloudWatch receives the request.</p>
* <p>The value specified is inclusive; results include data points with the
* specified time stamp. In a raw HTTP query, the time stamp must be in ISO 8601
* UTC format (for example, 2016-10-03T23:00:00Z).</p> <p>CloudWatch rounds the
* specified time stamp as follows:</p> <ul> <li> <p>Start time less than 15 days
* ago - Round down to the nearest whole minute. For example, 12:32:34 is rounded
* down to 12:32:00.</p> </li> <li> <p>Start time between 15 and 63 days ago -
* Round down to the nearest 5-minute clock interval. For example, 12:32:34 is
* rounded down to 12:30:00.</p> </li> <li> <p>Start time greater than 63 days ago
* - Round down to the nearest 1-hour clock interval. For example, 12:32:34 is
* rounded down to 12:00:00.</p> </li> </ul> <p>If you set <code>Period</code> to
* 5, 10, or 30, the start time of your request is rounded down to the nearest time
* that corresponds to even 5-, 10-, or 30-second divisions of a minute. For
* example, if you make a query at (HH:mm:ss) 01:05:23 for the previous 10-second
* period, the start time of your request is rounded down and you receive data from
* 01:05:10 to 01:05:20. If you make a query at 15:07:17 for the previous 5 minutes
* of data, using a period of 5 seconds, you receive data timestamped between
* 15:02:15 and 15:07:15. </p>
*/
inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
/**
* <p>The time stamp that determines the first data point to return. Start times
* are evaluated relative to the time that CloudWatch receives the request.</p>
* <p>The value specified is inclusive; results include data points with the
* specified time stamp. In a raw HTTP query, the time stamp must be in ISO 8601
* UTC format (for example, 2016-10-03T23:00:00Z).</p> <p>CloudWatch rounds the
* specified time stamp as follows:</p> <ul> <li> <p>Start time less than 15 days
* ago - Round down to the nearest whole minute. For example, 12:32:34 is rounded
* down to 12:32:00.</p> </li> <li> <p>Start time between 15 and 63 days ago -
* Round down to the nearest 5-minute clock interval. For example, 12:32:34 is
* rounded down to 12:30:00.</p> </li> <li> <p>Start time greater than 63 days ago
* - Round down to the nearest 1-hour clock interval. For example, 12:32:34 is
* rounded down to 12:00:00.</p> </li> </ul> <p>If you set <code>Period</code> to
* 5, 10, or 30, the start time of your request is rounded down to the nearest time
* that corresponds to even 5-, 10-, or 30-second divisions of a minute. For
* example, if you make a query at (HH:mm:ss) 01:05:23 for the previous 10-second
* period, the start time of your request is rounded down and you receive data from
* 01:05:10 to 01:05:20. If you make a query at 15:07:17 for the previous 5 minutes
* of data, using a period of 5 seconds, you receive data timestamped between
* 15:02:15 and 15:07:15. </p>
*/
inline GetMetricStatisticsRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
/**
* <p>The time stamp that determines the first data point to return. Start times
* are evaluated relative to the time that CloudWatch receives the request.</p>
* <p>The value specified is inclusive; results include data points with the
* specified time stamp. In a raw HTTP query, the time stamp must be in ISO 8601
* UTC format (for example, 2016-10-03T23:00:00Z).</p> <p>CloudWatch rounds the
* specified time stamp as follows:</p> <ul> <li> <p>Start time less than 15 days
* ago - Round down to the nearest whole minute. For example, 12:32:34 is rounded
* down to 12:32:00.</p> </li> <li> <p>Start time between 15 and 63 days ago -
* Round down to the nearest 5-minute clock interval. For example, 12:32:34 is
* rounded down to 12:30:00.</p> </li> <li> <p>Start time greater than 63 days ago
* - Round down to the nearest 1-hour clock interval. For example, 12:32:34 is
* rounded down to 12:00:00.</p> </li> </ul> <p>If you set <code>Period</code> to
* 5, 10, or 30, the start time of your request is rounded down to the nearest time
* that corresponds to even 5-, 10-, or 30-second divisions of a minute. For
* example, if you make a query at (HH:mm:ss) 01:05:23 for the previous 10-second
* period, the start time of your request is rounded down and you receive data from
* 01:05:10 to 01:05:20. If you make a query at 15:07:17 for the previous 5 minutes
* of data, using a period of 5 seconds, you receive data timestamped between
* 15:02:15 and 15:07:15. </p>
*/
inline GetMetricStatisticsRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
/**
* <p>The time stamp that determines the last data point to return.</p> <p>The
* value specified is exclusive; results include data points up to the specified
* time stamp. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format
* (for example, 2016-10-10T23:00:00Z).</p>
*/
inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; }
/**
* <p>The time stamp that determines the last data point to return.</p> <p>The
* value specified is exclusive; results include data points up to the specified
* time stamp. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format
* (for example, 2016-10-10T23:00:00Z).</p>
*/
inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
/**
* <p>The time stamp that determines the last data point to return.</p> <p>The
* value specified is exclusive; results include data points up to the specified
* time stamp. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format
* (for example, 2016-10-10T23:00:00Z).</p>
*/
inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; }
/**
* <p>The time stamp that determines the last data point to return.</p> <p>The
* value specified is exclusive; results include data points up to the specified
* time stamp. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format
* (for example, 2016-10-10T23:00:00Z).</p>
*/
inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); }
/**
* <p>The time stamp that determines the last data point to return.</p> <p>The
* value specified is exclusive; results include data points up to the specified
* time stamp. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format
* (for example, 2016-10-10T23:00:00Z).</p>
*/
inline GetMetricStatisticsRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;}
/**
* <p>The time stamp that determines the last data point to return.</p> <p>The
* value specified is exclusive; results include data points up to the specified
* time stamp. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format
* (for example, 2016-10-10T23:00:00Z).</p>
*/
inline GetMetricStatisticsRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
/**
* <p>The granularity, in seconds, of the returned data points. For metrics with
* regular resolution, a period can be as short as one minute (60 seconds) and must
* be a multiple of 60. For high-resolution metrics that are collected at intervals
* of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of
* 60. High-resolution metrics are those metrics stored by a
* <code>PutMetricData</code> call that includes a <code>StorageResolution</code>
* of 1 second.</p> <p>If the <code>StartTime</code> parameter specifies a time
* stamp that is greater than 3 hours ago, you must specify the period as follows
* or no data points in that time range is returned:</p> <ul> <li> <p>Start time
* between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).</p>
* </li> <li> <p>Start time between 15 and 63 days ago - Use a multiple of 300
* seconds (5 minutes).</p> </li> <li> <p>Start time greater than 63 days ago - Use
* a multiple of 3600 seconds (1 hour).</p> </li> </ul>
*/
inline int GetPeriod() const{ return m_period; }
/**
* <p>The granularity, in seconds, of the returned data points. For metrics with
* regular resolution, a period can be as short as one minute (60 seconds) and must
* be a multiple of 60. For high-resolution metrics that are collected at intervals
* of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of
* 60. High-resolution metrics are those metrics stored by a
* <code>PutMetricData</code> call that includes a <code>StorageResolution</code>
* of 1 second.</p> <p>If the <code>StartTime</code> parameter specifies a time
* stamp that is greater than 3 hours ago, you must specify the period as follows
* or no data points in that time range is returned:</p> <ul> <li> <p>Start time
* between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).</p>
* </li> <li> <p>Start time between 15 and 63 days ago - Use a multiple of 300
* seconds (5 minutes).</p> </li> <li> <p>Start time greater than 63 days ago - Use
* a multiple of 3600 seconds (1 hour).</p> </li> </ul>
*/
inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
/**
* <p>The granularity, in seconds, of the returned data points. For metrics with
* regular resolution, a period can be as short as one minute (60 seconds) and must
* be a multiple of 60. For high-resolution metrics that are collected at intervals
* of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of
* 60. High-resolution metrics are those metrics stored by a
* <code>PutMetricData</code> call that includes a <code>StorageResolution</code>
* of 1 second.</p> <p>If the <code>StartTime</code> parameter specifies a time
* stamp that is greater than 3 hours ago, you must specify the period as follows
* or no data points in that time range is returned:</p> <ul> <li> <p>Start time
* between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).</p>
* </li> <li> <p>Start time between 15 and 63 days ago - Use a multiple of 300
* seconds (5 minutes).</p> </li> <li> <p>Start time greater than 63 days ago - Use
* a multiple of 3600 seconds (1 hour).</p> </li> </ul>
*/
inline void SetPeriod(int value) { m_periodHasBeenSet = true; m_period = value; }
/**
* <p>The granularity, in seconds, of the returned data points. For metrics with
* regular resolution, a period can be as short as one minute (60 seconds) and must
* be a multiple of 60. For high-resolution metrics that are collected at intervals
* of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of
* 60. High-resolution metrics are those metrics stored by a
* <code>PutMetricData</code> call that includes a <code>StorageResolution</code>
* of 1 second.</p> <p>If the <code>StartTime</code> parameter specifies a time
* stamp that is greater than 3 hours ago, you must specify the period as follows
* or no data points in that time range is returned:</p> <ul> <li> <p>Start time
* between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).</p>
* </li> <li> <p>Start time between 15 and 63 days ago - Use a multiple of 300
* seconds (5 minutes).</p> </li> <li> <p>Start time greater than 63 days ago - Use
* a multiple of 3600 seconds (1 hour).</p> </li> </ul>
*/
inline GetMetricStatisticsRequest& WithPeriod(int value) { SetPeriod(value); return *this;}
/**
* <p>The metric statistics, other than percentile. For percentile statistics, use
* <code>ExtendedStatistics</code>. When calling <code>GetMetricStatistics</code>,
* you must specify either <code>Statistics</code> or
* <code>ExtendedStatistics</code>, but not both.</p>
*/
inline const Aws::Vector<Statistic>& GetStatistics() const{ return m_statistics; }
/**
* <p>The metric statistics, other than percentile. For percentile statistics, use
* <code>ExtendedStatistics</code>. When calling <code>GetMetricStatistics</code>,
* you must specify either <code>Statistics</code> or
* <code>ExtendedStatistics</code>, but not both.</p>
*/
inline bool StatisticsHasBeenSet() const { return m_statisticsHasBeenSet; }
/**
* <p>The metric statistics, other than percentile. For percentile statistics, use
* <code>ExtendedStatistics</code>. When calling <code>GetMetricStatistics</code>,
* you must specify either <code>Statistics</code> or
* <code>ExtendedStatistics</code>, but not both.</p>
*/
inline void SetStatistics(const Aws::Vector<Statistic>& value) { m_statisticsHasBeenSet = true; m_statistics = value; }
/**
* <p>The metric statistics, other than percentile. For percentile statistics, use
* <code>ExtendedStatistics</code>. When calling <code>GetMetricStatistics</code>,
* you must specify either <code>Statistics</code> or
* <code>ExtendedStatistics</code>, but not both.</p>
*/
inline void SetStatistics(Aws::Vector<Statistic>&& value) { m_statisticsHasBeenSet = true; m_statistics = std::move(value); }
/**
* <p>The metric statistics, other than percentile. For percentile statistics, use
* <code>ExtendedStatistics</code>. When calling <code>GetMetricStatistics</code>,
* you must specify either <code>Statistics</code> or
* <code>ExtendedStatistics</code>, but not both.</p>
*/
inline GetMetricStatisticsRequest& WithStatistics(const Aws::Vector<Statistic>& value) { SetStatistics(value); return *this;}
/**
* <p>The metric statistics, other than percentile. For percentile statistics, use
* <code>ExtendedStatistics</code>. When calling <code>GetMetricStatistics</code>,
* you must specify either <code>Statistics</code> or
* <code>ExtendedStatistics</code>, but not both.</p>
*/
inline GetMetricStatisticsRequest& WithStatistics(Aws::Vector<Statistic>&& value) { SetStatistics(std::move(value)); return *this;}
/**
* <p>The metric statistics, other than percentile. For percentile statistics, use
* <code>ExtendedStatistics</code>. When calling <code>GetMetricStatistics</code>,
* you must specify either <code>Statistics</code> or
* <code>ExtendedStatistics</code>, but not both.</p>
*/
inline GetMetricStatisticsRequest& AddStatistics(const Statistic& value) { m_statisticsHasBeenSet = true; m_statistics.push_back(value); return *this; }
/**
* <p>The metric statistics, other than percentile. For percentile statistics, use
* <code>ExtendedStatistics</code>. When calling <code>GetMetricStatistics</code>,
* you must specify either <code>Statistics</code> or
* <code>ExtendedStatistics</code>, but not both.</p>
*/
inline GetMetricStatisticsRequest& AddStatistics(Statistic&& value) { m_statisticsHasBeenSet = true; m_statistics.push_back(std::move(value)); return *this; }
/**
* <p>The percentile statistics. Specify values between p0.0 and p100. When calling
* <code>GetMetricStatistics</code>, you must specify either
* <code>Statistics</code> or <code>ExtendedStatistics</code>, but not both.
* Percentile statistics are not available for metrics when any of the metric
* values are negative numbers.</p>
*/
inline const Aws::Vector<Aws::String>& GetExtendedStatistics() const{ return m_extendedStatistics; }
/**
* <p>The percentile statistics. Specify values between p0.0 and p100. When calling
* <code>GetMetricStatistics</code>, you must specify either
* <code>Statistics</code> or <code>ExtendedStatistics</code>, but not both.
* Percentile statistics are not available for metrics when any of the metric
* values are negative numbers.</p>
*/
inline bool ExtendedStatisticsHasBeenSet() const { return m_extendedStatisticsHasBeenSet; }
/**
* <p>The percentile statistics. Specify values between p0.0 and p100. When calling
* <code>GetMetricStatistics</code>, you must specify either
* <code>Statistics</code> or <code>ExtendedStatistics</code>, but not both.
* Percentile statistics are not available for metrics when any of the metric
* values are negative numbers.</p>
*/
inline void SetExtendedStatistics(const Aws::Vector<Aws::String>& value) { m_extendedStatisticsHasBeenSet = true; m_extendedStatistics = value; }
/**
* <p>The percentile statistics. Specify values between p0.0 and p100. When calling
* <code>GetMetricStatistics</code>, you must specify either
* <code>Statistics</code> or <code>ExtendedStatistics</code>, but not both.
* Percentile statistics are not available for metrics when any of the metric
* values are negative numbers.</p>
*/
inline void SetExtendedStatistics(Aws::Vector<Aws::String>&& value) { m_extendedStatisticsHasBeenSet = true; m_extendedStatistics = std::move(value); }
/**
* <p>The percentile statistics. Specify values between p0.0 and p100. When calling
* <code>GetMetricStatistics</code>, you must specify either
* <code>Statistics</code> or <code>ExtendedStatistics</code>, but not both.
* Percentile statistics are not available for metrics when any of the metric
* values are negative numbers.</p>
*/
inline GetMetricStatisticsRequest& WithExtendedStatistics(const Aws::Vector<Aws::String>& value) { SetExtendedStatistics(value); return *this;}
/**
* <p>The percentile statistics. Specify values between p0.0 and p100. When calling
* <code>GetMetricStatistics</code>, you must specify either
* <code>Statistics</code> or <code>ExtendedStatistics</code>, but not both.
* Percentile statistics are not available for metrics when any of the metric
* values are negative numbers.</p>
*/
inline GetMetricStatisticsRequest& WithExtendedStatistics(Aws::Vector<Aws::String>&& value) { SetExtendedStatistics(std::move(value)); return *this;}
/**
* <p>The percentile statistics. Specify values between p0.0 and p100. When calling
* <code>GetMetricStatistics</code>, you must specify either
* <code>Statistics</code> or <code>ExtendedStatistics</code>, but not both.
* Percentile statistics are not available for metrics when any of the metric
* values are negative numbers.</p>
*/
inline GetMetricStatisticsRequest& AddExtendedStatistics(const Aws::String& value) { m_extendedStatisticsHasBeenSet = true; m_extendedStatistics.push_back(value); return *this; }
/**
* <p>The percentile statistics. Specify values between p0.0 and p100. When calling
* <code>GetMetricStatistics</code>, you must specify either
* <code>Statistics</code> or <code>ExtendedStatistics</code>, but not both.
* Percentile statistics are not available for metrics when any of the metric
* values are negative numbers.</p>
*/
inline GetMetricStatisticsRequest& AddExtendedStatistics(Aws::String&& value) { m_extendedStatisticsHasBeenSet = true; m_extendedStatistics.push_back(std::move(value)); return *this; }
/**
* <p>The percentile statistics. Specify values between p0.0 and p100. When calling
* <code>GetMetricStatistics</code>, you must specify either
* <code>Statistics</code> or <code>ExtendedStatistics</code>, but not both.
* Percentile statistics are not available for metrics when any of the metric
* values are negative numbers.</p>
*/
inline GetMetricStatisticsRequest& AddExtendedStatistics(const char* value) { m_extendedStatisticsHasBeenSet = true; m_extendedStatistics.push_back(value); return *this; }
/**
* <p>The unit for a given metric. If you omit <code>Unit</code>, all data that was
* collected with any unit is returned, along with the corresponding units that
* were specified when the data was reported to CloudWatch. If you specify a unit,
* the operation returns only data that was collected with that unit specified. If
* you specify a unit that does not match the data collected, the results of the
* operation are null. CloudWatch does not perform unit conversions.</p>
*/
inline const StandardUnit& GetUnit() const{ return m_unit; }
/**
* <p>The unit for a given metric. If you omit <code>Unit</code>, all data that was
* collected with any unit is returned, along with the corresponding units that
* were specified when the data was reported to CloudWatch. If you specify a unit,
* the operation returns only data that was collected with that unit specified. If
* you specify a unit that does not match the data collected, the results of the
* operation are null. CloudWatch does not perform unit conversions.</p>
*/
inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; }
/**
* <p>The unit for a given metric. If you omit <code>Unit</code>, all data that was
* collected with any unit is returned, along with the corresponding units that
* were specified when the data was reported to CloudWatch. If you specify a unit,
* the operation returns only data that was collected with that unit specified. If
* you specify a unit that does not match the data collected, the results of the
* operation are null. CloudWatch does not perform unit conversions.</p>
*/
inline void SetUnit(const StandardUnit& value) { m_unitHasBeenSet = true; m_unit = value; }
/**
* <p>The unit for a given metric. If you omit <code>Unit</code>, all data that was
* collected with any unit is returned, along with the corresponding units that
* were specified when the data was reported to CloudWatch. If you specify a unit,
* the operation returns only data that was collected with that unit specified. If
* you specify a unit that does not match the data collected, the results of the
* operation are null. CloudWatch does not perform unit conversions.</p>
*/
inline void SetUnit(StandardUnit&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); }
/**
* <p>The unit for a given metric. If you omit <code>Unit</code>, all data that was
* collected with any unit is returned, along with the corresponding units that
* were specified when the data was reported to CloudWatch. If you specify a unit,
* the operation returns only data that was collected with that unit specified. If
* you specify a unit that does not match the data collected, the results of the
* operation are null. CloudWatch does not perform unit conversions.</p>
*/
inline GetMetricStatisticsRequest& WithUnit(const StandardUnit& value) { SetUnit(value); return *this;}
/**
* <p>The unit for a given metric. If you omit <code>Unit</code>, all data that was
* collected with any unit is returned, along with the corresponding units that
* were specified when the data was reported to CloudWatch. If you specify a unit,
* the operation returns only data that was collected with that unit specified. If
* you specify a unit that does not match the data collected, the results of the
* operation are null. CloudWatch does not perform unit conversions.</p>
*/
inline GetMetricStatisticsRequest& WithUnit(StandardUnit&& value) { SetUnit(std::move(value)); return *this;}
private:
Aws::String m_namespace;
bool m_namespaceHasBeenSet;
Aws::String m_metricName;
bool m_metricNameHasBeenSet;
Aws::Vector<Dimension> m_dimensions;
bool m_dimensionsHasBeenSet;
Aws::Utils::DateTime m_startTime;
bool m_startTimeHasBeenSet;
Aws::Utils::DateTime m_endTime;
bool m_endTimeHasBeenSet;
int m_period;
bool m_periodHasBeenSet;
Aws::Vector<Statistic> m_statistics;
bool m_statisticsHasBeenSet;
Aws::Vector<Aws::String> m_extendedStatistics;
bool m_extendedStatisticsHasBeenSet;
StandardUnit m_unit;
bool m_unitHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,136 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <aws/monitoring/model/Datapoint.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API GetMetricStatisticsResult
{
public:
GetMetricStatisticsResult();
GetMetricStatisticsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
GetMetricStatisticsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
/**
* <p>A label for the specified metric.</p>
*/
inline const Aws::String& GetLabel() const{ return m_label; }
/**
* <p>A label for the specified metric.</p>
*/
inline void SetLabel(const Aws::String& value) { m_label = value; }
/**
* <p>A label for the specified metric.</p>
*/
inline void SetLabel(Aws::String&& value) { m_label = std::move(value); }
/**
* <p>A label for the specified metric.</p>
*/
inline void SetLabel(const char* value) { m_label.assign(value); }
/**
* <p>A label for the specified metric.</p>
*/
inline GetMetricStatisticsResult& WithLabel(const Aws::String& value) { SetLabel(value); return *this;}
/**
* <p>A label for the specified metric.</p>
*/
inline GetMetricStatisticsResult& WithLabel(Aws::String&& value) { SetLabel(std::move(value)); return *this;}
/**
* <p>A label for the specified metric.</p>
*/
inline GetMetricStatisticsResult& WithLabel(const char* value) { SetLabel(value); return *this;}
/**
* <p>The data points for the specified metric.</p>
*/
inline const Aws::Vector<Datapoint>& GetDatapoints() const{ return m_datapoints; }
/**
* <p>The data points for the specified metric.</p>
*/
inline void SetDatapoints(const Aws::Vector<Datapoint>& value) { m_datapoints = value; }
/**
* <p>The data points for the specified metric.</p>
*/
inline void SetDatapoints(Aws::Vector<Datapoint>&& value) { m_datapoints = std::move(value); }
/**
* <p>The data points for the specified metric.</p>
*/
inline GetMetricStatisticsResult& WithDatapoints(const Aws::Vector<Datapoint>& value) { SetDatapoints(value); return *this;}
/**
* <p>The data points for the specified metric.</p>
*/
inline GetMetricStatisticsResult& WithDatapoints(Aws::Vector<Datapoint>&& value) { SetDatapoints(std::move(value)); return *this;}
/**
* <p>The data points for the specified metric.</p>
*/
inline GetMetricStatisticsResult& AddDatapoints(const Datapoint& value) { m_datapoints.push_back(value); return *this; }
/**
* <p>The data points for the specified metric.</p>
*/
inline GetMetricStatisticsResult& AddDatapoints(Datapoint&& value) { m_datapoints.push_back(std::move(value)); return *this; }
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline GetMetricStatisticsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline GetMetricStatisticsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
Aws::String m_label;
Aws::Vector<Datapoint> m_datapoints;
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,339 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API GetMetricWidgetImageRequest : public CloudWatchRequest
{
public:
GetMetricWidgetImageRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "GetMetricWidgetImage"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>A JSON string that defines the bitmap graph to be retrieved. The string
* includes the metrics to include in the graph, statistics, annotations, title,
* axis limits, and so on. You can include only one <code>MetricWidget</code>
* parameter in each <code>GetMetricWidgetImage</code> call.</p> <p>For more
* information about the syntax of <code>MetricWidget</code> see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Metric-Widget-Structure.html">GetMetricWidgetImage:
* Metric Widget Structure and Syntax</a>.</p> <p>If any metric on the graph could
* not load all the requested data points, an orange triangle with an exclamation
* point appears next to the graph legend.</p>
*/
inline const Aws::String& GetMetricWidget() const{ return m_metricWidget; }
/**
* <p>A JSON string that defines the bitmap graph to be retrieved. The string
* includes the metrics to include in the graph, statistics, annotations, title,
* axis limits, and so on. You can include only one <code>MetricWidget</code>
* parameter in each <code>GetMetricWidgetImage</code> call.</p> <p>For more
* information about the syntax of <code>MetricWidget</code> see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Metric-Widget-Structure.html">GetMetricWidgetImage:
* Metric Widget Structure and Syntax</a>.</p> <p>If any metric on the graph could
* not load all the requested data points, an orange triangle with an exclamation
* point appears next to the graph legend.</p>
*/
inline bool MetricWidgetHasBeenSet() const { return m_metricWidgetHasBeenSet; }
/**
* <p>A JSON string that defines the bitmap graph to be retrieved. The string
* includes the metrics to include in the graph, statistics, annotations, title,
* axis limits, and so on. You can include only one <code>MetricWidget</code>
* parameter in each <code>GetMetricWidgetImage</code> call.</p> <p>For more
* information about the syntax of <code>MetricWidget</code> see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Metric-Widget-Structure.html">GetMetricWidgetImage:
* Metric Widget Structure and Syntax</a>.</p> <p>If any metric on the graph could
* not load all the requested data points, an orange triangle with an exclamation
* point appears next to the graph legend.</p>
*/
inline void SetMetricWidget(const Aws::String& value) { m_metricWidgetHasBeenSet = true; m_metricWidget = value; }
/**
* <p>A JSON string that defines the bitmap graph to be retrieved. The string
* includes the metrics to include in the graph, statistics, annotations, title,
* axis limits, and so on. You can include only one <code>MetricWidget</code>
* parameter in each <code>GetMetricWidgetImage</code> call.</p> <p>For more
* information about the syntax of <code>MetricWidget</code> see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Metric-Widget-Structure.html">GetMetricWidgetImage:
* Metric Widget Structure and Syntax</a>.</p> <p>If any metric on the graph could
* not load all the requested data points, an orange triangle with an exclamation
* point appears next to the graph legend.</p>
*/
inline void SetMetricWidget(Aws::String&& value) { m_metricWidgetHasBeenSet = true; m_metricWidget = std::move(value); }
/**
* <p>A JSON string that defines the bitmap graph to be retrieved. The string
* includes the metrics to include in the graph, statistics, annotations, title,
* axis limits, and so on. You can include only one <code>MetricWidget</code>
* parameter in each <code>GetMetricWidgetImage</code> call.</p> <p>For more
* information about the syntax of <code>MetricWidget</code> see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Metric-Widget-Structure.html">GetMetricWidgetImage:
* Metric Widget Structure and Syntax</a>.</p> <p>If any metric on the graph could
* not load all the requested data points, an orange triangle with an exclamation
* point appears next to the graph legend.</p>
*/
inline void SetMetricWidget(const char* value) { m_metricWidgetHasBeenSet = true; m_metricWidget.assign(value); }
/**
* <p>A JSON string that defines the bitmap graph to be retrieved. The string
* includes the metrics to include in the graph, statistics, annotations, title,
* axis limits, and so on. You can include only one <code>MetricWidget</code>
* parameter in each <code>GetMetricWidgetImage</code> call.</p> <p>For more
* information about the syntax of <code>MetricWidget</code> see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Metric-Widget-Structure.html">GetMetricWidgetImage:
* Metric Widget Structure and Syntax</a>.</p> <p>If any metric on the graph could
* not load all the requested data points, an orange triangle with an exclamation
* point appears next to the graph legend.</p>
*/
inline GetMetricWidgetImageRequest& WithMetricWidget(const Aws::String& value) { SetMetricWidget(value); return *this;}
/**
* <p>A JSON string that defines the bitmap graph to be retrieved. The string
* includes the metrics to include in the graph, statistics, annotations, title,
* axis limits, and so on. You can include only one <code>MetricWidget</code>
* parameter in each <code>GetMetricWidgetImage</code> call.</p> <p>For more
* information about the syntax of <code>MetricWidget</code> see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Metric-Widget-Structure.html">GetMetricWidgetImage:
* Metric Widget Structure and Syntax</a>.</p> <p>If any metric on the graph could
* not load all the requested data points, an orange triangle with an exclamation
* point appears next to the graph legend.</p>
*/
inline GetMetricWidgetImageRequest& WithMetricWidget(Aws::String&& value) { SetMetricWidget(std::move(value)); return *this;}
/**
* <p>A JSON string that defines the bitmap graph to be retrieved. The string
* includes the metrics to include in the graph, statistics, annotations, title,
* axis limits, and so on. You can include only one <code>MetricWidget</code>
* parameter in each <code>GetMetricWidgetImage</code> call.</p> <p>For more
* information about the syntax of <code>MetricWidget</code> see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Metric-Widget-Structure.html">GetMetricWidgetImage:
* Metric Widget Structure and Syntax</a>.</p> <p>If any metric on the graph could
* not load all the requested data points, an orange triangle with an exclamation
* point appears next to the graph legend.</p>
*/
inline GetMetricWidgetImageRequest& WithMetricWidget(const char* value) { SetMetricWidget(value); return *this;}
/**
* <p>The format of the resulting image. Only PNG images are supported.</p> <p>The
* default is <code>png</code>. If you specify <code>png</code>, the API returns an
* HTTP response with the content-type set to <code>text/xml</code>. The image data
* is in a <code>MetricWidgetImage</code> field. For example:</p> <p> <code>
* &lt;GetMetricWidgetImageResponse xmlns=&lt;URLstring&gt;&gt;</code> </p> <p>
* <code> &lt;GetMetricWidgetImageResult&gt;</code> </p> <p> <code>
* &lt;MetricWidgetImage&gt;</code> </p> <p> <code>
* iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQEAYAAAAip...</code> </p> <p> <code>
* &lt;/MetricWidgetImage&gt;</code> </p> <p> <code>
* &lt;/GetMetricWidgetImageResult&gt;</code> </p> <p> <code>
* &lt;ResponseMetadata&gt;</code> </p> <p> <code>
* &lt;RequestId&gt;6f0d4192-4d42-11e8-82c1-f539a07e0e3b&lt;/RequestId&gt;</code>
* </p> <p> <code> &lt;/ResponseMetadata&gt;</code> </p> <p>
* <code>&lt;/GetMetricWidgetImageResponse&gt;</code> </p> <p>The
* <code>image/png</code> setting is intended only for custom HTTP requests. For
* most use cases, and all actions using an AWS SDK, you should use
* <code>png</code>. If you specify <code>image/png</code>, the HTTP response has a
* content-type set to <code>image/png</code>, and the body of the response is a
* PNG image. </p>
*/
inline const Aws::String& GetOutputFormat() const{ return m_outputFormat; }
/**
* <p>The format of the resulting image. Only PNG images are supported.</p> <p>The
* default is <code>png</code>. If you specify <code>png</code>, the API returns an
* HTTP response with the content-type set to <code>text/xml</code>. The image data
* is in a <code>MetricWidgetImage</code> field. For example:</p> <p> <code>
* &lt;GetMetricWidgetImageResponse xmlns=&lt;URLstring&gt;&gt;</code> </p> <p>
* <code> &lt;GetMetricWidgetImageResult&gt;</code> </p> <p> <code>
* &lt;MetricWidgetImage&gt;</code> </p> <p> <code>
* iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQEAYAAAAip...</code> </p> <p> <code>
* &lt;/MetricWidgetImage&gt;</code> </p> <p> <code>
* &lt;/GetMetricWidgetImageResult&gt;</code> </p> <p> <code>
* &lt;ResponseMetadata&gt;</code> </p> <p> <code>
* &lt;RequestId&gt;6f0d4192-4d42-11e8-82c1-f539a07e0e3b&lt;/RequestId&gt;</code>
* </p> <p> <code> &lt;/ResponseMetadata&gt;</code> </p> <p>
* <code>&lt;/GetMetricWidgetImageResponse&gt;</code> </p> <p>The
* <code>image/png</code> setting is intended only for custom HTTP requests. For
* most use cases, and all actions using an AWS SDK, you should use
* <code>png</code>. If you specify <code>image/png</code>, the HTTP response has a
* content-type set to <code>image/png</code>, and the body of the response is a
* PNG image. </p>
*/
inline bool OutputFormatHasBeenSet() const { return m_outputFormatHasBeenSet; }
/**
* <p>The format of the resulting image. Only PNG images are supported.</p> <p>The
* default is <code>png</code>. If you specify <code>png</code>, the API returns an
* HTTP response with the content-type set to <code>text/xml</code>. The image data
* is in a <code>MetricWidgetImage</code> field. For example:</p> <p> <code>
* &lt;GetMetricWidgetImageResponse xmlns=&lt;URLstring&gt;&gt;</code> </p> <p>
* <code> &lt;GetMetricWidgetImageResult&gt;</code> </p> <p> <code>
* &lt;MetricWidgetImage&gt;</code> </p> <p> <code>
* iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQEAYAAAAip...</code> </p> <p> <code>
* &lt;/MetricWidgetImage&gt;</code> </p> <p> <code>
* &lt;/GetMetricWidgetImageResult&gt;</code> </p> <p> <code>
* &lt;ResponseMetadata&gt;</code> </p> <p> <code>
* &lt;RequestId&gt;6f0d4192-4d42-11e8-82c1-f539a07e0e3b&lt;/RequestId&gt;</code>
* </p> <p> <code> &lt;/ResponseMetadata&gt;</code> </p> <p>
* <code>&lt;/GetMetricWidgetImageResponse&gt;</code> </p> <p>The
* <code>image/png</code> setting is intended only for custom HTTP requests. For
* most use cases, and all actions using an AWS SDK, you should use
* <code>png</code>. If you specify <code>image/png</code>, the HTTP response has a
* content-type set to <code>image/png</code>, and the body of the response is a
* PNG image. </p>
*/
inline void SetOutputFormat(const Aws::String& value) { m_outputFormatHasBeenSet = true; m_outputFormat = value; }
/**
* <p>The format of the resulting image. Only PNG images are supported.</p> <p>The
* default is <code>png</code>. If you specify <code>png</code>, the API returns an
* HTTP response with the content-type set to <code>text/xml</code>. The image data
* is in a <code>MetricWidgetImage</code> field. For example:</p> <p> <code>
* &lt;GetMetricWidgetImageResponse xmlns=&lt;URLstring&gt;&gt;</code> </p> <p>
* <code> &lt;GetMetricWidgetImageResult&gt;</code> </p> <p> <code>
* &lt;MetricWidgetImage&gt;</code> </p> <p> <code>
* iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQEAYAAAAip...</code> </p> <p> <code>
* &lt;/MetricWidgetImage&gt;</code> </p> <p> <code>
* &lt;/GetMetricWidgetImageResult&gt;</code> </p> <p> <code>
* &lt;ResponseMetadata&gt;</code> </p> <p> <code>
* &lt;RequestId&gt;6f0d4192-4d42-11e8-82c1-f539a07e0e3b&lt;/RequestId&gt;</code>
* </p> <p> <code> &lt;/ResponseMetadata&gt;</code> </p> <p>
* <code>&lt;/GetMetricWidgetImageResponse&gt;</code> </p> <p>The
* <code>image/png</code> setting is intended only for custom HTTP requests. For
* most use cases, and all actions using an AWS SDK, you should use
* <code>png</code>. If you specify <code>image/png</code>, the HTTP response has a
* content-type set to <code>image/png</code>, and the body of the response is a
* PNG image. </p>
*/
inline void SetOutputFormat(Aws::String&& value) { m_outputFormatHasBeenSet = true; m_outputFormat = std::move(value); }
/**
* <p>The format of the resulting image. Only PNG images are supported.</p> <p>The
* default is <code>png</code>. If you specify <code>png</code>, the API returns an
* HTTP response with the content-type set to <code>text/xml</code>. The image data
* is in a <code>MetricWidgetImage</code> field. For example:</p> <p> <code>
* &lt;GetMetricWidgetImageResponse xmlns=&lt;URLstring&gt;&gt;</code> </p> <p>
* <code> &lt;GetMetricWidgetImageResult&gt;</code> </p> <p> <code>
* &lt;MetricWidgetImage&gt;</code> </p> <p> <code>
* iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQEAYAAAAip...</code> </p> <p> <code>
* &lt;/MetricWidgetImage&gt;</code> </p> <p> <code>
* &lt;/GetMetricWidgetImageResult&gt;</code> </p> <p> <code>
* &lt;ResponseMetadata&gt;</code> </p> <p> <code>
* &lt;RequestId&gt;6f0d4192-4d42-11e8-82c1-f539a07e0e3b&lt;/RequestId&gt;</code>
* </p> <p> <code> &lt;/ResponseMetadata&gt;</code> </p> <p>
* <code>&lt;/GetMetricWidgetImageResponse&gt;</code> </p> <p>The
* <code>image/png</code> setting is intended only for custom HTTP requests. For
* most use cases, and all actions using an AWS SDK, you should use
* <code>png</code>. If you specify <code>image/png</code>, the HTTP response has a
* content-type set to <code>image/png</code>, and the body of the response is a
* PNG image. </p>
*/
inline void SetOutputFormat(const char* value) { m_outputFormatHasBeenSet = true; m_outputFormat.assign(value); }
/**
* <p>The format of the resulting image. Only PNG images are supported.</p> <p>The
* default is <code>png</code>. If you specify <code>png</code>, the API returns an
* HTTP response with the content-type set to <code>text/xml</code>. The image data
* is in a <code>MetricWidgetImage</code> field. For example:</p> <p> <code>
* &lt;GetMetricWidgetImageResponse xmlns=&lt;URLstring&gt;&gt;</code> </p> <p>
* <code> &lt;GetMetricWidgetImageResult&gt;</code> </p> <p> <code>
* &lt;MetricWidgetImage&gt;</code> </p> <p> <code>
* iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQEAYAAAAip...</code> </p> <p> <code>
* &lt;/MetricWidgetImage&gt;</code> </p> <p> <code>
* &lt;/GetMetricWidgetImageResult&gt;</code> </p> <p> <code>
* &lt;ResponseMetadata&gt;</code> </p> <p> <code>
* &lt;RequestId&gt;6f0d4192-4d42-11e8-82c1-f539a07e0e3b&lt;/RequestId&gt;</code>
* </p> <p> <code> &lt;/ResponseMetadata&gt;</code> </p> <p>
* <code>&lt;/GetMetricWidgetImageResponse&gt;</code> </p> <p>The
* <code>image/png</code> setting is intended only for custom HTTP requests. For
* most use cases, and all actions using an AWS SDK, you should use
* <code>png</code>. If you specify <code>image/png</code>, the HTTP response has a
* content-type set to <code>image/png</code>, and the body of the response is a
* PNG image. </p>
*/
inline GetMetricWidgetImageRequest& WithOutputFormat(const Aws::String& value) { SetOutputFormat(value); return *this;}
/**
* <p>The format of the resulting image. Only PNG images are supported.</p> <p>The
* default is <code>png</code>. If you specify <code>png</code>, the API returns an
* HTTP response with the content-type set to <code>text/xml</code>. The image data
* is in a <code>MetricWidgetImage</code> field. For example:</p> <p> <code>
* &lt;GetMetricWidgetImageResponse xmlns=&lt;URLstring&gt;&gt;</code> </p> <p>
* <code> &lt;GetMetricWidgetImageResult&gt;</code> </p> <p> <code>
* &lt;MetricWidgetImage&gt;</code> </p> <p> <code>
* iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQEAYAAAAip...</code> </p> <p> <code>
* &lt;/MetricWidgetImage&gt;</code> </p> <p> <code>
* &lt;/GetMetricWidgetImageResult&gt;</code> </p> <p> <code>
* &lt;ResponseMetadata&gt;</code> </p> <p> <code>
* &lt;RequestId&gt;6f0d4192-4d42-11e8-82c1-f539a07e0e3b&lt;/RequestId&gt;</code>
* </p> <p> <code> &lt;/ResponseMetadata&gt;</code> </p> <p>
* <code>&lt;/GetMetricWidgetImageResponse&gt;</code> </p> <p>The
* <code>image/png</code> setting is intended only for custom HTTP requests. For
* most use cases, and all actions using an AWS SDK, you should use
* <code>png</code>. If you specify <code>image/png</code>, the HTTP response has a
* content-type set to <code>image/png</code>, and the body of the response is a
* PNG image. </p>
*/
inline GetMetricWidgetImageRequest& WithOutputFormat(Aws::String&& value) { SetOutputFormat(std::move(value)); return *this;}
/**
* <p>The format of the resulting image. Only PNG images are supported.</p> <p>The
* default is <code>png</code>. If you specify <code>png</code>, the API returns an
* HTTP response with the content-type set to <code>text/xml</code>. The image data
* is in a <code>MetricWidgetImage</code> field. For example:</p> <p> <code>
* &lt;GetMetricWidgetImageResponse xmlns=&lt;URLstring&gt;&gt;</code> </p> <p>
* <code> &lt;GetMetricWidgetImageResult&gt;</code> </p> <p> <code>
* &lt;MetricWidgetImage&gt;</code> </p> <p> <code>
* iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQEAYAAAAip...</code> </p> <p> <code>
* &lt;/MetricWidgetImage&gt;</code> </p> <p> <code>
* &lt;/GetMetricWidgetImageResult&gt;</code> </p> <p> <code>
* &lt;ResponseMetadata&gt;</code> </p> <p> <code>
* &lt;RequestId&gt;6f0d4192-4d42-11e8-82c1-f539a07e0e3b&lt;/RequestId&gt;</code>
* </p> <p> <code> &lt;/ResponseMetadata&gt;</code> </p> <p>
* <code>&lt;/GetMetricWidgetImageResponse&gt;</code> </p> <p>The
* <code>image/png</code> setting is intended only for custom HTTP requests. For
* most use cases, and all actions using an AWS SDK, you should use
* <code>png</code>. If you specify <code>image/png</code>, the HTTP response has a
* content-type set to <code>image/png</code>, and the body of the response is a
* PNG image. </p>
*/
inline GetMetricWidgetImageRequest& WithOutputFormat(const char* value) { SetOutputFormat(value); return *this;}
private:
Aws::String m_metricWidget;
bool m_metricWidgetHasBeenSet;
Aws::String m_outputFormat;
bool m_outputFormatHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,91 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/Array.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API GetMetricWidgetImageResult
{
public:
GetMetricWidgetImageResult();
GetMetricWidgetImageResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
GetMetricWidgetImageResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
/**
* <p>The image of the graph, in the output format specified. The output is
* base64-encoded.</p>
*/
inline const Aws::Utils::ByteBuffer& GetMetricWidgetImage() const{ return m_metricWidgetImage; }
/**
* <p>The image of the graph, in the output format specified. The output is
* base64-encoded.</p>
*/
inline void SetMetricWidgetImage(const Aws::Utils::ByteBuffer& value) { m_metricWidgetImage = value; }
/**
* <p>The image of the graph, in the output format specified. The output is
* base64-encoded.</p>
*/
inline void SetMetricWidgetImage(Aws::Utils::ByteBuffer&& value) { m_metricWidgetImage = std::move(value); }
/**
* <p>The image of the graph, in the output format specified. The output is
* base64-encoded.</p>
*/
inline GetMetricWidgetImageResult& WithMetricWidgetImage(const Aws::Utils::ByteBuffer& value) { SetMetricWidgetImage(value); return *this;}
/**
* <p>The image of the graph, in the output format specified. The output is
* base64-encoded.</p>
*/
inline GetMetricWidgetImageResult& WithMetricWidgetImage(Aws::Utils::ByteBuffer&& value) { SetMetricWidgetImage(std::move(value)); return *this;}
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline GetMetricWidgetImageResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline GetMetricWidgetImageResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
Aws::Utils::ByteBuffer m_metricWidgetImage;
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
enum class HistoryItemType
{
NOT_SET,
ConfigurationUpdate,
StateUpdate,
Action
};
namespace HistoryItemTypeMapper
{
AWS_CLOUDWATCH_API HistoryItemType GetHistoryItemTypeForName(const Aws::String& name);
AWS_CLOUDWATCH_API Aws::String GetNameForHistoryItemType(HistoryItemType value);
} // namespace HistoryItemTypeMapper
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,279 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>This structure contains the definition for a Contributor Insights
* rule.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/InsightRule">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API InsightRule
{
public:
InsightRule();
InsightRule(const Aws::Utils::Xml::XmlNode& xmlNode);
InsightRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>The name of the rule.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the rule.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the rule.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the rule.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the rule.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the rule.</p>
*/
inline InsightRule& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the rule.</p>
*/
inline InsightRule& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the rule.</p>
*/
inline InsightRule& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>Indicates whether the rule is enabled or disabled.</p>
*/
inline const Aws::String& GetState() const{ return m_state; }
/**
* <p>Indicates whether the rule is enabled or disabled.</p>
*/
inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
/**
* <p>Indicates whether the rule is enabled or disabled.</p>
*/
inline void SetState(const Aws::String& value) { m_stateHasBeenSet = true; m_state = value; }
/**
* <p>Indicates whether the rule is enabled or disabled.</p>
*/
inline void SetState(Aws::String&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
/**
* <p>Indicates whether the rule is enabled or disabled.</p>
*/
inline void SetState(const char* value) { m_stateHasBeenSet = true; m_state.assign(value); }
/**
* <p>Indicates whether the rule is enabled or disabled.</p>
*/
inline InsightRule& WithState(const Aws::String& value) { SetState(value); return *this;}
/**
* <p>Indicates whether the rule is enabled or disabled.</p>
*/
inline InsightRule& WithState(Aws::String&& value) { SetState(std::move(value)); return *this;}
/**
* <p>Indicates whether the rule is enabled or disabled.</p>
*/
inline InsightRule& WithState(const char* value) { SetState(value); return *this;}
/**
* <p>For rules that you create, this is always <code>{"Name": "CloudWatchLogRule",
* "Version": 1}</code>. For built-in rules, this is <code>{"Name":
* "ServiceLogRule", "Version": 1}</code> </p>
*/
inline const Aws::String& GetSchema() const{ return m_schema; }
/**
* <p>For rules that you create, this is always <code>{"Name": "CloudWatchLogRule",
* "Version": 1}</code>. For built-in rules, this is <code>{"Name":
* "ServiceLogRule", "Version": 1}</code> </p>
*/
inline bool SchemaHasBeenSet() const { return m_schemaHasBeenSet; }
/**
* <p>For rules that you create, this is always <code>{"Name": "CloudWatchLogRule",
* "Version": 1}</code>. For built-in rules, this is <code>{"Name":
* "ServiceLogRule", "Version": 1}</code> </p>
*/
inline void SetSchema(const Aws::String& value) { m_schemaHasBeenSet = true; m_schema = value; }
/**
* <p>For rules that you create, this is always <code>{"Name": "CloudWatchLogRule",
* "Version": 1}</code>. For built-in rules, this is <code>{"Name":
* "ServiceLogRule", "Version": 1}</code> </p>
*/
inline void SetSchema(Aws::String&& value) { m_schemaHasBeenSet = true; m_schema = std::move(value); }
/**
* <p>For rules that you create, this is always <code>{"Name": "CloudWatchLogRule",
* "Version": 1}</code>. For built-in rules, this is <code>{"Name":
* "ServiceLogRule", "Version": 1}</code> </p>
*/
inline void SetSchema(const char* value) { m_schemaHasBeenSet = true; m_schema.assign(value); }
/**
* <p>For rules that you create, this is always <code>{"Name": "CloudWatchLogRule",
* "Version": 1}</code>. For built-in rules, this is <code>{"Name":
* "ServiceLogRule", "Version": 1}</code> </p>
*/
inline InsightRule& WithSchema(const Aws::String& value) { SetSchema(value); return *this;}
/**
* <p>For rules that you create, this is always <code>{"Name": "CloudWatchLogRule",
* "Version": 1}</code>. For built-in rules, this is <code>{"Name":
* "ServiceLogRule", "Version": 1}</code> </p>
*/
inline InsightRule& WithSchema(Aws::String&& value) { SetSchema(std::move(value)); return *this;}
/**
* <p>For rules that you create, this is always <code>{"Name": "CloudWatchLogRule",
* "Version": 1}</code>. For built-in rules, this is <code>{"Name":
* "ServiceLogRule", "Version": 1}</code> </p>
*/
inline InsightRule& WithSchema(const char* value) { SetSchema(value); return *this;}
/**
* <p>The definition of the rule, as a JSON object. The definition contains the
* keywords used to define contributors, the value to aggregate on if this rule
* returns a sum instead of a count, and the filters. For details on the valid
* syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html">Contributor
* Insights Rule Syntax</a>.</p>
*/
inline const Aws::String& GetDefinition() const{ return m_definition; }
/**
* <p>The definition of the rule, as a JSON object. The definition contains the
* keywords used to define contributors, the value to aggregate on if this rule
* returns a sum instead of a count, and the filters. For details on the valid
* syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html">Contributor
* Insights Rule Syntax</a>.</p>
*/
inline bool DefinitionHasBeenSet() const { return m_definitionHasBeenSet; }
/**
* <p>The definition of the rule, as a JSON object. The definition contains the
* keywords used to define contributors, the value to aggregate on if this rule
* returns a sum instead of a count, and the filters. For details on the valid
* syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html">Contributor
* Insights Rule Syntax</a>.</p>
*/
inline void SetDefinition(const Aws::String& value) { m_definitionHasBeenSet = true; m_definition = value; }
/**
* <p>The definition of the rule, as a JSON object. The definition contains the
* keywords used to define contributors, the value to aggregate on if this rule
* returns a sum instead of a count, and the filters. For details on the valid
* syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html">Contributor
* Insights Rule Syntax</a>.</p>
*/
inline void SetDefinition(Aws::String&& value) { m_definitionHasBeenSet = true; m_definition = std::move(value); }
/**
* <p>The definition of the rule, as a JSON object. The definition contains the
* keywords used to define contributors, the value to aggregate on if this rule
* returns a sum instead of a count, and the filters. For details on the valid
* syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html">Contributor
* Insights Rule Syntax</a>.</p>
*/
inline void SetDefinition(const char* value) { m_definitionHasBeenSet = true; m_definition.assign(value); }
/**
* <p>The definition of the rule, as a JSON object. The definition contains the
* keywords used to define contributors, the value to aggregate on if this rule
* returns a sum instead of a count, and the filters. For details on the valid
* syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html">Contributor
* Insights Rule Syntax</a>.</p>
*/
inline InsightRule& WithDefinition(const Aws::String& value) { SetDefinition(value); return *this;}
/**
* <p>The definition of the rule, as a JSON object. The definition contains the
* keywords used to define contributors, the value to aggregate on if this rule
* returns a sum instead of a count, and the filters. For details on the valid
* syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html">Contributor
* Insights Rule Syntax</a>.</p>
*/
inline InsightRule& WithDefinition(Aws::String&& value) { SetDefinition(std::move(value)); return *this;}
/**
* <p>The definition of the rule, as a JSON object. The definition contains the
* keywords used to define contributors, the value to aggregate on if this rule
* returns a sum instead of a count, and the filters. For details on the valid
* syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html">Contributor
* Insights Rule Syntax</a>.</p>
*/
inline InsightRule& WithDefinition(const char* value) { SetDefinition(value); return *this;}
private:
Aws::String m_name;
bool m_nameHasBeenSet;
Aws::String m_state;
bool m_stateHasBeenSet;
Aws::String m_schema;
bool m_schemaHasBeenSet;
Aws::String m_definition;
bool m_definitionHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,188 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/monitoring/model/InsightRuleContributorDatapoint.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>One of the unique contributors found by a Contributor Insights rule. If the
* rule contains multiple keys, then a unique contributor is a unique combination
* of values from all the keys in the rule.</p> <p>If the rule contains a single
* key, then each unique contributor is each unique value for this key.</p> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetInsightRuleReport.html">GetInsightRuleReport</a>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/InsightRuleContributor">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API InsightRuleContributor
{
public:
InsightRuleContributor();
InsightRuleContributor(const Aws::Utils::Xml::XmlNode& xmlNode);
InsightRuleContributor& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>One of the log entry field keywords that is used to define contributors for
* this rule.</p>
*/
inline const Aws::Vector<Aws::String>& GetKeys() const{ return m_keys; }
/**
* <p>One of the log entry field keywords that is used to define contributors for
* this rule.</p>
*/
inline bool KeysHasBeenSet() const { return m_keysHasBeenSet; }
/**
* <p>One of the log entry field keywords that is used to define contributors for
* this rule.</p>
*/
inline void SetKeys(const Aws::Vector<Aws::String>& value) { m_keysHasBeenSet = true; m_keys = value; }
/**
* <p>One of the log entry field keywords that is used to define contributors for
* this rule.</p>
*/
inline void SetKeys(Aws::Vector<Aws::String>&& value) { m_keysHasBeenSet = true; m_keys = std::move(value); }
/**
* <p>One of the log entry field keywords that is used to define contributors for
* this rule.</p>
*/
inline InsightRuleContributor& WithKeys(const Aws::Vector<Aws::String>& value) { SetKeys(value); return *this;}
/**
* <p>One of the log entry field keywords that is used to define contributors for
* this rule.</p>
*/
inline InsightRuleContributor& WithKeys(Aws::Vector<Aws::String>&& value) { SetKeys(std::move(value)); return *this;}
/**
* <p>One of the log entry field keywords that is used to define contributors for
* this rule.</p>
*/
inline InsightRuleContributor& AddKeys(const Aws::String& value) { m_keysHasBeenSet = true; m_keys.push_back(value); return *this; }
/**
* <p>One of the log entry field keywords that is used to define contributors for
* this rule.</p>
*/
inline InsightRuleContributor& AddKeys(Aws::String&& value) { m_keysHasBeenSet = true; m_keys.push_back(std::move(value)); return *this; }
/**
* <p>One of the log entry field keywords that is used to define contributors for
* this rule.</p>
*/
inline InsightRuleContributor& AddKeys(const char* value) { m_keysHasBeenSet = true; m_keys.push_back(value); return *this; }
/**
* <p>An approximation of the aggregate value that comes from this contributor.</p>
*/
inline double GetApproximateAggregateValue() const{ return m_approximateAggregateValue; }
/**
* <p>An approximation of the aggregate value that comes from this contributor.</p>
*/
inline bool ApproximateAggregateValueHasBeenSet() const { return m_approximateAggregateValueHasBeenSet; }
/**
* <p>An approximation of the aggregate value that comes from this contributor.</p>
*/
inline void SetApproximateAggregateValue(double value) { m_approximateAggregateValueHasBeenSet = true; m_approximateAggregateValue = value; }
/**
* <p>An approximation of the aggregate value that comes from this contributor.</p>
*/
inline InsightRuleContributor& WithApproximateAggregateValue(double value) { SetApproximateAggregateValue(value); return *this;}
/**
* <p>An array of the data points where this contributor is present. Only the data
* points when this contributor appeared are included in the array.</p>
*/
inline const Aws::Vector<InsightRuleContributorDatapoint>& GetDatapoints() const{ return m_datapoints; }
/**
* <p>An array of the data points where this contributor is present. Only the data
* points when this contributor appeared are included in the array.</p>
*/
inline bool DatapointsHasBeenSet() const { return m_datapointsHasBeenSet; }
/**
* <p>An array of the data points where this contributor is present. Only the data
* points when this contributor appeared are included in the array.</p>
*/
inline void SetDatapoints(const Aws::Vector<InsightRuleContributorDatapoint>& value) { m_datapointsHasBeenSet = true; m_datapoints = value; }
/**
* <p>An array of the data points where this contributor is present. Only the data
* points when this contributor appeared are included in the array.</p>
*/
inline void SetDatapoints(Aws::Vector<InsightRuleContributorDatapoint>&& value) { m_datapointsHasBeenSet = true; m_datapoints = std::move(value); }
/**
* <p>An array of the data points where this contributor is present. Only the data
* points when this contributor appeared are included in the array.</p>
*/
inline InsightRuleContributor& WithDatapoints(const Aws::Vector<InsightRuleContributorDatapoint>& value) { SetDatapoints(value); return *this;}
/**
* <p>An array of the data points where this contributor is present. Only the data
* points when this contributor appeared are included in the array.</p>
*/
inline InsightRuleContributor& WithDatapoints(Aws::Vector<InsightRuleContributorDatapoint>&& value) { SetDatapoints(std::move(value)); return *this;}
/**
* <p>An array of the data points where this contributor is present. Only the data
* points when this contributor appeared are included in the array.</p>
*/
inline InsightRuleContributor& AddDatapoints(const InsightRuleContributorDatapoint& value) { m_datapointsHasBeenSet = true; m_datapoints.push_back(value); return *this; }
/**
* <p>An array of the data points where this contributor is present. Only the data
* points when this contributor appeared are included in the array.</p>
*/
inline InsightRuleContributor& AddDatapoints(InsightRuleContributorDatapoint&& value) { m_datapointsHasBeenSet = true; m_datapoints.push_back(std::move(value)); return *this; }
private:
Aws::Vector<Aws::String> m_keys;
bool m_keysHasBeenSet;
double m_approximateAggregateValue;
bool m_approximateAggregateValueHasBeenSet;
Aws::Vector<InsightRuleContributorDatapoint> m_datapoints;
bool m_datapointsHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,109 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>One data point related to one contributor.</p> <p>For more information, see
* <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetInsightRuleReport.html">GetInsightRuleReport</a>
* and <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_InsightRuleContributor.html">InsightRuleContributor</a>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/InsightRuleContributorDatapoint">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API InsightRuleContributorDatapoint
{
public:
InsightRuleContributorDatapoint();
InsightRuleContributorDatapoint(const Aws::Utils::Xml::XmlNode& xmlNode);
InsightRuleContributorDatapoint& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>The timestamp of the data point.</p>
*/
inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; }
/**
* <p>The timestamp of the data point.</p>
*/
inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; }
/**
* <p>The timestamp of the data point.</p>
*/
inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; }
/**
* <p>The timestamp of the data point.</p>
*/
inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); }
/**
* <p>The timestamp of the data point.</p>
*/
inline InsightRuleContributorDatapoint& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;}
/**
* <p>The timestamp of the data point.</p>
*/
inline InsightRuleContributorDatapoint& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;}
/**
* <p>The approximate value that this contributor added during this timestamp.</p>
*/
inline double GetApproximateValue() const{ return m_approximateValue; }
/**
* <p>The approximate value that this contributor added during this timestamp.</p>
*/
inline bool ApproximateValueHasBeenSet() const { return m_approximateValueHasBeenSet; }
/**
* <p>The approximate value that this contributor added during this timestamp.</p>
*/
inline void SetApproximateValue(double value) { m_approximateValueHasBeenSet = true; m_approximateValue = value; }
/**
* <p>The approximate value that this contributor added during this timestamp.</p>
*/
inline InsightRuleContributorDatapoint& WithApproximateValue(double value) { SetApproximateValue(value); return *this;}
private:
Aws::Utils::DateTime m_timestamp;
bool m_timestampHasBeenSet;
double m_approximateValue;
bool m_approximateValueHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,315 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>One data point from the metric time series returned in a Contributor Insights
* rule report.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetInsightRuleReport.html">GetInsightRuleReport</a>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/InsightRuleMetricDatapoint">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API InsightRuleMetricDatapoint
{
public:
InsightRuleMetricDatapoint();
InsightRuleMetricDatapoint(const Aws::Utils::Xml::XmlNode& xmlNode);
InsightRuleMetricDatapoint& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>The timestamp of the data point.</p>
*/
inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; }
/**
* <p>The timestamp of the data point.</p>
*/
inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; }
/**
* <p>The timestamp of the data point.</p>
*/
inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; }
/**
* <p>The timestamp of the data point.</p>
*/
inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); }
/**
* <p>The timestamp of the data point.</p>
*/
inline InsightRuleMetricDatapoint& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;}
/**
* <p>The timestamp of the data point.</p>
*/
inline InsightRuleMetricDatapoint& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;}
/**
* <p>The number of unique contributors who published data during this
* timestamp.</p> <p>This statistic is returned only if you included it in the
* <code>Metrics</code> array in your request.</p>
*/
inline double GetUniqueContributors() const{ return m_uniqueContributors; }
/**
* <p>The number of unique contributors who published data during this
* timestamp.</p> <p>This statistic is returned only if you included it in the
* <code>Metrics</code> array in your request.</p>
*/
inline bool UniqueContributorsHasBeenSet() const { return m_uniqueContributorsHasBeenSet; }
/**
* <p>The number of unique contributors who published data during this
* timestamp.</p> <p>This statistic is returned only if you included it in the
* <code>Metrics</code> array in your request.</p>
*/
inline void SetUniqueContributors(double value) { m_uniqueContributorsHasBeenSet = true; m_uniqueContributors = value; }
/**
* <p>The number of unique contributors who published data during this
* timestamp.</p> <p>This statistic is returned only if you included it in the
* <code>Metrics</code> array in your request.</p>
*/
inline InsightRuleMetricDatapoint& WithUniqueContributors(double value) { SetUniqueContributors(value); return *this;}
/**
* <p>The maximum value provided by one contributor during this timestamp. Each
* timestamp is evaluated separately, so the identity of the max contributor could
* be different for each timestamp.</p> <p>This statistic is returned only if you
* included it in the <code>Metrics</code> array in your request.</p>
*/
inline double GetMaxContributorValue() const{ return m_maxContributorValue; }
/**
* <p>The maximum value provided by one contributor during this timestamp. Each
* timestamp is evaluated separately, so the identity of the max contributor could
* be different for each timestamp.</p> <p>This statistic is returned only if you
* included it in the <code>Metrics</code> array in your request.</p>
*/
inline bool MaxContributorValueHasBeenSet() const { return m_maxContributorValueHasBeenSet; }
/**
* <p>The maximum value provided by one contributor during this timestamp. Each
* timestamp is evaluated separately, so the identity of the max contributor could
* be different for each timestamp.</p> <p>This statistic is returned only if you
* included it in the <code>Metrics</code> array in your request.</p>
*/
inline void SetMaxContributorValue(double value) { m_maxContributorValueHasBeenSet = true; m_maxContributorValue = value; }
/**
* <p>The maximum value provided by one contributor during this timestamp. Each
* timestamp is evaluated separately, so the identity of the max contributor could
* be different for each timestamp.</p> <p>This statistic is returned only if you
* included it in the <code>Metrics</code> array in your request.</p>
*/
inline InsightRuleMetricDatapoint& WithMaxContributorValue(double value) { SetMaxContributorValue(value); return *this;}
/**
* <p>The number of occurrences that matched the rule during this data point.</p>
* <p>This statistic is returned only if you included it in the
* <code>Metrics</code> array in your request.</p>
*/
inline double GetSampleCount() const{ return m_sampleCount; }
/**
* <p>The number of occurrences that matched the rule during this data point.</p>
* <p>This statistic is returned only if you included it in the
* <code>Metrics</code> array in your request.</p>
*/
inline bool SampleCountHasBeenSet() const { return m_sampleCountHasBeenSet; }
/**
* <p>The number of occurrences that matched the rule during this data point.</p>
* <p>This statistic is returned only if you included it in the
* <code>Metrics</code> array in your request.</p>
*/
inline void SetSampleCount(double value) { m_sampleCountHasBeenSet = true; m_sampleCount = value; }
/**
* <p>The number of occurrences that matched the rule during this data point.</p>
* <p>This statistic is returned only if you included it in the
* <code>Metrics</code> array in your request.</p>
*/
inline InsightRuleMetricDatapoint& WithSampleCount(double value) { SetSampleCount(value); return *this;}
/**
* <p>The average value from all contributors during the time period represented by
* that data point.</p> <p>This statistic is returned only if you included it in
* the <code>Metrics</code> array in your request.</p>
*/
inline double GetAverage() const{ return m_average; }
/**
* <p>The average value from all contributors during the time period represented by
* that data point.</p> <p>This statistic is returned only if you included it in
* the <code>Metrics</code> array in your request.</p>
*/
inline bool AverageHasBeenSet() const { return m_averageHasBeenSet; }
/**
* <p>The average value from all contributors during the time period represented by
* that data point.</p> <p>This statistic is returned only if you included it in
* the <code>Metrics</code> array in your request.</p>
*/
inline void SetAverage(double value) { m_averageHasBeenSet = true; m_average = value; }
/**
* <p>The average value from all contributors during the time period represented by
* that data point.</p> <p>This statistic is returned only if you included it in
* the <code>Metrics</code> array in your request.</p>
*/
inline InsightRuleMetricDatapoint& WithAverage(double value) { SetAverage(value); return *this;}
/**
* <p>The sum of the values from all contributors during the time period
* represented by that data point.</p> <p>This statistic is returned only if you
* included it in the <code>Metrics</code> array in your request.</p>
*/
inline double GetSum() const{ return m_sum; }
/**
* <p>The sum of the values from all contributors during the time period
* represented by that data point.</p> <p>This statistic is returned only if you
* included it in the <code>Metrics</code> array in your request.</p>
*/
inline bool SumHasBeenSet() const { return m_sumHasBeenSet; }
/**
* <p>The sum of the values from all contributors during the time period
* represented by that data point.</p> <p>This statistic is returned only if you
* included it in the <code>Metrics</code> array in your request.</p>
*/
inline void SetSum(double value) { m_sumHasBeenSet = true; m_sum = value; }
/**
* <p>The sum of the values from all contributors during the time period
* represented by that data point.</p> <p>This statistic is returned only if you
* included it in the <code>Metrics</code> array in your request.</p>
*/
inline InsightRuleMetricDatapoint& WithSum(double value) { SetSum(value); return *this;}
/**
* <p>The minimum value from a single contributor during the time period
* represented by that data point.</p> <p>This statistic is returned only if you
* included it in the <code>Metrics</code> array in your request.</p>
*/
inline double GetMinimum() const{ return m_minimum; }
/**
* <p>The minimum value from a single contributor during the time period
* represented by that data point.</p> <p>This statistic is returned only if you
* included it in the <code>Metrics</code> array in your request.</p>
*/
inline bool MinimumHasBeenSet() const { return m_minimumHasBeenSet; }
/**
* <p>The minimum value from a single contributor during the time period
* represented by that data point.</p> <p>This statistic is returned only if you
* included it in the <code>Metrics</code> array in your request.</p>
*/
inline void SetMinimum(double value) { m_minimumHasBeenSet = true; m_minimum = value; }
/**
* <p>The minimum value from a single contributor during the time period
* represented by that data point.</p> <p>This statistic is returned only if you
* included it in the <code>Metrics</code> array in your request.</p>
*/
inline InsightRuleMetricDatapoint& WithMinimum(double value) { SetMinimum(value); return *this;}
/**
* <p>The maximum value from a single occurence from a single contributor during
* the time period represented by that data point.</p> <p>This statistic is
* returned only if you included it in the <code>Metrics</code> array in your
* request.</p>
*/
inline double GetMaximum() const{ return m_maximum; }
/**
* <p>The maximum value from a single occurence from a single contributor during
* the time period represented by that data point.</p> <p>This statistic is
* returned only if you included it in the <code>Metrics</code> array in your
* request.</p>
*/
inline bool MaximumHasBeenSet() const { return m_maximumHasBeenSet; }
/**
* <p>The maximum value from a single occurence from a single contributor during
* the time period represented by that data point.</p> <p>This statistic is
* returned only if you included it in the <code>Metrics</code> array in your
* request.</p>
*/
inline void SetMaximum(double value) { m_maximumHasBeenSet = true; m_maximum = value; }
/**
* <p>The maximum value from a single occurence from a single contributor during
* the time period represented by that data point.</p> <p>This statistic is
* returned only if you included it in the <code>Metrics</code> array in your
* request.</p>
*/
inline InsightRuleMetricDatapoint& WithMaximum(double value) { SetMaximum(value); return *this;}
private:
Aws::Utils::DateTime m_timestamp;
bool m_timestampHasBeenSet;
double m_uniqueContributors;
bool m_uniqueContributorsHasBeenSet;
double m_maxContributorValue;
bool m_maxContributorValueHasBeenSet;
double m_sampleCount;
bool m_sampleCountHasBeenSet;
double m_average;
bool m_averageHasBeenSet;
double m_sum;
bool m_sumHasBeenSet;
double m_minimum;
bool m_minimumHasBeenSet;
double m_maximum;
bool m_maximumHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,155 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API ListDashboardsRequest : public CloudWatchRequest
{
public:
ListDashboardsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListDashboards"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>If you specify this parameter, only the dashboards with names starting with
* the specified string are listed. The maximum length is 255, and valid characters
* are A-Z, a-z, 0-9, ".", "-", and "_". </p>
*/
inline const Aws::String& GetDashboardNamePrefix() const{ return m_dashboardNamePrefix; }
/**
* <p>If you specify this parameter, only the dashboards with names starting with
* the specified string are listed. The maximum length is 255, and valid characters
* are A-Z, a-z, 0-9, ".", "-", and "_". </p>
*/
inline bool DashboardNamePrefixHasBeenSet() const { return m_dashboardNamePrefixHasBeenSet; }
/**
* <p>If you specify this parameter, only the dashboards with names starting with
* the specified string are listed. The maximum length is 255, and valid characters
* are A-Z, a-z, 0-9, ".", "-", and "_". </p>
*/
inline void SetDashboardNamePrefix(const Aws::String& value) { m_dashboardNamePrefixHasBeenSet = true; m_dashboardNamePrefix = value; }
/**
* <p>If you specify this parameter, only the dashboards with names starting with
* the specified string are listed. The maximum length is 255, and valid characters
* are A-Z, a-z, 0-9, ".", "-", and "_". </p>
*/
inline void SetDashboardNamePrefix(Aws::String&& value) { m_dashboardNamePrefixHasBeenSet = true; m_dashboardNamePrefix = std::move(value); }
/**
* <p>If you specify this parameter, only the dashboards with names starting with
* the specified string are listed. The maximum length is 255, and valid characters
* are A-Z, a-z, 0-9, ".", "-", and "_". </p>
*/
inline void SetDashboardNamePrefix(const char* value) { m_dashboardNamePrefixHasBeenSet = true; m_dashboardNamePrefix.assign(value); }
/**
* <p>If you specify this parameter, only the dashboards with names starting with
* the specified string are listed. The maximum length is 255, and valid characters
* are A-Z, a-z, 0-9, ".", "-", and "_". </p>
*/
inline ListDashboardsRequest& WithDashboardNamePrefix(const Aws::String& value) { SetDashboardNamePrefix(value); return *this;}
/**
* <p>If you specify this parameter, only the dashboards with names starting with
* the specified string are listed. The maximum length is 255, and valid characters
* are A-Z, a-z, 0-9, ".", "-", and "_". </p>
*/
inline ListDashboardsRequest& WithDashboardNamePrefix(Aws::String&& value) { SetDashboardNamePrefix(std::move(value)); return *this;}
/**
* <p>If you specify this parameter, only the dashboards with names starting with
* the specified string are listed. The maximum length is 255, and valid characters
* are A-Z, a-z, 0-9, ".", "-", and "_". </p>
*/
inline ListDashboardsRequest& WithDashboardNamePrefix(const char* value) { SetDashboardNamePrefix(value); return *this;}
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline ListDashboardsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline ListDashboardsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline ListDashboardsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::String m_dashboardNamePrefix;
bool m_dashboardNamePrefixHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,136 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <aws/monitoring/model/DashboardEntry.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API ListDashboardsResult
{
public:
ListDashboardsResult();
ListDashboardsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
ListDashboardsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
/**
* <p>The list of matching dashboards.</p>
*/
inline const Aws::Vector<DashboardEntry>& GetDashboardEntries() const{ return m_dashboardEntries; }
/**
* <p>The list of matching dashboards.</p>
*/
inline void SetDashboardEntries(const Aws::Vector<DashboardEntry>& value) { m_dashboardEntries = value; }
/**
* <p>The list of matching dashboards.</p>
*/
inline void SetDashboardEntries(Aws::Vector<DashboardEntry>&& value) { m_dashboardEntries = std::move(value); }
/**
* <p>The list of matching dashboards.</p>
*/
inline ListDashboardsResult& WithDashboardEntries(const Aws::Vector<DashboardEntry>& value) { SetDashboardEntries(value); return *this;}
/**
* <p>The list of matching dashboards.</p>
*/
inline ListDashboardsResult& WithDashboardEntries(Aws::Vector<DashboardEntry>&& value) { SetDashboardEntries(std::move(value)); return *this;}
/**
* <p>The list of matching dashboards.</p>
*/
inline ListDashboardsResult& AddDashboardEntries(const DashboardEntry& value) { m_dashboardEntries.push_back(value); return *this; }
/**
* <p>The list of matching dashboards.</p>
*/
inline ListDashboardsResult& AddDashboardEntries(DashboardEntry&& value) { m_dashboardEntries.push_back(std::move(value)); return *this; }
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline ListDashboardsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline ListDashboardsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token that marks the start of the next batch of returned results.</p>
*/
inline ListDashboardsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline ListDashboardsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline ListDashboardsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
Aws::Vector<DashboardEntry> m_dashboardEntries;
Aws::String m_nextToken;
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,294 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/RecentlyActive.h>
#include <aws/monitoring/model/DimensionFilter.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API ListMetricsRequest : public CloudWatchRequest
{
public:
ListMetricsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListMetrics"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The namespace to filter against.</p>
*/
inline const Aws::String& GetNamespace() const{ return m_namespace; }
/**
* <p>The namespace to filter against.</p>
*/
inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; }
/**
* <p>The namespace to filter against.</p>
*/
inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; }
/**
* <p>The namespace to filter against.</p>
*/
inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); }
/**
* <p>The namespace to filter against.</p>
*/
inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); }
/**
* <p>The namespace to filter against.</p>
*/
inline ListMetricsRequest& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;}
/**
* <p>The namespace to filter against.</p>
*/
inline ListMetricsRequest& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;}
/**
* <p>The namespace to filter against.</p>
*/
inline ListMetricsRequest& WithNamespace(const char* value) { SetNamespace(value); return *this;}
/**
* <p>The name of the metric to filter against.</p>
*/
inline const Aws::String& GetMetricName() const{ return m_metricName; }
/**
* <p>The name of the metric to filter against.</p>
*/
inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; }
/**
* <p>The name of the metric to filter against.</p>
*/
inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; }
/**
* <p>The name of the metric to filter against.</p>
*/
inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); }
/**
* <p>The name of the metric to filter against.</p>
*/
inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); }
/**
* <p>The name of the metric to filter against.</p>
*/
inline ListMetricsRequest& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;}
/**
* <p>The name of the metric to filter against.</p>
*/
inline ListMetricsRequest& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;}
/**
* <p>The name of the metric to filter against.</p>
*/
inline ListMetricsRequest& WithMetricName(const char* value) { SetMetricName(value); return *this;}
/**
* <p>The dimensions to filter against.</p>
*/
inline const Aws::Vector<DimensionFilter>& GetDimensions() const{ return m_dimensions; }
/**
* <p>The dimensions to filter against.</p>
*/
inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
/**
* <p>The dimensions to filter against.</p>
*/
inline void SetDimensions(const Aws::Vector<DimensionFilter>& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; }
/**
* <p>The dimensions to filter against.</p>
*/
inline void SetDimensions(Aws::Vector<DimensionFilter>&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); }
/**
* <p>The dimensions to filter against.</p>
*/
inline ListMetricsRequest& WithDimensions(const Aws::Vector<DimensionFilter>& value) { SetDimensions(value); return *this;}
/**
* <p>The dimensions to filter against.</p>
*/
inline ListMetricsRequest& WithDimensions(Aws::Vector<DimensionFilter>&& value) { SetDimensions(std::move(value)); return *this;}
/**
* <p>The dimensions to filter against.</p>
*/
inline ListMetricsRequest& AddDimensions(const DimensionFilter& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; }
/**
* <p>The dimensions to filter against.</p>
*/
inline ListMetricsRequest& AddDimensions(DimensionFilter&& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(std::move(value)); return *this; }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline ListMetricsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline ListMetricsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token returned by a previous call to indicate that there is more data
* available.</p>
*/
inline ListMetricsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
/**
* <p>To filter the results to show only metrics that have had data points
* published in the past three hours, specify this parameter with a value of
* <code>PT3H</code>. This is the only valid value for this parameter.</p> <p>The
* results that are returned are an approximation of the value you specify. There
* is a low probability that the returned results include metrics with last
* published data as much as 40 minutes more than the specified time interval.</p>
*/
inline const RecentlyActive& GetRecentlyActive() const{ return m_recentlyActive; }
/**
* <p>To filter the results to show only metrics that have had data points
* published in the past three hours, specify this parameter with a value of
* <code>PT3H</code>. This is the only valid value for this parameter.</p> <p>The
* results that are returned are an approximation of the value you specify. There
* is a low probability that the returned results include metrics with last
* published data as much as 40 minutes more than the specified time interval.</p>
*/
inline bool RecentlyActiveHasBeenSet() const { return m_recentlyActiveHasBeenSet; }
/**
* <p>To filter the results to show only metrics that have had data points
* published in the past three hours, specify this parameter with a value of
* <code>PT3H</code>. This is the only valid value for this parameter.</p> <p>The
* results that are returned are an approximation of the value you specify. There
* is a low probability that the returned results include metrics with last
* published data as much as 40 minutes more than the specified time interval.</p>
*/
inline void SetRecentlyActive(const RecentlyActive& value) { m_recentlyActiveHasBeenSet = true; m_recentlyActive = value; }
/**
* <p>To filter the results to show only metrics that have had data points
* published in the past three hours, specify this parameter with a value of
* <code>PT3H</code>. This is the only valid value for this parameter.</p> <p>The
* results that are returned are an approximation of the value you specify. There
* is a low probability that the returned results include metrics with last
* published data as much as 40 minutes more than the specified time interval.</p>
*/
inline void SetRecentlyActive(RecentlyActive&& value) { m_recentlyActiveHasBeenSet = true; m_recentlyActive = std::move(value); }
/**
* <p>To filter the results to show only metrics that have had data points
* published in the past three hours, specify this parameter with a value of
* <code>PT3H</code>. This is the only valid value for this parameter.</p> <p>The
* results that are returned are an approximation of the value you specify. There
* is a low probability that the returned results include metrics with last
* published data as much as 40 minutes more than the specified time interval.</p>
*/
inline ListMetricsRequest& WithRecentlyActive(const RecentlyActive& value) { SetRecentlyActive(value); return *this;}
/**
* <p>To filter the results to show only metrics that have had data points
* published in the past three hours, specify this parameter with a value of
* <code>PT3H</code>. This is the only valid value for this parameter.</p> <p>The
* results that are returned are an approximation of the value you specify. There
* is a low probability that the returned results include metrics with last
* published data as much as 40 minutes more than the specified time interval.</p>
*/
inline ListMetricsRequest& WithRecentlyActive(RecentlyActive&& value) { SetRecentlyActive(std::move(value)); return *this;}
private:
Aws::String m_namespace;
bool m_namespaceHasBeenSet;
Aws::String m_metricName;
bool m_metricNameHasBeenSet;
Aws::Vector<DimensionFilter> m_dimensions;
bool m_dimensionsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
RecentlyActive m_recentlyActive;
bool m_recentlyActiveHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,136 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <aws/monitoring/model/Metric.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API ListMetricsResult
{
public:
ListMetricsResult();
ListMetricsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
ListMetricsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
/**
* <p>The metrics that match your request. </p>
*/
inline const Aws::Vector<Metric>& GetMetrics() const{ return m_metrics; }
/**
* <p>The metrics that match your request. </p>
*/
inline void SetMetrics(const Aws::Vector<Metric>& value) { m_metrics = value; }
/**
* <p>The metrics that match your request. </p>
*/
inline void SetMetrics(Aws::Vector<Metric>&& value) { m_metrics = std::move(value); }
/**
* <p>The metrics that match your request. </p>
*/
inline ListMetricsResult& WithMetrics(const Aws::Vector<Metric>& value) { SetMetrics(value); return *this;}
/**
* <p>The metrics that match your request. </p>
*/
inline ListMetricsResult& WithMetrics(Aws::Vector<Metric>&& value) { SetMetrics(std::move(value)); return *this;}
/**
* <p>The metrics that match your request. </p>
*/
inline ListMetricsResult& AddMetrics(const Metric& value) { m_metrics.push_back(value); return *this; }
/**
* <p>The metrics that match your request. </p>
*/
inline ListMetricsResult& AddMetrics(Metric&& value) { m_metrics.push_back(std::move(value)); return *this; }
/**
* <p>The token that marks the start of the next batch of returned results. </p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token that marks the start of the next batch of returned results. </p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The token that marks the start of the next batch of returned results. </p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The token that marks the start of the next batch of returned results. </p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The token that marks the start of the next batch of returned results. </p>
*/
inline ListMetricsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token that marks the start of the next batch of returned results. </p>
*/
inline ListMetricsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token that marks the start of the next batch of returned results. </p>
*/
inline ListMetricsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline ListMetricsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline ListMetricsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
Aws::Vector<Metric> m_metrics;
Aws::String m_nextToken;
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,151 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API ListTagsForResourceRequest : public CloudWatchRequest
{
public:
ListTagsForResourceRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListTagsForResource"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The ARN of the CloudWatch resource that you want to view tags for.</p> <p>The
* ARN format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline const Aws::String& GetResourceARN() const{ return m_resourceARN; }
/**
* <p>The ARN of the CloudWatch resource that you want to view tags for.</p> <p>The
* ARN format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
/**
* <p>The ARN of the CloudWatch resource that you want to view tags for.</p> <p>The
* ARN format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; }
/**
* <p>The ARN of the CloudWatch resource that you want to view tags for.</p> <p>The
* ARN format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); }
/**
* <p>The ARN of the CloudWatch resource that you want to view tags for.</p> <p>The
* ARN format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); }
/**
* <p>The ARN of the CloudWatch resource that you want to view tags for.</p> <p>The
* ARN format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline ListTagsForResourceRequest& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;}
/**
* <p>The ARN of the CloudWatch resource that you want to view tags for.</p> <p>The
* ARN format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline ListTagsForResourceRequest& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;}
/**
* <p>The ARN of the CloudWatch resource that you want to view tags for.</p> <p>The
* ARN format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline ListTagsForResourceRequest& WithResourceARN(const char* value) { SetResourceARN(value); return *this;}
private:
Aws::String m_resourceARN;
bool m_resourceARNHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,104 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <aws/monitoring/model/Tag.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API ListTagsForResourceResult
{
public:
ListTagsForResourceResult();
ListTagsForResourceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
/**
* <p>The list of tag keys and values associated with the resource you
* specified.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>The list of tag keys and values associated with the resource you
* specified.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tags = value; }
/**
* <p>The list of tag keys and values associated with the resource you
* specified.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tags = std::move(value); }
/**
* <p>The list of tag keys and values associated with the resource you
* specified.</p>
*/
inline ListTagsForResourceResult& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>The list of tag keys and values associated with the resource you
* specified.</p>
*/
inline ListTagsForResourceResult& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>The list of tag keys and values associated with the resource you
* specified.</p>
*/
inline ListTagsForResourceResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; }
/**
* <p>The list of tag keys and values associated with the resource you
* specified.</p>
*/
inline ListTagsForResourceResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; }
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline ListTagsForResourceResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline ListTagsForResourceResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
Aws::Vector<Tag> m_tags;
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,135 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>A message returned by the <code>GetMetricData</code>API, including a code and
* a description.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/MessageData">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API MessageData
{
public:
MessageData();
MessageData(const Aws::Utils::Xml::XmlNode& xmlNode);
MessageData& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>The error code or status code associated with the message.</p>
*/
inline const Aws::String& GetCode() const{ return m_code; }
/**
* <p>The error code or status code associated with the message.</p>
*/
inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; }
/**
* <p>The error code or status code associated with the message.</p>
*/
inline void SetCode(const Aws::String& value) { m_codeHasBeenSet = true; m_code = value; }
/**
* <p>The error code or status code associated with the message.</p>
*/
inline void SetCode(Aws::String&& value) { m_codeHasBeenSet = true; m_code = std::move(value); }
/**
* <p>The error code or status code associated with the message.</p>
*/
inline void SetCode(const char* value) { m_codeHasBeenSet = true; m_code.assign(value); }
/**
* <p>The error code or status code associated with the message.</p>
*/
inline MessageData& WithCode(const Aws::String& value) { SetCode(value); return *this;}
/**
* <p>The error code or status code associated with the message.</p>
*/
inline MessageData& WithCode(Aws::String&& value) { SetCode(std::move(value)); return *this;}
/**
* <p>The error code or status code associated with the message.</p>
*/
inline MessageData& WithCode(const char* value) { SetCode(value); return *this;}
/**
* <p>The message text.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
/**
* <p>The message text.</p>
*/
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
/**
* <p>The message text.</p>
*/
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
/**
* <p>The message text.</p>
*/
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
/**
* <p>The message text.</p>
*/
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
/**
* <p>The message text.</p>
*/
inline MessageData& WithValue(const Aws::String& value) { SetValue(value); return *this;}
/**
* <p>The message text.</p>
*/
inline MessageData& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
/**
* <p>The message text.</p>
*/
inline MessageData& WithValue(const char* value) { SetValue(value); return *this;}
private:
Aws::String m_code;
bool m_codeHasBeenSet;
Aws::String m_value;
bool m_valueHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,180 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/Dimension.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>Represents a specific metric.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/Metric">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API Metric
{
public:
Metric();
Metric(const Aws::Utils::Xml::XmlNode& xmlNode);
Metric& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>The namespace of the metric.</p>
*/
inline const Aws::String& GetNamespace() const{ return m_namespace; }
/**
* <p>The namespace of the metric.</p>
*/
inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; }
/**
* <p>The namespace of the metric.</p>
*/
inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; }
/**
* <p>The namespace of the metric.</p>
*/
inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); }
/**
* <p>The namespace of the metric.</p>
*/
inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); }
/**
* <p>The namespace of the metric.</p>
*/
inline Metric& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;}
/**
* <p>The namespace of the metric.</p>
*/
inline Metric& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;}
/**
* <p>The namespace of the metric.</p>
*/
inline Metric& WithNamespace(const char* value) { SetNamespace(value); return *this;}
/**
* <p>The name of the metric. This is a required field.</p>
*/
inline const Aws::String& GetMetricName() const{ return m_metricName; }
/**
* <p>The name of the metric. This is a required field.</p>
*/
inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; }
/**
* <p>The name of the metric. This is a required field.</p>
*/
inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; }
/**
* <p>The name of the metric. This is a required field.</p>
*/
inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); }
/**
* <p>The name of the metric. This is a required field.</p>
*/
inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); }
/**
* <p>The name of the metric. This is a required field.</p>
*/
inline Metric& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;}
/**
* <p>The name of the metric. This is a required field.</p>
*/
inline Metric& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;}
/**
* <p>The name of the metric. This is a required field.</p>
*/
inline Metric& WithMetricName(const char* value) { SetMetricName(value); return *this;}
/**
* <p>The dimensions for the metric.</p>
*/
inline const Aws::Vector<Dimension>& GetDimensions() const{ return m_dimensions; }
/**
* <p>The dimensions for the metric.</p>
*/
inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
/**
* <p>The dimensions for the metric.</p>
*/
inline void SetDimensions(const Aws::Vector<Dimension>& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; }
/**
* <p>The dimensions for the metric.</p>
*/
inline void SetDimensions(Aws::Vector<Dimension>&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); }
/**
* <p>The dimensions for the metric.</p>
*/
inline Metric& WithDimensions(const Aws::Vector<Dimension>& value) { SetDimensions(value); return *this;}
/**
* <p>The dimensions for the metric.</p>
*/
inline Metric& WithDimensions(Aws::Vector<Dimension>&& value) { SetDimensions(std::move(value)); return *this;}
/**
* <p>The dimensions for the metric.</p>
*/
inline Metric& AddDimensions(const Dimension& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; }
/**
* <p>The dimensions for the metric.</p>
*/
inline Metric& AddDimensions(Dimension&& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(std::move(value)); return *this; }
private:
Aws::String m_namespace;
bool m_namespaceHasBeenSet;
Aws::String m_metricName;
bool m_metricNameHasBeenSet;
Aws::Vector<Dimension> m_dimensions;
bool m_dimensionsHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,489 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/monitoring/model/MetricStat.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>This structure is used in both <code>GetMetricData</code> and
* <code>PutMetricAlarm</code>. The supported use of this structure is different
* for those two operations.</p> <p>When used in <code>GetMetricData</code>, it
* indicates the metric data to return, and whether this call is just retrieving a
* batch set of data for one metric, or is performing a math expression on metric
* data. A single <code>GetMetricData</code> call can include up to 500
* <code>MetricDataQuery</code> structures.</p> <p>When used in
* <code>PutMetricAlarm</code>, it enables you to create an alarm based on a metric
* math expression. Each <code>MetricDataQuery</code> in the array specifies either
* a metric to retrieve, or a math expression to be performed on retrieved metrics.
* A single <code>PutMetricAlarm</code> call can include up to 20
* <code>MetricDataQuery</code> structures in the array. The 20 structures can
* include as many as 10 structures that contain a <code>MetricStat</code>
* parameter to retrieve a metric, and as many as 10 structures that contain the
* <code>Expression</code> parameter to perform a math expression. Of those
* <code>Expression</code> structures, one must have <code>True</code> as the value
* for <code>ReturnData</code>. The result of this expression is the value the
* alarm watches.</p> <p>Any expression used in a <code>PutMetricAlarm</code>
* operation must return a single time series. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax">Metric
* Math Syntax and Functions</a> in the <i>Amazon CloudWatch User Guide</i>.</p>
* <p>Some of the parameters of this structure also have different uses whether you
* are using this structure in a <code>GetMetricData</code> operation or a
* <code>PutMetricAlarm</code> operation. These differences are explained in the
* following parameter list.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/MetricDataQuery">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API MetricDataQuery
{
public:
MetricDataQuery();
MetricDataQuery(const Aws::Utils::Xml::XmlNode& xmlNode);
MetricDataQuery& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>A short name used to tie this object to the results in the response. This
* name must be unique within a single call to <code>GetMetricData</code>. If you
* are performing math expressions on this set of data, this name represents that
* data and can serve as a variable in the mathematical expression. The valid
* characters are letters, numbers, and underscore. The first character must be a
* lowercase letter.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
/**
* <p>A short name used to tie this object to the results in the response. This
* name must be unique within a single call to <code>GetMetricData</code>. If you
* are performing math expressions on this set of data, this name represents that
* data and can serve as a variable in the mathematical expression. The valid
* characters are letters, numbers, and underscore. The first character must be a
* lowercase letter.</p>
*/
inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
/**
* <p>A short name used to tie this object to the results in the response. This
* name must be unique within a single call to <code>GetMetricData</code>. If you
* are performing math expressions on this set of data, this name represents that
* data and can serve as a variable in the mathematical expression. The valid
* characters are letters, numbers, and underscore. The first character must be a
* lowercase letter.</p>
*/
inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
/**
* <p>A short name used to tie this object to the results in the response. This
* name must be unique within a single call to <code>GetMetricData</code>. If you
* are performing math expressions on this set of data, this name represents that
* data and can serve as a variable in the mathematical expression. The valid
* characters are letters, numbers, and underscore. The first character must be a
* lowercase letter.</p>
*/
inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
/**
* <p>A short name used to tie this object to the results in the response. This
* name must be unique within a single call to <code>GetMetricData</code>. If you
* are performing math expressions on this set of data, this name represents that
* data and can serve as a variable in the mathematical expression. The valid
* characters are letters, numbers, and underscore. The first character must be a
* lowercase letter.</p>
*/
inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
/**
* <p>A short name used to tie this object to the results in the response. This
* name must be unique within a single call to <code>GetMetricData</code>. If you
* are performing math expressions on this set of data, this name represents that
* data and can serve as a variable in the mathematical expression. The valid
* characters are letters, numbers, and underscore. The first character must be a
* lowercase letter.</p>
*/
inline MetricDataQuery& WithId(const Aws::String& value) { SetId(value); return *this;}
/**
* <p>A short name used to tie this object to the results in the response. This
* name must be unique within a single call to <code>GetMetricData</code>. If you
* are performing math expressions on this set of data, this name represents that
* data and can serve as a variable in the mathematical expression. The valid
* characters are letters, numbers, and underscore. The first character must be a
* lowercase letter.</p>
*/
inline MetricDataQuery& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
/**
* <p>A short name used to tie this object to the results in the response. This
* name must be unique within a single call to <code>GetMetricData</code>. If you
* are performing math expressions on this set of data, this name represents that
* data and can serve as a variable in the mathematical expression. The valid
* characters are letters, numbers, and underscore. The first character must be a
* lowercase letter.</p>
*/
inline MetricDataQuery& WithId(const char* value) { SetId(value); return *this;}
/**
* <p>The metric to be returned, along with statistics, period, and units. Use this
* parameter only if this object is retrieving a metric and not performing a math
* expression on returned data.</p> <p>Within one MetricDataQuery object, you must
* specify either <code>Expression</code> or <code>MetricStat</code> but not
* both.</p>
*/
inline const MetricStat& GetMetricStat() const{ return m_metricStat; }
/**
* <p>The metric to be returned, along with statistics, period, and units. Use this
* parameter only if this object is retrieving a metric and not performing a math
* expression on returned data.</p> <p>Within one MetricDataQuery object, you must
* specify either <code>Expression</code> or <code>MetricStat</code> but not
* both.</p>
*/
inline bool MetricStatHasBeenSet() const { return m_metricStatHasBeenSet; }
/**
* <p>The metric to be returned, along with statistics, period, and units. Use this
* parameter only if this object is retrieving a metric and not performing a math
* expression on returned data.</p> <p>Within one MetricDataQuery object, you must
* specify either <code>Expression</code> or <code>MetricStat</code> but not
* both.</p>
*/
inline void SetMetricStat(const MetricStat& value) { m_metricStatHasBeenSet = true; m_metricStat = value; }
/**
* <p>The metric to be returned, along with statistics, period, and units. Use this
* parameter only if this object is retrieving a metric and not performing a math
* expression on returned data.</p> <p>Within one MetricDataQuery object, you must
* specify either <code>Expression</code> or <code>MetricStat</code> but not
* both.</p>
*/
inline void SetMetricStat(MetricStat&& value) { m_metricStatHasBeenSet = true; m_metricStat = std::move(value); }
/**
* <p>The metric to be returned, along with statistics, period, and units. Use this
* parameter only if this object is retrieving a metric and not performing a math
* expression on returned data.</p> <p>Within one MetricDataQuery object, you must
* specify either <code>Expression</code> or <code>MetricStat</code> but not
* both.</p>
*/
inline MetricDataQuery& WithMetricStat(const MetricStat& value) { SetMetricStat(value); return *this;}
/**
* <p>The metric to be returned, along with statistics, period, and units. Use this
* parameter only if this object is retrieving a metric and not performing a math
* expression on returned data.</p> <p>Within one MetricDataQuery object, you must
* specify either <code>Expression</code> or <code>MetricStat</code> but not
* both.</p>
*/
inline MetricDataQuery& WithMetricStat(MetricStat&& value) { SetMetricStat(std::move(value)); return *this;}
/**
* <p>The math expression to be performed on the returned data, if this object is
* performing a math expression. This expression can use the <code>Id</code> of the
* other metrics to refer to those metrics, and can also use the <code>Id</code> of
* other expressions to use the result of those expressions. For more information
* about metric math expressions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax">Metric
* Math Syntax and Functions</a> in the <i>Amazon CloudWatch User Guide</i>.</p>
* <p>Within each MetricDataQuery object, you must specify either
* <code>Expression</code> or <code>MetricStat</code> but not both.</p>
*/
inline const Aws::String& GetExpression() const{ return m_expression; }
/**
* <p>The math expression to be performed on the returned data, if this object is
* performing a math expression. This expression can use the <code>Id</code> of the
* other metrics to refer to those metrics, and can also use the <code>Id</code> of
* other expressions to use the result of those expressions. For more information
* about metric math expressions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax">Metric
* Math Syntax and Functions</a> in the <i>Amazon CloudWatch User Guide</i>.</p>
* <p>Within each MetricDataQuery object, you must specify either
* <code>Expression</code> or <code>MetricStat</code> but not both.</p>
*/
inline bool ExpressionHasBeenSet() const { return m_expressionHasBeenSet; }
/**
* <p>The math expression to be performed on the returned data, if this object is
* performing a math expression. This expression can use the <code>Id</code> of the
* other metrics to refer to those metrics, and can also use the <code>Id</code> of
* other expressions to use the result of those expressions. For more information
* about metric math expressions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax">Metric
* Math Syntax and Functions</a> in the <i>Amazon CloudWatch User Guide</i>.</p>
* <p>Within each MetricDataQuery object, you must specify either
* <code>Expression</code> or <code>MetricStat</code> but not both.</p>
*/
inline void SetExpression(const Aws::String& value) { m_expressionHasBeenSet = true; m_expression = value; }
/**
* <p>The math expression to be performed on the returned data, if this object is
* performing a math expression. This expression can use the <code>Id</code> of the
* other metrics to refer to those metrics, and can also use the <code>Id</code> of
* other expressions to use the result of those expressions. For more information
* about metric math expressions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax">Metric
* Math Syntax and Functions</a> in the <i>Amazon CloudWatch User Guide</i>.</p>
* <p>Within each MetricDataQuery object, you must specify either
* <code>Expression</code> or <code>MetricStat</code> but not both.</p>
*/
inline void SetExpression(Aws::String&& value) { m_expressionHasBeenSet = true; m_expression = std::move(value); }
/**
* <p>The math expression to be performed on the returned data, if this object is
* performing a math expression. This expression can use the <code>Id</code> of the
* other metrics to refer to those metrics, and can also use the <code>Id</code> of
* other expressions to use the result of those expressions. For more information
* about metric math expressions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax">Metric
* Math Syntax and Functions</a> in the <i>Amazon CloudWatch User Guide</i>.</p>
* <p>Within each MetricDataQuery object, you must specify either
* <code>Expression</code> or <code>MetricStat</code> but not both.</p>
*/
inline void SetExpression(const char* value) { m_expressionHasBeenSet = true; m_expression.assign(value); }
/**
* <p>The math expression to be performed on the returned data, if this object is
* performing a math expression. This expression can use the <code>Id</code> of the
* other metrics to refer to those metrics, and can also use the <code>Id</code> of
* other expressions to use the result of those expressions. For more information
* about metric math expressions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax">Metric
* Math Syntax and Functions</a> in the <i>Amazon CloudWatch User Guide</i>.</p>
* <p>Within each MetricDataQuery object, you must specify either
* <code>Expression</code> or <code>MetricStat</code> but not both.</p>
*/
inline MetricDataQuery& WithExpression(const Aws::String& value) { SetExpression(value); return *this;}
/**
* <p>The math expression to be performed on the returned data, if this object is
* performing a math expression. This expression can use the <code>Id</code> of the
* other metrics to refer to those metrics, and can also use the <code>Id</code> of
* other expressions to use the result of those expressions. For more information
* about metric math expressions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax">Metric
* Math Syntax and Functions</a> in the <i>Amazon CloudWatch User Guide</i>.</p>
* <p>Within each MetricDataQuery object, you must specify either
* <code>Expression</code> or <code>MetricStat</code> but not both.</p>
*/
inline MetricDataQuery& WithExpression(Aws::String&& value) { SetExpression(std::move(value)); return *this;}
/**
* <p>The math expression to be performed on the returned data, if this object is
* performing a math expression. This expression can use the <code>Id</code> of the
* other metrics to refer to those metrics, and can also use the <code>Id</code> of
* other expressions to use the result of those expressions. For more information
* about metric math expressions, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax">Metric
* Math Syntax and Functions</a> in the <i>Amazon CloudWatch User Guide</i>.</p>
* <p>Within each MetricDataQuery object, you must specify either
* <code>Expression</code> or <code>MetricStat</code> but not both.</p>
*/
inline MetricDataQuery& WithExpression(const char* value) { SetExpression(value); return *this;}
/**
* <p>A human-readable label for this metric or expression. This is especially
* useful if this is an expression, so that you know what the value represents. If
* the metric or expression is shown in a CloudWatch dashboard widget, the label is
* shown. If Label is omitted, CloudWatch generates a default.</p>
*/
inline const Aws::String& GetLabel() const{ return m_label; }
/**
* <p>A human-readable label for this metric or expression. This is especially
* useful if this is an expression, so that you know what the value represents. If
* the metric or expression is shown in a CloudWatch dashboard widget, the label is
* shown. If Label is omitted, CloudWatch generates a default.</p>
*/
inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; }
/**
* <p>A human-readable label for this metric or expression. This is especially
* useful if this is an expression, so that you know what the value represents. If
* the metric or expression is shown in a CloudWatch dashboard widget, the label is
* shown. If Label is omitted, CloudWatch generates a default.</p>
*/
inline void SetLabel(const Aws::String& value) { m_labelHasBeenSet = true; m_label = value; }
/**
* <p>A human-readable label for this metric or expression. This is especially
* useful if this is an expression, so that you know what the value represents. If
* the metric or expression is shown in a CloudWatch dashboard widget, the label is
* shown. If Label is omitted, CloudWatch generates a default.</p>
*/
inline void SetLabel(Aws::String&& value) { m_labelHasBeenSet = true; m_label = std::move(value); }
/**
* <p>A human-readable label for this metric or expression. This is especially
* useful if this is an expression, so that you know what the value represents. If
* the metric or expression is shown in a CloudWatch dashboard widget, the label is
* shown. If Label is omitted, CloudWatch generates a default.</p>
*/
inline void SetLabel(const char* value) { m_labelHasBeenSet = true; m_label.assign(value); }
/**
* <p>A human-readable label for this metric or expression. This is especially
* useful if this is an expression, so that you know what the value represents. If
* the metric or expression is shown in a CloudWatch dashboard widget, the label is
* shown. If Label is omitted, CloudWatch generates a default.</p>
*/
inline MetricDataQuery& WithLabel(const Aws::String& value) { SetLabel(value); return *this;}
/**
* <p>A human-readable label for this metric or expression. This is especially
* useful if this is an expression, so that you know what the value represents. If
* the metric or expression is shown in a CloudWatch dashboard widget, the label is
* shown. If Label is omitted, CloudWatch generates a default.</p>
*/
inline MetricDataQuery& WithLabel(Aws::String&& value) { SetLabel(std::move(value)); return *this;}
/**
* <p>A human-readable label for this metric or expression. This is especially
* useful if this is an expression, so that you know what the value represents. If
* the metric or expression is shown in a CloudWatch dashboard widget, the label is
* shown. If Label is omitted, CloudWatch generates a default.</p>
*/
inline MetricDataQuery& WithLabel(const char* value) { SetLabel(value); return *this;}
/**
* <p>When used in <code>GetMetricData</code>, this option indicates whether to
* return the timestamps and raw data values of this metric. If you are performing
* this call just to do math expressions and do not also need the raw data
* returned, you can specify <code>False</code>. If you omit this, the default of
* <code>True</code> is used.</p> <p>When used in <code>PutMetricAlarm</code>,
* specify <code>True</code> for the one expression result to use as the alarm. For
* all other metrics and expressions in the same <code>PutMetricAlarm</code>
* operation, specify <code>ReturnData</code> as False.</p>
*/
inline bool GetReturnData() const{ return m_returnData; }
/**
* <p>When used in <code>GetMetricData</code>, this option indicates whether to
* return the timestamps and raw data values of this metric. If you are performing
* this call just to do math expressions and do not also need the raw data
* returned, you can specify <code>False</code>. If you omit this, the default of
* <code>True</code> is used.</p> <p>When used in <code>PutMetricAlarm</code>,
* specify <code>True</code> for the one expression result to use as the alarm. For
* all other metrics and expressions in the same <code>PutMetricAlarm</code>
* operation, specify <code>ReturnData</code> as False.</p>
*/
inline bool ReturnDataHasBeenSet() const { return m_returnDataHasBeenSet; }
/**
* <p>When used in <code>GetMetricData</code>, this option indicates whether to
* return the timestamps and raw data values of this metric. If you are performing
* this call just to do math expressions and do not also need the raw data
* returned, you can specify <code>False</code>. If you omit this, the default of
* <code>True</code> is used.</p> <p>When used in <code>PutMetricAlarm</code>,
* specify <code>True</code> for the one expression result to use as the alarm. For
* all other metrics and expressions in the same <code>PutMetricAlarm</code>
* operation, specify <code>ReturnData</code> as False.</p>
*/
inline void SetReturnData(bool value) { m_returnDataHasBeenSet = true; m_returnData = value; }
/**
* <p>When used in <code>GetMetricData</code>, this option indicates whether to
* return the timestamps and raw data values of this metric. If you are performing
* this call just to do math expressions and do not also need the raw data
* returned, you can specify <code>False</code>. If you omit this, the default of
* <code>True</code> is used.</p> <p>When used in <code>PutMetricAlarm</code>,
* specify <code>True</code> for the one expression result to use as the alarm. For
* all other metrics and expressions in the same <code>PutMetricAlarm</code>
* operation, specify <code>ReturnData</code> as False.</p>
*/
inline MetricDataQuery& WithReturnData(bool value) { SetReturnData(value); return *this;}
/**
* <p>The granularity, in seconds, of the returned data points. For metrics with
* regular resolution, a period can be as short as one minute (60 seconds) and must
* be a multiple of 60. For high-resolution metrics that are collected at intervals
* of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of
* 60. High-resolution metrics are those metrics stored by a
* <code>PutMetricData</code> operation that includes a <code>StorageResolution of
* 1 second</code>.</p>
*/
inline int GetPeriod() const{ return m_period; }
/**
* <p>The granularity, in seconds, of the returned data points. For metrics with
* regular resolution, a period can be as short as one minute (60 seconds) and must
* be a multiple of 60. For high-resolution metrics that are collected at intervals
* of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of
* 60. High-resolution metrics are those metrics stored by a
* <code>PutMetricData</code> operation that includes a <code>StorageResolution of
* 1 second</code>.</p>
*/
inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
/**
* <p>The granularity, in seconds, of the returned data points. For metrics with
* regular resolution, a period can be as short as one minute (60 seconds) and must
* be a multiple of 60. For high-resolution metrics that are collected at intervals
* of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of
* 60. High-resolution metrics are those metrics stored by a
* <code>PutMetricData</code> operation that includes a <code>StorageResolution of
* 1 second</code>.</p>
*/
inline void SetPeriod(int value) { m_periodHasBeenSet = true; m_period = value; }
/**
* <p>The granularity, in seconds, of the returned data points. For metrics with
* regular resolution, a period can be as short as one minute (60 seconds) and must
* be a multiple of 60. For high-resolution metrics that are collected at intervals
* of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of
* 60. High-resolution metrics are those metrics stored by a
* <code>PutMetricData</code> operation that includes a <code>StorageResolution of
* 1 second</code>.</p>
*/
inline MetricDataQuery& WithPeriod(int value) { SetPeriod(value); return *this;}
private:
Aws::String m_id;
bool m_idHasBeenSet;
MetricStat m_metricStat;
bool m_metricStatHasBeenSet;
Aws::String m_expression;
bool m_expressionHasBeenSet;
Aws::String m_label;
bool m_labelHasBeenSet;
bool m_returnData;
bool m_returnDataHasBeenSet;
int m_period;
bool m_periodHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,368 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/StatusCode.h>
#include <aws/core/utils/DateTime.h>
#include <aws/monitoring/model/MessageData.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>A <code>GetMetricData</code> call returns an array of
* <code>MetricDataResult</code> structures. Each of these structures includes the
* data points for that metric, along with the timestamps of those data points and
* other identifying information.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/MetricDataResult">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API MetricDataResult
{
public:
MetricDataResult();
MetricDataResult(const Aws::Utils::Xml::XmlNode& xmlNode);
MetricDataResult& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>The short name you specified to represent this metric.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
/**
* <p>The short name you specified to represent this metric.</p>
*/
inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
/**
* <p>The short name you specified to represent this metric.</p>
*/
inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
/**
* <p>The short name you specified to represent this metric.</p>
*/
inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
/**
* <p>The short name you specified to represent this metric.</p>
*/
inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
/**
* <p>The short name you specified to represent this metric.</p>
*/
inline MetricDataResult& WithId(const Aws::String& value) { SetId(value); return *this;}
/**
* <p>The short name you specified to represent this metric.</p>
*/
inline MetricDataResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
/**
* <p>The short name you specified to represent this metric.</p>
*/
inline MetricDataResult& WithId(const char* value) { SetId(value); return *this;}
/**
* <p>The human-readable label associated with the data.</p>
*/
inline const Aws::String& GetLabel() const{ return m_label; }
/**
* <p>The human-readable label associated with the data.</p>
*/
inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; }
/**
* <p>The human-readable label associated with the data.</p>
*/
inline void SetLabel(const Aws::String& value) { m_labelHasBeenSet = true; m_label = value; }
/**
* <p>The human-readable label associated with the data.</p>
*/
inline void SetLabel(Aws::String&& value) { m_labelHasBeenSet = true; m_label = std::move(value); }
/**
* <p>The human-readable label associated with the data.</p>
*/
inline void SetLabel(const char* value) { m_labelHasBeenSet = true; m_label.assign(value); }
/**
* <p>The human-readable label associated with the data.</p>
*/
inline MetricDataResult& WithLabel(const Aws::String& value) { SetLabel(value); return *this;}
/**
* <p>The human-readable label associated with the data.</p>
*/
inline MetricDataResult& WithLabel(Aws::String&& value) { SetLabel(std::move(value)); return *this;}
/**
* <p>The human-readable label associated with the data.</p>
*/
inline MetricDataResult& WithLabel(const char* value) { SetLabel(value); return *this;}
/**
* <p>The timestamps for the data points, formatted in Unix timestamp format. The
* number of timestamps always matches the number of values and the value for
* Timestamps[x] is Values[x].</p>
*/
inline const Aws::Vector<Aws::Utils::DateTime>& GetTimestamps() const{ return m_timestamps; }
/**
* <p>The timestamps for the data points, formatted in Unix timestamp format. The
* number of timestamps always matches the number of values and the value for
* Timestamps[x] is Values[x].</p>
*/
inline bool TimestampsHasBeenSet() const { return m_timestampsHasBeenSet; }
/**
* <p>The timestamps for the data points, formatted in Unix timestamp format. The
* number of timestamps always matches the number of values and the value for
* Timestamps[x] is Values[x].</p>
*/
inline void SetTimestamps(const Aws::Vector<Aws::Utils::DateTime>& value) { m_timestampsHasBeenSet = true; m_timestamps = value; }
/**
* <p>The timestamps for the data points, formatted in Unix timestamp format. The
* number of timestamps always matches the number of values and the value for
* Timestamps[x] is Values[x].</p>
*/
inline void SetTimestamps(Aws::Vector<Aws::Utils::DateTime>&& value) { m_timestampsHasBeenSet = true; m_timestamps = std::move(value); }
/**
* <p>The timestamps for the data points, formatted in Unix timestamp format. The
* number of timestamps always matches the number of values and the value for
* Timestamps[x] is Values[x].</p>
*/
inline MetricDataResult& WithTimestamps(const Aws::Vector<Aws::Utils::DateTime>& value) { SetTimestamps(value); return *this;}
/**
* <p>The timestamps for the data points, formatted in Unix timestamp format. The
* number of timestamps always matches the number of values and the value for
* Timestamps[x] is Values[x].</p>
*/
inline MetricDataResult& WithTimestamps(Aws::Vector<Aws::Utils::DateTime>&& value) { SetTimestamps(std::move(value)); return *this;}
/**
* <p>The timestamps for the data points, formatted in Unix timestamp format. The
* number of timestamps always matches the number of values and the value for
* Timestamps[x] is Values[x].</p>
*/
inline MetricDataResult& AddTimestamps(const Aws::Utils::DateTime& value) { m_timestampsHasBeenSet = true; m_timestamps.push_back(value); return *this; }
/**
* <p>The timestamps for the data points, formatted in Unix timestamp format. The
* number of timestamps always matches the number of values and the value for
* Timestamps[x] is Values[x].</p>
*/
inline MetricDataResult& AddTimestamps(Aws::Utils::DateTime&& value) { m_timestampsHasBeenSet = true; m_timestamps.push_back(std::move(value)); return *this; }
/**
* <p>The data points for the metric corresponding to <code>Timestamps</code>. The
* number of values always matches the number of timestamps and the timestamp for
* Values[x] is Timestamps[x].</p>
*/
inline const Aws::Vector<double>& GetValues() const{ return m_values; }
/**
* <p>The data points for the metric corresponding to <code>Timestamps</code>. The
* number of values always matches the number of timestamps and the timestamp for
* Values[x] is Timestamps[x].</p>
*/
inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; }
/**
* <p>The data points for the metric corresponding to <code>Timestamps</code>. The
* number of values always matches the number of timestamps and the timestamp for
* Values[x] is Timestamps[x].</p>
*/
inline void SetValues(const Aws::Vector<double>& value) { m_valuesHasBeenSet = true; m_values = value; }
/**
* <p>The data points for the metric corresponding to <code>Timestamps</code>. The
* number of values always matches the number of timestamps and the timestamp for
* Values[x] is Timestamps[x].</p>
*/
inline void SetValues(Aws::Vector<double>&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); }
/**
* <p>The data points for the metric corresponding to <code>Timestamps</code>. The
* number of values always matches the number of timestamps and the timestamp for
* Values[x] is Timestamps[x].</p>
*/
inline MetricDataResult& WithValues(const Aws::Vector<double>& value) { SetValues(value); return *this;}
/**
* <p>The data points for the metric corresponding to <code>Timestamps</code>. The
* number of values always matches the number of timestamps and the timestamp for
* Values[x] is Timestamps[x].</p>
*/
inline MetricDataResult& WithValues(Aws::Vector<double>&& value) { SetValues(std::move(value)); return *this;}
/**
* <p>The data points for the metric corresponding to <code>Timestamps</code>. The
* number of values always matches the number of timestamps and the timestamp for
* Values[x] is Timestamps[x].</p>
*/
inline MetricDataResult& AddValues(double value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; }
/**
* <p>The status of the returned data. <code>Complete</code> indicates that all
* data points in the requested time range were returned. <code>PartialData</code>
* means that an incomplete set of data points were returned. You can use the
* <code>NextToken</code> value that was returned and repeat your request to get
* more data points. <code>NextToken</code> is not returned if you are performing a
* math expression. <code>InternalError</code> indicates that an error occurred.
* Retry your request using <code>NextToken</code>, if present.</p>
*/
inline const StatusCode& GetStatusCode() const{ return m_statusCode; }
/**
* <p>The status of the returned data. <code>Complete</code> indicates that all
* data points in the requested time range were returned. <code>PartialData</code>
* means that an incomplete set of data points were returned. You can use the
* <code>NextToken</code> value that was returned and repeat your request to get
* more data points. <code>NextToken</code> is not returned if you are performing a
* math expression. <code>InternalError</code> indicates that an error occurred.
* Retry your request using <code>NextToken</code>, if present.</p>
*/
inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; }
/**
* <p>The status of the returned data. <code>Complete</code> indicates that all
* data points in the requested time range were returned. <code>PartialData</code>
* means that an incomplete set of data points were returned. You can use the
* <code>NextToken</code> value that was returned and repeat your request to get
* more data points. <code>NextToken</code> is not returned if you are performing a
* math expression. <code>InternalError</code> indicates that an error occurred.
* Retry your request using <code>NextToken</code>, if present.</p>
*/
inline void SetStatusCode(const StatusCode& value) { m_statusCodeHasBeenSet = true; m_statusCode = value; }
/**
* <p>The status of the returned data. <code>Complete</code> indicates that all
* data points in the requested time range were returned. <code>PartialData</code>
* means that an incomplete set of data points were returned. You can use the
* <code>NextToken</code> value that was returned and repeat your request to get
* more data points. <code>NextToken</code> is not returned if you are performing a
* math expression. <code>InternalError</code> indicates that an error occurred.
* Retry your request using <code>NextToken</code>, if present.</p>
*/
inline void SetStatusCode(StatusCode&& value) { m_statusCodeHasBeenSet = true; m_statusCode = std::move(value); }
/**
* <p>The status of the returned data. <code>Complete</code> indicates that all
* data points in the requested time range were returned. <code>PartialData</code>
* means that an incomplete set of data points were returned. You can use the
* <code>NextToken</code> value that was returned and repeat your request to get
* more data points. <code>NextToken</code> is not returned if you are performing a
* math expression. <code>InternalError</code> indicates that an error occurred.
* Retry your request using <code>NextToken</code>, if present.</p>
*/
inline MetricDataResult& WithStatusCode(const StatusCode& value) { SetStatusCode(value); return *this;}
/**
* <p>The status of the returned data. <code>Complete</code> indicates that all
* data points in the requested time range were returned. <code>PartialData</code>
* means that an incomplete set of data points were returned. You can use the
* <code>NextToken</code> value that was returned and repeat your request to get
* more data points. <code>NextToken</code> is not returned if you are performing a
* math expression. <code>InternalError</code> indicates that an error occurred.
* Retry your request using <code>NextToken</code>, if present.</p>
*/
inline MetricDataResult& WithStatusCode(StatusCode&& value) { SetStatusCode(std::move(value)); return *this;}
/**
* <p>A list of messages with additional information about the data returned.</p>
*/
inline const Aws::Vector<MessageData>& GetMessages() const{ return m_messages; }
/**
* <p>A list of messages with additional information about the data returned.</p>
*/
inline bool MessagesHasBeenSet() const { return m_messagesHasBeenSet; }
/**
* <p>A list of messages with additional information about the data returned.</p>
*/
inline void SetMessages(const Aws::Vector<MessageData>& value) { m_messagesHasBeenSet = true; m_messages = value; }
/**
* <p>A list of messages with additional information about the data returned.</p>
*/
inline void SetMessages(Aws::Vector<MessageData>&& value) { m_messagesHasBeenSet = true; m_messages = std::move(value); }
/**
* <p>A list of messages with additional information about the data returned.</p>
*/
inline MetricDataResult& WithMessages(const Aws::Vector<MessageData>& value) { SetMessages(value); return *this;}
/**
* <p>A list of messages with additional information about the data returned.</p>
*/
inline MetricDataResult& WithMessages(Aws::Vector<MessageData>&& value) { SetMessages(std::move(value)); return *this;}
/**
* <p>A list of messages with additional information about the data returned.</p>
*/
inline MetricDataResult& AddMessages(const MessageData& value) { m_messagesHasBeenSet = true; m_messages.push_back(value); return *this; }
/**
* <p>A list of messages with additional information about the data returned.</p>
*/
inline MetricDataResult& AddMessages(MessageData&& value) { m_messagesHasBeenSet = true; m_messages.push_back(std::move(value)); return *this; }
private:
Aws::String m_id;
bool m_idHasBeenSet;
Aws::String m_label;
bool m_labelHasBeenSet;
Aws::Vector<Aws::Utils::DateTime> m_timestamps;
bool m_timestampsHasBeenSet;
Aws::Vector<double> m_values;
bool m_valuesHasBeenSet;
StatusCode m_statusCode;
bool m_statusCodeHasBeenSet;
Aws::Vector<MessageData> m_messages;
bool m_messagesHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,521 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/DateTime.h>
#include <aws/monitoring/model/StatisticSet.h>
#include <aws/monitoring/model/StandardUnit.h>
#include <aws/monitoring/model/Dimension.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>Encapsulates the information sent to either create a metric or add new values
* to be aggregated into an existing metric.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/MetricDatum">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API MetricDatum
{
public:
MetricDatum();
MetricDatum(const Aws::Utils::Xml::XmlNode& xmlNode);
MetricDatum& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>The name of the metric.</p>
*/
inline const Aws::String& GetMetricName() const{ return m_metricName; }
/**
* <p>The name of the metric.</p>
*/
inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; }
/**
* <p>The name of the metric.</p>
*/
inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; }
/**
* <p>The name of the metric.</p>
*/
inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); }
/**
* <p>The name of the metric.</p>
*/
inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); }
/**
* <p>The name of the metric.</p>
*/
inline MetricDatum& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;}
/**
* <p>The name of the metric.</p>
*/
inline MetricDatum& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;}
/**
* <p>The name of the metric.</p>
*/
inline MetricDatum& WithMetricName(const char* value) { SetMetricName(value); return *this;}
/**
* <p>The dimensions associated with the metric.</p>
*/
inline const Aws::Vector<Dimension>& GetDimensions() const{ return m_dimensions; }
/**
* <p>The dimensions associated with the metric.</p>
*/
inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
/**
* <p>The dimensions associated with the metric.</p>
*/
inline void SetDimensions(const Aws::Vector<Dimension>& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; }
/**
* <p>The dimensions associated with the metric.</p>
*/
inline void SetDimensions(Aws::Vector<Dimension>&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); }
/**
* <p>The dimensions associated with the metric.</p>
*/
inline MetricDatum& WithDimensions(const Aws::Vector<Dimension>& value) { SetDimensions(value); return *this;}
/**
* <p>The dimensions associated with the metric.</p>
*/
inline MetricDatum& WithDimensions(Aws::Vector<Dimension>&& value) { SetDimensions(std::move(value)); return *this;}
/**
* <p>The dimensions associated with the metric.</p>
*/
inline MetricDatum& AddDimensions(const Dimension& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; }
/**
* <p>The dimensions associated with the metric.</p>
*/
inline MetricDatum& AddDimensions(Dimension&& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(std::move(value)); return *this; }
/**
* <p>The time the metric data was received, expressed as the number of
* milliseconds since Jan 1, 1970 00:00:00 UTC.</p>
*/
inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; }
/**
* <p>The time the metric data was received, expressed as the number of
* milliseconds since Jan 1, 1970 00:00:00 UTC.</p>
*/
inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; }
/**
* <p>The time the metric data was received, expressed as the number of
* milliseconds since Jan 1, 1970 00:00:00 UTC.</p>
*/
inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; }
/**
* <p>The time the metric data was received, expressed as the number of
* milliseconds since Jan 1, 1970 00:00:00 UTC.</p>
*/
inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); }
/**
* <p>The time the metric data was received, expressed as the number of
* milliseconds since Jan 1, 1970 00:00:00 UTC.</p>
*/
inline MetricDatum& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;}
/**
* <p>The time the metric data was received, expressed as the number of
* milliseconds since Jan 1, 1970 00:00:00 UTC.</p>
*/
inline MetricDatum& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;}
/**
* <p>The value for the metric.</p> <p>Although the parameter accepts numbers of
* type Double, CloudWatch rejects values that are either too small or too large.
* Values must be in the range of -2^360 to 2^360. In addition, special values (for
* example, NaN, +Infinity, -Infinity) are not supported.</p>
*/
inline double GetValue() const{ return m_value; }
/**
* <p>The value for the metric.</p> <p>Although the parameter accepts numbers of
* type Double, CloudWatch rejects values that are either too small or too large.
* Values must be in the range of -2^360 to 2^360. In addition, special values (for
* example, NaN, +Infinity, -Infinity) are not supported.</p>
*/
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
/**
* <p>The value for the metric.</p> <p>Although the parameter accepts numbers of
* type Double, CloudWatch rejects values that are either too small or too large.
* Values must be in the range of -2^360 to 2^360. In addition, special values (for
* example, NaN, +Infinity, -Infinity) are not supported.</p>
*/
inline void SetValue(double value) { m_valueHasBeenSet = true; m_value = value; }
/**
* <p>The value for the metric.</p> <p>Although the parameter accepts numbers of
* type Double, CloudWatch rejects values that are either too small or too large.
* Values must be in the range of -2^360 to 2^360. In addition, special values (for
* example, NaN, +Infinity, -Infinity) are not supported.</p>
*/
inline MetricDatum& WithValue(double value) { SetValue(value); return *this;}
/**
* <p>The statistical values for the metric.</p>
*/
inline const StatisticSet& GetStatisticValues() const{ return m_statisticValues; }
/**
* <p>The statistical values for the metric.</p>
*/
inline bool StatisticValuesHasBeenSet() const { return m_statisticValuesHasBeenSet; }
/**
* <p>The statistical values for the metric.</p>
*/
inline void SetStatisticValues(const StatisticSet& value) { m_statisticValuesHasBeenSet = true; m_statisticValues = value; }
/**
* <p>The statistical values for the metric.</p>
*/
inline void SetStatisticValues(StatisticSet&& value) { m_statisticValuesHasBeenSet = true; m_statisticValues = std::move(value); }
/**
* <p>The statistical values for the metric.</p>
*/
inline MetricDatum& WithStatisticValues(const StatisticSet& value) { SetStatisticValues(value); return *this;}
/**
* <p>The statistical values for the metric.</p>
*/
inline MetricDatum& WithStatisticValues(StatisticSet&& value) { SetStatisticValues(std::move(value)); return *this;}
/**
* <p>Array of numbers representing the values for the metric during the period.
* Each unique value is listed just once in this array, and the corresponding
* number in the <code>Counts</code> array specifies the number of times that value
* occurred during the period. You can include up to 150 unique values in each
* <code>PutMetricData</code> action that specifies a <code>Values</code>
* array.</p> <p>Although the <code>Values</code> array accepts numbers of type
* <code>Double</code>, CloudWatch rejects values that are either too small or too
* large. Values must be in the range of -2^360 to 2^360. In addition, special
* values (for example, NaN, +Infinity, -Infinity) are not supported.</p>
*/
inline const Aws::Vector<double>& GetValues() const{ return m_values; }
/**
* <p>Array of numbers representing the values for the metric during the period.
* Each unique value is listed just once in this array, and the corresponding
* number in the <code>Counts</code> array specifies the number of times that value
* occurred during the period. You can include up to 150 unique values in each
* <code>PutMetricData</code> action that specifies a <code>Values</code>
* array.</p> <p>Although the <code>Values</code> array accepts numbers of type
* <code>Double</code>, CloudWatch rejects values that are either too small or too
* large. Values must be in the range of -2^360 to 2^360. In addition, special
* values (for example, NaN, +Infinity, -Infinity) are not supported.</p>
*/
inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; }
/**
* <p>Array of numbers representing the values for the metric during the period.
* Each unique value is listed just once in this array, and the corresponding
* number in the <code>Counts</code> array specifies the number of times that value
* occurred during the period. You can include up to 150 unique values in each
* <code>PutMetricData</code> action that specifies a <code>Values</code>
* array.</p> <p>Although the <code>Values</code> array accepts numbers of type
* <code>Double</code>, CloudWatch rejects values that are either too small or too
* large. Values must be in the range of -2^360 to 2^360. In addition, special
* values (for example, NaN, +Infinity, -Infinity) are not supported.</p>
*/
inline void SetValues(const Aws::Vector<double>& value) { m_valuesHasBeenSet = true; m_values = value; }
/**
* <p>Array of numbers representing the values for the metric during the period.
* Each unique value is listed just once in this array, and the corresponding
* number in the <code>Counts</code> array specifies the number of times that value
* occurred during the period. You can include up to 150 unique values in each
* <code>PutMetricData</code> action that specifies a <code>Values</code>
* array.</p> <p>Although the <code>Values</code> array accepts numbers of type
* <code>Double</code>, CloudWatch rejects values that are either too small or too
* large. Values must be in the range of -2^360 to 2^360. In addition, special
* values (for example, NaN, +Infinity, -Infinity) are not supported.</p>
*/
inline void SetValues(Aws::Vector<double>&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); }
/**
* <p>Array of numbers representing the values for the metric during the period.
* Each unique value is listed just once in this array, and the corresponding
* number in the <code>Counts</code> array specifies the number of times that value
* occurred during the period. You can include up to 150 unique values in each
* <code>PutMetricData</code> action that specifies a <code>Values</code>
* array.</p> <p>Although the <code>Values</code> array accepts numbers of type
* <code>Double</code>, CloudWatch rejects values that are either too small or too
* large. Values must be in the range of -2^360 to 2^360. In addition, special
* values (for example, NaN, +Infinity, -Infinity) are not supported.</p>
*/
inline MetricDatum& WithValues(const Aws::Vector<double>& value) { SetValues(value); return *this;}
/**
* <p>Array of numbers representing the values for the metric during the period.
* Each unique value is listed just once in this array, and the corresponding
* number in the <code>Counts</code> array specifies the number of times that value
* occurred during the period. You can include up to 150 unique values in each
* <code>PutMetricData</code> action that specifies a <code>Values</code>
* array.</p> <p>Although the <code>Values</code> array accepts numbers of type
* <code>Double</code>, CloudWatch rejects values that are either too small or too
* large. Values must be in the range of -2^360 to 2^360. In addition, special
* values (for example, NaN, +Infinity, -Infinity) are not supported.</p>
*/
inline MetricDatum& WithValues(Aws::Vector<double>&& value) { SetValues(std::move(value)); return *this;}
/**
* <p>Array of numbers representing the values for the metric during the period.
* Each unique value is listed just once in this array, and the corresponding
* number in the <code>Counts</code> array specifies the number of times that value
* occurred during the period. You can include up to 150 unique values in each
* <code>PutMetricData</code> action that specifies a <code>Values</code>
* array.</p> <p>Although the <code>Values</code> array accepts numbers of type
* <code>Double</code>, CloudWatch rejects values that are either too small or too
* large. Values must be in the range of -2^360 to 2^360. In addition, special
* values (for example, NaN, +Infinity, -Infinity) are not supported.</p>
*/
inline MetricDatum& AddValues(double value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; }
/**
* <p>Array of numbers that is used along with the <code>Values</code> array. Each
* number in the <code>Count</code> array is the number of times the corresponding
* value in the <code>Values</code> array occurred during the period. </p> <p>If
* you omit the <code>Counts</code> array, the default of 1 is used as the value
* for each count. If you include a <code>Counts</code> array, it must include the
* same amount of values as the <code>Values</code> array.</p>
*/
inline const Aws::Vector<double>& GetCounts() const{ return m_counts; }
/**
* <p>Array of numbers that is used along with the <code>Values</code> array. Each
* number in the <code>Count</code> array is the number of times the corresponding
* value in the <code>Values</code> array occurred during the period. </p> <p>If
* you omit the <code>Counts</code> array, the default of 1 is used as the value
* for each count. If you include a <code>Counts</code> array, it must include the
* same amount of values as the <code>Values</code> array.</p>
*/
inline bool CountsHasBeenSet() const { return m_countsHasBeenSet; }
/**
* <p>Array of numbers that is used along with the <code>Values</code> array. Each
* number in the <code>Count</code> array is the number of times the corresponding
* value in the <code>Values</code> array occurred during the period. </p> <p>If
* you omit the <code>Counts</code> array, the default of 1 is used as the value
* for each count. If you include a <code>Counts</code> array, it must include the
* same amount of values as the <code>Values</code> array.</p>
*/
inline void SetCounts(const Aws::Vector<double>& value) { m_countsHasBeenSet = true; m_counts = value; }
/**
* <p>Array of numbers that is used along with the <code>Values</code> array. Each
* number in the <code>Count</code> array is the number of times the corresponding
* value in the <code>Values</code> array occurred during the period. </p> <p>If
* you omit the <code>Counts</code> array, the default of 1 is used as the value
* for each count. If you include a <code>Counts</code> array, it must include the
* same amount of values as the <code>Values</code> array.</p>
*/
inline void SetCounts(Aws::Vector<double>&& value) { m_countsHasBeenSet = true; m_counts = std::move(value); }
/**
* <p>Array of numbers that is used along with the <code>Values</code> array. Each
* number in the <code>Count</code> array is the number of times the corresponding
* value in the <code>Values</code> array occurred during the period. </p> <p>If
* you omit the <code>Counts</code> array, the default of 1 is used as the value
* for each count. If you include a <code>Counts</code> array, it must include the
* same amount of values as the <code>Values</code> array.</p>
*/
inline MetricDatum& WithCounts(const Aws::Vector<double>& value) { SetCounts(value); return *this;}
/**
* <p>Array of numbers that is used along with the <code>Values</code> array. Each
* number in the <code>Count</code> array is the number of times the corresponding
* value in the <code>Values</code> array occurred during the period. </p> <p>If
* you omit the <code>Counts</code> array, the default of 1 is used as the value
* for each count. If you include a <code>Counts</code> array, it must include the
* same amount of values as the <code>Values</code> array.</p>
*/
inline MetricDatum& WithCounts(Aws::Vector<double>&& value) { SetCounts(std::move(value)); return *this;}
/**
* <p>Array of numbers that is used along with the <code>Values</code> array. Each
* number in the <code>Count</code> array is the number of times the corresponding
* value in the <code>Values</code> array occurred during the period. </p> <p>If
* you omit the <code>Counts</code> array, the default of 1 is used as the value
* for each count. If you include a <code>Counts</code> array, it must include the
* same amount of values as the <code>Values</code> array.</p>
*/
inline MetricDatum& AddCounts(double value) { m_countsHasBeenSet = true; m_counts.push_back(value); return *this; }
/**
* <p>When you are using a <code>Put</code> operation, this defines what unit you
* want to use when storing the metric.</p> <p>In a <code>Get</code> operation,
* this displays the unit that is used for the metric.</p>
*/
inline const StandardUnit& GetUnit() const{ return m_unit; }
/**
* <p>When you are using a <code>Put</code> operation, this defines what unit you
* want to use when storing the metric.</p> <p>In a <code>Get</code> operation,
* this displays the unit that is used for the metric.</p>
*/
inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; }
/**
* <p>When you are using a <code>Put</code> operation, this defines what unit you
* want to use when storing the metric.</p> <p>In a <code>Get</code> operation,
* this displays the unit that is used for the metric.</p>
*/
inline void SetUnit(const StandardUnit& value) { m_unitHasBeenSet = true; m_unit = value; }
/**
* <p>When you are using a <code>Put</code> operation, this defines what unit you
* want to use when storing the metric.</p> <p>In a <code>Get</code> operation,
* this displays the unit that is used for the metric.</p>
*/
inline void SetUnit(StandardUnit&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); }
/**
* <p>When you are using a <code>Put</code> operation, this defines what unit you
* want to use when storing the metric.</p> <p>In a <code>Get</code> operation,
* this displays the unit that is used for the metric.</p>
*/
inline MetricDatum& WithUnit(const StandardUnit& value) { SetUnit(value); return *this;}
/**
* <p>When you are using a <code>Put</code> operation, this defines what unit you
* want to use when storing the metric.</p> <p>In a <code>Get</code> operation,
* this displays the unit that is used for the metric.</p>
*/
inline MetricDatum& WithUnit(StandardUnit&& value) { SetUnit(std::move(value)); return *this;}
/**
* <p>Valid values are 1 and 60. Setting this to 1 specifies this metric as a
* high-resolution metric, so that CloudWatch stores the metric with sub-minute
* resolution down to one second. Setting this to 60 specifies this metric as a
* regular-resolution metric, which CloudWatch stores at 1-minute resolution.
* Currently, high resolution is available only for custom metrics. For more
* information about high-resolution metrics, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#high-resolution-metrics">High-Resolution
* Metrics</a> in the <i>Amazon CloudWatch User Guide</i>. </p> <p>This field is
* optional, if you do not specify it the default of 60 is used.</p>
*/
inline int GetStorageResolution() const{ return m_storageResolution; }
/**
* <p>Valid values are 1 and 60. Setting this to 1 specifies this metric as a
* high-resolution metric, so that CloudWatch stores the metric with sub-minute
* resolution down to one second. Setting this to 60 specifies this metric as a
* regular-resolution metric, which CloudWatch stores at 1-minute resolution.
* Currently, high resolution is available only for custom metrics. For more
* information about high-resolution metrics, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#high-resolution-metrics">High-Resolution
* Metrics</a> in the <i>Amazon CloudWatch User Guide</i>. </p> <p>This field is
* optional, if you do not specify it the default of 60 is used.</p>
*/
inline bool StorageResolutionHasBeenSet() const { return m_storageResolutionHasBeenSet; }
/**
* <p>Valid values are 1 and 60. Setting this to 1 specifies this metric as a
* high-resolution metric, so that CloudWatch stores the metric with sub-minute
* resolution down to one second. Setting this to 60 specifies this metric as a
* regular-resolution metric, which CloudWatch stores at 1-minute resolution.
* Currently, high resolution is available only for custom metrics. For more
* information about high-resolution metrics, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#high-resolution-metrics">High-Resolution
* Metrics</a> in the <i>Amazon CloudWatch User Guide</i>. </p> <p>This field is
* optional, if you do not specify it the default of 60 is used.</p>
*/
inline void SetStorageResolution(int value) { m_storageResolutionHasBeenSet = true; m_storageResolution = value; }
/**
* <p>Valid values are 1 and 60. Setting this to 1 specifies this metric as a
* high-resolution metric, so that CloudWatch stores the metric with sub-minute
* resolution down to one second. Setting this to 60 specifies this metric as a
* regular-resolution metric, which CloudWatch stores at 1-minute resolution.
* Currently, high resolution is available only for custom metrics. For more
* information about high-resolution metrics, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#high-resolution-metrics">High-Resolution
* Metrics</a> in the <i>Amazon CloudWatch User Guide</i>. </p> <p>This field is
* optional, if you do not specify it the default of 60 is used.</p>
*/
inline MetricDatum& WithStorageResolution(int value) { SetStorageResolution(value); return *this;}
private:
Aws::String m_metricName;
bool m_metricNameHasBeenSet;
Aws::Vector<Dimension> m_dimensions;
bool m_dimensionsHasBeenSet;
Aws::Utils::DateTime m_timestamp;
bool m_timestampHasBeenSet;
double m_value;
bool m_valueHasBeenSet;
StatisticSet m_statisticValues;
bool m_statisticValuesHasBeenSet;
Aws::Vector<double> m_values;
bool m_valuesHasBeenSet;
Aws::Vector<double> m_counts;
bool m_countsHasBeenSet;
StandardUnit m_unit;
bool m_unitHasBeenSet;
int m_storageResolution;
bool m_storageResolutionHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,289 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/monitoring/model/Metric.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/monitoring/model/StandardUnit.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>This structure defines the metric to be returned, along with the statistics,
* period, and units.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/MetricStat">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API MetricStat
{
public:
MetricStat();
MetricStat(const Aws::Utils::Xml::XmlNode& xmlNode);
MetricStat& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>The metric to return, including the metric name, namespace, and
* dimensions.</p>
*/
inline const Metric& GetMetric() const{ return m_metric; }
/**
* <p>The metric to return, including the metric name, namespace, and
* dimensions.</p>
*/
inline bool MetricHasBeenSet() const { return m_metricHasBeenSet; }
/**
* <p>The metric to return, including the metric name, namespace, and
* dimensions.</p>
*/
inline void SetMetric(const Metric& value) { m_metricHasBeenSet = true; m_metric = value; }
/**
* <p>The metric to return, including the metric name, namespace, and
* dimensions.</p>
*/
inline void SetMetric(Metric&& value) { m_metricHasBeenSet = true; m_metric = std::move(value); }
/**
* <p>The metric to return, including the metric name, namespace, and
* dimensions.</p>
*/
inline MetricStat& WithMetric(const Metric& value) { SetMetric(value); return *this;}
/**
* <p>The metric to return, including the metric name, namespace, and
* dimensions.</p>
*/
inline MetricStat& WithMetric(Metric&& value) { SetMetric(std::move(value)); return *this;}
/**
* <p>The granularity, in seconds, of the returned data points. For metrics with
* regular resolution, a period can be as short as one minute (60 seconds) and must
* be a multiple of 60. For high-resolution metrics that are collected at intervals
* of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of
* 60. High-resolution metrics are those metrics stored by a
* <code>PutMetricData</code> call that includes a <code>StorageResolution</code>
* of 1 second.</p> <p>If the <code>StartTime</code> parameter specifies a time
* stamp that is greater than 3 hours ago, you must specify the period as follows
* or no data points in that time range is returned:</p> <ul> <li> <p>Start time
* between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).</p>
* </li> <li> <p>Start time between 15 and 63 days ago - Use a multiple of 300
* seconds (5 minutes).</p> </li> <li> <p>Start time greater than 63 days ago - Use
* a multiple of 3600 seconds (1 hour).</p> </li> </ul>
*/
inline int GetPeriod() const{ return m_period; }
/**
* <p>The granularity, in seconds, of the returned data points. For metrics with
* regular resolution, a period can be as short as one minute (60 seconds) and must
* be a multiple of 60. For high-resolution metrics that are collected at intervals
* of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of
* 60. High-resolution metrics are those metrics stored by a
* <code>PutMetricData</code> call that includes a <code>StorageResolution</code>
* of 1 second.</p> <p>If the <code>StartTime</code> parameter specifies a time
* stamp that is greater than 3 hours ago, you must specify the period as follows
* or no data points in that time range is returned:</p> <ul> <li> <p>Start time
* between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).</p>
* </li> <li> <p>Start time between 15 and 63 days ago - Use a multiple of 300
* seconds (5 minutes).</p> </li> <li> <p>Start time greater than 63 days ago - Use
* a multiple of 3600 seconds (1 hour).</p> </li> </ul>
*/
inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
/**
* <p>The granularity, in seconds, of the returned data points. For metrics with
* regular resolution, a period can be as short as one minute (60 seconds) and must
* be a multiple of 60. For high-resolution metrics that are collected at intervals
* of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of
* 60. High-resolution metrics are those metrics stored by a
* <code>PutMetricData</code> call that includes a <code>StorageResolution</code>
* of 1 second.</p> <p>If the <code>StartTime</code> parameter specifies a time
* stamp that is greater than 3 hours ago, you must specify the period as follows
* or no data points in that time range is returned:</p> <ul> <li> <p>Start time
* between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).</p>
* </li> <li> <p>Start time between 15 and 63 days ago - Use a multiple of 300
* seconds (5 minutes).</p> </li> <li> <p>Start time greater than 63 days ago - Use
* a multiple of 3600 seconds (1 hour).</p> </li> </ul>
*/
inline void SetPeriod(int value) { m_periodHasBeenSet = true; m_period = value; }
/**
* <p>The granularity, in seconds, of the returned data points. For metrics with
* regular resolution, a period can be as short as one minute (60 seconds) and must
* be a multiple of 60. For high-resolution metrics that are collected at intervals
* of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of
* 60. High-resolution metrics are those metrics stored by a
* <code>PutMetricData</code> call that includes a <code>StorageResolution</code>
* of 1 second.</p> <p>If the <code>StartTime</code> parameter specifies a time
* stamp that is greater than 3 hours ago, you must specify the period as follows
* or no data points in that time range is returned:</p> <ul> <li> <p>Start time
* between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).</p>
* </li> <li> <p>Start time between 15 and 63 days ago - Use a multiple of 300
* seconds (5 minutes).</p> </li> <li> <p>Start time greater than 63 days ago - Use
* a multiple of 3600 seconds (1 hour).</p> </li> </ul>
*/
inline MetricStat& WithPeriod(int value) { SetPeriod(value); return *this;}
/**
* <p>The statistic to return. It can include any CloudWatch statistic or extended
* statistic.</p>
*/
inline const Aws::String& GetStat() const{ return m_stat; }
/**
* <p>The statistic to return. It can include any CloudWatch statistic or extended
* statistic.</p>
*/
inline bool StatHasBeenSet() const { return m_statHasBeenSet; }
/**
* <p>The statistic to return. It can include any CloudWatch statistic or extended
* statistic.</p>
*/
inline void SetStat(const Aws::String& value) { m_statHasBeenSet = true; m_stat = value; }
/**
* <p>The statistic to return. It can include any CloudWatch statistic or extended
* statistic.</p>
*/
inline void SetStat(Aws::String&& value) { m_statHasBeenSet = true; m_stat = std::move(value); }
/**
* <p>The statistic to return. It can include any CloudWatch statistic or extended
* statistic.</p>
*/
inline void SetStat(const char* value) { m_statHasBeenSet = true; m_stat.assign(value); }
/**
* <p>The statistic to return. It can include any CloudWatch statistic or extended
* statistic.</p>
*/
inline MetricStat& WithStat(const Aws::String& value) { SetStat(value); return *this;}
/**
* <p>The statistic to return. It can include any CloudWatch statistic or extended
* statistic.</p>
*/
inline MetricStat& WithStat(Aws::String&& value) { SetStat(std::move(value)); return *this;}
/**
* <p>The statistic to return. It can include any CloudWatch statistic or extended
* statistic.</p>
*/
inline MetricStat& WithStat(const char* value) { SetStat(value); return *this;}
/**
* <p>When you are using a <code>Put</code> operation, this defines what unit you
* want to use when storing the metric.</p> <p>In a <code>Get</code> operation, if
* you omit <code>Unit</code> then all data that was collected with any unit is
* returned, along with the corresponding units that were specified when the data
* was reported to CloudWatch. If you specify a unit, the operation returns only
* data that was collected with that unit specified. If you specify a unit that
* does not match the data collected, the results of the operation are null.
* CloudWatch does not perform unit conversions.</p>
*/
inline const StandardUnit& GetUnit() const{ return m_unit; }
/**
* <p>When you are using a <code>Put</code> operation, this defines what unit you
* want to use when storing the metric.</p> <p>In a <code>Get</code> operation, if
* you omit <code>Unit</code> then all data that was collected with any unit is
* returned, along with the corresponding units that were specified when the data
* was reported to CloudWatch. If you specify a unit, the operation returns only
* data that was collected with that unit specified. If you specify a unit that
* does not match the data collected, the results of the operation are null.
* CloudWatch does not perform unit conversions.</p>
*/
inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; }
/**
* <p>When you are using a <code>Put</code> operation, this defines what unit you
* want to use when storing the metric.</p> <p>In a <code>Get</code> operation, if
* you omit <code>Unit</code> then all data that was collected with any unit is
* returned, along with the corresponding units that were specified when the data
* was reported to CloudWatch. If you specify a unit, the operation returns only
* data that was collected with that unit specified. If you specify a unit that
* does not match the data collected, the results of the operation are null.
* CloudWatch does not perform unit conversions.</p>
*/
inline void SetUnit(const StandardUnit& value) { m_unitHasBeenSet = true; m_unit = value; }
/**
* <p>When you are using a <code>Put</code> operation, this defines what unit you
* want to use when storing the metric.</p> <p>In a <code>Get</code> operation, if
* you omit <code>Unit</code> then all data that was collected with any unit is
* returned, along with the corresponding units that were specified when the data
* was reported to CloudWatch. If you specify a unit, the operation returns only
* data that was collected with that unit specified. If you specify a unit that
* does not match the data collected, the results of the operation are null.
* CloudWatch does not perform unit conversions.</p>
*/
inline void SetUnit(StandardUnit&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); }
/**
* <p>When you are using a <code>Put</code> operation, this defines what unit you
* want to use when storing the metric.</p> <p>In a <code>Get</code> operation, if
* you omit <code>Unit</code> then all data that was collected with any unit is
* returned, along with the corresponding units that were specified when the data
* was reported to CloudWatch. If you specify a unit, the operation returns only
* data that was collected with that unit specified. If you specify a unit that
* does not match the data collected, the results of the operation are null.
* CloudWatch does not perform unit conversions.</p>
*/
inline MetricStat& WithUnit(const StandardUnit& value) { SetUnit(value); return *this;}
/**
* <p>When you are using a <code>Put</code> operation, this defines what unit you
* want to use when storing the metric.</p> <p>In a <code>Get</code> operation, if
* you omit <code>Unit</code> then all data that was collected with any unit is
* returned, along with the corresponding units that were specified when the data
* was reported to CloudWatch. If you specify a unit, the operation returns only
* data that was collected with that unit specified. If you specify a unit that
* does not match the data collected, the results of the operation are null.
* CloudWatch does not perform unit conversions.</p>
*/
inline MetricStat& WithUnit(StandardUnit&& value) { SetUnit(std::move(value)); return *this;}
private:
Metric m_metric;
bool m_metricHasBeenSet;
int m_period;
bool m_periodHasBeenSet;
Aws::String m_stat;
bool m_statHasBeenSet;
StandardUnit m_unit;
bool m_unitHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,225 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>This array is empty if the API operation was successful for all the rules
* specified in the request. If the operation could not process one of the rules,
* the following data is returned for each of those rules.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PartialFailure">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API PartialFailure
{
public:
PartialFailure();
PartialFailure(const Aws::Utils::Xml::XmlNode& xmlNode);
PartialFailure& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>The specified rule that could not be deleted.</p>
*/
inline const Aws::String& GetFailureResource() const{ return m_failureResource; }
/**
* <p>The specified rule that could not be deleted.</p>
*/
inline bool FailureResourceHasBeenSet() const { return m_failureResourceHasBeenSet; }
/**
* <p>The specified rule that could not be deleted.</p>
*/
inline void SetFailureResource(const Aws::String& value) { m_failureResourceHasBeenSet = true; m_failureResource = value; }
/**
* <p>The specified rule that could not be deleted.</p>
*/
inline void SetFailureResource(Aws::String&& value) { m_failureResourceHasBeenSet = true; m_failureResource = std::move(value); }
/**
* <p>The specified rule that could not be deleted.</p>
*/
inline void SetFailureResource(const char* value) { m_failureResourceHasBeenSet = true; m_failureResource.assign(value); }
/**
* <p>The specified rule that could not be deleted.</p>
*/
inline PartialFailure& WithFailureResource(const Aws::String& value) { SetFailureResource(value); return *this;}
/**
* <p>The specified rule that could not be deleted.</p>
*/
inline PartialFailure& WithFailureResource(Aws::String&& value) { SetFailureResource(std::move(value)); return *this;}
/**
* <p>The specified rule that could not be deleted.</p>
*/
inline PartialFailure& WithFailureResource(const char* value) { SetFailureResource(value); return *this;}
/**
* <p>The type of error.</p>
*/
inline const Aws::String& GetExceptionType() const{ return m_exceptionType; }
/**
* <p>The type of error.</p>
*/
inline bool ExceptionTypeHasBeenSet() const { return m_exceptionTypeHasBeenSet; }
/**
* <p>The type of error.</p>
*/
inline void SetExceptionType(const Aws::String& value) { m_exceptionTypeHasBeenSet = true; m_exceptionType = value; }
/**
* <p>The type of error.</p>
*/
inline void SetExceptionType(Aws::String&& value) { m_exceptionTypeHasBeenSet = true; m_exceptionType = std::move(value); }
/**
* <p>The type of error.</p>
*/
inline void SetExceptionType(const char* value) { m_exceptionTypeHasBeenSet = true; m_exceptionType.assign(value); }
/**
* <p>The type of error.</p>
*/
inline PartialFailure& WithExceptionType(const Aws::String& value) { SetExceptionType(value); return *this;}
/**
* <p>The type of error.</p>
*/
inline PartialFailure& WithExceptionType(Aws::String&& value) { SetExceptionType(std::move(value)); return *this;}
/**
* <p>The type of error.</p>
*/
inline PartialFailure& WithExceptionType(const char* value) { SetExceptionType(value); return *this;}
/**
* <p>The code of the error.</p>
*/
inline const Aws::String& GetFailureCode() const{ return m_failureCode; }
/**
* <p>The code of the error.</p>
*/
inline bool FailureCodeHasBeenSet() const { return m_failureCodeHasBeenSet; }
/**
* <p>The code of the error.</p>
*/
inline void SetFailureCode(const Aws::String& value) { m_failureCodeHasBeenSet = true; m_failureCode = value; }
/**
* <p>The code of the error.</p>
*/
inline void SetFailureCode(Aws::String&& value) { m_failureCodeHasBeenSet = true; m_failureCode = std::move(value); }
/**
* <p>The code of the error.</p>
*/
inline void SetFailureCode(const char* value) { m_failureCodeHasBeenSet = true; m_failureCode.assign(value); }
/**
* <p>The code of the error.</p>
*/
inline PartialFailure& WithFailureCode(const Aws::String& value) { SetFailureCode(value); return *this;}
/**
* <p>The code of the error.</p>
*/
inline PartialFailure& WithFailureCode(Aws::String&& value) { SetFailureCode(std::move(value)); return *this;}
/**
* <p>The code of the error.</p>
*/
inline PartialFailure& WithFailureCode(const char* value) { SetFailureCode(value); return *this;}
/**
* <p>A description of the error.</p>
*/
inline const Aws::String& GetFailureDescription() const{ return m_failureDescription; }
/**
* <p>A description of the error.</p>
*/
inline bool FailureDescriptionHasBeenSet() const { return m_failureDescriptionHasBeenSet; }
/**
* <p>A description of the error.</p>
*/
inline void SetFailureDescription(const Aws::String& value) { m_failureDescriptionHasBeenSet = true; m_failureDescription = value; }
/**
* <p>A description of the error.</p>
*/
inline void SetFailureDescription(Aws::String&& value) { m_failureDescriptionHasBeenSet = true; m_failureDescription = std::move(value); }
/**
* <p>A description of the error.</p>
*/
inline void SetFailureDescription(const char* value) { m_failureDescriptionHasBeenSet = true; m_failureDescription.assign(value); }
/**
* <p>A description of the error.</p>
*/
inline PartialFailure& WithFailureDescription(const Aws::String& value) { SetFailureDescription(value); return *this;}
/**
* <p>A description of the error.</p>
*/
inline PartialFailure& WithFailureDescription(Aws::String&& value) { SetFailureDescription(std::move(value)); return *this;}
/**
* <p>A description of the error.</p>
*/
inline PartialFailure& WithFailureDescription(const char* value) { SetFailureDescription(value); return *this;}
private:
Aws::String m_failureResource;
bool m_failureResourceHasBeenSet;
Aws::String m_exceptionType;
bool m_exceptionTypeHasBeenSet;
Aws::String m_failureCode;
bool m_failureCodeHasBeenSet;
Aws::String m_failureDescription;
bool m_failureDescriptionHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,274 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/AnomalyDetectorConfiguration.h>
#include <aws/monitoring/model/Dimension.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API PutAnomalyDetectorRequest : public CloudWatchRequest
{
public:
PutAnomalyDetectorRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "PutAnomalyDetector"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The namespace of the metric to create the anomaly detection model for.</p>
*/
inline const Aws::String& GetNamespace() const{ return m_namespace; }
/**
* <p>The namespace of the metric to create the anomaly detection model for.</p>
*/
inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; }
/**
* <p>The namespace of the metric to create the anomaly detection model for.</p>
*/
inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; }
/**
* <p>The namespace of the metric to create the anomaly detection model for.</p>
*/
inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); }
/**
* <p>The namespace of the metric to create the anomaly detection model for.</p>
*/
inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); }
/**
* <p>The namespace of the metric to create the anomaly detection model for.</p>
*/
inline PutAnomalyDetectorRequest& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;}
/**
* <p>The namespace of the metric to create the anomaly detection model for.</p>
*/
inline PutAnomalyDetectorRequest& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;}
/**
* <p>The namespace of the metric to create the anomaly detection model for.</p>
*/
inline PutAnomalyDetectorRequest& WithNamespace(const char* value) { SetNamespace(value); return *this;}
/**
* <p>The name of the metric to create the anomaly detection model for.</p>
*/
inline const Aws::String& GetMetricName() const{ return m_metricName; }
/**
* <p>The name of the metric to create the anomaly detection model for.</p>
*/
inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; }
/**
* <p>The name of the metric to create the anomaly detection model for.</p>
*/
inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; }
/**
* <p>The name of the metric to create the anomaly detection model for.</p>
*/
inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); }
/**
* <p>The name of the metric to create the anomaly detection model for.</p>
*/
inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); }
/**
* <p>The name of the metric to create the anomaly detection model for.</p>
*/
inline PutAnomalyDetectorRequest& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;}
/**
* <p>The name of the metric to create the anomaly detection model for.</p>
*/
inline PutAnomalyDetectorRequest& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;}
/**
* <p>The name of the metric to create the anomaly detection model for.</p>
*/
inline PutAnomalyDetectorRequest& WithMetricName(const char* value) { SetMetricName(value); return *this;}
/**
* <p>The metric dimensions to create the anomaly detection model for.</p>
*/
inline const Aws::Vector<Dimension>& GetDimensions() const{ return m_dimensions; }
/**
* <p>The metric dimensions to create the anomaly detection model for.</p>
*/
inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
/**
* <p>The metric dimensions to create the anomaly detection model for.</p>
*/
inline void SetDimensions(const Aws::Vector<Dimension>& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; }
/**
* <p>The metric dimensions to create the anomaly detection model for.</p>
*/
inline void SetDimensions(Aws::Vector<Dimension>&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); }
/**
* <p>The metric dimensions to create the anomaly detection model for.</p>
*/
inline PutAnomalyDetectorRequest& WithDimensions(const Aws::Vector<Dimension>& value) { SetDimensions(value); return *this;}
/**
* <p>The metric dimensions to create the anomaly detection model for.</p>
*/
inline PutAnomalyDetectorRequest& WithDimensions(Aws::Vector<Dimension>&& value) { SetDimensions(std::move(value)); return *this;}
/**
* <p>The metric dimensions to create the anomaly detection model for.</p>
*/
inline PutAnomalyDetectorRequest& AddDimensions(const Dimension& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; }
/**
* <p>The metric dimensions to create the anomaly detection model for.</p>
*/
inline PutAnomalyDetectorRequest& AddDimensions(Dimension&& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(std::move(value)); return *this; }
/**
* <p>The statistic to use for the metric and the anomaly detection model.</p>
*/
inline const Aws::String& GetStat() const{ return m_stat; }
/**
* <p>The statistic to use for the metric and the anomaly detection model.</p>
*/
inline bool StatHasBeenSet() const { return m_statHasBeenSet; }
/**
* <p>The statistic to use for the metric and the anomaly detection model.</p>
*/
inline void SetStat(const Aws::String& value) { m_statHasBeenSet = true; m_stat = value; }
/**
* <p>The statistic to use for the metric and the anomaly detection model.</p>
*/
inline void SetStat(Aws::String&& value) { m_statHasBeenSet = true; m_stat = std::move(value); }
/**
* <p>The statistic to use for the metric and the anomaly detection model.</p>
*/
inline void SetStat(const char* value) { m_statHasBeenSet = true; m_stat.assign(value); }
/**
* <p>The statistic to use for the metric and the anomaly detection model.</p>
*/
inline PutAnomalyDetectorRequest& WithStat(const Aws::String& value) { SetStat(value); return *this;}
/**
* <p>The statistic to use for the metric and the anomaly detection model.</p>
*/
inline PutAnomalyDetectorRequest& WithStat(Aws::String&& value) { SetStat(std::move(value)); return *this;}
/**
* <p>The statistic to use for the metric and the anomaly detection model.</p>
*/
inline PutAnomalyDetectorRequest& WithStat(const char* value) { SetStat(value); return *this;}
/**
* <p>The configuration specifies details about how the anomaly detection model is
* to be trained, including time ranges to exclude when training and updating the
* model. You can specify as many as 10 time ranges.</p> <p>The configuration can
* also include the time zone to use for the metric.</p> <p>You can in</p>
*/
inline const AnomalyDetectorConfiguration& GetConfiguration() const{ return m_configuration; }
/**
* <p>The configuration specifies details about how the anomaly detection model is
* to be trained, including time ranges to exclude when training and updating the
* model. You can specify as many as 10 time ranges.</p> <p>The configuration can
* also include the time zone to use for the metric.</p> <p>You can in</p>
*/
inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; }
/**
* <p>The configuration specifies details about how the anomaly detection model is
* to be trained, including time ranges to exclude when training and updating the
* model. You can specify as many as 10 time ranges.</p> <p>The configuration can
* also include the time zone to use for the metric.</p> <p>You can in</p>
*/
inline void SetConfiguration(const AnomalyDetectorConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; }
/**
* <p>The configuration specifies details about how the anomaly detection model is
* to be trained, including time ranges to exclude when training and updating the
* model. You can specify as many as 10 time ranges.</p> <p>The configuration can
* also include the time zone to use for the metric.</p> <p>You can in</p>
*/
inline void SetConfiguration(AnomalyDetectorConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); }
/**
* <p>The configuration specifies details about how the anomaly detection model is
* to be trained, including time ranges to exclude when training and updating the
* model. You can specify as many as 10 time ranges.</p> <p>The configuration can
* also include the time zone to use for the metric.</p> <p>You can in</p>
*/
inline PutAnomalyDetectorRequest& WithConfiguration(const AnomalyDetectorConfiguration& value) { SetConfiguration(value); return *this;}
/**
* <p>The configuration specifies details about how the anomaly detection model is
* to be trained, including time ranges to exclude when training and updating the
* model. You can specify as many as 10 time ranges.</p> <p>The configuration can
* also include the time zone to use for the metric.</p> <p>You can in</p>
*/
inline PutAnomalyDetectorRequest& WithConfiguration(AnomalyDetectorConfiguration&& value) { SetConfiguration(std::move(value)); return *this;}
private:
Aws::String m_namespace;
bool m_namespaceHasBeenSet;
Aws::String m_metricName;
bool m_metricNameHasBeenSet;
Aws::Vector<Dimension> m_dimensions;
bool m_dimensionsHasBeenSet;
Aws::String m_stat;
bool m_statHasBeenSet;
AnomalyDetectorConfiguration m_configuration;
bool m_configurationHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,57 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API PutAnomalyDetectorResult
{
public:
PutAnomalyDetectorResult();
PutAnomalyDetectorResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
PutAnomalyDetectorResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline PutAnomalyDetectorResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline PutAnomalyDetectorResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,824 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/monitoring/model/Tag.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API PutCompositeAlarmRequest : public CloudWatchRequest
{
public:
PutCompositeAlarmRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "PutCompositeAlarm"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>Indicates whether actions should be executed during any changes to the alarm
* state of the composite alarm. The default is <code>TRUE</code>.</p>
*/
inline bool GetActionsEnabled() const{ return m_actionsEnabled; }
/**
* <p>Indicates whether actions should be executed during any changes to the alarm
* state of the composite alarm. The default is <code>TRUE</code>.</p>
*/
inline bool ActionsEnabledHasBeenSet() const { return m_actionsEnabledHasBeenSet; }
/**
* <p>Indicates whether actions should be executed during any changes to the alarm
* state of the composite alarm. The default is <code>TRUE</code>.</p>
*/
inline void SetActionsEnabled(bool value) { m_actionsEnabledHasBeenSet = true; m_actionsEnabled = value; }
/**
* <p>Indicates whether actions should be executed during any changes to the alarm
* state of the composite alarm. The default is <code>TRUE</code>.</p>
*/
inline PutCompositeAlarmRequest& WithActionsEnabled(bool value) { SetActionsEnabled(value); return *this;}
/**
* <p>The actions to execute when this alarm transitions to the <code>ALARM</code>
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline const Aws::Vector<Aws::String>& GetAlarmActions() const{ return m_alarmActions; }
/**
* <p>The actions to execute when this alarm transitions to the <code>ALARM</code>
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline bool AlarmActionsHasBeenSet() const { return m_alarmActionsHasBeenSet; }
/**
* <p>The actions to execute when this alarm transitions to the <code>ALARM</code>
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline void SetAlarmActions(const Aws::Vector<Aws::String>& value) { m_alarmActionsHasBeenSet = true; m_alarmActions = value; }
/**
* <p>The actions to execute when this alarm transitions to the <code>ALARM</code>
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline void SetAlarmActions(Aws::Vector<Aws::String>&& value) { m_alarmActionsHasBeenSet = true; m_alarmActions = std::move(value); }
/**
* <p>The actions to execute when this alarm transitions to the <code>ALARM</code>
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline PutCompositeAlarmRequest& WithAlarmActions(const Aws::Vector<Aws::String>& value) { SetAlarmActions(value); return *this;}
/**
* <p>The actions to execute when this alarm transitions to the <code>ALARM</code>
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline PutCompositeAlarmRequest& WithAlarmActions(Aws::Vector<Aws::String>&& value) { SetAlarmActions(std::move(value)); return *this;}
/**
* <p>The actions to execute when this alarm transitions to the <code>ALARM</code>
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline PutCompositeAlarmRequest& AddAlarmActions(const Aws::String& value) { m_alarmActionsHasBeenSet = true; m_alarmActions.push_back(value); return *this; }
/**
* <p>The actions to execute when this alarm transitions to the <code>ALARM</code>
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline PutCompositeAlarmRequest& AddAlarmActions(Aws::String&& value) { m_alarmActionsHasBeenSet = true; m_alarmActions.push_back(std::move(value)); return *this; }
/**
* <p>The actions to execute when this alarm transitions to the <code>ALARM</code>
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline PutCompositeAlarmRequest& AddAlarmActions(const char* value) { m_alarmActionsHasBeenSet = true; m_alarmActions.push_back(value); return *this; }
/**
* <p>The description for the composite alarm.</p>
*/
inline const Aws::String& GetAlarmDescription() const{ return m_alarmDescription; }
/**
* <p>The description for the composite alarm.</p>
*/
inline bool AlarmDescriptionHasBeenSet() const { return m_alarmDescriptionHasBeenSet; }
/**
* <p>The description for the composite alarm.</p>
*/
inline void SetAlarmDescription(const Aws::String& value) { m_alarmDescriptionHasBeenSet = true; m_alarmDescription = value; }
/**
* <p>The description for the composite alarm.</p>
*/
inline void SetAlarmDescription(Aws::String&& value) { m_alarmDescriptionHasBeenSet = true; m_alarmDescription = std::move(value); }
/**
* <p>The description for the composite alarm.</p>
*/
inline void SetAlarmDescription(const char* value) { m_alarmDescriptionHasBeenSet = true; m_alarmDescription.assign(value); }
/**
* <p>The description for the composite alarm.</p>
*/
inline PutCompositeAlarmRequest& WithAlarmDescription(const Aws::String& value) { SetAlarmDescription(value); return *this;}
/**
* <p>The description for the composite alarm.</p>
*/
inline PutCompositeAlarmRequest& WithAlarmDescription(Aws::String&& value) { SetAlarmDescription(std::move(value)); return *this;}
/**
* <p>The description for the composite alarm.</p>
*/
inline PutCompositeAlarmRequest& WithAlarmDescription(const char* value) { SetAlarmDescription(value); return *this;}
/**
* <p>The name for the composite alarm. This name must be unique within the
* Region.</p>
*/
inline const Aws::String& GetAlarmName() const{ return m_alarmName; }
/**
* <p>The name for the composite alarm. This name must be unique within the
* Region.</p>
*/
inline bool AlarmNameHasBeenSet() const { return m_alarmNameHasBeenSet; }
/**
* <p>The name for the composite alarm. This name must be unique within the
* Region.</p>
*/
inline void SetAlarmName(const Aws::String& value) { m_alarmNameHasBeenSet = true; m_alarmName = value; }
/**
* <p>The name for the composite alarm. This name must be unique within the
* Region.</p>
*/
inline void SetAlarmName(Aws::String&& value) { m_alarmNameHasBeenSet = true; m_alarmName = std::move(value); }
/**
* <p>The name for the composite alarm. This name must be unique within the
* Region.</p>
*/
inline void SetAlarmName(const char* value) { m_alarmNameHasBeenSet = true; m_alarmName.assign(value); }
/**
* <p>The name for the composite alarm. This name must be unique within the
* Region.</p>
*/
inline PutCompositeAlarmRequest& WithAlarmName(const Aws::String& value) { SetAlarmName(value); return *this;}
/**
* <p>The name for the composite alarm. This name must be unique within the
* Region.</p>
*/
inline PutCompositeAlarmRequest& WithAlarmName(Aws::String&& value) { SetAlarmName(std::move(value)); return *this;}
/**
* <p>The name for the composite alarm. This name must be unique within the
* Region.</p>
*/
inline PutCompositeAlarmRequest& WithAlarmName(const char* value) { SetAlarmName(value); return *this;}
/**
* <p>An expression that specifies which other alarms are to be evaluated to
* determine this composite alarm's state. For each alarm that you reference, you
* designate a function that specifies whether that alarm needs to be in ALARM
* state, OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and
* NOT) to combine multiple functions in a single expression. You can use
* parenthesis to logically group the functions in your expression.</p> <p>You can
* use either alarm names or ARNs to reference the other alarms that are to be
* evaluated.</p> <p>Functions can include the following:</p> <ul> <li> <p>
* <code>ALARM("<i>alarm-name</i> or <i>alarm-ARN</i>")</code> is TRUE if the named
* alarm is in ALARM state.</p> </li> <li> <p> <code>OK("<i>alarm-name</i> or
* <i>alarm-ARN</i>")</code> is TRUE if the named alarm is in OK state.</p> </li>
* <li> <p> <code>INSUFFICIENT_DATA("<i>alarm-name</i> or <i>alarm-ARN</i>")</code>
* is TRUE if the named alarm is in INSUFFICIENT_DATA state.</p> </li> <li> <p>
* <code>TRUE</code> always evaluates to TRUE.</p> </li> <li> <p>
* <code>FALSE</code> always evaluates to FALSE.</p> </li> </ul> <p>TRUE and FALSE
* are useful for testing a complex <code>AlarmRule</code> structure, and for
* testing your alarm actions.</p> <p>Alarm names specified in
* <code>AlarmRule</code> can be surrounded with double-quotes ("), but do not have
* to be.</p> <p>The following are some examples of <code>AlarmRule</code>:</p>
* <ul> <li> <p> <code>ALARM(CPUUtilizationTooHigh) AND
* ALARM(DiskReadOpsTooHigh)</code> specifies that the composite alarm goes into
* ALARM state only if both CPUUtilizationTooHigh and DiskReadOpsTooHigh alarms are
* in ALARM state.</p> </li> <li> <p> <code>ALARM(CPUUtilizationTooHigh) AND NOT
* ALARM(DeploymentInProgress)</code> specifies that the alarm goes to ALARM state
* if CPUUtilizationTooHigh is in ALARM state and DeploymentInProgress is not in
* ALARM state. This example reduces alarm noise during a known deployment
* window.</p> </li> <li> <p> <code>(ALARM(CPUUtilizationTooHigh) OR
* ALARM(DiskReadOpsTooHigh)) AND OK(NetworkOutTooHigh)</code> goes into ALARM
* state if CPUUtilizationTooHigh OR DiskReadOpsTooHigh is in ALARM state, and if
* NetworkOutTooHigh is in OK state. This provides another example of using a
* composite alarm to prevent noise. This rule ensures that you are not notified
* with an alarm action on high CPU or disk usage if a known network problem is
* also occurring.</p> </li> </ul> <p>The <code>AlarmRule</code> can specify as
* many as 100 "children" alarms. The <code>AlarmRule</code> expression can have as
* many as 500 elements. Elements are child alarms, TRUE or FALSE statements, and
* parentheses.</p>
*/
inline const Aws::String& GetAlarmRule() const{ return m_alarmRule; }
/**
* <p>An expression that specifies which other alarms are to be evaluated to
* determine this composite alarm's state. For each alarm that you reference, you
* designate a function that specifies whether that alarm needs to be in ALARM
* state, OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and
* NOT) to combine multiple functions in a single expression. You can use
* parenthesis to logically group the functions in your expression.</p> <p>You can
* use either alarm names or ARNs to reference the other alarms that are to be
* evaluated.</p> <p>Functions can include the following:</p> <ul> <li> <p>
* <code>ALARM("<i>alarm-name</i> or <i>alarm-ARN</i>")</code> is TRUE if the named
* alarm is in ALARM state.</p> </li> <li> <p> <code>OK("<i>alarm-name</i> or
* <i>alarm-ARN</i>")</code> is TRUE if the named alarm is in OK state.</p> </li>
* <li> <p> <code>INSUFFICIENT_DATA("<i>alarm-name</i> or <i>alarm-ARN</i>")</code>
* is TRUE if the named alarm is in INSUFFICIENT_DATA state.</p> </li> <li> <p>
* <code>TRUE</code> always evaluates to TRUE.</p> </li> <li> <p>
* <code>FALSE</code> always evaluates to FALSE.</p> </li> </ul> <p>TRUE and FALSE
* are useful for testing a complex <code>AlarmRule</code> structure, and for
* testing your alarm actions.</p> <p>Alarm names specified in
* <code>AlarmRule</code> can be surrounded with double-quotes ("), but do not have
* to be.</p> <p>The following are some examples of <code>AlarmRule</code>:</p>
* <ul> <li> <p> <code>ALARM(CPUUtilizationTooHigh) AND
* ALARM(DiskReadOpsTooHigh)</code> specifies that the composite alarm goes into
* ALARM state only if both CPUUtilizationTooHigh and DiskReadOpsTooHigh alarms are
* in ALARM state.</p> </li> <li> <p> <code>ALARM(CPUUtilizationTooHigh) AND NOT
* ALARM(DeploymentInProgress)</code> specifies that the alarm goes to ALARM state
* if CPUUtilizationTooHigh is in ALARM state and DeploymentInProgress is not in
* ALARM state. This example reduces alarm noise during a known deployment
* window.</p> </li> <li> <p> <code>(ALARM(CPUUtilizationTooHigh) OR
* ALARM(DiskReadOpsTooHigh)) AND OK(NetworkOutTooHigh)</code> goes into ALARM
* state if CPUUtilizationTooHigh OR DiskReadOpsTooHigh is in ALARM state, and if
* NetworkOutTooHigh is in OK state. This provides another example of using a
* composite alarm to prevent noise. This rule ensures that you are not notified
* with an alarm action on high CPU or disk usage if a known network problem is
* also occurring.</p> </li> </ul> <p>The <code>AlarmRule</code> can specify as
* many as 100 "children" alarms. The <code>AlarmRule</code> expression can have as
* many as 500 elements. Elements are child alarms, TRUE or FALSE statements, and
* parentheses.</p>
*/
inline bool AlarmRuleHasBeenSet() const { return m_alarmRuleHasBeenSet; }
/**
* <p>An expression that specifies which other alarms are to be evaluated to
* determine this composite alarm's state. For each alarm that you reference, you
* designate a function that specifies whether that alarm needs to be in ALARM
* state, OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and
* NOT) to combine multiple functions in a single expression. You can use
* parenthesis to logically group the functions in your expression.</p> <p>You can
* use either alarm names or ARNs to reference the other alarms that are to be
* evaluated.</p> <p>Functions can include the following:</p> <ul> <li> <p>
* <code>ALARM("<i>alarm-name</i> or <i>alarm-ARN</i>")</code> is TRUE if the named
* alarm is in ALARM state.</p> </li> <li> <p> <code>OK("<i>alarm-name</i> or
* <i>alarm-ARN</i>")</code> is TRUE if the named alarm is in OK state.</p> </li>
* <li> <p> <code>INSUFFICIENT_DATA("<i>alarm-name</i> or <i>alarm-ARN</i>")</code>
* is TRUE if the named alarm is in INSUFFICIENT_DATA state.</p> </li> <li> <p>
* <code>TRUE</code> always evaluates to TRUE.</p> </li> <li> <p>
* <code>FALSE</code> always evaluates to FALSE.</p> </li> </ul> <p>TRUE and FALSE
* are useful for testing a complex <code>AlarmRule</code> structure, and for
* testing your alarm actions.</p> <p>Alarm names specified in
* <code>AlarmRule</code> can be surrounded with double-quotes ("), but do not have
* to be.</p> <p>The following are some examples of <code>AlarmRule</code>:</p>
* <ul> <li> <p> <code>ALARM(CPUUtilizationTooHigh) AND
* ALARM(DiskReadOpsTooHigh)</code> specifies that the composite alarm goes into
* ALARM state only if both CPUUtilizationTooHigh and DiskReadOpsTooHigh alarms are
* in ALARM state.</p> </li> <li> <p> <code>ALARM(CPUUtilizationTooHigh) AND NOT
* ALARM(DeploymentInProgress)</code> specifies that the alarm goes to ALARM state
* if CPUUtilizationTooHigh is in ALARM state and DeploymentInProgress is not in
* ALARM state. This example reduces alarm noise during a known deployment
* window.</p> </li> <li> <p> <code>(ALARM(CPUUtilizationTooHigh) OR
* ALARM(DiskReadOpsTooHigh)) AND OK(NetworkOutTooHigh)</code> goes into ALARM
* state if CPUUtilizationTooHigh OR DiskReadOpsTooHigh is in ALARM state, and if
* NetworkOutTooHigh is in OK state. This provides another example of using a
* composite alarm to prevent noise. This rule ensures that you are not notified
* with an alarm action on high CPU or disk usage if a known network problem is
* also occurring.</p> </li> </ul> <p>The <code>AlarmRule</code> can specify as
* many as 100 "children" alarms. The <code>AlarmRule</code> expression can have as
* many as 500 elements. Elements are child alarms, TRUE or FALSE statements, and
* parentheses.</p>
*/
inline void SetAlarmRule(const Aws::String& value) { m_alarmRuleHasBeenSet = true; m_alarmRule = value; }
/**
* <p>An expression that specifies which other alarms are to be evaluated to
* determine this composite alarm's state. For each alarm that you reference, you
* designate a function that specifies whether that alarm needs to be in ALARM
* state, OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and
* NOT) to combine multiple functions in a single expression. You can use
* parenthesis to logically group the functions in your expression.</p> <p>You can
* use either alarm names or ARNs to reference the other alarms that are to be
* evaluated.</p> <p>Functions can include the following:</p> <ul> <li> <p>
* <code>ALARM("<i>alarm-name</i> or <i>alarm-ARN</i>")</code> is TRUE if the named
* alarm is in ALARM state.</p> </li> <li> <p> <code>OK("<i>alarm-name</i> or
* <i>alarm-ARN</i>")</code> is TRUE if the named alarm is in OK state.</p> </li>
* <li> <p> <code>INSUFFICIENT_DATA("<i>alarm-name</i> or <i>alarm-ARN</i>")</code>
* is TRUE if the named alarm is in INSUFFICIENT_DATA state.</p> </li> <li> <p>
* <code>TRUE</code> always evaluates to TRUE.</p> </li> <li> <p>
* <code>FALSE</code> always evaluates to FALSE.</p> </li> </ul> <p>TRUE and FALSE
* are useful for testing a complex <code>AlarmRule</code> structure, and for
* testing your alarm actions.</p> <p>Alarm names specified in
* <code>AlarmRule</code> can be surrounded with double-quotes ("), but do not have
* to be.</p> <p>The following are some examples of <code>AlarmRule</code>:</p>
* <ul> <li> <p> <code>ALARM(CPUUtilizationTooHigh) AND
* ALARM(DiskReadOpsTooHigh)</code> specifies that the composite alarm goes into
* ALARM state only if both CPUUtilizationTooHigh and DiskReadOpsTooHigh alarms are
* in ALARM state.</p> </li> <li> <p> <code>ALARM(CPUUtilizationTooHigh) AND NOT
* ALARM(DeploymentInProgress)</code> specifies that the alarm goes to ALARM state
* if CPUUtilizationTooHigh is in ALARM state and DeploymentInProgress is not in
* ALARM state. This example reduces alarm noise during a known deployment
* window.</p> </li> <li> <p> <code>(ALARM(CPUUtilizationTooHigh) OR
* ALARM(DiskReadOpsTooHigh)) AND OK(NetworkOutTooHigh)</code> goes into ALARM
* state if CPUUtilizationTooHigh OR DiskReadOpsTooHigh is in ALARM state, and if
* NetworkOutTooHigh is in OK state. This provides another example of using a
* composite alarm to prevent noise. This rule ensures that you are not notified
* with an alarm action on high CPU or disk usage if a known network problem is
* also occurring.</p> </li> </ul> <p>The <code>AlarmRule</code> can specify as
* many as 100 "children" alarms. The <code>AlarmRule</code> expression can have as
* many as 500 elements. Elements are child alarms, TRUE or FALSE statements, and
* parentheses.</p>
*/
inline void SetAlarmRule(Aws::String&& value) { m_alarmRuleHasBeenSet = true; m_alarmRule = std::move(value); }
/**
* <p>An expression that specifies which other alarms are to be evaluated to
* determine this composite alarm's state. For each alarm that you reference, you
* designate a function that specifies whether that alarm needs to be in ALARM
* state, OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and
* NOT) to combine multiple functions in a single expression. You can use
* parenthesis to logically group the functions in your expression.</p> <p>You can
* use either alarm names or ARNs to reference the other alarms that are to be
* evaluated.</p> <p>Functions can include the following:</p> <ul> <li> <p>
* <code>ALARM("<i>alarm-name</i> or <i>alarm-ARN</i>")</code> is TRUE if the named
* alarm is in ALARM state.</p> </li> <li> <p> <code>OK("<i>alarm-name</i> or
* <i>alarm-ARN</i>")</code> is TRUE if the named alarm is in OK state.</p> </li>
* <li> <p> <code>INSUFFICIENT_DATA("<i>alarm-name</i> or <i>alarm-ARN</i>")</code>
* is TRUE if the named alarm is in INSUFFICIENT_DATA state.</p> </li> <li> <p>
* <code>TRUE</code> always evaluates to TRUE.</p> </li> <li> <p>
* <code>FALSE</code> always evaluates to FALSE.</p> </li> </ul> <p>TRUE and FALSE
* are useful for testing a complex <code>AlarmRule</code> structure, and for
* testing your alarm actions.</p> <p>Alarm names specified in
* <code>AlarmRule</code> can be surrounded with double-quotes ("), but do not have
* to be.</p> <p>The following are some examples of <code>AlarmRule</code>:</p>
* <ul> <li> <p> <code>ALARM(CPUUtilizationTooHigh) AND
* ALARM(DiskReadOpsTooHigh)</code> specifies that the composite alarm goes into
* ALARM state only if both CPUUtilizationTooHigh and DiskReadOpsTooHigh alarms are
* in ALARM state.</p> </li> <li> <p> <code>ALARM(CPUUtilizationTooHigh) AND NOT
* ALARM(DeploymentInProgress)</code> specifies that the alarm goes to ALARM state
* if CPUUtilizationTooHigh is in ALARM state and DeploymentInProgress is not in
* ALARM state. This example reduces alarm noise during a known deployment
* window.</p> </li> <li> <p> <code>(ALARM(CPUUtilizationTooHigh) OR
* ALARM(DiskReadOpsTooHigh)) AND OK(NetworkOutTooHigh)</code> goes into ALARM
* state if CPUUtilizationTooHigh OR DiskReadOpsTooHigh is in ALARM state, and if
* NetworkOutTooHigh is in OK state. This provides another example of using a
* composite alarm to prevent noise. This rule ensures that you are not notified
* with an alarm action on high CPU or disk usage if a known network problem is
* also occurring.</p> </li> </ul> <p>The <code>AlarmRule</code> can specify as
* many as 100 "children" alarms. The <code>AlarmRule</code> expression can have as
* many as 500 elements. Elements are child alarms, TRUE or FALSE statements, and
* parentheses.</p>
*/
inline void SetAlarmRule(const char* value) { m_alarmRuleHasBeenSet = true; m_alarmRule.assign(value); }
/**
* <p>An expression that specifies which other alarms are to be evaluated to
* determine this composite alarm's state. For each alarm that you reference, you
* designate a function that specifies whether that alarm needs to be in ALARM
* state, OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and
* NOT) to combine multiple functions in a single expression. You can use
* parenthesis to logically group the functions in your expression.</p> <p>You can
* use either alarm names or ARNs to reference the other alarms that are to be
* evaluated.</p> <p>Functions can include the following:</p> <ul> <li> <p>
* <code>ALARM("<i>alarm-name</i> or <i>alarm-ARN</i>")</code> is TRUE if the named
* alarm is in ALARM state.</p> </li> <li> <p> <code>OK("<i>alarm-name</i> or
* <i>alarm-ARN</i>")</code> is TRUE if the named alarm is in OK state.</p> </li>
* <li> <p> <code>INSUFFICIENT_DATA("<i>alarm-name</i> or <i>alarm-ARN</i>")</code>
* is TRUE if the named alarm is in INSUFFICIENT_DATA state.</p> </li> <li> <p>
* <code>TRUE</code> always evaluates to TRUE.</p> </li> <li> <p>
* <code>FALSE</code> always evaluates to FALSE.</p> </li> </ul> <p>TRUE and FALSE
* are useful for testing a complex <code>AlarmRule</code> structure, and for
* testing your alarm actions.</p> <p>Alarm names specified in
* <code>AlarmRule</code> can be surrounded with double-quotes ("), but do not have
* to be.</p> <p>The following are some examples of <code>AlarmRule</code>:</p>
* <ul> <li> <p> <code>ALARM(CPUUtilizationTooHigh) AND
* ALARM(DiskReadOpsTooHigh)</code> specifies that the composite alarm goes into
* ALARM state only if both CPUUtilizationTooHigh and DiskReadOpsTooHigh alarms are
* in ALARM state.</p> </li> <li> <p> <code>ALARM(CPUUtilizationTooHigh) AND NOT
* ALARM(DeploymentInProgress)</code> specifies that the alarm goes to ALARM state
* if CPUUtilizationTooHigh is in ALARM state and DeploymentInProgress is not in
* ALARM state. This example reduces alarm noise during a known deployment
* window.</p> </li> <li> <p> <code>(ALARM(CPUUtilizationTooHigh) OR
* ALARM(DiskReadOpsTooHigh)) AND OK(NetworkOutTooHigh)</code> goes into ALARM
* state if CPUUtilizationTooHigh OR DiskReadOpsTooHigh is in ALARM state, and if
* NetworkOutTooHigh is in OK state. This provides another example of using a
* composite alarm to prevent noise. This rule ensures that you are not notified
* with an alarm action on high CPU or disk usage if a known network problem is
* also occurring.</p> </li> </ul> <p>The <code>AlarmRule</code> can specify as
* many as 100 "children" alarms. The <code>AlarmRule</code> expression can have as
* many as 500 elements. Elements are child alarms, TRUE or FALSE statements, and
* parentheses.</p>
*/
inline PutCompositeAlarmRequest& WithAlarmRule(const Aws::String& value) { SetAlarmRule(value); return *this;}
/**
* <p>An expression that specifies which other alarms are to be evaluated to
* determine this composite alarm's state. For each alarm that you reference, you
* designate a function that specifies whether that alarm needs to be in ALARM
* state, OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and
* NOT) to combine multiple functions in a single expression. You can use
* parenthesis to logically group the functions in your expression.</p> <p>You can
* use either alarm names or ARNs to reference the other alarms that are to be
* evaluated.</p> <p>Functions can include the following:</p> <ul> <li> <p>
* <code>ALARM("<i>alarm-name</i> or <i>alarm-ARN</i>")</code> is TRUE if the named
* alarm is in ALARM state.</p> </li> <li> <p> <code>OK("<i>alarm-name</i> or
* <i>alarm-ARN</i>")</code> is TRUE if the named alarm is in OK state.</p> </li>
* <li> <p> <code>INSUFFICIENT_DATA("<i>alarm-name</i> or <i>alarm-ARN</i>")</code>
* is TRUE if the named alarm is in INSUFFICIENT_DATA state.</p> </li> <li> <p>
* <code>TRUE</code> always evaluates to TRUE.</p> </li> <li> <p>
* <code>FALSE</code> always evaluates to FALSE.</p> </li> </ul> <p>TRUE and FALSE
* are useful for testing a complex <code>AlarmRule</code> structure, and for
* testing your alarm actions.</p> <p>Alarm names specified in
* <code>AlarmRule</code> can be surrounded with double-quotes ("), but do not have
* to be.</p> <p>The following are some examples of <code>AlarmRule</code>:</p>
* <ul> <li> <p> <code>ALARM(CPUUtilizationTooHigh) AND
* ALARM(DiskReadOpsTooHigh)</code> specifies that the composite alarm goes into
* ALARM state only if both CPUUtilizationTooHigh and DiskReadOpsTooHigh alarms are
* in ALARM state.</p> </li> <li> <p> <code>ALARM(CPUUtilizationTooHigh) AND NOT
* ALARM(DeploymentInProgress)</code> specifies that the alarm goes to ALARM state
* if CPUUtilizationTooHigh is in ALARM state and DeploymentInProgress is not in
* ALARM state. This example reduces alarm noise during a known deployment
* window.</p> </li> <li> <p> <code>(ALARM(CPUUtilizationTooHigh) OR
* ALARM(DiskReadOpsTooHigh)) AND OK(NetworkOutTooHigh)</code> goes into ALARM
* state if CPUUtilizationTooHigh OR DiskReadOpsTooHigh is in ALARM state, and if
* NetworkOutTooHigh is in OK state. This provides another example of using a
* composite alarm to prevent noise. This rule ensures that you are not notified
* with an alarm action on high CPU or disk usage if a known network problem is
* also occurring.</p> </li> </ul> <p>The <code>AlarmRule</code> can specify as
* many as 100 "children" alarms. The <code>AlarmRule</code> expression can have as
* many as 500 elements. Elements are child alarms, TRUE or FALSE statements, and
* parentheses.</p>
*/
inline PutCompositeAlarmRequest& WithAlarmRule(Aws::String&& value) { SetAlarmRule(std::move(value)); return *this;}
/**
* <p>An expression that specifies which other alarms are to be evaluated to
* determine this composite alarm's state. For each alarm that you reference, you
* designate a function that specifies whether that alarm needs to be in ALARM
* state, OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and
* NOT) to combine multiple functions in a single expression. You can use
* parenthesis to logically group the functions in your expression.</p> <p>You can
* use either alarm names or ARNs to reference the other alarms that are to be
* evaluated.</p> <p>Functions can include the following:</p> <ul> <li> <p>
* <code>ALARM("<i>alarm-name</i> or <i>alarm-ARN</i>")</code> is TRUE if the named
* alarm is in ALARM state.</p> </li> <li> <p> <code>OK("<i>alarm-name</i> or
* <i>alarm-ARN</i>")</code> is TRUE if the named alarm is in OK state.</p> </li>
* <li> <p> <code>INSUFFICIENT_DATA("<i>alarm-name</i> or <i>alarm-ARN</i>")</code>
* is TRUE if the named alarm is in INSUFFICIENT_DATA state.</p> </li> <li> <p>
* <code>TRUE</code> always evaluates to TRUE.</p> </li> <li> <p>
* <code>FALSE</code> always evaluates to FALSE.</p> </li> </ul> <p>TRUE and FALSE
* are useful for testing a complex <code>AlarmRule</code> structure, and for
* testing your alarm actions.</p> <p>Alarm names specified in
* <code>AlarmRule</code> can be surrounded with double-quotes ("), but do not have
* to be.</p> <p>The following are some examples of <code>AlarmRule</code>:</p>
* <ul> <li> <p> <code>ALARM(CPUUtilizationTooHigh) AND
* ALARM(DiskReadOpsTooHigh)</code> specifies that the composite alarm goes into
* ALARM state only if both CPUUtilizationTooHigh and DiskReadOpsTooHigh alarms are
* in ALARM state.</p> </li> <li> <p> <code>ALARM(CPUUtilizationTooHigh) AND NOT
* ALARM(DeploymentInProgress)</code> specifies that the alarm goes to ALARM state
* if CPUUtilizationTooHigh is in ALARM state and DeploymentInProgress is not in
* ALARM state. This example reduces alarm noise during a known deployment
* window.</p> </li> <li> <p> <code>(ALARM(CPUUtilizationTooHigh) OR
* ALARM(DiskReadOpsTooHigh)) AND OK(NetworkOutTooHigh)</code> goes into ALARM
* state if CPUUtilizationTooHigh OR DiskReadOpsTooHigh is in ALARM state, and if
* NetworkOutTooHigh is in OK state. This provides another example of using a
* composite alarm to prevent noise. This rule ensures that you are not notified
* with an alarm action on high CPU or disk usage if a known network problem is
* also occurring.</p> </li> </ul> <p>The <code>AlarmRule</code> can specify as
* many as 100 "children" alarms. The <code>AlarmRule</code> expression can have as
* many as 500 elements. Elements are child alarms, TRUE or FALSE statements, and
* parentheses.</p>
*/
inline PutCompositeAlarmRequest& WithAlarmRule(const char* value) { SetAlarmRule(value); return *this;}
/**
* <p>The actions to execute when this alarm transitions to the
* <code>INSUFFICIENT_DATA</code> state from any other state. Each action is
* specified as an Amazon Resource Name (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline const Aws::Vector<Aws::String>& GetInsufficientDataActions() const{ return m_insufficientDataActions; }
/**
* <p>The actions to execute when this alarm transitions to the
* <code>INSUFFICIENT_DATA</code> state from any other state. Each action is
* specified as an Amazon Resource Name (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline bool InsufficientDataActionsHasBeenSet() const { return m_insufficientDataActionsHasBeenSet; }
/**
* <p>The actions to execute when this alarm transitions to the
* <code>INSUFFICIENT_DATA</code> state from any other state. Each action is
* specified as an Amazon Resource Name (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline void SetInsufficientDataActions(const Aws::Vector<Aws::String>& value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions = value; }
/**
* <p>The actions to execute when this alarm transitions to the
* <code>INSUFFICIENT_DATA</code> state from any other state. Each action is
* specified as an Amazon Resource Name (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline void SetInsufficientDataActions(Aws::Vector<Aws::String>&& value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions = std::move(value); }
/**
* <p>The actions to execute when this alarm transitions to the
* <code>INSUFFICIENT_DATA</code> state from any other state. Each action is
* specified as an Amazon Resource Name (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline PutCompositeAlarmRequest& WithInsufficientDataActions(const Aws::Vector<Aws::String>& value) { SetInsufficientDataActions(value); return *this;}
/**
* <p>The actions to execute when this alarm transitions to the
* <code>INSUFFICIENT_DATA</code> state from any other state. Each action is
* specified as an Amazon Resource Name (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline PutCompositeAlarmRequest& WithInsufficientDataActions(Aws::Vector<Aws::String>&& value) { SetInsufficientDataActions(std::move(value)); return *this;}
/**
* <p>The actions to execute when this alarm transitions to the
* <code>INSUFFICIENT_DATA</code> state from any other state. Each action is
* specified as an Amazon Resource Name (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline PutCompositeAlarmRequest& AddInsufficientDataActions(const Aws::String& value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions.push_back(value); return *this; }
/**
* <p>The actions to execute when this alarm transitions to the
* <code>INSUFFICIENT_DATA</code> state from any other state. Each action is
* specified as an Amazon Resource Name (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline PutCompositeAlarmRequest& AddInsufficientDataActions(Aws::String&& value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions.push_back(std::move(value)); return *this; }
/**
* <p>The actions to execute when this alarm transitions to the
* <code>INSUFFICIENT_DATA</code> state from any other state. Each action is
* specified as an Amazon Resource Name (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline PutCompositeAlarmRequest& AddInsufficientDataActions(const char* value) { m_insufficientDataActionsHasBeenSet = true; m_insufficientDataActions.push_back(value); return *this; }
/**
* <p>The actions to execute when this alarm transitions to an <code>OK</code>
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline const Aws::Vector<Aws::String>& GetOKActions() const{ return m_oKActions; }
/**
* <p>The actions to execute when this alarm transitions to an <code>OK</code>
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline bool OKActionsHasBeenSet() const { return m_oKActionsHasBeenSet; }
/**
* <p>The actions to execute when this alarm transitions to an <code>OK</code>
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline void SetOKActions(const Aws::Vector<Aws::String>& value) { m_oKActionsHasBeenSet = true; m_oKActions = value; }
/**
* <p>The actions to execute when this alarm transitions to an <code>OK</code>
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline void SetOKActions(Aws::Vector<Aws::String>&& value) { m_oKActionsHasBeenSet = true; m_oKActions = std::move(value); }
/**
* <p>The actions to execute when this alarm transitions to an <code>OK</code>
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline PutCompositeAlarmRequest& WithOKActions(const Aws::Vector<Aws::String>& value) { SetOKActions(value); return *this;}
/**
* <p>The actions to execute when this alarm transitions to an <code>OK</code>
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline PutCompositeAlarmRequest& WithOKActions(Aws::Vector<Aws::String>&& value) { SetOKActions(std::move(value)); return *this;}
/**
* <p>The actions to execute when this alarm transitions to an <code>OK</code>
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline PutCompositeAlarmRequest& AddOKActions(const Aws::String& value) { m_oKActionsHasBeenSet = true; m_oKActions.push_back(value); return *this; }
/**
* <p>The actions to execute when this alarm transitions to an <code>OK</code>
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline PutCompositeAlarmRequest& AddOKActions(Aws::String&& value) { m_oKActionsHasBeenSet = true; m_oKActions.push_back(std::move(value)); return *this; }
/**
* <p>The actions to execute when this alarm transitions to an <code>OK</code>
* state from any other state. Each action is specified as an Amazon Resource Name
* (ARN).</p> <p>Valid Values:
* <code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code>
* </p>
*/
inline PutCompositeAlarmRequest& AddOKActions(const char* value) { m_oKActionsHasBeenSet = true; m_oKActions.push_back(value); return *this; }
/**
* <p>A list of key-value pairs to associate with the composite alarm. You can
* associate as many as 50 tags with an alarm.</p> <p>Tags can help you organize
* and categorize your resources. You can also use them to scope user permissions,
* by granting a user permission to access or change only resources with certain
* tag values.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>A list of key-value pairs to associate with the composite alarm. You can
* associate as many as 50 tags with an alarm.</p> <p>Tags can help you organize
* and categorize your resources. You can also use them to scope user permissions,
* by granting a user permission to access or change only resources with certain
* tag values.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>A list of key-value pairs to associate with the composite alarm. You can
* associate as many as 50 tags with an alarm.</p> <p>Tags can help you organize
* and categorize your resources. You can also use them to scope user permissions,
* by granting a user permission to access or change only resources with certain
* tag values.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>A list of key-value pairs to associate with the composite alarm. You can
* associate as many as 50 tags with an alarm.</p> <p>Tags can help you organize
* and categorize your resources. You can also use them to scope user permissions,
* by granting a user permission to access or change only resources with certain
* tag values.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>A list of key-value pairs to associate with the composite alarm. You can
* associate as many as 50 tags with an alarm.</p> <p>Tags can help you organize
* and categorize your resources. You can also use them to scope user permissions,
* by granting a user permission to access or change only resources with certain
* tag values.</p>
*/
inline PutCompositeAlarmRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>A list of key-value pairs to associate with the composite alarm. You can
* associate as many as 50 tags with an alarm.</p> <p>Tags can help you organize
* and categorize your resources. You can also use them to scope user permissions,
* by granting a user permission to access or change only resources with certain
* tag values.</p>
*/
inline PutCompositeAlarmRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>A list of key-value pairs to associate with the composite alarm. You can
* associate as many as 50 tags with an alarm.</p> <p>Tags can help you organize
* and categorize your resources. You can also use them to scope user permissions,
* by granting a user permission to access or change only resources with certain
* tag values.</p>
*/
inline PutCompositeAlarmRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>A list of key-value pairs to associate with the composite alarm. You can
* associate as many as 50 tags with an alarm.</p> <p>Tags can help you organize
* and categorize your resources. You can also use them to scope user permissions,
* by granting a user permission to access or change only resources with certain
* tag values.</p>
*/
inline PutCompositeAlarmRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
private:
bool m_actionsEnabled;
bool m_actionsEnabledHasBeenSet;
Aws::Vector<Aws::String> m_alarmActions;
bool m_alarmActionsHasBeenSet;
Aws::String m_alarmDescription;
bool m_alarmDescriptionHasBeenSet;
Aws::String m_alarmName;
bool m_alarmNameHasBeenSet;
Aws::String m_alarmRule;
bool m_alarmRuleHasBeenSet;
Aws::Vector<Aws::String> m_insufficientDataActions;
bool m_insufficientDataActionsHasBeenSet;
Aws::Vector<Aws::String> m_oKActions;
bool m_oKActionsHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,187 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API PutDashboardRequest : public CloudWatchRequest
{
public:
PutDashboardRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "PutDashboard"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The name of the dashboard. If a dashboard with this name already exists, this
* call modifies that dashboard, replacing its current contents. Otherwise, a new
* dashboard is created. The maximum length is 255, and valid characters are A-Z,
* a-z, 0-9, "-", and "_". This parameter is required.</p>
*/
inline const Aws::String& GetDashboardName() const{ return m_dashboardName; }
/**
* <p>The name of the dashboard. If a dashboard with this name already exists, this
* call modifies that dashboard, replacing its current contents. Otherwise, a new
* dashboard is created. The maximum length is 255, and valid characters are A-Z,
* a-z, 0-9, "-", and "_". This parameter is required.</p>
*/
inline bool DashboardNameHasBeenSet() const { return m_dashboardNameHasBeenSet; }
/**
* <p>The name of the dashboard. If a dashboard with this name already exists, this
* call modifies that dashboard, replacing its current contents. Otherwise, a new
* dashboard is created. The maximum length is 255, and valid characters are A-Z,
* a-z, 0-9, "-", and "_". This parameter is required.</p>
*/
inline void SetDashboardName(const Aws::String& value) { m_dashboardNameHasBeenSet = true; m_dashboardName = value; }
/**
* <p>The name of the dashboard. If a dashboard with this name already exists, this
* call modifies that dashboard, replacing its current contents. Otherwise, a new
* dashboard is created. The maximum length is 255, and valid characters are A-Z,
* a-z, 0-9, "-", and "_". This parameter is required.</p>
*/
inline void SetDashboardName(Aws::String&& value) { m_dashboardNameHasBeenSet = true; m_dashboardName = std::move(value); }
/**
* <p>The name of the dashboard. If a dashboard with this name already exists, this
* call modifies that dashboard, replacing its current contents. Otherwise, a new
* dashboard is created. The maximum length is 255, and valid characters are A-Z,
* a-z, 0-9, "-", and "_". This parameter is required.</p>
*/
inline void SetDashboardName(const char* value) { m_dashboardNameHasBeenSet = true; m_dashboardName.assign(value); }
/**
* <p>The name of the dashboard. If a dashboard with this name already exists, this
* call modifies that dashboard, replacing its current contents. Otherwise, a new
* dashboard is created. The maximum length is 255, and valid characters are A-Z,
* a-z, 0-9, "-", and "_". This parameter is required.</p>
*/
inline PutDashboardRequest& WithDashboardName(const Aws::String& value) { SetDashboardName(value); return *this;}
/**
* <p>The name of the dashboard. If a dashboard with this name already exists, this
* call modifies that dashboard, replacing its current contents. Otherwise, a new
* dashboard is created. The maximum length is 255, and valid characters are A-Z,
* a-z, 0-9, "-", and "_". This parameter is required.</p>
*/
inline PutDashboardRequest& WithDashboardName(Aws::String&& value) { SetDashboardName(std::move(value)); return *this;}
/**
* <p>The name of the dashboard. If a dashboard with this name already exists, this
* call modifies that dashboard, replacing its current contents. Otherwise, a new
* dashboard is created. The maximum length is 255, and valid characters are A-Z,
* a-z, 0-9, "-", and "_". This parameter is required.</p>
*/
inline PutDashboardRequest& WithDashboardName(const char* value) { SetDashboardName(value); return *this;}
/**
* <p>The detailed information about the dashboard in JSON format, including the
* widgets to include and their location on the dashboard. This parameter is
* required.</p> <p>For more information about the syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html">Dashboard
* Body Structure and Syntax</a>.</p>
*/
inline const Aws::String& GetDashboardBody() const{ return m_dashboardBody; }
/**
* <p>The detailed information about the dashboard in JSON format, including the
* widgets to include and their location on the dashboard. This parameter is
* required.</p> <p>For more information about the syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html">Dashboard
* Body Structure and Syntax</a>.</p>
*/
inline bool DashboardBodyHasBeenSet() const { return m_dashboardBodyHasBeenSet; }
/**
* <p>The detailed information about the dashboard in JSON format, including the
* widgets to include and their location on the dashboard. This parameter is
* required.</p> <p>For more information about the syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html">Dashboard
* Body Structure and Syntax</a>.</p>
*/
inline void SetDashboardBody(const Aws::String& value) { m_dashboardBodyHasBeenSet = true; m_dashboardBody = value; }
/**
* <p>The detailed information about the dashboard in JSON format, including the
* widgets to include and their location on the dashboard. This parameter is
* required.</p> <p>For more information about the syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html">Dashboard
* Body Structure and Syntax</a>.</p>
*/
inline void SetDashboardBody(Aws::String&& value) { m_dashboardBodyHasBeenSet = true; m_dashboardBody = std::move(value); }
/**
* <p>The detailed information about the dashboard in JSON format, including the
* widgets to include and their location on the dashboard. This parameter is
* required.</p> <p>For more information about the syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html">Dashboard
* Body Structure and Syntax</a>.</p>
*/
inline void SetDashboardBody(const char* value) { m_dashboardBodyHasBeenSet = true; m_dashboardBody.assign(value); }
/**
* <p>The detailed information about the dashboard in JSON format, including the
* widgets to include and their location on the dashboard. This parameter is
* required.</p> <p>For more information about the syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html">Dashboard
* Body Structure and Syntax</a>.</p>
*/
inline PutDashboardRequest& WithDashboardBody(const Aws::String& value) { SetDashboardBody(value); return *this;}
/**
* <p>The detailed information about the dashboard in JSON format, including the
* widgets to include and their location on the dashboard. This parameter is
* required.</p> <p>For more information about the syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html">Dashboard
* Body Structure and Syntax</a>.</p>
*/
inline PutDashboardRequest& WithDashboardBody(Aws::String&& value) { SetDashboardBody(std::move(value)); return *this;}
/**
* <p>The detailed information about the dashboard in JSON format, including the
* widgets to include and their location on the dashboard. This parameter is
* required.</p> <p>For more information about the syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html">Dashboard
* Body Structure and Syntax</a>.</p>
*/
inline PutDashboardRequest& WithDashboardBody(const char* value) { SetDashboardBody(value); return *this;}
private:
Aws::String m_dashboardName;
bool m_dashboardNameHasBeenSet;
Aws::String m_dashboardBody;
bool m_dashboardBodyHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,132 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <aws/monitoring/model/DashboardValidationMessage.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API PutDashboardResult
{
public:
PutDashboardResult();
PutDashboardResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
PutDashboardResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
/**
* <p>If the input for <code>PutDashboard</code> was correct and the dashboard was
* successfully created or modified, this result is empty.</p> <p>If this result
* includes only warning messages, then the input was valid enough for the
* dashboard to be created or modified, but some elements of the dashboard might
* not render.</p> <p>If this result includes error messages, the input was not
* valid and the operation failed.</p>
*/
inline const Aws::Vector<DashboardValidationMessage>& GetDashboardValidationMessages() const{ return m_dashboardValidationMessages; }
/**
* <p>If the input for <code>PutDashboard</code> was correct and the dashboard was
* successfully created or modified, this result is empty.</p> <p>If this result
* includes only warning messages, then the input was valid enough for the
* dashboard to be created or modified, but some elements of the dashboard might
* not render.</p> <p>If this result includes error messages, the input was not
* valid and the operation failed.</p>
*/
inline void SetDashboardValidationMessages(const Aws::Vector<DashboardValidationMessage>& value) { m_dashboardValidationMessages = value; }
/**
* <p>If the input for <code>PutDashboard</code> was correct and the dashboard was
* successfully created or modified, this result is empty.</p> <p>If this result
* includes only warning messages, then the input was valid enough for the
* dashboard to be created or modified, but some elements of the dashboard might
* not render.</p> <p>If this result includes error messages, the input was not
* valid and the operation failed.</p>
*/
inline void SetDashboardValidationMessages(Aws::Vector<DashboardValidationMessage>&& value) { m_dashboardValidationMessages = std::move(value); }
/**
* <p>If the input for <code>PutDashboard</code> was correct and the dashboard was
* successfully created or modified, this result is empty.</p> <p>If this result
* includes only warning messages, then the input was valid enough for the
* dashboard to be created or modified, but some elements of the dashboard might
* not render.</p> <p>If this result includes error messages, the input was not
* valid and the operation failed.</p>
*/
inline PutDashboardResult& WithDashboardValidationMessages(const Aws::Vector<DashboardValidationMessage>& value) { SetDashboardValidationMessages(value); return *this;}
/**
* <p>If the input for <code>PutDashboard</code> was correct and the dashboard was
* successfully created or modified, this result is empty.</p> <p>If this result
* includes only warning messages, then the input was valid enough for the
* dashboard to be created or modified, but some elements of the dashboard might
* not render.</p> <p>If this result includes error messages, the input was not
* valid and the operation failed.</p>
*/
inline PutDashboardResult& WithDashboardValidationMessages(Aws::Vector<DashboardValidationMessage>&& value) { SetDashboardValidationMessages(std::move(value)); return *this;}
/**
* <p>If the input for <code>PutDashboard</code> was correct and the dashboard was
* successfully created or modified, this result is empty.</p> <p>If this result
* includes only warning messages, then the input was valid enough for the
* dashboard to be created or modified, but some elements of the dashboard might
* not render.</p> <p>If this result includes error messages, the input was not
* valid and the operation failed.</p>
*/
inline PutDashboardResult& AddDashboardValidationMessages(const DashboardValidationMessage& value) { m_dashboardValidationMessages.push_back(value); return *this; }
/**
* <p>If the input for <code>PutDashboard</code> was correct and the dashboard was
* successfully created or modified, this result is empty.</p> <p>If this result
* includes only warning messages, then the input was valid enough for the
* dashboard to be created or modified, but some elements of the dashboard might
* not render.</p> <p>If this result includes error messages, the input was not
* valid and the operation failed.</p>
*/
inline PutDashboardResult& AddDashboardValidationMessages(DashboardValidationMessage&& value) { m_dashboardValidationMessages.push_back(std::move(value)); return *this; }
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline PutDashboardResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline PutDashboardResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
Aws::Vector<DashboardValidationMessage> m_dashboardValidationMessages;
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,325 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/Tag.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API PutInsightRuleRequest : public CloudWatchRequest
{
public:
PutInsightRuleRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "PutInsightRule"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>A unique name for the rule.</p>
*/
inline const Aws::String& GetRuleName() const{ return m_ruleName; }
/**
* <p>A unique name for the rule.</p>
*/
inline bool RuleNameHasBeenSet() const { return m_ruleNameHasBeenSet; }
/**
* <p>A unique name for the rule.</p>
*/
inline void SetRuleName(const Aws::String& value) { m_ruleNameHasBeenSet = true; m_ruleName = value; }
/**
* <p>A unique name for the rule.</p>
*/
inline void SetRuleName(Aws::String&& value) { m_ruleNameHasBeenSet = true; m_ruleName = std::move(value); }
/**
* <p>A unique name for the rule.</p>
*/
inline void SetRuleName(const char* value) { m_ruleNameHasBeenSet = true; m_ruleName.assign(value); }
/**
* <p>A unique name for the rule.</p>
*/
inline PutInsightRuleRequest& WithRuleName(const Aws::String& value) { SetRuleName(value); return *this;}
/**
* <p>A unique name for the rule.</p>
*/
inline PutInsightRuleRequest& WithRuleName(Aws::String&& value) { SetRuleName(std::move(value)); return *this;}
/**
* <p>A unique name for the rule.</p>
*/
inline PutInsightRuleRequest& WithRuleName(const char* value) { SetRuleName(value); return *this;}
/**
* <p>The state of the rule. Valid values are ENABLED and DISABLED.</p>
*/
inline const Aws::String& GetRuleState() const{ return m_ruleState; }
/**
* <p>The state of the rule. Valid values are ENABLED and DISABLED.</p>
*/
inline bool RuleStateHasBeenSet() const { return m_ruleStateHasBeenSet; }
/**
* <p>The state of the rule. Valid values are ENABLED and DISABLED.</p>
*/
inline void SetRuleState(const Aws::String& value) { m_ruleStateHasBeenSet = true; m_ruleState = value; }
/**
* <p>The state of the rule. Valid values are ENABLED and DISABLED.</p>
*/
inline void SetRuleState(Aws::String&& value) { m_ruleStateHasBeenSet = true; m_ruleState = std::move(value); }
/**
* <p>The state of the rule. Valid values are ENABLED and DISABLED.</p>
*/
inline void SetRuleState(const char* value) { m_ruleStateHasBeenSet = true; m_ruleState.assign(value); }
/**
* <p>The state of the rule. Valid values are ENABLED and DISABLED.</p>
*/
inline PutInsightRuleRequest& WithRuleState(const Aws::String& value) { SetRuleState(value); return *this;}
/**
* <p>The state of the rule. Valid values are ENABLED and DISABLED.</p>
*/
inline PutInsightRuleRequest& WithRuleState(Aws::String&& value) { SetRuleState(std::move(value)); return *this;}
/**
* <p>The state of the rule. Valid values are ENABLED and DISABLED.</p>
*/
inline PutInsightRuleRequest& WithRuleState(const char* value) { SetRuleState(value); return *this;}
/**
* <p>The definition of the rule, as a JSON object. For details on the valid
* syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html">Contributor
* Insights Rule Syntax</a>.</p>
*/
inline const Aws::String& GetRuleDefinition() const{ return m_ruleDefinition; }
/**
* <p>The definition of the rule, as a JSON object. For details on the valid
* syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html">Contributor
* Insights Rule Syntax</a>.</p>
*/
inline bool RuleDefinitionHasBeenSet() const { return m_ruleDefinitionHasBeenSet; }
/**
* <p>The definition of the rule, as a JSON object. For details on the valid
* syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html">Contributor
* Insights Rule Syntax</a>.</p>
*/
inline void SetRuleDefinition(const Aws::String& value) { m_ruleDefinitionHasBeenSet = true; m_ruleDefinition = value; }
/**
* <p>The definition of the rule, as a JSON object. For details on the valid
* syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html">Contributor
* Insights Rule Syntax</a>.</p>
*/
inline void SetRuleDefinition(Aws::String&& value) { m_ruleDefinitionHasBeenSet = true; m_ruleDefinition = std::move(value); }
/**
* <p>The definition of the rule, as a JSON object. For details on the valid
* syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html">Contributor
* Insights Rule Syntax</a>.</p>
*/
inline void SetRuleDefinition(const char* value) { m_ruleDefinitionHasBeenSet = true; m_ruleDefinition.assign(value); }
/**
* <p>The definition of the rule, as a JSON object. For details on the valid
* syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html">Contributor
* Insights Rule Syntax</a>.</p>
*/
inline PutInsightRuleRequest& WithRuleDefinition(const Aws::String& value) { SetRuleDefinition(value); return *this;}
/**
* <p>The definition of the rule, as a JSON object. For details on the valid
* syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html">Contributor
* Insights Rule Syntax</a>.</p>
*/
inline PutInsightRuleRequest& WithRuleDefinition(Aws::String&& value) { SetRuleDefinition(std::move(value)); return *this;}
/**
* <p>The definition of the rule, as a JSON object. For details on the valid
* syntax, see <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html">Contributor
* Insights Rule Syntax</a>.</p>
*/
inline PutInsightRuleRequest& WithRuleDefinition(const char* value) { SetRuleDefinition(value); return *this;}
/**
* <p>A list of key-value pairs to associate with the Contributor Insights rule.
* You can associate as many as 50 tags with a rule.</p> <p>Tags can help you
* organize and categorize your resources. You can also use them to scope user
* permissions, by granting a user permission to access or change only the
* resources that have certain tag values.</p> <p>To be able to associate tags with
* a rule, you must have the <code>cloudwatch:TagResource</code> permission in
* addition to the <code>cloudwatch:PutInsightRule</code> permission.</p> <p>If you
* are using this operation to update an existing Contributor Insights rule, any
* tags you specify in this parameter are ignored. To change the tags of an
* existing rule, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html">TagResource</a>.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>A list of key-value pairs to associate with the Contributor Insights rule.
* You can associate as many as 50 tags with a rule.</p> <p>Tags can help you
* organize and categorize your resources. You can also use them to scope user
* permissions, by granting a user permission to access or change only the
* resources that have certain tag values.</p> <p>To be able to associate tags with
* a rule, you must have the <code>cloudwatch:TagResource</code> permission in
* addition to the <code>cloudwatch:PutInsightRule</code> permission.</p> <p>If you
* are using this operation to update an existing Contributor Insights rule, any
* tags you specify in this parameter are ignored. To change the tags of an
* existing rule, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html">TagResource</a>.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>A list of key-value pairs to associate with the Contributor Insights rule.
* You can associate as many as 50 tags with a rule.</p> <p>Tags can help you
* organize and categorize your resources. You can also use them to scope user
* permissions, by granting a user permission to access or change only the
* resources that have certain tag values.</p> <p>To be able to associate tags with
* a rule, you must have the <code>cloudwatch:TagResource</code> permission in
* addition to the <code>cloudwatch:PutInsightRule</code> permission.</p> <p>If you
* are using this operation to update an existing Contributor Insights rule, any
* tags you specify in this parameter are ignored. To change the tags of an
* existing rule, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html">TagResource</a>.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>A list of key-value pairs to associate with the Contributor Insights rule.
* You can associate as many as 50 tags with a rule.</p> <p>Tags can help you
* organize and categorize your resources. You can also use them to scope user
* permissions, by granting a user permission to access or change only the
* resources that have certain tag values.</p> <p>To be able to associate tags with
* a rule, you must have the <code>cloudwatch:TagResource</code> permission in
* addition to the <code>cloudwatch:PutInsightRule</code> permission.</p> <p>If you
* are using this operation to update an existing Contributor Insights rule, any
* tags you specify in this parameter are ignored. To change the tags of an
* existing rule, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html">TagResource</a>.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>A list of key-value pairs to associate with the Contributor Insights rule.
* You can associate as many as 50 tags with a rule.</p> <p>Tags can help you
* organize and categorize your resources. You can also use them to scope user
* permissions, by granting a user permission to access or change only the
* resources that have certain tag values.</p> <p>To be able to associate tags with
* a rule, you must have the <code>cloudwatch:TagResource</code> permission in
* addition to the <code>cloudwatch:PutInsightRule</code> permission.</p> <p>If you
* are using this operation to update an existing Contributor Insights rule, any
* tags you specify in this parameter are ignored. To change the tags of an
* existing rule, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html">TagResource</a>.</p>
*/
inline PutInsightRuleRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>A list of key-value pairs to associate with the Contributor Insights rule.
* You can associate as many as 50 tags with a rule.</p> <p>Tags can help you
* organize and categorize your resources. You can also use them to scope user
* permissions, by granting a user permission to access or change only the
* resources that have certain tag values.</p> <p>To be able to associate tags with
* a rule, you must have the <code>cloudwatch:TagResource</code> permission in
* addition to the <code>cloudwatch:PutInsightRule</code> permission.</p> <p>If you
* are using this operation to update an existing Contributor Insights rule, any
* tags you specify in this parameter are ignored. To change the tags of an
* existing rule, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html">TagResource</a>.</p>
*/
inline PutInsightRuleRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>A list of key-value pairs to associate with the Contributor Insights rule.
* You can associate as many as 50 tags with a rule.</p> <p>Tags can help you
* organize and categorize your resources. You can also use them to scope user
* permissions, by granting a user permission to access or change only the
* resources that have certain tag values.</p> <p>To be able to associate tags with
* a rule, you must have the <code>cloudwatch:TagResource</code> permission in
* addition to the <code>cloudwatch:PutInsightRule</code> permission.</p> <p>If you
* are using this operation to update an existing Contributor Insights rule, any
* tags you specify in this parameter are ignored. To change the tags of an
* existing rule, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html">TagResource</a>.</p>
*/
inline PutInsightRuleRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>A list of key-value pairs to associate with the Contributor Insights rule.
* You can associate as many as 50 tags with a rule.</p> <p>Tags can help you
* organize and categorize your resources. You can also use them to scope user
* permissions, by granting a user permission to access or change only the
* resources that have certain tag values.</p> <p>To be able to associate tags with
* a rule, you must have the <code>cloudwatch:TagResource</code> permission in
* addition to the <code>cloudwatch:PutInsightRule</code> permission.</p> <p>If you
* are using this operation to update an existing Contributor Insights rule, any
* tags you specify in this parameter are ignored. To change the tags of an
* existing rule, use <a
* href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html">TagResource</a>.</p>
*/
inline PutInsightRuleRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
private:
Aws::String m_ruleName;
bool m_ruleNameHasBeenSet;
Aws::String m_ruleState;
bool m_ruleStateHasBeenSet;
Aws::String m_ruleDefinition;
bool m_ruleDefinitionHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,57 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API PutInsightRuleResult
{
public:
PutInsightRuleResult();
PutInsightRuleResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
PutInsightRuleResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline PutInsightRuleResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline PutInsightRuleResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,157 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/MetricDatum.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API PutMetricDataRequest : public CloudWatchRequest
{
public:
PutMetricDataRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "PutMetricData"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The namespace for the metric data.</p> <p>To avoid conflicts with AWS service
* namespaces, you should not specify a namespace that begins with
* <code>AWS/</code> </p>
*/
inline const Aws::String& GetNamespace() const{ return m_namespace; }
/**
* <p>The namespace for the metric data.</p> <p>To avoid conflicts with AWS service
* namespaces, you should not specify a namespace that begins with
* <code>AWS/</code> </p>
*/
inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; }
/**
* <p>The namespace for the metric data.</p> <p>To avoid conflicts with AWS service
* namespaces, you should not specify a namespace that begins with
* <code>AWS/</code> </p>
*/
inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; }
/**
* <p>The namespace for the metric data.</p> <p>To avoid conflicts with AWS service
* namespaces, you should not specify a namespace that begins with
* <code>AWS/</code> </p>
*/
inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); }
/**
* <p>The namespace for the metric data.</p> <p>To avoid conflicts with AWS service
* namespaces, you should not specify a namespace that begins with
* <code>AWS/</code> </p>
*/
inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); }
/**
* <p>The namespace for the metric data.</p> <p>To avoid conflicts with AWS service
* namespaces, you should not specify a namespace that begins with
* <code>AWS/</code> </p>
*/
inline PutMetricDataRequest& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;}
/**
* <p>The namespace for the metric data.</p> <p>To avoid conflicts with AWS service
* namespaces, you should not specify a namespace that begins with
* <code>AWS/</code> </p>
*/
inline PutMetricDataRequest& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;}
/**
* <p>The namespace for the metric data.</p> <p>To avoid conflicts with AWS service
* namespaces, you should not specify a namespace that begins with
* <code>AWS/</code> </p>
*/
inline PutMetricDataRequest& WithNamespace(const char* value) { SetNamespace(value); return *this;}
/**
* <p>The data for the metric. The array can include no more than 20 metrics per
* call.</p>
*/
inline const Aws::Vector<MetricDatum>& GetMetricData() const{ return m_metricData; }
/**
* <p>The data for the metric. The array can include no more than 20 metrics per
* call.</p>
*/
inline bool MetricDataHasBeenSet() const { return m_metricDataHasBeenSet; }
/**
* <p>The data for the metric. The array can include no more than 20 metrics per
* call.</p>
*/
inline void SetMetricData(const Aws::Vector<MetricDatum>& value) { m_metricDataHasBeenSet = true; m_metricData = value; }
/**
* <p>The data for the metric. The array can include no more than 20 metrics per
* call.</p>
*/
inline void SetMetricData(Aws::Vector<MetricDatum>&& value) { m_metricDataHasBeenSet = true; m_metricData = std::move(value); }
/**
* <p>The data for the metric. The array can include no more than 20 metrics per
* call.</p>
*/
inline PutMetricDataRequest& WithMetricData(const Aws::Vector<MetricDatum>& value) { SetMetricData(value); return *this;}
/**
* <p>The data for the metric. The array can include no more than 20 metrics per
* call.</p>
*/
inline PutMetricDataRequest& WithMetricData(Aws::Vector<MetricDatum>&& value) { SetMetricData(std::move(value)); return *this;}
/**
* <p>The data for the metric. The array can include no more than 20 metrics per
* call.</p>
*/
inline PutMetricDataRequest& AddMetricData(const MetricDatum& value) { m_metricDataHasBeenSet = true; m_metricData.push_back(value); return *this; }
/**
* <p>The data for the metric. The array can include no more than 20 metrics per
* call.</p>
*/
inline PutMetricDataRequest& AddMetricData(MetricDatum&& value) { m_metricDataHasBeenSet = true; m_metricData.push_back(std::move(value)); return *this; }
private:
Aws::String m_namespace;
bool m_namespaceHasBeenSet;
Aws::Vector<MetricDatum> m_metricData;
bool m_metricDataHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,139 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>Specifies one range of days or times to exclude from use for training an
* anomaly detection model.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/Range">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API Range
{
public:
Range();
Range(const Aws::Utils::Xml::XmlNode& xmlNode);
Range& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>The start time of the range to exclude. The format is
* <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
/**
* <p>The start time of the range to exclude. The format is
* <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
/**
* <p>The start time of the range to exclude. The format is
* <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
/**
* <p>The start time of the range to exclude. The format is
* <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
/**
* <p>The start time of the range to exclude. The format is
* <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline Range& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
/**
* <p>The start time of the range to exclude. The format is
* <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline Range& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
/**
* <p>The end time of the range to exclude. The format is
* <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; }
/**
* <p>The end time of the range to exclude. The format is
* <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
/**
* <p>The end time of the range to exclude. The format is
* <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; }
/**
* <p>The end time of the range to exclude. The format is
* <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); }
/**
* <p>The end time of the range to exclude. The format is
* <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline Range& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;}
/**
* <p>The end time of the range to exclude. The format is
* <code>yyyy-MM-dd'T'HH:mm:ss</code>. For example,
* <code>2019-07-01T23:59:59</code>.</p>
*/
inline Range& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
private:
Aws::Utils::DateTime m_startTime;
bool m_startTimeHasBeenSet;
Aws::Utils::DateTime m_endTime;
bool m_endTimeHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,30 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
enum class RecentlyActive
{
NOT_SET,
PT3H
};
namespace RecentlyActiveMapper
{
AWS_CLOUDWATCH_API RecentlyActive GetRecentlyActiveForName(const Aws::String& name);
AWS_CLOUDWATCH_API Aws::String GetNameForRecentlyActive(RecentlyActive value);
} // namespace RecentlyActiveMapper
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,102 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>The named resource does not exist.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ResourceNotFoundException">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API ResourceNotFoundException
{
public:
ResourceNotFoundException();
ResourceNotFoundException(const Aws::Utils::Xml::XmlNode& xmlNode);
ResourceNotFoundException& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
inline const Aws::String& GetResourceType() const{ return m_resourceType; }
inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); }
inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); }
inline ResourceNotFoundException& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;}
inline ResourceNotFoundException& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;}
inline ResourceNotFoundException& WithResourceType(const char* value) { SetResourceType(value); return *this;}
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
inline ResourceNotFoundException& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
inline ResourceNotFoundException& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
inline ResourceNotFoundException& WithResourceId(const char* value) { SetResourceId(value); return *this;}
private:
Aws::String m_resourceType;
bool m_resourceTypeHasBeenSet;
Aws::String m_resourceId;
bool m_resourceIdHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,69 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API ResponseMetadata
{
public:
ResponseMetadata();
ResponseMetadata(const Aws::Utils::Xml::XmlNode& xmlNode);
ResponseMetadata& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); }
inline ResponseMetadata& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline ResponseMetadata& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline ResponseMetadata& WithRequestId(const char* value) { SetRequestId(value); return *this;}
private:
Aws::String m_requestId;
bool m_requestIdHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
enum class ScanBy
{
NOT_SET,
TimestampDescending,
TimestampAscending
};
namespace ScanByMapper
{
AWS_CLOUDWATCH_API ScanBy GetScanByForName(const Aws::String& name);
AWS_CLOUDWATCH_API Aws::String GetNameForScanBy(ScanBy value);
} // namespace ScanByMapper
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,234 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/monitoring/model/StateValue.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API SetAlarmStateRequest : public CloudWatchRequest
{
public:
SetAlarmStateRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "SetAlarmState"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The name of the alarm.</p>
*/
inline const Aws::String& GetAlarmName() const{ return m_alarmName; }
/**
* <p>The name of the alarm.</p>
*/
inline bool AlarmNameHasBeenSet() const { return m_alarmNameHasBeenSet; }
/**
* <p>The name of the alarm.</p>
*/
inline void SetAlarmName(const Aws::String& value) { m_alarmNameHasBeenSet = true; m_alarmName = value; }
/**
* <p>The name of the alarm.</p>
*/
inline void SetAlarmName(Aws::String&& value) { m_alarmNameHasBeenSet = true; m_alarmName = std::move(value); }
/**
* <p>The name of the alarm.</p>
*/
inline void SetAlarmName(const char* value) { m_alarmNameHasBeenSet = true; m_alarmName.assign(value); }
/**
* <p>The name of the alarm.</p>
*/
inline SetAlarmStateRequest& WithAlarmName(const Aws::String& value) { SetAlarmName(value); return *this;}
/**
* <p>The name of the alarm.</p>
*/
inline SetAlarmStateRequest& WithAlarmName(Aws::String&& value) { SetAlarmName(std::move(value)); return *this;}
/**
* <p>The name of the alarm.</p>
*/
inline SetAlarmStateRequest& WithAlarmName(const char* value) { SetAlarmName(value); return *this;}
/**
* <p>The value of the state.</p>
*/
inline const StateValue& GetStateValue() const{ return m_stateValue; }
/**
* <p>The value of the state.</p>
*/
inline bool StateValueHasBeenSet() const { return m_stateValueHasBeenSet; }
/**
* <p>The value of the state.</p>
*/
inline void SetStateValue(const StateValue& value) { m_stateValueHasBeenSet = true; m_stateValue = value; }
/**
* <p>The value of the state.</p>
*/
inline void SetStateValue(StateValue&& value) { m_stateValueHasBeenSet = true; m_stateValue = std::move(value); }
/**
* <p>The value of the state.</p>
*/
inline SetAlarmStateRequest& WithStateValue(const StateValue& value) { SetStateValue(value); return *this;}
/**
* <p>The value of the state.</p>
*/
inline SetAlarmStateRequest& WithStateValue(StateValue&& value) { SetStateValue(std::move(value)); return *this;}
/**
* <p>The reason that this alarm is set to this specific state, in text format.</p>
*/
inline const Aws::String& GetStateReason() const{ return m_stateReason; }
/**
* <p>The reason that this alarm is set to this specific state, in text format.</p>
*/
inline bool StateReasonHasBeenSet() const { return m_stateReasonHasBeenSet; }
/**
* <p>The reason that this alarm is set to this specific state, in text format.</p>
*/
inline void SetStateReason(const Aws::String& value) { m_stateReasonHasBeenSet = true; m_stateReason = value; }
/**
* <p>The reason that this alarm is set to this specific state, in text format.</p>
*/
inline void SetStateReason(Aws::String&& value) { m_stateReasonHasBeenSet = true; m_stateReason = std::move(value); }
/**
* <p>The reason that this alarm is set to this specific state, in text format.</p>
*/
inline void SetStateReason(const char* value) { m_stateReasonHasBeenSet = true; m_stateReason.assign(value); }
/**
* <p>The reason that this alarm is set to this specific state, in text format.</p>
*/
inline SetAlarmStateRequest& WithStateReason(const Aws::String& value) { SetStateReason(value); return *this;}
/**
* <p>The reason that this alarm is set to this specific state, in text format.</p>
*/
inline SetAlarmStateRequest& WithStateReason(Aws::String&& value) { SetStateReason(std::move(value)); return *this;}
/**
* <p>The reason that this alarm is set to this specific state, in text format.</p>
*/
inline SetAlarmStateRequest& WithStateReason(const char* value) { SetStateReason(value); return *this;}
/**
* <p>The reason that this alarm is set to this specific state, in JSON format.</p>
* <p>For SNS or EC2 alarm actions, this is just informational. But for EC2 Auto
* Scaling or application Auto Scaling alarm actions, the Auto Scaling policy uses
* the information in this field to take the correct action.</p>
*/
inline const Aws::String& GetStateReasonData() const{ return m_stateReasonData; }
/**
* <p>The reason that this alarm is set to this specific state, in JSON format.</p>
* <p>For SNS or EC2 alarm actions, this is just informational. But for EC2 Auto
* Scaling or application Auto Scaling alarm actions, the Auto Scaling policy uses
* the information in this field to take the correct action.</p>
*/
inline bool StateReasonDataHasBeenSet() const { return m_stateReasonDataHasBeenSet; }
/**
* <p>The reason that this alarm is set to this specific state, in JSON format.</p>
* <p>For SNS or EC2 alarm actions, this is just informational. But for EC2 Auto
* Scaling or application Auto Scaling alarm actions, the Auto Scaling policy uses
* the information in this field to take the correct action.</p>
*/
inline void SetStateReasonData(const Aws::String& value) { m_stateReasonDataHasBeenSet = true; m_stateReasonData = value; }
/**
* <p>The reason that this alarm is set to this specific state, in JSON format.</p>
* <p>For SNS or EC2 alarm actions, this is just informational. But for EC2 Auto
* Scaling or application Auto Scaling alarm actions, the Auto Scaling policy uses
* the information in this field to take the correct action.</p>
*/
inline void SetStateReasonData(Aws::String&& value) { m_stateReasonDataHasBeenSet = true; m_stateReasonData = std::move(value); }
/**
* <p>The reason that this alarm is set to this specific state, in JSON format.</p>
* <p>For SNS or EC2 alarm actions, this is just informational. But for EC2 Auto
* Scaling or application Auto Scaling alarm actions, the Auto Scaling policy uses
* the information in this field to take the correct action.</p>
*/
inline void SetStateReasonData(const char* value) { m_stateReasonDataHasBeenSet = true; m_stateReasonData.assign(value); }
/**
* <p>The reason that this alarm is set to this specific state, in JSON format.</p>
* <p>For SNS or EC2 alarm actions, this is just informational. But for EC2 Auto
* Scaling or application Auto Scaling alarm actions, the Auto Scaling policy uses
* the information in this field to take the correct action.</p>
*/
inline SetAlarmStateRequest& WithStateReasonData(const Aws::String& value) { SetStateReasonData(value); return *this;}
/**
* <p>The reason that this alarm is set to this specific state, in JSON format.</p>
* <p>For SNS or EC2 alarm actions, this is just informational. But for EC2 Auto
* Scaling or application Auto Scaling alarm actions, the Auto Scaling policy uses
* the information in this field to take the correct action.</p>
*/
inline SetAlarmStateRequest& WithStateReasonData(Aws::String&& value) { SetStateReasonData(std::move(value)); return *this;}
/**
* <p>The reason that this alarm is set to this specific state, in JSON format.</p>
* <p>For SNS or EC2 alarm actions, this is just informational. But for EC2 Auto
* Scaling or application Auto Scaling alarm actions, the Auto Scaling policy uses
* the information in this field to take the correct action.</p>
*/
inline SetAlarmStateRequest& WithStateReasonData(const char* value) { SetStateReasonData(value); return *this;}
private:
Aws::String m_alarmName;
bool m_alarmNameHasBeenSet;
StateValue m_stateValue;
bool m_stateValueHasBeenSet;
Aws::String m_stateReason;
bool m_stateReasonHasBeenSet;
Aws::String m_stateReasonData;
bool m_stateReasonDataHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,56 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
enum class StandardUnit
{
NOT_SET,
Seconds,
Microseconds,
Milliseconds,
Bytes,
Kilobytes,
Megabytes,
Gigabytes,
Terabytes,
Bits,
Kilobits,
Megabits,
Gigabits,
Terabits,
Percent,
Count,
Bytes_Second,
Kilobytes_Second,
Megabytes_Second,
Gigabytes_Second,
Terabytes_Second,
Bits_Second,
Kilobits_Second,
Megabits_Second,
Gigabits_Second,
Terabits_Second,
Count_Second,
None
};
namespace StandardUnitMapper
{
AWS_CLOUDWATCH_API StandardUnit GetStandardUnitForName(const Aws::String& name);
AWS_CLOUDWATCH_API Aws::String GetNameForStandardUnit(StandardUnit value);
} // namespace StandardUnitMapper
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
enum class StateValue
{
NOT_SET,
OK,
ALARM,
INSUFFICIENT_DATA
};
namespace StateValueMapper
{
AWS_CLOUDWATCH_API StateValue GetStateValueForName(const Aws::String& name);
AWS_CLOUDWATCH_API Aws::String GetNameForStateValue(StateValue value);
} // namespace StateValueMapper
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
enum class Statistic
{
NOT_SET,
SampleCount,
Average,
Sum,
Minimum,
Maximum
};
namespace StatisticMapper
{
AWS_CLOUDWATCH_API Statistic GetStatisticForName(const Aws::String& name);
AWS_CLOUDWATCH_API Aws::String GetNameForStatistic(Statistic value);
} // namespace StatisticMapper
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,141 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>Represents a set of statistics that describes a specific metric.
* </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/StatisticSet">AWS
* API Reference</a></p>
*/
class AWS_CLOUDWATCH_API StatisticSet
{
public:
StatisticSet();
StatisticSet(const Aws::Utils::Xml::XmlNode& xmlNode);
StatisticSet& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>The number of samples used for the statistic set.</p>
*/
inline double GetSampleCount() const{ return m_sampleCount; }
/**
* <p>The number of samples used for the statistic set.</p>
*/
inline bool SampleCountHasBeenSet() const { return m_sampleCountHasBeenSet; }
/**
* <p>The number of samples used for the statistic set.</p>
*/
inline void SetSampleCount(double value) { m_sampleCountHasBeenSet = true; m_sampleCount = value; }
/**
* <p>The number of samples used for the statistic set.</p>
*/
inline StatisticSet& WithSampleCount(double value) { SetSampleCount(value); return *this;}
/**
* <p>The sum of values for the sample set.</p>
*/
inline double GetSum() const{ return m_sum; }
/**
* <p>The sum of values for the sample set.</p>
*/
inline bool SumHasBeenSet() const { return m_sumHasBeenSet; }
/**
* <p>The sum of values for the sample set.</p>
*/
inline void SetSum(double value) { m_sumHasBeenSet = true; m_sum = value; }
/**
* <p>The sum of values for the sample set.</p>
*/
inline StatisticSet& WithSum(double value) { SetSum(value); return *this;}
/**
* <p>The minimum value of the sample set.</p>
*/
inline double GetMinimum() const{ return m_minimum; }
/**
* <p>The minimum value of the sample set.</p>
*/
inline bool MinimumHasBeenSet() const { return m_minimumHasBeenSet; }
/**
* <p>The minimum value of the sample set.</p>
*/
inline void SetMinimum(double value) { m_minimumHasBeenSet = true; m_minimum = value; }
/**
* <p>The minimum value of the sample set.</p>
*/
inline StatisticSet& WithMinimum(double value) { SetMinimum(value); return *this;}
/**
* <p>The maximum value of the sample set.</p>
*/
inline double GetMaximum() const{ return m_maximum; }
/**
* <p>The maximum value of the sample set.</p>
*/
inline bool MaximumHasBeenSet() const { return m_maximumHasBeenSet; }
/**
* <p>The maximum value of the sample set.</p>
*/
inline void SetMaximum(double value) { m_maximumHasBeenSet = true; m_maximum = value; }
/**
* <p>The maximum value of the sample set.</p>
*/
inline StatisticSet& WithMaximum(double value) { SetMaximum(value); return *this;}
private:
double m_sampleCount;
bool m_sampleCountHasBeenSet;
double m_sum;
bool m_sumHasBeenSet;
double m_minimum;
bool m_minimumHasBeenSet;
double m_maximum;
bool m_maximumHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
enum class StatusCode
{
NOT_SET,
Complete,
InternalError,
PartialData
};
namespace StatusCodeMapper
{
AWS_CLOUDWATCH_API StatusCode GetStatusCodeForName(const Aws::String& name);
AWS_CLOUDWATCH_API Aws::String GetNameForStatusCode(StatusCode value);
} // namespace StatusCodeMapper
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,143 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
/**
* <p>A key-value pair associated with a CloudWatch resource.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/Tag">AWS API
* Reference</a></p>
*/
class AWS_CLOUDWATCH_API Tag
{
public:
Tag();
Tag(const Aws::Utils::Xml::XmlNode& xmlNode);
Tag& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
void OutputToStream(Aws::OStream& oStream, const char* location) const;
/**
* <p>A string that you can use to assign a value. The combination of tag keys and
* values can help you organize and categorize your resources.</p>
*/
inline const Aws::String& GetKey() const{ return m_key; }
/**
* <p>A string that you can use to assign a value. The combination of tag keys and
* values can help you organize and categorize your resources.</p>
*/
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
/**
* <p>A string that you can use to assign a value. The combination of tag keys and
* values can help you organize and categorize your resources.</p>
*/
inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
/**
* <p>A string that you can use to assign a value. The combination of tag keys and
* values can help you organize and categorize your resources.</p>
*/
inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
/**
* <p>A string that you can use to assign a value. The combination of tag keys and
* values can help you organize and categorize your resources.</p>
*/
inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
/**
* <p>A string that you can use to assign a value. The combination of tag keys and
* values can help you organize and categorize your resources.</p>
*/
inline Tag& WithKey(const Aws::String& value) { SetKey(value); return *this;}
/**
* <p>A string that you can use to assign a value. The combination of tag keys and
* values can help you organize and categorize your resources.</p>
*/
inline Tag& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
/**
* <p>A string that you can use to assign a value. The combination of tag keys and
* values can help you organize and categorize your resources.</p>
*/
inline Tag& WithKey(const char* value) { SetKey(value); return *this;}
/**
* <p>The value for the specified tag key.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
/**
* <p>The value for the specified tag key.</p>
*/
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
/**
* <p>The value for the specified tag key.</p>
*/
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
/**
* <p>The value for the specified tag key.</p>
*/
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
/**
* <p>The value for the specified tag key.</p>
*/
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
/**
* <p>The value for the specified tag key.</p>
*/
inline Tag& WithValue(const Aws::String& value) { SetValue(value); return *this;}
/**
* <p>The value for the specified tag key.</p>
*/
inline Tag& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
/**
* <p>The value for the specified tag key.</p>
*/
inline Tag& WithValue(const char* value) { SetValue(value); return *this;}
private:
Aws::String m_key;
bool m_keyHasBeenSet;
Aws::String m_value;
bool m_valueHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,197 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/monitoring/model/Tag.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API TagResourceRequest : public CloudWatchRequest
{
public:
TagResourceRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "TagResource"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The ARN of the CloudWatch resource that you're adding tags to.</p> <p>The ARN
* format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline const Aws::String& GetResourceARN() const{ return m_resourceARN; }
/**
* <p>The ARN of the CloudWatch resource that you're adding tags to.</p> <p>The ARN
* format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
/**
* <p>The ARN of the CloudWatch resource that you're adding tags to.</p> <p>The ARN
* format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; }
/**
* <p>The ARN of the CloudWatch resource that you're adding tags to.</p> <p>The ARN
* format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); }
/**
* <p>The ARN of the CloudWatch resource that you're adding tags to.</p> <p>The ARN
* format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); }
/**
* <p>The ARN of the CloudWatch resource that you're adding tags to.</p> <p>The ARN
* format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline TagResourceRequest& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;}
/**
* <p>The ARN of the CloudWatch resource that you're adding tags to.</p> <p>The ARN
* format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline TagResourceRequest& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;}
/**
* <p>The ARN of the CloudWatch resource that you're adding tags to.</p> <p>The ARN
* format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline TagResourceRequest& WithResourceARN(const char* value) { SetResourceARN(value); return *this;}
/**
* <p>The list of key-value pairs to associate with the alarm.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>The list of key-value pairs to associate with the alarm.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>The list of key-value pairs to associate with the alarm.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>The list of key-value pairs to associate with the alarm.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>The list of key-value pairs to associate with the alarm.</p>
*/
inline TagResourceRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>The list of key-value pairs to associate with the alarm.</p>
*/
inline TagResourceRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>The list of key-value pairs to associate with the alarm.</p>
*/
inline TagResourceRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>The list of key-value pairs to associate with the alarm.</p>
*/
inline TagResourceRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
private:
Aws::String m_resourceARN;
bool m_resourceARNHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,57 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API TagResourceResult
{
public:
TagResourceResult();
TagResourceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
TagResourceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline TagResourceResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline TagResourceResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,201 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/CloudWatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
namespace CloudWatch
{
namespace Model
{
/**
*/
class AWS_CLOUDWATCH_API UntagResourceRequest : public CloudWatchRequest
{
public:
UntagResourceRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "UntagResource"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The ARN of the CloudWatch resource that you're removing tags from.</p> <p>The
* ARN format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline const Aws::String& GetResourceARN() const{ return m_resourceARN; }
/**
* <p>The ARN of the CloudWatch resource that you're removing tags from.</p> <p>The
* ARN format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
/**
* <p>The ARN of the CloudWatch resource that you're removing tags from.</p> <p>The
* ARN format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; }
/**
* <p>The ARN of the CloudWatch resource that you're removing tags from.</p> <p>The
* ARN format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); }
/**
* <p>The ARN of the CloudWatch resource that you're removing tags from.</p> <p>The
* ARN format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); }
/**
* <p>The ARN of the CloudWatch resource that you're removing tags from.</p> <p>The
* ARN format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline UntagResourceRequest& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;}
/**
* <p>The ARN of the CloudWatch resource that you're removing tags from.</p> <p>The
* ARN format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline UntagResourceRequest& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;}
/**
* <p>The ARN of the CloudWatch resource that you're removing tags from.</p> <p>The
* ARN format of an alarm is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:alarm:<i>alarm-name</i>
* </code> </p> <p>The ARN format of a Contributor Insights rule is
* <code>arn:aws:cloudwatch:<i>Region</i>:<i>account-id</i>:insight-rule:<i>insight-rule-name</i>
* </code> </p> <p>For more information about ARN format, see <a
* href="https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies">
* Resource Types Defined by Amazon CloudWatch</a> in the <i>Amazon Web Services
* General Reference</i>.</p>
*/
inline UntagResourceRequest& WithResourceARN(const char* value) { SetResourceARN(value); return *this;}
/**
* <p>The list of tag keys to remove from the resource.</p>
*/
inline const Aws::Vector<Aws::String>& GetTagKeys() const{ return m_tagKeys; }
/**
* <p>The list of tag keys to remove from the resource.</p>
*/
inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; }
/**
* <p>The list of tag keys to remove from the resource.</p>
*/
inline void SetTagKeys(const Aws::Vector<Aws::String>& value) { m_tagKeysHasBeenSet = true; m_tagKeys = value; }
/**
* <p>The list of tag keys to remove from the resource.</p>
*/
inline void SetTagKeys(Aws::Vector<Aws::String>&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::move(value); }
/**
* <p>The list of tag keys to remove from the resource.</p>
*/
inline UntagResourceRequest& WithTagKeys(const Aws::Vector<Aws::String>& value) { SetTagKeys(value); return *this;}
/**
* <p>The list of tag keys to remove from the resource.</p>
*/
inline UntagResourceRequest& WithTagKeys(Aws::Vector<Aws::String>&& value) { SetTagKeys(std::move(value)); return *this;}
/**
* <p>The list of tag keys to remove from the resource.</p>
*/
inline UntagResourceRequest& AddTagKeys(const Aws::String& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; }
/**
* <p>The list of tag keys to remove from the resource.</p>
*/
inline UntagResourceRequest& AddTagKeys(Aws::String&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(std::move(value)); return *this; }
/**
* <p>The list of tag keys to remove from the resource.</p>
*/
inline UntagResourceRequest& AddTagKeys(const char* value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; }
private:
Aws::String m_resourceARN;
bool m_resourceARNHasBeenSet;
Aws::Vector<Aws::String> m_tagKeys;
bool m_tagKeysHasBeenSet;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws

View File

@@ -0,0 +1,57 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/monitoring/CloudWatch_EXPORTS.h>
#include <aws/monitoring/model/ResponseMetadata.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace CloudWatch
{
namespace Model
{
class AWS_CLOUDWATCH_API UntagResourceResult
{
public:
UntagResourceResult();
UntagResourceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
UntagResourceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
inline UntagResourceResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
inline UntagResourceResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
private:
ResponseMetadata m_responseMetadata;
};
} // namespace Model
} // namespace CloudWatch
} // namespace Aws