/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace LookoutMetrics { namespace Model { /** */ class CreateMetricSetRequest : public LookoutMetricsRequest { public: AWS_LOOKOUTMETRICS_API CreateMetricSetRequest(); // 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 "CreateMetricSet"; } AWS_LOOKOUTMETRICS_API Aws::String SerializePayload() const override; /** *

The ARN of the anomaly detector that will use the dataset.

*/ inline const Aws::String& GetAnomalyDetectorArn() const{ return m_anomalyDetectorArn; } /** *

The ARN of the anomaly detector that will use the dataset.

*/ inline bool AnomalyDetectorArnHasBeenSet() const { return m_anomalyDetectorArnHasBeenSet; } /** *

The ARN of the anomaly detector that will use the dataset.

*/ inline void SetAnomalyDetectorArn(const Aws::String& value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn = value; } /** *

The ARN of the anomaly detector that will use the dataset.

*/ inline void SetAnomalyDetectorArn(Aws::String&& value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn = std::move(value); } /** *

The ARN of the anomaly detector that will use the dataset.

*/ inline void SetAnomalyDetectorArn(const char* value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn.assign(value); } /** *

The ARN of the anomaly detector that will use the dataset.

*/ inline CreateMetricSetRequest& WithAnomalyDetectorArn(const Aws::String& value) { SetAnomalyDetectorArn(value); return *this;} /** *

The ARN of the anomaly detector that will use the dataset.

*/ inline CreateMetricSetRequest& WithAnomalyDetectorArn(Aws::String&& value) { SetAnomalyDetectorArn(std::move(value)); return *this;} /** *

The ARN of the anomaly detector that will use the dataset.

*/ inline CreateMetricSetRequest& WithAnomalyDetectorArn(const char* value) { SetAnomalyDetectorArn(value); return *this;} /** *

The name of the dataset.

*/ inline const Aws::String& GetMetricSetName() const{ return m_metricSetName; } /** *

The name of the dataset.

*/ inline bool MetricSetNameHasBeenSet() const { return m_metricSetNameHasBeenSet; } /** *

The name of the dataset.

*/ inline void SetMetricSetName(const Aws::String& value) { m_metricSetNameHasBeenSet = true; m_metricSetName = value; } /** *

The name of the dataset.

*/ inline void SetMetricSetName(Aws::String&& value) { m_metricSetNameHasBeenSet = true; m_metricSetName = std::move(value); } /** *

The name of the dataset.

*/ inline void SetMetricSetName(const char* value) { m_metricSetNameHasBeenSet = true; m_metricSetName.assign(value); } /** *

The name of the dataset.

*/ inline CreateMetricSetRequest& WithMetricSetName(const Aws::String& value) { SetMetricSetName(value); return *this;} /** *

The name of the dataset.

*/ inline CreateMetricSetRequest& WithMetricSetName(Aws::String&& value) { SetMetricSetName(std::move(value)); return *this;} /** *

The name of the dataset.

*/ inline CreateMetricSetRequest& WithMetricSetName(const char* value) { SetMetricSetName(value); return *this;} /** *

A description of the dataset you are creating.

*/ inline const Aws::String& GetMetricSetDescription() const{ return m_metricSetDescription; } /** *

A description of the dataset you are creating.

*/ inline bool MetricSetDescriptionHasBeenSet() const { return m_metricSetDescriptionHasBeenSet; } /** *

A description of the dataset you are creating.

*/ inline void SetMetricSetDescription(const Aws::String& value) { m_metricSetDescriptionHasBeenSet = true; m_metricSetDescription = value; } /** *

A description of the dataset you are creating.

*/ inline void SetMetricSetDescription(Aws::String&& value) { m_metricSetDescriptionHasBeenSet = true; m_metricSetDescription = std::move(value); } /** *

A description of the dataset you are creating.

*/ inline void SetMetricSetDescription(const char* value) { m_metricSetDescriptionHasBeenSet = true; m_metricSetDescription.assign(value); } /** *

A description of the dataset you are creating.

*/ inline CreateMetricSetRequest& WithMetricSetDescription(const Aws::String& value) { SetMetricSetDescription(value); return *this;} /** *

A description of the dataset you are creating.

*/ inline CreateMetricSetRequest& WithMetricSetDescription(Aws::String&& value) { SetMetricSetDescription(std::move(value)); return *this;} /** *

A description of the dataset you are creating.

*/ inline CreateMetricSetRequest& WithMetricSetDescription(const char* value) { SetMetricSetDescription(value); return *this;} /** *

A list of metrics that the dataset will contain.

*/ inline const Aws::Vector& GetMetricList() const{ return m_metricList; } /** *

A list of metrics that the dataset will contain.

*/ inline bool MetricListHasBeenSet() const { return m_metricListHasBeenSet; } /** *

A list of metrics that the dataset will contain.

*/ inline void SetMetricList(const Aws::Vector& value) { m_metricListHasBeenSet = true; m_metricList = value; } /** *

A list of metrics that the dataset will contain.

*/ inline void SetMetricList(Aws::Vector&& value) { m_metricListHasBeenSet = true; m_metricList = std::move(value); } /** *

A list of metrics that the dataset will contain.

*/ inline CreateMetricSetRequest& WithMetricList(const Aws::Vector& value) { SetMetricList(value); return *this;} /** *

A list of metrics that the dataset will contain.

*/ inline CreateMetricSetRequest& WithMetricList(Aws::Vector&& value) { SetMetricList(std::move(value)); return *this;} /** *

A list of metrics that the dataset will contain.

*/ inline CreateMetricSetRequest& AddMetricList(const Metric& value) { m_metricListHasBeenSet = true; m_metricList.push_back(value); return *this; } /** *

A list of metrics that the dataset will contain.

*/ inline CreateMetricSetRequest& AddMetricList(Metric&& value) { m_metricListHasBeenSet = true; m_metricList.push_back(std::move(value)); return *this; } /** *

After an interval ends, the amount of seconds that the detector waits before * importing data. Offset is only supported for S3, Redshift, Athena and * datasources.

*/ inline int GetOffset() const{ return m_offset; } /** *

After an interval ends, the amount of seconds that the detector waits before * importing data. Offset is only supported for S3, Redshift, Athena and * datasources.

*/ inline bool OffsetHasBeenSet() const { return m_offsetHasBeenSet; } /** *

After an interval ends, the amount of seconds that the detector waits before * importing data. Offset is only supported for S3, Redshift, Athena and * datasources.

*/ inline void SetOffset(int value) { m_offsetHasBeenSet = true; m_offset = value; } /** *

After an interval ends, the amount of seconds that the detector waits before * importing data. Offset is only supported for S3, Redshift, Athena and * datasources.

*/ inline CreateMetricSetRequest& WithOffset(int value) { SetOffset(value); return *this;} /** *

Contains information about the column used for tracking time in your source * data.

*/ inline const TimestampColumn& GetTimestampColumn() const{ return m_timestampColumn; } /** *

Contains information about the column used for tracking time in your source * data.

*/ inline bool TimestampColumnHasBeenSet() const { return m_timestampColumnHasBeenSet; } /** *

Contains information about the column used for tracking time in your source * data.

*/ inline void SetTimestampColumn(const TimestampColumn& value) { m_timestampColumnHasBeenSet = true; m_timestampColumn = value; } /** *

Contains information about the column used for tracking time in your source * data.

*/ inline void SetTimestampColumn(TimestampColumn&& value) { m_timestampColumnHasBeenSet = true; m_timestampColumn = std::move(value); } /** *

Contains information about the column used for tracking time in your source * data.

*/ inline CreateMetricSetRequest& WithTimestampColumn(const TimestampColumn& value) { SetTimestampColumn(value); return *this;} /** *

Contains information about the column used for tracking time in your source * data.

*/ inline CreateMetricSetRequest& WithTimestampColumn(TimestampColumn&& value) { SetTimestampColumn(std::move(value)); return *this;} /** *

A list of the fields you want to treat as dimensions.

*/ inline const Aws::Vector& GetDimensionList() const{ return m_dimensionList; } /** *

A list of the fields you want to treat as dimensions.

*/ inline bool DimensionListHasBeenSet() const { return m_dimensionListHasBeenSet; } /** *

A list of the fields you want to treat as dimensions.

*/ inline void SetDimensionList(const Aws::Vector& value) { m_dimensionListHasBeenSet = true; m_dimensionList = value; } /** *

A list of the fields you want to treat as dimensions.

*/ inline void SetDimensionList(Aws::Vector&& value) { m_dimensionListHasBeenSet = true; m_dimensionList = std::move(value); } /** *

A list of the fields you want to treat as dimensions.

*/ inline CreateMetricSetRequest& WithDimensionList(const Aws::Vector& value) { SetDimensionList(value); return *this;} /** *

A list of the fields you want to treat as dimensions.

*/ inline CreateMetricSetRequest& WithDimensionList(Aws::Vector&& value) { SetDimensionList(std::move(value)); return *this;} /** *

A list of the fields you want to treat as dimensions.

*/ inline CreateMetricSetRequest& AddDimensionList(const Aws::String& value) { m_dimensionListHasBeenSet = true; m_dimensionList.push_back(value); return *this; } /** *

A list of the fields you want to treat as dimensions.

*/ inline CreateMetricSetRequest& AddDimensionList(Aws::String&& value) { m_dimensionListHasBeenSet = true; m_dimensionList.push_back(std::move(value)); return *this; } /** *

A list of the fields you want to treat as dimensions.

*/ inline CreateMetricSetRequest& AddDimensionList(const char* value) { m_dimensionListHasBeenSet = true; m_dimensionList.push_back(value); return *this; } /** *

The frequency with which the source data will be analyzed for anomalies.

*/ inline const Frequency& GetMetricSetFrequency() const{ return m_metricSetFrequency; } /** *

The frequency with which the source data will be analyzed for anomalies.

*/ inline bool MetricSetFrequencyHasBeenSet() const { return m_metricSetFrequencyHasBeenSet; } /** *

The frequency with which the source data will be analyzed for anomalies.

*/ inline void SetMetricSetFrequency(const Frequency& value) { m_metricSetFrequencyHasBeenSet = true; m_metricSetFrequency = value; } /** *

The frequency with which the source data will be analyzed for anomalies.

*/ inline void SetMetricSetFrequency(Frequency&& value) { m_metricSetFrequencyHasBeenSet = true; m_metricSetFrequency = std::move(value); } /** *

The frequency with which the source data will be analyzed for anomalies.

*/ inline CreateMetricSetRequest& WithMetricSetFrequency(const Frequency& value) { SetMetricSetFrequency(value); return *this;} /** *

The frequency with which the source data will be analyzed for anomalies.

*/ inline CreateMetricSetRequest& WithMetricSetFrequency(Frequency&& value) { SetMetricSetFrequency(std::move(value)); return *this;} /** *

Contains information about how the source data should be interpreted.

*/ inline const MetricSource& GetMetricSource() const{ return m_metricSource; } /** *

Contains information about how the source data should be interpreted.

*/ inline bool MetricSourceHasBeenSet() const { return m_metricSourceHasBeenSet; } /** *

Contains information about how the source data should be interpreted.

*/ inline void SetMetricSource(const MetricSource& value) { m_metricSourceHasBeenSet = true; m_metricSource = value; } /** *

Contains information about how the source data should be interpreted.

*/ inline void SetMetricSource(MetricSource&& value) { m_metricSourceHasBeenSet = true; m_metricSource = std::move(value); } /** *

Contains information about how the source data should be interpreted.

*/ inline CreateMetricSetRequest& WithMetricSource(const MetricSource& value) { SetMetricSource(value); return *this;} /** *

Contains information about how the source data should be interpreted.

*/ inline CreateMetricSetRequest& WithMetricSource(MetricSource&& value) { SetMetricSource(std::move(value)); return *this;} /** *

The time zone in which your source data was recorded.

*/ inline const Aws::String& GetTimezone() const{ return m_timezone; } /** *

The time zone in which your source data was recorded.

*/ inline bool TimezoneHasBeenSet() const { return m_timezoneHasBeenSet; } /** *

The time zone in which your source data was recorded.

*/ inline void SetTimezone(const Aws::String& value) { m_timezoneHasBeenSet = true; m_timezone = value; } /** *

The time zone in which your source data was recorded.

*/ inline void SetTimezone(Aws::String&& value) { m_timezoneHasBeenSet = true; m_timezone = std::move(value); } /** *

The time zone in which your source data was recorded.

*/ inline void SetTimezone(const char* value) { m_timezoneHasBeenSet = true; m_timezone.assign(value); } /** *

The time zone in which your source data was recorded.

*/ inline CreateMetricSetRequest& WithTimezone(const Aws::String& value) { SetTimezone(value); return *this;} /** *

The time zone in which your source data was recorded.

*/ inline CreateMetricSetRequest& WithTimezone(Aws::String&& value) { SetTimezone(std::move(value)); return *this;} /** *

The time zone in which your source data was recorded.

*/ inline CreateMetricSetRequest& WithTimezone(const char* value) { SetTimezone(value); return *this;} /** *

A list of tags * to apply to the dataset.

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

A list of tags * to apply to the dataset.

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

A list of tags * to apply to the dataset.

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

A list of tags * to apply to the dataset.

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

A list of tags * to apply to the dataset.

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

A list of tags * to apply to the dataset.

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

A list of tags * to apply to the dataset.

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

A list of tags * to apply to the dataset.

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

A list of tags * to apply to the dataset.

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

A list of tags * to apply to the dataset.

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

A list of tags * to apply to the dataset.

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

A list of tags * to apply to the dataset.

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

A list of tags * to apply to the dataset.

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

A list of filters that specify which data is kept for anomaly detection.

*/ inline const Aws::Vector& GetDimensionFilterList() const{ return m_dimensionFilterList; } /** *

A list of filters that specify which data is kept for anomaly detection.

*/ inline bool DimensionFilterListHasBeenSet() const { return m_dimensionFilterListHasBeenSet; } /** *

A list of filters that specify which data is kept for anomaly detection.

*/ inline void SetDimensionFilterList(const Aws::Vector& value) { m_dimensionFilterListHasBeenSet = true; m_dimensionFilterList = value; } /** *

A list of filters that specify which data is kept for anomaly detection.

*/ inline void SetDimensionFilterList(Aws::Vector&& value) { m_dimensionFilterListHasBeenSet = true; m_dimensionFilterList = std::move(value); } /** *

A list of filters that specify which data is kept for anomaly detection.

*/ inline CreateMetricSetRequest& WithDimensionFilterList(const Aws::Vector& value) { SetDimensionFilterList(value); return *this;} /** *

A list of filters that specify which data is kept for anomaly detection.

*/ inline CreateMetricSetRequest& WithDimensionFilterList(Aws::Vector&& value) { SetDimensionFilterList(std::move(value)); return *this;} /** *

A list of filters that specify which data is kept for anomaly detection.

*/ inline CreateMetricSetRequest& AddDimensionFilterList(const MetricSetDimensionFilter& value) { m_dimensionFilterListHasBeenSet = true; m_dimensionFilterList.push_back(value); return *this; } /** *

A list of filters that specify which data is kept for anomaly detection.

*/ inline CreateMetricSetRequest& AddDimensionFilterList(MetricSetDimensionFilter&& value) { m_dimensionFilterListHasBeenSet = true; m_dimensionFilterList.push_back(std::move(value)); return *this; } private: Aws::String m_anomalyDetectorArn; bool m_anomalyDetectorArnHasBeenSet = false; Aws::String m_metricSetName; bool m_metricSetNameHasBeenSet = false; Aws::String m_metricSetDescription; bool m_metricSetDescriptionHasBeenSet = false; Aws::Vector m_metricList; bool m_metricListHasBeenSet = false; int m_offset; bool m_offsetHasBeenSet = false; TimestampColumn m_timestampColumn; bool m_timestampColumnHasBeenSet = false; Aws::Vector m_dimensionList; bool m_dimensionListHasBeenSet = false; Frequency m_metricSetFrequency; bool m_metricSetFrequencyHasBeenSet = false; MetricSource m_metricSource; bool m_metricSourceHasBeenSet = false; Aws::String m_timezone; bool m_timezoneHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; Aws::Vector m_dimensionFilterList; bool m_dimensionFilterListHasBeenSet = false; }; } // namespace Model } // namespace LookoutMetrics } // namespace Aws