1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/sagemaker/SageMaker_EXPORTS.h>
8 #include <aws/sagemaker/model/AutoMLMetricEnum.h>
9 #include <aws/sagemaker/model/MetricSetSource.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace SageMaker
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Information about the metric for a candidate produced by an AutoML
29    * job.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/MetricDatum">AWS
31    * API Reference</a></p>
32    */
33   class AWS_SAGEMAKER_API MetricDatum
34   {
35   public:
36     MetricDatum();
37     MetricDatum(Aws::Utils::Json::JsonView jsonValue);
38     MetricDatum& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The name of the metric.</p>
44      */
GetMetricName()45     inline const AutoMLMetricEnum& GetMetricName() const{ return m_metricName; }
46 
47     /**
48      * <p>The name of the metric.</p>
49      */
MetricNameHasBeenSet()50     inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; }
51 
52     /**
53      * <p>The name of the metric.</p>
54      */
SetMetricName(const AutoMLMetricEnum & value)55     inline void SetMetricName(const AutoMLMetricEnum& value) { m_metricNameHasBeenSet = true; m_metricName = value; }
56 
57     /**
58      * <p>The name of the metric.</p>
59      */
SetMetricName(AutoMLMetricEnum && value)60     inline void SetMetricName(AutoMLMetricEnum&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); }
61 
62     /**
63      * <p>The name of the metric.</p>
64      */
WithMetricName(const AutoMLMetricEnum & value)65     inline MetricDatum& WithMetricName(const AutoMLMetricEnum& value) { SetMetricName(value); return *this;}
66 
67     /**
68      * <p>The name of the metric.</p>
69      */
WithMetricName(AutoMLMetricEnum && value)70     inline MetricDatum& WithMetricName(AutoMLMetricEnum&& value) { SetMetricName(std::move(value)); return *this;}
71 
72 
73     /**
74      * <p>The value of the metric.</p>
75      */
GetValue()76     inline double GetValue() const{ return m_value; }
77 
78     /**
79      * <p>The value of the metric.</p>
80      */
ValueHasBeenSet()81     inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
82 
83     /**
84      * <p>The value of the metric.</p>
85      */
SetValue(double value)86     inline void SetValue(double value) { m_valueHasBeenSet = true; m_value = value; }
87 
88     /**
89      * <p>The value of the metric.</p>
90      */
WithValue(double value)91     inline MetricDatum& WithValue(double value) { SetValue(value); return *this;}
92 
93 
94     /**
95      * <p>The dataset split from which the AutoML job produced the metric.</p>
96      */
GetSet()97     inline const MetricSetSource& GetSet() const{ return m_set; }
98 
99     /**
100      * <p>The dataset split from which the AutoML job produced the metric.</p>
101      */
SetHasBeenSet()102     inline bool SetHasBeenSet() const { return m_setHasBeenSet; }
103 
104     /**
105      * <p>The dataset split from which the AutoML job produced the metric.</p>
106      */
SetSet(const MetricSetSource & value)107     inline void SetSet(const MetricSetSource& value) { m_setHasBeenSet = true; m_set = value; }
108 
109     /**
110      * <p>The dataset split from which the AutoML job produced the metric.</p>
111      */
SetSet(MetricSetSource && value)112     inline void SetSet(MetricSetSource&& value) { m_setHasBeenSet = true; m_set = std::move(value); }
113 
114     /**
115      * <p>The dataset split from which the AutoML job produced the metric.</p>
116      */
WithSet(const MetricSetSource & value)117     inline MetricDatum& WithSet(const MetricSetSource& value) { SetSet(value); return *this;}
118 
119     /**
120      * <p>The dataset split from which the AutoML job produced the metric.</p>
121      */
WithSet(MetricSetSource && value)122     inline MetricDatum& WithSet(MetricSetSource&& value) { SetSet(std::move(value)); return *this;}
123 
124   private:
125 
126     AutoMLMetricEnum m_metricName;
127     bool m_metricNameHasBeenSet;
128 
129     double m_value;
130     bool m_valueHasBeenSet;
131 
132     MetricSetSource m_set;
133     bool m_setHasBeenSet;
134   };
135 
136 } // namespace Model
137 } // namespace SageMaker
138 } // namespace Aws
139