/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace CloudWatch { namespace Model { /** */ class PutMetricDataRequest : public CloudWatchRequest { public: AWS_CLOUDWATCH_API 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_CLOUDWATCH_API Aws::String SerializePayload() const override; protected: AWS_CLOUDWATCH_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The namespace for the metric data. You can use ASCII characters for the * namespace, except for control characters which are not supported.

To * avoid conflicts with Amazon Web Services service namespaces, you should not * specify a namespace that begins with AWS/

*/ inline const Aws::String& GetNamespace() const{ return m_namespace; } /** *

The namespace for the metric data. You can use ASCII characters for the * namespace, except for control characters which are not supported.

To * avoid conflicts with Amazon Web Services service namespaces, you should not * specify a namespace that begins with AWS/

*/ inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; } /** *

The namespace for the metric data. You can use ASCII characters for the * namespace, except for control characters which are not supported.

To * avoid conflicts with Amazon Web Services service namespaces, you should not * specify a namespace that begins with AWS/

*/ inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; } /** *

The namespace for the metric data. You can use ASCII characters for the * namespace, except for control characters which are not supported.

To * avoid conflicts with Amazon Web Services service namespaces, you should not * specify a namespace that begins with AWS/

*/ inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); } /** *

The namespace for the metric data. You can use ASCII characters for the * namespace, except for control characters which are not supported.

To * avoid conflicts with Amazon Web Services service namespaces, you should not * specify a namespace that begins with AWS/

*/ inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); } /** *

The namespace for the metric data. You can use ASCII characters for the * namespace, except for control characters which are not supported.

To * avoid conflicts with Amazon Web Services service namespaces, you should not * specify a namespace that begins with AWS/

*/ inline PutMetricDataRequest& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;} /** *

The namespace for the metric data. You can use ASCII characters for the * namespace, except for control characters which are not supported.

To * avoid conflicts with Amazon Web Services service namespaces, you should not * specify a namespace that begins with AWS/

*/ inline PutMetricDataRequest& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;} /** *

The namespace for the metric data. You can use ASCII characters for the * namespace, except for control characters which are not supported.

To * avoid conflicts with Amazon Web Services service namespaces, you should not * specify a namespace that begins with AWS/

*/ inline PutMetricDataRequest& WithNamespace(const char* value) { SetNamespace(value); return *this;} /** *

The data for the metric. The array can include no more than 1000 metrics per * call.

*/ inline const Aws::Vector& GetMetricData() const{ return m_metricData; } /** *

The data for the metric. The array can include no more than 1000 metrics per * call.

*/ inline bool MetricDataHasBeenSet() const { return m_metricDataHasBeenSet; } /** *

The data for the metric. The array can include no more than 1000 metrics per * call.

*/ inline void SetMetricData(const Aws::Vector& value) { m_metricDataHasBeenSet = true; m_metricData = value; } /** *

The data for the metric. The array can include no more than 1000 metrics per * call.

*/ inline void SetMetricData(Aws::Vector&& value) { m_metricDataHasBeenSet = true; m_metricData = std::move(value); } /** *

The data for the metric. The array can include no more than 1000 metrics per * call.

*/ inline PutMetricDataRequest& WithMetricData(const Aws::Vector& value) { SetMetricData(value); return *this;} /** *

The data for the metric. The array can include no more than 1000 metrics per * call.

*/ inline PutMetricDataRequest& WithMetricData(Aws::Vector&& value) { SetMetricData(std::move(value)); return *this;} /** *

The data for the metric. The array can include no more than 1000 metrics per * call.

*/ inline PutMetricDataRequest& AddMetricData(const MetricDatum& value) { m_metricDataHasBeenSet = true; m_metricData.push_back(value); return *this; } /** *

The data for the metric. The array can include no more than 1000 metrics per * call.

*/ 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 = false; Aws::Vector m_metricData; bool m_metricDataHasBeenSet = false; }; } // namespace Model } // namespace CloudWatch } // namespace Aws