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/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/DateTime.h>
10 #include <aws/sagemaker/model/ModelQualityBaselineConfig.h>
11 #include <aws/sagemaker/model/ModelQualityAppSpecification.h>
12 #include <aws/sagemaker/model/ModelQualityJobInput.h>
13 #include <aws/sagemaker/model/MonitoringOutputConfig.h>
14 #include <aws/sagemaker/model/MonitoringResources.h>
15 #include <aws/sagemaker/model/MonitoringNetworkConfig.h>
16 #include <aws/sagemaker/model/MonitoringStoppingCondition.h>
17 #include <utility>
18 
19 namespace Aws
20 {
21 template<typename RESULT_TYPE>
22 class AmazonWebServiceResult;
23 
24 namespace Utils
25 {
26 namespace Json
27 {
28   class JsonValue;
29 } // namespace Json
30 } // namespace Utils
31 namespace SageMaker
32 {
33 namespace Model
34 {
35   class AWS_SAGEMAKER_API DescribeModelQualityJobDefinitionResult
36   {
37   public:
38     DescribeModelQualityJobDefinitionResult();
39     DescribeModelQualityJobDefinitionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
40     DescribeModelQualityJobDefinitionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
41 
42 
43     /**
44      * <p>The Amazon Resource Name (ARN) of the model quality job.</p>
45      */
GetJobDefinitionArn()46     inline const Aws::String& GetJobDefinitionArn() const{ return m_jobDefinitionArn; }
47 
48     /**
49      * <p>The Amazon Resource Name (ARN) of the model quality job.</p>
50      */
SetJobDefinitionArn(const Aws::String & value)51     inline void SetJobDefinitionArn(const Aws::String& value) { m_jobDefinitionArn = value; }
52 
53     /**
54      * <p>The Amazon Resource Name (ARN) of the model quality job.</p>
55      */
SetJobDefinitionArn(Aws::String && value)56     inline void SetJobDefinitionArn(Aws::String&& value) { m_jobDefinitionArn = std::move(value); }
57 
58     /**
59      * <p>The Amazon Resource Name (ARN) of the model quality job.</p>
60      */
SetJobDefinitionArn(const char * value)61     inline void SetJobDefinitionArn(const char* value) { m_jobDefinitionArn.assign(value); }
62 
63     /**
64      * <p>The Amazon Resource Name (ARN) of the model quality job.</p>
65      */
WithJobDefinitionArn(const Aws::String & value)66     inline DescribeModelQualityJobDefinitionResult& WithJobDefinitionArn(const Aws::String& value) { SetJobDefinitionArn(value); return *this;}
67 
68     /**
69      * <p>The Amazon Resource Name (ARN) of the model quality job.</p>
70      */
WithJobDefinitionArn(Aws::String && value)71     inline DescribeModelQualityJobDefinitionResult& WithJobDefinitionArn(Aws::String&& value) { SetJobDefinitionArn(std::move(value)); return *this;}
72 
73     /**
74      * <p>The Amazon Resource Name (ARN) of the model quality job.</p>
75      */
WithJobDefinitionArn(const char * value)76     inline DescribeModelQualityJobDefinitionResult& WithJobDefinitionArn(const char* value) { SetJobDefinitionArn(value); return *this;}
77 
78 
79     /**
80      * <p>The name of the quality job definition. The name must be unique within an
81      * Amazon Web Services Region in the Amazon Web Services account.</p>
82      */
GetJobDefinitionName()83     inline const Aws::String& GetJobDefinitionName() const{ return m_jobDefinitionName; }
84 
85     /**
86      * <p>The name of the quality job definition. The name must be unique within an
87      * Amazon Web Services Region in the Amazon Web Services account.</p>
88      */
SetJobDefinitionName(const Aws::String & value)89     inline void SetJobDefinitionName(const Aws::String& value) { m_jobDefinitionName = value; }
90 
91     /**
92      * <p>The name of the quality job definition. The name must be unique within an
93      * Amazon Web Services Region in the Amazon Web Services account.</p>
94      */
SetJobDefinitionName(Aws::String && value)95     inline void SetJobDefinitionName(Aws::String&& value) { m_jobDefinitionName = std::move(value); }
96 
97     /**
98      * <p>The name of the quality job definition. The name must be unique within an
99      * Amazon Web Services Region in the Amazon Web Services account.</p>
100      */
SetJobDefinitionName(const char * value)101     inline void SetJobDefinitionName(const char* value) { m_jobDefinitionName.assign(value); }
102 
103     /**
104      * <p>The name of the quality job definition. The name must be unique within an
105      * Amazon Web Services Region in the Amazon Web Services account.</p>
106      */
WithJobDefinitionName(const Aws::String & value)107     inline DescribeModelQualityJobDefinitionResult& WithJobDefinitionName(const Aws::String& value) { SetJobDefinitionName(value); return *this;}
108 
109     /**
110      * <p>The name of the quality job definition. The name must be unique within an
111      * Amazon Web Services Region in the Amazon Web Services account.</p>
112      */
WithJobDefinitionName(Aws::String && value)113     inline DescribeModelQualityJobDefinitionResult& WithJobDefinitionName(Aws::String&& value) { SetJobDefinitionName(std::move(value)); return *this;}
114 
115     /**
116      * <p>The name of the quality job definition. The name must be unique within an
117      * Amazon Web Services Region in the Amazon Web Services account.</p>
118      */
WithJobDefinitionName(const char * value)119     inline DescribeModelQualityJobDefinitionResult& WithJobDefinitionName(const char* value) { SetJobDefinitionName(value); return *this;}
120 
121 
122     /**
123      * <p>The time at which the model quality job was created.</p>
124      */
GetCreationTime()125     inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; }
126 
127     /**
128      * <p>The time at which the model quality job was created.</p>
129      */
SetCreationTime(const Aws::Utils::DateTime & value)130     inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTime = value; }
131 
132     /**
133      * <p>The time at which the model quality job was created.</p>
134      */
SetCreationTime(Aws::Utils::DateTime && value)135     inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTime = std::move(value); }
136 
137     /**
138      * <p>The time at which the model quality job was created.</p>
139      */
WithCreationTime(const Aws::Utils::DateTime & value)140     inline DescribeModelQualityJobDefinitionResult& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;}
141 
142     /**
143      * <p>The time at which the model quality job was created.</p>
144      */
WithCreationTime(Aws::Utils::DateTime && value)145     inline DescribeModelQualityJobDefinitionResult& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;}
146 
147 
148     /**
149      * <p>The baseline configuration for a model quality job.</p>
150      */
GetModelQualityBaselineConfig()151     inline const ModelQualityBaselineConfig& GetModelQualityBaselineConfig() const{ return m_modelQualityBaselineConfig; }
152 
153     /**
154      * <p>The baseline configuration for a model quality job.</p>
155      */
SetModelQualityBaselineConfig(const ModelQualityBaselineConfig & value)156     inline void SetModelQualityBaselineConfig(const ModelQualityBaselineConfig& value) { m_modelQualityBaselineConfig = value; }
157 
158     /**
159      * <p>The baseline configuration for a model quality job.</p>
160      */
SetModelQualityBaselineConfig(ModelQualityBaselineConfig && value)161     inline void SetModelQualityBaselineConfig(ModelQualityBaselineConfig&& value) { m_modelQualityBaselineConfig = std::move(value); }
162 
163     /**
164      * <p>The baseline configuration for a model quality job.</p>
165      */
WithModelQualityBaselineConfig(const ModelQualityBaselineConfig & value)166     inline DescribeModelQualityJobDefinitionResult& WithModelQualityBaselineConfig(const ModelQualityBaselineConfig& value) { SetModelQualityBaselineConfig(value); return *this;}
167 
168     /**
169      * <p>The baseline configuration for a model quality job.</p>
170      */
WithModelQualityBaselineConfig(ModelQualityBaselineConfig && value)171     inline DescribeModelQualityJobDefinitionResult& WithModelQualityBaselineConfig(ModelQualityBaselineConfig&& value) { SetModelQualityBaselineConfig(std::move(value)); return *this;}
172 
173 
174     /**
175      * <p>Configures the model quality job to run a specified Docker container
176      * image.</p>
177      */
GetModelQualityAppSpecification()178     inline const ModelQualityAppSpecification& GetModelQualityAppSpecification() const{ return m_modelQualityAppSpecification; }
179 
180     /**
181      * <p>Configures the model quality job to run a specified Docker container
182      * image.</p>
183      */
SetModelQualityAppSpecification(const ModelQualityAppSpecification & value)184     inline void SetModelQualityAppSpecification(const ModelQualityAppSpecification& value) { m_modelQualityAppSpecification = value; }
185 
186     /**
187      * <p>Configures the model quality job to run a specified Docker container
188      * image.</p>
189      */
SetModelQualityAppSpecification(ModelQualityAppSpecification && value)190     inline void SetModelQualityAppSpecification(ModelQualityAppSpecification&& value) { m_modelQualityAppSpecification = std::move(value); }
191 
192     /**
193      * <p>Configures the model quality job to run a specified Docker container
194      * image.</p>
195      */
WithModelQualityAppSpecification(const ModelQualityAppSpecification & value)196     inline DescribeModelQualityJobDefinitionResult& WithModelQualityAppSpecification(const ModelQualityAppSpecification& value) { SetModelQualityAppSpecification(value); return *this;}
197 
198     /**
199      * <p>Configures the model quality job to run a specified Docker container
200      * image.</p>
201      */
WithModelQualityAppSpecification(ModelQualityAppSpecification && value)202     inline DescribeModelQualityJobDefinitionResult& WithModelQualityAppSpecification(ModelQualityAppSpecification&& value) { SetModelQualityAppSpecification(std::move(value)); return *this;}
203 
204 
205     /**
206      * <p>Inputs for the model quality job.</p>
207      */
GetModelQualityJobInput()208     inline const ModelQualityJobInput& GetModelQualityJobInput() const{ return m_modelQualityJobInput; }
209 
210     /**
211      * <p>Inputs for the model quality job.</p>
212      */
SetModelQualityJobInput(const ModelQualityJobInput & value)213     inline void SetModelQualityJobInput(const ModelQualityJobInput& value) { m_modelQualityJobInput = value; }
214 
215     /**
216      * <p>Inputs for the model quality job.</p>
217      */
SetModelQualityJobInput(ModelQualityJobInput && value)218     inline void SetModelQualityJobInput(ModelQualityJobInput&& value) { m_modelQualityJobInput = std::move(value); }
219 
220     /**
221      * <p>Inputs for the model quality job.</p>
222      */
WithModelQualityJobInput(const ModelQualityJobInput & value)223     inline DescribeModelQualityJobDefinitionResult& WithModelQualityJobInput(const ModelQualityJobInput& value) { SetModelQualityJobInput(value); return *this;}
224 
225     /**
226      * <p>Inputs for the model quality job.</p>
227      */
WithModelQualityJobInput(ModelQualityJobInput && value)228     inline DescribeModelQualityJobDefinitionResult& WithModelQualityJobInput(ModelQualityJobInput&& value) { SetModelQualityJobInput(std::move(value)); return *this;}
229 
230 
231 
GetModelQualityJobOutputConfig()232     inline const MonitoringOutputConfig& GetModelQualityJobOutputConfig() const{ return m_modelQualityJobOutputConfig; }
233 
234 
SetModelQualityJobOutputConfig(const MonitoringOutputConfig & value)235     inline void SetModelQualityJobOutputConfig(const MonitoringOutputConfig& value) { m_modelQualityJobOutputConfig = value; }
236 
237 
SetModelQualityJobOutputConfig(MonitoringOutputConfig && value)238     inline void SetModelQualityJobOutputConfig(MonitoringOutputConfig&& value) { m_modelQualityJobOutputConfig = std::move(value); }
239 
240 
WithModelQualityJobOutputConfig(const MonitoringOutputConfig & value)241     inline DescribeModelQualityJobDefinitionResult& WithModelQualityJobOutputConfig(const MonitoringOutputConfig& value) { SetModelQualityJobOutputConfig(value); return *this;}
242 
243 
WithModelQualityJobOutputConfig(MonitoringOutputConfig && value)244     inline DescribeModelQualityJobDefinitionResult& WithModelQualityJobOutputConfig(MonitoringOutputConfig&& value) { SetModelQualityJobOutputConfig(std::move(value)); return *this;}
245 
246 
247 
GetJobResources()248     inline const MonitoringResources& GetJobResources() const{ return m_jobResources; }
249 
250 
SetJobResources(const MonitoringResources & value)251     inline void SetJobResources(const MonitoringResources& value) { m_jobResources = value; }
252 
253 
SetJobResources(MonitoringResources && value)254     inline void SetJobResources(MonitoringResources&& value) { m_jobResources = std::move(value); }
255 
256 
WithJobResources(const MonitoringResources & value)257     inline DescribeModelQualityJobDefinitionResult& WithJobResources(const MonitoringResources& value) { SetJobResources(value); return *this;}
258 
259 
WithJobResources(MonitoringResources && value)260     inline DescribeModelQualityJobDefinitionResult& WithJobResources(MonitoringResources&& value) { SetJobResources(std::move(value)); return *this;}
261 
262 
263     /**
264      * <p>Networking options for a model quality job.</p>
265      */
GetNetworkConfig()266     inline const MonitoringNetworkConfig& GetNetworkConfig() const{ return m_networkConfig; }
267 
268     /**
269      * <p>Networking options for a model quality job.</p>
270      */
SetNetworkConfig(const MonitoringNetworkConfig & value)271     inline void SetNetworkConfig(const MonitoringNetworkConfig& value) { m_networkConfig = value; }
272 
273     /**
274      * <p>Networking options for a model quality job.</p>
275      */
SetNetworkConfig(MonitoringNetworkConfig && value)276     inline void SetNetworkConfig(MonitoringNetworkConfig&& value) { m_networkConfig = std::move(value); }
277 
278     /**
279      * <p>Networking options for a model quality job.</p>
280      */
WithNetworkConfig(const MonitoringNetworkConfig & value)281     inline DescribeModelQualityJobDefinitionResult& WithNetworkConfig(const MonitoringNetworkConfig& value) { SetNetworkConfig(value); return *this;}
282 
283     /**
284      * <p>Networking options for a model quality job.</p>
285      */
WithNetworkConfig(MonitoringNetworkConfig && value)286     inline DescribeModelQualityJobDefinitionResult& WithNetworkConfig(MonitoringNetworkConfig&& value) { SetNetworkConfig(std::move(value)); return *this;}
287 
288 
289     /**
290      * <p>The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can
291      * assume to perform tasks on your behalf.</p>
292      */
GetRoleArn()293     inline const Aws::String& GetRoleArn() const{ return m_roleArn; }
294 
295     /**
296      * <p>The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can
297      * assume to perform tasks on your behalf.</p>
298      */
SetRoleArn(const Aws::String & value)299     inline void SetRoleArn(const Aws::String& value) { m_roleArn = value; }
300 
301     /**
302      * <p>The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can
303      * assume to perform tasks on your behalf.</p>
304      */
SetRoleArn(Aws::String && value)305     inline void SetRoleArn(Aws::String&& value) { m_roleArn = std::move(value); }
306 
307     /**
308      * <p>The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can
309      * assume to perform tasks on your behalf.</p>
310      */
SetRoleArn(const char * value)311     inline void SetRoleArn(const char* value) { m_roleArn.assign(value); }
312 
313     /**
314      * <p>The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can
315      * assume to perform tasks on your behalf.</p>
316      */
WithRoleArn(const Aws::String & value)317     inline DescribeModelQualityJobDefinitionResult& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;}
318 
319     /**
320      * <p>The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can
321      * assume to perform tasks on your behalf.</p>
322      */
WithRoleArn(Aws::String && value)323     inline DescribeModelQualityJobDefinitionResult& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;}
324 
325     /**
326      * <p>The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can
327      * assume to perform tasks on your behalf.</p>
328      */
WithRoleArn(const char * value)329     inline DescribeModelQualityJobDefinitionResult& WithRoleArn(const char* value) { SetRoleArn(value); return *this;}
330 
331 
332 
GetStoppingCondition()333     inline const MonitoringStoppingCondition& GetStoppingCondition() const{ return m_stoppingCondition; }
334 
335 
SetStoppingCondition(const MonitoringStoppingCondition & value)336     inline void SetStoppingCondition(const MonitoringStoppingCondition& value) { m_stoppingCondition = value; }
337 
338 
SetStoppingCondition(MonitoringStoppingCondition && value)339     inline void SetStoppingCondition(MonitoringStoppingCondition&& value) { m_stoppingCondition = std::move(value); }
340 
341 
WithStoppingCondition(const MonitoringStoppingCondition & value)342     inline DescribeModelQualityJobDefinitionResult& WithStoppingCondition(const MonitoringStoppingCondition& value) { SetStoppingCondition(value); return *this;}
343 
344 
WithStoppingCondition(MonitoringStoppingCondition && value)345     inline DescribeModelQualityJobDefinitionResult& WithStoppingCondition(MonitoringStoppingCondition&& value) { SetStoppingCondition(std::move(value)); return *this;}
346 
347   private:
348 
349     Aws::String m_jobDefinitionArn;
350 
351     Aws::String m_jobDefinitionName;
352 
353     Aws::Utils::DateTime m_creationTime;
354 
355     ModelQualityBaselineConfig m_modelQualityBaselineConfig;
356 
357     ModelQualityAppSpecification m_modelQualityAppSpecification;
358 
359     ModelQualityJobInput m_modelQualityJobInput;
360 
361     MonitoringOutputConfig m_modelQualityJobOutputConfig;
362 
363     MonitoringResources m_jobResources;
364 
365     MonitoringNetworkConfig m_networkConfig;
366 
367     Aws::String m_roleArn;
368 
369     MonitoringStoppingCondition m_stoppingCondition;
370   };
371 
372 } // namespace Model
373 } // namespace SageMaker
374 } // namespace Aws
375