/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CodeGuruProfiler { namespace Model { /** *

Information about a frame metric and its values.

See Also:

* AWS * API Reference

*/ class FrameMetricDatum { public: AWS_CODEGURUPROFILER_API FrameMetricDatum(); AWS_CODEGURUPROFILER_API FrameMetricDatum(Aws::Utils::Json::JsonView jsonValue); AWS_CODEGURUPROFILER_API FrameMetricDatum& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CODEGURUPROFILER_API Aws::Utils::Json::JsonValue Jsonize() const; inline const FrameMetric& GetFrameMetric() const{ return m_frameMetric; } inline bool FrameMetricHasBeenSet() const { return m_frameMetricHasBeenSet; } inline void SetFrameMetric(const FrameMetric& value) { m_frameMetricHasBeenSet = true; m_frameMetric = value; } inline void SetFrameMetric(FrameMetric&& value) { m_frameMetricHasBeenSet = true; m_frameMetric = std::move(value); } inline FrameMetricDatum& WithFrameMetric(const FrameMetric& value) { SetFrameMetric(value); return *this;} inline FrameMetricDatum& WithFrameMetric(FrameMetric&& value) { SetFrameMetric(std::move(value)); return *this;} /** *

A list of values that are associated with a frame metric.

*/ inline const Aws::Vector& GetValues() const{ return m_values; } /** *

A list of values that are associated with a frame metric.

*/ inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } /** *

A list of values that are associated with a frame metric.

*/ inline void SetValues(const Aws::Vector& value) { m_valuesHasBeenSet = true; m_values = value; } /** *

A list of values that are associated with a frame metric.

*/ inline void SetValues(Aws::Vector&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); } /** *

A list of values that are associated with a frame metric.

*/ inline FrameMetricDatum& WithValues(const Aws::Vector& value) { SetValues(value); return *this;} /** *

A list of values that are associated with a frame metric.

*/ inline FrameMetricDatum& WithValues(Aws::Vector&& value) { SetValues(std::move(value)); return *this;} /** *

A list of values that are associated with a frame metric.

*/ inline FrameMetricDatum& AddValues(double value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } private: FrameMetric m_frameMetric; bool m_frameMetricHasBeenSet = false; Aws::Vector m_values; bool m_valuesHasBeenSet = false; }; } // namespace Model } // namespace CodeGuruProfiler } // namespace Aws