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/ModelExplainabilityBaselineConfig.h>
11 #include <aws/sagemaker/model/ModelExplainabilityAppSpecification.h>
12 #include <aws/sagemaker/model/ModelExplainabilityJobInput.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 DescribeModelExplainabilityJobDefinitionResult
36   {
37   public:
38     DescribeModelExplainabilityJobDefinitionResult();
39     DescribeModelExplainabilityJobDefinitionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
40     DescribeModelExplainabilityJobDefinitionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
41 
42 
43     /**
44      * <p>The Amazon Resource Name (ARN) of the model explainability 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 explainability 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 explainability 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 explainability 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 explainability job.</p>
65      */
WithJobDefinitionArn(const Aws::String & value)66     inline DescribeModelExplainabilityJobDefinitionResult& WithJobDefinitionArn(const Aws::String& value) { SetJobDefinitionArn(value); return *this;}
67 
68     /**
69      * <p>The Amazon Resource Name (ARN) of the model explainability job.</p>
70      */
WithJobDefinitionArn(Aws::String && value)71     inline DescribeModelExplainabilityJobDefinitionResult& WithJobDefinitionArn(Aws::String&& value) { SetJobDefinitionArn(std::move(value)); return *this;}
72 
73     /**
74      * <p>The Amazon Resource Name (ARN) of the model explainability job.</p>
75      */
WithJobDefinitionArn(const char * value)76     inline DescribeModelExplainabilityJobDefinitionResult& WithJobDefinitionArn(const char* value) { SetJobDefinitionArn(value); return *this;}
77 
78 
79     /**
80      * <p>The name of the explainability job definition. The name must be unique within
81      * an 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 explainability job definition. The name must be unique within
87      * an 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 explainability job definition. The name must be unique within
93      * an 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 explainability job definition. The name must be unique within
99      * an 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 explainability job definition. The name must be unique within
105      * an Amazon Web Services Region in the Amazon Web Services account.</p>
106      */
WithJobDefinitionName(const Aws::String & value)107     inline DescribeModelExplainabilityJobDefinitionResult& WithJobDefinitionName(const Aws::String& value) { SetJobDefinitionName(value); return *this;}
108 
109     /**
110      * <p>The name of the explainability job definition. The name must be unique within
111      * an Amazon Web Services Region in the Amazon Web Services account.</p>
112      */
WithJobDefinitionName(Aws::String && value)113     inline DescribeModelExplainabilityJobDefinitionResult& WithJobDefinitionName(Aws::String&& value) { SetJobDefinitionName(std::move(value)); return *this;}
114 
115     /**
116      * <p>The name of the explainability job definition. The name must be unique within
117      * an Amazon Web Services Region in the Amazon Web Services account.</p>
118      */
WithJobDefinitionName(const char * value)119     inline DescribeModelExplainabilityJobDefinitionResult& WithJobDefinitionName(const char* value) { SetJobDefinitionName(value); return *this;}
120 
121 
122     /**
123      * <p>The time at which the model explainability 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 explainability 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 explainability 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 explainability job was created.</p>
139      */
WithCreationTime(const Aws::Utils::DateTime & value)140     inline DescribeModelExplainabilityJobDefinitionResult& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;}
141 
142     /**
143      * <p>The time at which the model explainability job was created.</p>
144      */
WithCreationTime(Aws::Utils::DateTime && value)145     inline DescribeModelExplainabilityJobDefinitionResult& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;}
146 
147 
148     /**
149      * <p>The baseline configuration for a model explainability job.</p>
150      */
GetModelExplainabilityBaselineConfig()151     inline const ModelExplainabilityBaselineConfig& GetModelExplainabilityBaselineConfig() const{ return m_modelExplainabilityBaselineConfig; }
152 
153     /**
154      * <p>The baseline configuration for a model explainability job.</p>
155      */
SetModelExplainabilityBaselineConfig(const ModelExplainabilityBaselineConfig & value)156     inline void SetModelExplainabilityBaselineConfig(const ModelExplainabilityBaselineConfig& value) { m_modelExplainabilityBaselineConfig = value; }
157 
158     /**
159      * <p>The baseline configuration for a model explainability job.</p>
160      */
SetModelExplainabilityBaselineConfig(ModelExplainabilityBaselineConfig && value)161     inline void SetModelExplainabilityBaselineConfig(ModelExplainabilityBaselineConfig&& value) { m_modelExplainabilityBaselineConfig = std::move(value); }
162 
163     /**
164      * <p>The baseline configuration for a model explainability job.</p>
165      */
WithModelExplainabilityBaselineConfig(const ModelExplainabilityBaselineConfig & value)166     inline DescribeModelExplainabilityJobDefinitionResult& WithModelExplainabilityBaselineConfig(const ModelExplainabilityBaselineConfig& value) { SetModelExplainabilityBaselineConfig(value); return *this;}
167 
168     /**
169      * <p>The baseline configuration for a model explainability job.</p>
170      */
WithModelExplainabilityBaselineConfig(ModelExplainabilityBaselineConfig && value)171     inline DescribeModelExplainabilityJobDefinitionResult& WithModelExplainabilityBaselineConfig(ModelExplainabilityBaselineConfig&& value) { SetModelExplainabilityBaselineConfig(std::move(value)); return *this;}
172 
173 
174     /**
175      * <p>Configures the model explainability job to run a specified Docker container
176      * image.</p>
177      */
GetModelExplainabilityAppSpecification()178     inline const ModelExplainabilityAppSpecification& GetModelExplainabilityAppSpecification() const{ return m_modelExplainabilityAppSpecification; }
179 
180     /**
181      * <p>Configures the model explainability job to run a specified Docker container
182      * image.</p>
183      */
SetModelExplainabilityAppSpecification(const ModelExplainabilityAppSpecification & value)184     inline void SetModelExplainabilityAppSpecification(const ModelExplainabilityAppSpecification& value) { m_modelExplainabilityAppSpecification = value; }
185 
186     /**
187      * <p>Configures the model explainability job to run a specified Docker container
188      * image.</p>
189      */
SetModelExplainabilityAppSpecification(ModelExplainabilityAppSpecification && value)190     inline void SetModelExplainabilityAppSpecification(ModelExplainabilityAppSpecification&& value) { m_modelExplainabilityAppSpecification = std::move(value); }
191 
192     /**
193      * <p>Configures the model explainability job to run a specified Docker container
194      * image.</p>
195      */
WithModelExplainabilityAppSpecification(const ModelExplainabilityAppSpecification & value)196     inline DescribeModelExplainabilityJobDefinitionResult& WithModelExplainabilityAppSpecification(const ModelExplainabilityAppSpecification& value) { SetModelExplainabilityAppSpecification(value); return *this;}
197 
198     /**
199      * <p>Configures the model explainability job to run a specified Docker container
200      * image.</p>
201      */
WithModelExplainabilityAppSpecification(ModelExplainabilityAppSpecification && value)202     inline DescribeModelExplainabilityJobDefinitionResult& WithModelExplainabilityAppSpecification(ModelExplainabilityAppSpecification&& value) { SetModelExplainabilityAppSpecification(std::move(value)); return *this;}
203 
204 
205     /**
206      * <p>Inputs for the model explainability job.</p>
207      */
GetModelExplainabilityJobInput()208     inline const ModelExplainabilityJobInput& GetModelExplainabilityJobInput() const{ return m_modelExplainabilityJobInput; }
209 
210     /**
211      * <p>Inputs for the model explainability job.</p>
212      */
SetModelExplainabilityJobInput(const ModelExplainabilityJobInput & value)213     inline void SetModelExplainabilityJobInput(const ModelExplainabilityJobInput& value) { m_modelExplainabilityJobInput = value; }
214 
215     /**
216      * <p>Inputs for the model explainability job.</p>
217      */
SetModelExplainabilityJobInput(ModelExplainabilityJobInput && value)218     inline void SetModelExplainabilityJobInput(ModelExplainabilityJobInput&& value) { m_modelExplainabilityJobInput = std::move(value); }
219 
220     /**
221      * <p>Inputs for the model explainability job.</p>
222      */
WithModelExplainabilityJobInput(const ModelExplainabilityJobInput & value)223     inline DescribeModelExplainabilityJobDefinitionResult& WithModelExplainabilityJobInput(const ModelExplainabilityJobInput& value) { SetModelExplainabilityJobInput(value); return *this;}
224 
225     /**
226      * <p>Inputs for the model explainability job.</p>
227      */
WithModelExplainabilityJobInput(ModelExplainabilityJobInput && value)228     inline DescribeModelExplainabilityJobDefinitionResult& WithModelExplainabilityJobInput(ModelExplainabilityJobInput&& value) { SetModelExplainabilityJobInput(std::move(value)); return *this;}
229 
230 
231 
GetModelExplainabilityJobOutputConfig()232     inline const MonitoringOutputConfig& GetModelExplainabilityJobOutputConfig() const{ return m_modelExplainabilityJobOutputConfig; }
233 
234 
SetModelExplainabilityJobOutputConfig(const MonitoringOutputConfig & value)235     inline void SetModelExplainabilityJobOutputConfig(const MonitoringOutputConfig& value) { m_modelExplainabilityJobOutputConfig = value; }
236 
237 
SetModelExplainabilityJobOutputConfig(MonitoringOutputConfig && value)238     inline void SetModelExplainabilityJobOutputConfig(MonitoringOutputConfig&& value) { m_modelExplainabilityJobOutputConfig = std::move(value); }
239 
240 
WithModelExplainabilityJobOutputConfig(const MonitoringOutputConfig & value)241     inline DescribeModelExplainabilityJobDefinitionResult& WithModelExplainabilityJobOutputConfig(const MonitoringOutputConfig& value) { SetModelExplainabilityJobOutputConfig(value); return *this;}
242 
243 
WithModelExplainabilityJobOutputConfig(MonitoringOutputConfig && value)244     inline DescribeModelExplainabilityJobDefinitionResult& WithModelExplainabilityJobOutputConfig(MonitoringOutputConfig&& value) { SetModelExplainabilityJobOutputConfig(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 DescribeModelExplainabilityJobDefinitionResult& WithJobResources(const MonitoringResources& value) { SetJobResources(value); return *this;}
258 
259 
WithJobResources(MonitoringResources && value)260     inline DescribeModelExplainabilityJobDefinitionResult& WithJobResources(MonitoringResources&& value) { SetJobResources(std::move(value)); return *this;}
261 
262 
263     /**
264      * <p>Networking options for a model explainability job.</p>
265      */
GetNetworkConfig()266     inline const MonitoringNetworkConfig& GetNetworkConfig() const{ return m_networkConfig; }
267 
268     /**
269      * <p>Networking options for a model explainability 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 explainability 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 explainability job.</p>
280      */
WithNetworkConfig(const MonitoringNetworkConfig & value)281     inline DescribeModelExplainabilityJobDefinitionResult& WithNetworkConfig(const MonitoringNetworkConfig& value) { SetNetworkConfig(value); return *this;}
282 
283     /**
284      * <p>Networking options for a model explainability job.</p>
285      */
WithNetworkConfig(MonitoringNetworkConfig && value)286     inline DescribeModelExplainabilityJobDefinitionResult& WithNetworkConfig(MonitoringNetworkConfig&& value) { SetNetworkConfig(std::move(value)); return *this;}
287 
288 
289     /**
290      * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access
291      * Management (IAM) role that has read permission to the input data location and
292      * write permission to the output data location in Amazon S3.</p>
293      */
GetRoleArn()294     inline const Aws::String& GetRoleArn() const{ return m_roleArn; }
295 
296     /**
297      * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access
298      * Management (IAM) role that has read permission to the input data location and
299      * write permission to the output data location in Amazon S3.</p>
300      */
SetRoleArn(const Aws::String & value)301     inline void SetRoleArn(const Aws::String& value) { m_roleArn = value; }
302 
303     /**
304      * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access
305      * Management (IAM) role that has read permission to the input data location and
306      * write permission to the output data location in Amazon S3.</p>
307      */
SetRoleArn(Aws::String && value)308     inline void SetRoleArn(Aws::String&& value) { m_roleArn = std::move(value); }
309 
310     /**
311      * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access
312      * Management (IAM) role that has read permission to the input data location and
313      * write permission to the output data location in Amazon S3.</p>
314      */
SetRoleArn(const char * value)315     inline void SetRoleArn(const char* value) { m_roleArn.assign(value); }
316 
317     /**
318      * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access
319      * Management (IAM) role that has read permission to the input data location and
320      * write permission to the output data location in Amazon S3.</p>
321      */
WithRoleArn(const Aws::String & value)322     inline DescribeModelExplainabilityJobDefinitionResult& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;}
323 
324     /**
325      * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access
326      * Management (IAM) role that has read permission to the input data location and
327      * write permission to the output data location in Amazon S3.</p>
328      */
WithRoleArn(Aws::String && value)329     inline DescribeModelExplainabilityJobDefinitionResult& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;}
330 
331     /**
332      * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access
333      * Management (IAM) role that has read permission to the input data location and
334      * write permission to the output data location in Amazon S3.</p>
335      */
WithRoleArn(const char * value)336     inline DescribeModelExplainabilityJobDefinitionResult& WithRoleArn(const char* value) { SetRoleArn(value); return *this;}
337 
338 
339 
GetStoppingCondition()340     inline const MonitoringStoppingCondition& GetStoppingCondition() const{ return m_stoppingCondition; }
341 
342 
SetStoppingCondition(const MonitoringStoppingCondition & value)343     inline void SetStoppingCondition(const MonitoringStoppingCondition& value) { m_stoppingCondition = value; }
344 
345 
SetStoppingCondition(MonitoringStoppingCondition && value)346     inline void SetStoppingCondition(MonitoringStoppingCondition&& value) { m_stoppingCondition = std::move(value); }
347 
348 
WithStoppingCondition(const MonitoringStoppingCondition & value)349     inline DescribeModelExplainabilityJobDefinitionResult& WithStoppingCondition(const MonitoringStoppingCondition& value) { SetStoppingCondition(value); return *this;}
350 
351 
WithStoppingCondition(MonitoringStoppingCondition && value)352     inline DescribeModelExplainabilityJobDefinitionResult& WithStoppingCondition(MonitoringStoppingCondition&& value) { SetStoppingCondition(std::move(value)); return *this;}
353 
354   private:
355 
356     Aws::String m_jobDefinitionArn;
357 
358     Aws::String m_jobDefinitionName;
359 
360     Aws::Utils::DateTime m_creationTime;
361 
362     ModelExplainabilityBaselineConfig m_modelExplainabilityBaselineConfig;
363 
364     ModelExplainabilityAppSpecification m_modelExplainabilityAppSpecification;
365 
366     ModelExplainabilityJobInput m_modelExplainabilityJobInput;
367 
368     MonitoringOutputConfig m_modelExplainabilityJobOutputConfig;
369 
370     MonitoringResources m_jobResources;
371 
372     MonitoringNetworkConfig m_networkConfig;
373 
374     Aws::String m_roleArn;
375 
376     MonitoringStoppingCondition m_stoppingCondition;
377   };
378 
379 } // namespace Model
380 } // namespace SageMaker
381 } // namespace Aws
382