/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace IoT { namespace Model { class DescribeCustomMetricResult { public: AWS_IOT_API DescribeCustomMetricResult(); AWS_IOT_API DescribeCustomMetricResult(const Aws::AmazonWebServiceResult& result); AWS_IOT_API DescribeCustomMetricResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The name of the custom metric.

*/ inline const Aws::String& GetMetricName() const{ return m_metricName; } /** *

The name of the custom metric.

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

The name of the custom metric.

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

The name of the custom metric.

*/ inline void SetMetricName(const char* value) { m_metricName.assign(value); } /** *

The name of the custom metric.

*/ inline DescribeCustomMetricResult& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;} /** *

The name of the custom metric.

*/ inline DescribeCustomMetricResult& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;} /** *

The name of the custom metric.

*/ inline DescribeCustomMetricResult& WithMetricName(const char* value) { SetMetricName(value); return *this;} /** *

The Amazon Resource Number (ARN) of the custom metric.

*/ inline const Aws::String& GetMetricArn() const{ return m_metricArn; } /** *

The Amazon Resource Number (ARN) of the custom metric.

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

The Amazon Resource Number (ARN) of the custom metric.

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

The Amazon Resource Number (ARN) of the custom metric.

*/ inline void SetMetricArn(const char* value) { m_metricArn.assign(value); } /** *

The Amazon Resource Number (ARN) of the custom metric.

*/ inline DescribeCustomMetricResult& WithMetricArn(const Aws::String& value) { SetMetricArn(value); return *this;} /** *

The Amazon Resource Number (ARN) of the custom metric.

*/ inline DescribeCustomMetricResult& WithMetricArn(Aws::String&& value) { SetMetricArn(std::move(value)); return *this;} /** *

The Amazon Resource Number (ARN) of the custom metric.

*/ inline DescribeCustomMetricResult& WithMetricArn(const char* value) { SetMetricArn(value); return *this;} /** *

The type of the custom metric.

The type * number only takes a single metric value as an input, but while * submitting the metrics value in the DeviceMetrics report, it must be passed as * an array with a single value.

*/ inline const CustomMetricType& GetMetricType() const{ return m_metricType; } /** *

The type of the custom metric.

The type * number only takes a single metric value as an input, but while * submitting the metrics value in the DeviceMetrics report, it must be passed as * an array with a single value.

*/ inline void SetMetricType(const CustomMetricType& value) { m_metricType = value; } /** *

The type of the custom metric.

The type * number only takes a single metric value as an input, but while * submitting the metrics value in the DeviceMetrics report, it must be passed as * an array with a single value.

*/ inline void SetMetricType(CustomMetricType&& value) { m_metricType = std::move(value); } /** *

The type of the custom metric.

The type * number only takes a single metric value as an input, but while * submitting the metrics value in the DeviceMetrics report, it must be passed as * an array with a single value.

*/ inline DescribeCustomMetricResult& WithMetricType(const CustomMetricType& value) { SetMetricType(value); return *this;} /** *

The type of the custom metric.

The type * number only takes a single metric value as an input, but while * submitting the metrics value in the DeviceMetrics report, it must be passed as * an array with a single value.

*/ inline DescribeCustomMetricResult& WithMetricType(CustomMetricType&& value) { SetMetricType(std::move(value)); return *this;} /** *

Field represents a friendly name in the console for the custom metric; * doesn't have to be unique. Don't use this name as the metric identifier in the * device metric report. Can be updated.

*/ inline const Aws::String& GetDisplayName() const{ return m_displayName; } /** *

Field represents a friendly name in the console for the custom metric; * doesn't have to be unique. Don't use this name as the metric identifier in the * device metric report. Can be updated.

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

Field represents a friendly name in the console for the custom metric; * doesn't have to be unique. Don't use this name as the metric identifier in the * device metric report. Can be updated.

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

Field represents a friendly name in the console for the custom metric; * doesn't have to be unique. Don't use this name as the metric identifier in the * device metric report. Can be updated.

*/ inline void SetDisplayName(const char* value) { m_displayName.assign(value); } /** *

Field represents a friendly name in the console for the custom metric; * doesn't have to be unique. Don't use this name as the metric identifier in the * device metric report. Can be updated.

*/ inline DescribeCustomMetricResult& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} /** *

Field represents a friendly name in the console for the custom metric; * doesn't have to be unique. Don't use this name as the metric identifier in the * device metric report. Can be updated.

*/ inline DescribeCustomMetricResult& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} /** *

Field represents a friendly name in the console for the custom metric; * doesn't have to be unique. Don't use this name as the metric identifier in the * device metric report. Can be updated.

*/ inline DescribeCustomMetricResult& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} /** *

The creation date of the custom metric in milliseconds since epoch.

*/ inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; } /** *

The creation date of the custom metric in milliseconds since epoch.

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

The creation date of the custom metric in milliseconds since epoch.

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

The creation date of the custom metric in milliseconds since epoch.

*/ inline DescribeCustomMetricResult& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;} /** *

The creation date of the custom metric in milliseconds since epoch.

*/ inline DescribeCustomMetricResult& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;} /** *

The time the custom metric was last modified in milliseconds since epoch. *

*/ inline const Aws::Utils::DateTime& GetLastModifiedDate() const{ return m_lastModifiedDate; } /** *

The time the custom metric was last modified in milliseconds since epoch. *

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

The time the custom metric was last modified in milliseconds since epoch. *

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

The time the custom metric was last modified in milliseconds since epoch. *

*/ inline DescribeCustomMetricResult& WithLastModifiedDate(const Aws::Utils::DateTime& value) { SetLastModifiedDate(value); return *this;} /** *

The time the custom metric was last modified in milliseconds since epoch. *

*/ inline DescribeCustomMetricResult& WithLastModifiedDate(Aws::Utils::DateTime&& value) { SetLastModifiedDate(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline DescribeCustomMetricResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeCustomMetricResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeCustomMetricResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_metricName; Aws::String m_metricArn; CustomMetricType m_metricType; Aws::String m_displayName; Aws::Utils::DateTime m_creationDate; Aws::Utils::DateTime m_lastModifiedDate; Aws::String m_requestId; }; } // namespace Model } // namespace IoT } // namespace Aws