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/AWSVector.h>
9 #include <aws/sagemaker/model/ProcessingOutputConfig.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <aws/sagemaker/model/ProcessingResources.h>
12 #include <aws/sagemaker/model/ProcessingStoppingCondition.h>
13 #include <aws/sagemaker/model/AppSpecification.h>
14 #include <aws/core/utils/memory/stl/AWSMap.h>
15 #include <aws/sagemaker/model/NetworkConfig.h>
16 #include <aws/sagemaker/model/ExperimentConfig.h>
17 #include <aws/sagemaker/model/ProcessingJobStatus.h>
18 #include <aws/core/utils/DateTime.h>
19 #include <aws/sagemaker/model/ProcessingInput.h>
20 #include <aws/sagemaker/model/Tag.h>
21 #include <utility>
22 
23 namespace Aws
24 {
25 namespace Utils
26 {
27 namespace Json
28 {
29   class JsonValue;
30   class JsonView;
31 } // namespace Json
32 } // namespace Utils
33 namespace SageMaker
34 {
35 namespace Model
36 {
37 
38   /**
39    * <p>An Amazon SageMaker processing job that is used to analyze data and evaluate
40    * models. For more information, see <a
41    * href="https://docs.aws.amazon.com/sagemaker/latest/dg/processing-job.html">Process
42    * Data and Evaluate Models</a>.</p><p><h3>See Also:</h3>   <a
43    * href="http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ProcessingJob">AWS
44    * API Reference</a></p>
45    */
46   class AWS_SAGEMAKER_API ProcessingJob
47   {
48   public:
49     ProcessingJob();
50     ProcessingJob(Aws::Utils::Json::JsonView jsonValue);
51     ProcessingJob& operator=(Aws::Utils::Json::JsonView jsonValue);
52     Aws::Utils::Json::JsonValue Jsonize() const;
53 
54 
55     /**
56      * <p>List of input configurations for the processing job.</p>
57      */
GetProcessingInputs()58     inline const Aws::Vector<ProcessingInput>& GetProcessingInputs() const{ return m_processingInputs; }
59 
60     /**
61      * <p>List of input configurations for the processing job.</p>
62      */
ProcessingInputsHasBeenSet()63     inline bool ProcessingInputsHasBeenSet() const { return m_processingInputsHasBeenSet; }
64 
65     /**
66      * <p>List of input configurations for the processing job.</p>
67      */
SetProcessingInputs(const Aws::Vector<ProcessingInput> & value)68     inline void SetProcessingInputs(const Aws::Vector<ProcessingInput>& value) { m_processingInputsHasBeenSet = true; m_processingInputs = value; }
69 
70     /**
71      * <p>List of input configurations for the processing job.</p>
72      */
SetProcessingInputs(Aws::Vector<ProcessingInput> && value)73     inline void SetProcessingInputs(Aws::Vector<ProcessingInput>&& value) { m_processingInputsHasBeenSet = true; m_processingInputs = std::move(value); }
74 
75     /**
76      * <p>List of input configurations for the processing job.</p>
77      */
WithProcessingInputs(const Aws::Vector<ProcessingInput> & value)78     inline ProcessingJob& WithProcessingInputs(const Aws::Vector<ProcessingInput>& value) { SetProcessingInputs(value); return *this;}
79 
80     /**
81      * <p>List of input configurations for the processing job.</p>
82      */
WithProcessingInputs(Aws::Vector<ProcessingInput> && value)83     inline ProcessingJob& WithProcessingInputs(Aws::Vector<ProcessingInput>&& value) { SetProcessingInputs(std::move(value)); return *this;}
84 
85     /**
86      * <p>List of input configurations for the processing job.</p>
87      */
AddProcessingInputs(const ProcessingInput & value)88     inline ProcessingJob& AddProcessingInputs(const ProcessingInput& value) { m_processingInputsHasBeenSet = true; m_processingInputs.push_back(value); return *this; }
89 
90     /**
91      * <p>List of input configurations for the processing job.</p>
92      */
AddProcessingInputs(ProcessingInput && value)93     inline ProcessingJob& AddProcessingInputs(ProcessingInput&& value) { m_processingInputsHasBeenSet = true; m_processingInputs.push_back(std::move(value)); return *this; }
94 
95 
96 
GetProcessingOutputConfig()97     inline const ProcessingOutputConfig& GetProcessingOutputConfig() const{ return m_processingOutputConfig; }
98 
99 
ProcessingOutputConfigHasBeenSet()100     inline bool ProcessingOutputConfigHasBeenSet() const { return m_processingOutputConfigHasBeenSet; }
101 
102 
SetProcessingOutputConfig(const ProcessingOutputConfig & value)103     inline void SetProcessingOutputConfig(const ProcessingOutputConfig& value) { m_processingOutputConfigHasBeenSet = true; m_processingOutputConfig = value; }
104 
105 
SetProcessingOutputConfig(ProcessingOutputConfig && value)106     inline void SetProcessingOutputConfig(ProcessingOutputConfig&& value) { m_processingOutputConfigHasBeenSet = true; m_processingOutputConfig = std::move(value); }
107 
108 
WithProcessingOutputConfig(const ProcessingOutputConfig & value)109     inline ProcessingJob& WithProcessingOutputConfig(const ProcessingOutputConfig& value) { SetProcessingOutputConfig(value); return *this;}
110 
111 
WithProcessingOutputConfig(ProcessingOutputConfig && value)112     inline ProcessingJob& WithProcessingOutputConfig(ProcessingOutputConfig&& value) { SetProcessingOutputConfig(std::move(value)); return *this;}
113 
114 
115     /**
116      * <p>The name of the processing job.</p>
117      */
GetProcessingJobName()118     inline const Aws::String& GetProcessingJobName() const{ return m_processingJobName; }
119 
120     /**
121      * <p>The name of the processing job.</p>
122      */
ProcessingJobNameHasBeenSet()123     inline bool ProcessingJobNameHasBeenSet() const { return m_processingJobNameHasBeenSet; }
124 
125     /**
126      * <p>The name of the processing job.</p>
127      */
SetProcessingJobName(const Aws::String & value)128     inline void SetProcessingJobName(const Aws::String& value) { m_processingJobNameHasBeenSet = true; m_processingJobName = value; }
129 
130     /**
131      * <p>The name of the processing job.</p>
132      */
SetProcessingJobName(Aws::String && value)133     inline void SetProcessingJobName(Aws::String&& value) { m_processingJobNameHasBeenSet = true; m_processingJobName = std::move(value); }
134 
135     /**
136      * <p>The name of the processing job.</p>
137      */
SetProcessingJobName(const char * value)138     inline void SetProcessingJobName(const char* value) { m_processingJobNameHasBeenSet = true; m_processingJobName.assign(value); }
139 
140     /**
141      * <p>The name of the processing job.</p>
142      */
WithProcessingJobName(const Aws::String & value)143     inline ProcessingJob& WithProcessingJobName(const Aws::String& value) { SetProcessingJobName(value); return *this;}
144 
145     /**
146      * <p>The name of the processing job.</p>
147      */
WithProcessingJobName(Aws::String && value)148     inline ProcessingJob& WithProcessingJobName(Aws::String&& value) { SetProcessingJobName(std::move(value)); return *this;}
149 
150     /**
151      * <p>The name of the processing job.</p>
152      */
WithProcessingJobName(const char * value)153     inline ProcessingJob& WithProcessingJobName(const char* value) { SetProcessingJobName(value); return *this;}
154 
155 
156 
GetProcessingResources()157     inline const ProcessingResources& GetProcessingResources() const{ return m_processingResources; }
158 
159 
ProcessingResourcesHasBeenSet()160     inline bool ProcessingResourcesHasBeenSet() const { return m_processingResourcesHasBeenSet; }
161 
162 
SetProcessingResources(const ProcessingResources & value)163     inline void SetProcessingResources(const ProcessingResources& value) { m_processingResourcesHasBeenSet = true; m_processingResources = value; }
164 
165 
SetProcessingResources(ProcessingResources && value)166     inline void SetProcessingResources(ProcessingResources&& value) { m_processingResourcesHasBeenSet = true; m_processingResources = std::move(value); }
167 
168 
WithProcessingResources(const ProcessingResources & value)169     inline ProcessingJob& WithProcessingResources(const ProcessingResources& value) { SetProcessingResources(value); return *this;}
170 
171 
WithProcessingResources(ProcessingResources && value)172     inline ProcessingJob& WithProcessingResources(ProcessingResources&& value) { SetProcessingResources(std::move(value)); return *this;}
173 
174 
175 
GetStoppingCondition()176     inline const ProcessingStoppingCondition& GetStoppingCondition() const{ return m_stoppingCondition; }
177 
178 
StoppingConditionHasBeenSet()179     inline bool StoppingConditionHasBeenSet() const { return m_stoppingConditionHasBeenSet; }
180 
181 
SetStoppingCondition(const ProcessingStoppingCondition & value)182     inline void SetStoppingCondition(const ProcessingStoppingCondition& value) { m_stoppingConditionHasBeenSet = true; m_stoppingCondition = value; }
183 
184 
SetStoppingCondition(ProcessingStoppingCondition && value)185     inline void SetStoppingCondition(ProcessingStoppingCondition&& value) { m_stoppingConditionHasBeenSet = true; m_stoppingCondition = std::move(value); }
186 
187 
WithStoppingCondition(const ProcessingStoppingCondition & value)188     inline ProcessingJob& WithStoppingCondition(const ProcessingStoppingCondition& value) { SetStoppingCondition(value); return *this;}
189 
190 
WithStoppingCondition(ProcessingStoppingCondition && value)191     inline ProcessingJob& WithStoppingCondition(ProcessingStoppingCondition&& value) { SetStoppingCondition(std::move(value)); return *this;}
192 
193 
194 
GetAppSpecification()195     inline const AppSpecification& GetAppSpecification() const{ return m_appSpecification; }
196 
197 
AppSpecificationHasBeenSet()198     inline bool AppSpecificationHasBeenSet() const { return m_appSpecificationHasBeenSet; }
199 
200 
SetAppSpecification(const AppSpecification & value)201     inline void SetAppSpecification(const AppSpecification& value) { m_appSpecificationHasBeenSet = true; m_appSpecification = value; }
202 
203 
SetAppSpecification(AppSpecification && value)204     inline void SetAppSpecification(AppSpecification&& value) { m_appSpecificationHasBeenSet = true; m_appSpecification = std::move(value); }
205 
206 
WithAppSpecification(const AppSpecification & value)207     inline ProcessingJob& WithAppSpecification(const AppSpecification& value) { SetAppSpecification(value); return *this;}
208 
209 
WithAppSpecification(AppSpecification && value)210     inline ProcessingJob& WithAppSpecification(AppSpecification&& value) { SetAppSpecification(std::move(value)); return *this;}
211 
212 
213     /**
214      * <p>Sets the environment variables in the Docker container.</p>
215      */
GetEnvironment()216     inline const Aws::Map<Aws::String, Aws::String>& GetEnvironment() const{ return m_environment; }
217 
218     /**
219      * <p>Sets the environment variables in the Docker container.</p>
220      */
EnvironmentHasBeenSet()221     inline bool EnvironmentHasBeenSet() const { return m_environmentHasBeenSet; }
222 
223     /**
224      * <p>Sets the environment variables in the Docker container.</p>
225      */
SetEnvironment(const Aws::Map<Aws::String,Aws::String> & value)226     inline void SetEnvironment(const Aws::Map<Aws::String, Aws::String>& value) { m_environmentHasBeenSet = true; m_environment = value; }
227 
228     /**
229      * <p>Sets the environment variables in the Docker container.</p>
230      */
SetEnvironment(Aws::Map<Aws::String,Aws::String> && value)231     inline void SetEnvironment(Aws::Map<Aws::String, Aws::String>&& value) { m_environmentHasBeenSet = true; m_environment = std::move(value); }
232 
233     /**
234      * <p>Sets the environment variables in the Docker container.</p>
235      */
WithEnvironment(const Aws::Map<Aws::String,Aws::String> & value)236     inline ProcessingJob& WithEnvironment(const Aws::Map<Aws::String, Aws::String>& value) { SetEnvironment(value); return *this;}
237 
238     /**
239      * <p>Sets the environment variables in the Docker container.</p>
240      */
WithEnvironment(Aws::Map<Aws::String,Aws::String> && value)241     inline ProcessingJob& WithEnvironment(Aws::Map<Aws::String, Aws::String>&& value) { SetEnvironment(std::move(value)); return *this;}
242 
243     /**
244      * <p>Sets the environment variables in the Docker container.</p>
245      */
AddEnvironment(const Aws::String & key,const Aws::String & value)246     inline ProcessingJob& AddEnvironment(const Aws::String& key, const Aws::String& value) { m_environmentHasBeenSet = true; m_environment.emplace(key, value); return *this; }
247 
248     /**
249      * <p>Sets the environment variables in the Docker container.</p>
250      */
AddEnvironment(Aws::String && key,const Aws::String & value)251     inline ProcessingJob& AddEnvironment(Aws::String&& key, const Aws::String& value) { m_environmentHasBeenSet = true; m_environment.emplace(std::move(key), value); return *this; }
252 
253     /**
254      * <p>Sets the environment variables in the Docker container.</p>
255      */
AddEnvironment(const Aws::String & key,Aws::String && value)256     inline ProcessingJob& AddEnvironment(const Aws::String& key, Aws::String&& value) { m_environmentHasBeenSet = true; m_environment.emplace(key, std::move(value)); return *this; }
257 
258     /**
259      * <p>Sets the environment variables in the Docker container.</p>
260      */
AddEnvironment(Aws::String && key,Aws::String && value)261     inline ProcessingJob& AddEnvironment(Aws::String&& key, Aws::String&& value) { m_environmentHasBeenSet = true; m_environment.emplace(std::move(key), std::move(value)); return *this; }
262 
263     /**
264      * <p>Sets the environment variables in the Docker container.</p>
265      */
AddEnvironment(const char * key,Aws::String && value)266     inline ProcessingJob& AddEnvironment(const char* key, Aws::String&& value) { m_environmentHasBeenSet = true; m_environment.emplace(key, std::move(value)); return *this; }
267 
268     /**
269      * <p>Sets the environment variables in the Docker container.</p>
270      */
AddEnvironment(Aws::String && key,const char * value)271     inline ProcessingJob& AddEnvironment(Aws::String&& key, const char* value) { m_environmentHasBeenSet = true; m_environment.emplace(std::move(key), value); return *this; }
272 
273     /**
274      * <p>Sets the environment variables in the Docker container.</p>
275      */
AddEnvironment(const char * key,const char * value)276     inline ProcessingJob& AddEnvironment(const char* key, const char* value) { m_environmentHasBeenSet = true; m_environment.emplace(key, value); return *this; }
277 
278 
279 
GetNetworkConfig()280     inline const NetworkConfig& GetNetworkConfig() const{ return m_networkConfig; }
281 
282 
NetworkConfigHasBeenSet()283     inline bool NetworkConfigHasBeenSet() const { return m_networkConfigHasBeenSet; }
284 
285 
SetNetworkConfig(const NetworkConfig & value)286     inline void SetNetworkConfig(const NetworkConfig& value) { m_networkConfigHasBeenSet = true; m_networkConfig = value; }
287 
288 
SetNetworkConfig(NetworkConfig && value)289     inline void SetNetworkConfig(NetworkConfig&& value) { m_networkConfigHasBeenSet = true; m_networkConfig = std::move(value); }
290 
291 
WithNetworkConfig(const NetworkConfig & value)292     inline ProcessingJob& WithNetworkConfig(const NetworkConfig& value) { SetNetworkConfig(value); return *this;}
293 
294 
WithNetworkConfig(NetworkConfig && value)295     inline ProcessingJob& WithNetworkConfig(NetworkConfig&& value) { SetNetworkConfig(std::move(value)); return *this;}
296 
297 
298     /**
299      * <p>The ARN of the role used to create the processing job.</p>
300      */
GetRoleArn()301     inline const Aws::String& GetRoleArn() const{ return m_roleArn; }
302 
303     /**
304      * <p>The ARN of the role used to create the processing job.</p>
305      */
RoleArnHasBeenSet()306     inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; }
307 
308     /**
309      * <p>The ARN of the role used to create the processing job.</p>
310      */
SetRoleArn(const Aws::String & value)311     inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; }
312 
313     /**
314      * <p>The ARN of the role used to create the processing job.</p>
315      */
SetRoleArn(Aws::String && value)316     inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); }
317 
318     /**
319      * <p>The ARN of the role used to create the processing job.</p>
320      */
SetRoleArn(const char * value)321     inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); }
322 
323     /**
324      * <p>The ARN of the role used to create the processing job.</p>
325      */
WithRoleArn(const Aws::String & value)326     inline ProcessingJob& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;}
327 
328     /**
329      * <p>The ARN of the role used to create the processing job.</p>
330      */
WithRoleArn(Aws::String && value)331     inline ProcessingJob& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;}
332 
333     /**
334      * <p>The ARN of the role used to create the processing job.</p>
335      */
WithRoleArn(const char * value)336     inline ProcessingJob& WithRoleArn(const char* value) { SetRoleArn(value); return *this;}
337 
338 
339 
GetExperimentConfig()340     inline const ExperimentConfig& GetExperimentConfig() const{ return m_experimentConfig; }
341 
342 
ExperimentConfigHasBeenSet()343     inline bool ExperimentConfigHasBeenSet() const { return m_experimentConfigHasBeenSet; }
344 
345 
SetExperimentConfig(const ExperimentConfig & value)346     inline void SetExperimentConfig(const ExperimentConfig& value) { m_experimentConfigHasBeenSet = true; m_experimentConfig = value; }
347 
348 
SetExperimentConfig(ExperimentConfig && value)349     inline void SetExperimentConfig(ExperimentConfig&& value) { m_experimentConfigHasBeenSet = true; m_experimentConfig = std::move(value); }
350 
351 
WithExperimentConfig(const ExperimentConfig & value)352     inline ProcessingJob& WithExperimentConfig(const ExperimentConfig& value) { SetExperimentConfig(value); return *this;}
353 
354 
WithExperimentConfig(ExperimentConfig && value)355     inline ProcessingJob& WithExperimentConfig(ExperimentConfig&& value) { SetExperimentConfig(std::move(value)); return *this;}
356 
357 
358     /**
359      * <p>The ARN of the processing job.</p>
360      */
GetProcessingJobArn()361     inline const Aws::String& GetProcessingJobArn() const{ return m_processingJobArn; }
362 
363     /**
364      * <p>The ARN of the processing job.</p>
365      */
ProcessingJobArnHasBeenSet()366     inline bool ProcessingJobArnHasBeenSet() const { return m_processingJobArnHasBeenSet; }
367 
368     /**
369      * <p>The ARN of the processing job.</p>
370      */
SetProcessingJobArn(const Aws::String & value)371     inline void SetProcessingJobArn(const Aws::String& value) { m_processingJobArnHasBeenSet = true; m_processingJobArn = value; }
372 
373     /**
374      * <p>The ARN of the processing job.</p>
375      */
SetProcessingJobArn(Aws::String && value)376     inline void SetProcessingJobArn(Aws::String&& value) { m_processingJobArnHasBeenSet = true; m_processingJobArn = std::move(value); }
377 
378     /**
379      * <p>The ARN of the processing job.</p>
380      */
SetProcessingJobArn(const char * value)381     inline void SetProcessingJobArn(const char* value) { m_processingJobArnHasBeenSet = true; m_processingJobArn.assign(value); }
382 
383     /**
384      * <p>The ARN of the processing job.</p>
385      */
WithProcessingJobArn(const Aws::String & value)386     inline ProcessingJob& WithProcessingJobArn(const Aws::String& value) { SetProcessingJobArn(value); return *this;}
387 
388     /**
389      * <p>The ARN of the processing job.</p>
390      */
WithProcessingJobArn(Aws::String && value)391     inline ProcessingJob& WithProcessingJobArn(Aws::String&& value) { SetProcessingJobArn(std::move(value)); return *this;}
392 
393     /**
394      * <p>The ARN of the processing job.</p>
395      */
WithProcessingJobArn(const char * value)396     inline ProcessingJob& WithProcessingJobArn(const char* value) { SetProcessingJobArn(value); return *this;}
397 
398 
399     /**
400      * <p>The status of the processing job.</p>
401      */
GetProcessingJobStatus()402     inline const ProcessingJobStatus& GetProcessingJobStatus() const{ return m_processingJobStatus; }
403 
404     /**
405      * <p>The status of the processing job.</p>
406      */
ProcessingJobStatusHasBeenSet()407     inline bool ProcessingJobStatusHasBeenSet() const { return m_processingJobStatusHasBeenSet; }
408 
409     /**
410      * <p>The status of the processing job.</p>
411      */
SetProcessingJobStatus(const ProcessingJobStatus & value)412     inline void SetProcessingJobStatus(const ProcessingJobStatus& value) { m_processingJobStatusHasBeenSet = true; m_processingJobStatus = value; }
413 
414     /**
415      * <p>The status of the processing job.</p>
416      */
SetProcessingJobStatus(ProcessingJobStatus && value)417     inline void SetProcessingJobStatus(ProcessingJobStatus&& value) { m_processingJobStatusHasBeenSet = true; m_processingJobStatus = std::move(value); }
418 
419     /**
420      * <p>The status of the processing job.</p>
421      */
WithProcessingJobStatus(const ProcessingJobStatus & value)422     inline ProcessingJob& WithProcessingJobStatus(const ProcessingJobStatus& value) { SetProcessingJobStatus(value); return *this;}
423 
424     /**
425      * <p>The status of the processing job.</p>
426      */
WithProcessingJobStatus(ProcessingJobStatus && value)427     inline ProcessingJob& WithProcessingJobStatus(ProcessingJobStatus&& value) { SetProcessingJobStatus(std::move(value)); return *this;}
428 
429 
430     /**
431      * <p>A string, up to one KB in size, that contains metadata from the processing
432      * container when the processing job exits.</p>
433      */
GetExitMessage()434     inline const Aws::String& GetExitMessage() const{ return m_exitMessage; }
435 
436     /**
437      * <p>A string, up to one KB in size, that contains metadata from the processing
438      * container when the processing job exits.</p>
439      */
ExitMessageHasBeenSet()440     inline bool ExitMessageHasBeenSet() const { return m_exitMessageHasBeenSet; }
441 
442     /**
443      * <p>A string, up to one KB in size, that contains metadata from the processing
444      * container when the processing job exits.</p>
445      */
SetExitMessage(const Aws::String & value)446     inline void SetExitMessage(const Aws::String& value) { m_exitMessageHasBeenSet = true; m_exitMessage = value; }
447 
448     /**
449      * <p>A string, up to one KB in size, that contains metadata from the processing
450      * container when the processing job exits.</p>
451      */
SetExitMessage(Aws::String && value)452     inline void SetExitMessage(Aws::String&& value) { m_exitMessageHasBeenSet = true; m_exitMessage = std::move(value); }
453 
454     /**
455      * <p>A string, up to one KB in size, that contains metadata from the processing
456      * container when the processing job exits.</p>
457      */
SetExitMessage(const char * value)458     inline void SetExitMessage(const char* value) { m_exitMessageHasBeenSet = true; m_exitMessage.assign(value); }
459 
460     /**
461      * <p>A string, up to one KB in size, that contains metadata from the processing
462      * container when the processing job exits.</p>
463      */
WithExitMessage(const Aws::String & value)464     inline ProcessingJob& WithExitMessage(const Aws::String& value) { SetExitMessage(value); return *this;}
465 
466     /**
467      * <p>A string, up to one KB in size, that contains metadata from the processing
468      * container when the processing job exits.</p>
469      */
WithExitMessage(Aws::String && value)470     inline ProcessingJob& WithExitMessage(Aws::String&& value) { SetExitMessage(std::move(value)); return *this;}
471 
472     /**
473      * <p>A string, up to one KB in size, that contains metadata from the processing
474      * container when the processing job exits.</p>
475      */
WithExitMessage(const char * value)476     inline ProcessingJob& WithExitMessage(const char* value) { SetExitMessage(value); return *this;}
477 
478 
479     /**
480      * <p>A string, up to one KB in size, that contains the reason a processing job
481      * failed, if it failed.</p>
482      */
GetFailureReason()483     inline const Aws::String& GetFailureReason() const{ return m_failureReason; }
484 
485     /**
486      * <p>A string, up to one KB in size, that contains the reason a processing job
487      * failed, if it failed.</p>
488      */
FailureReasonHasBeenSet()489     inline bool FailureReasonHasBeenSet() const { return m_failureReasonHasBeenSet; }
490 
491     /**
492      * <p>A string, up to one KB in size, that contains the reason a processing job
493      * failed, if it failed.</p>
494      */
SetFailureReason(const Aws::String & value)495     inline void SetFailureReason(const Aws::String& value) { m_failureReasonHasBeenSet = true; m_failureReason = value; }
496 
497     /**
498      * <p>A string, up to one KB in size, that contains the reason a processing job
499      * failed, if it failed.</p>
500      */
SetFailureReason(Aws::String && value)501     inline void SetFailureReason(Aws::String&& value) { m_failureReasonHasBeenSet = true; m_failureReason = std::move(value); }
502 
503     /**
504      * <p>A string, up to one KB in size, that contains the reason a processing job
505      * failed, if it failed.</p>
506      */
SetFailureReason(const char * value)507     inline void SetFailureReason(const char* value) { m_failureReasonHasBeenSet = true; m_failureReason.assign(value); }
508 
509     /**
510      * <p>A string, up to one KB in size, that contains the reason a processing job
511      * failed, if it failed.</p>
512      */
WithFailureReason(const Aws::String & value)513     inline ProcessingJob& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;}
514 
515     /**
516      * <p>A string, up to one KB in size, that contains the reason a processing job
517      * failed, if it failed.</p>
518      */
WithFailureReason(Aws::String && value)519     inline ProcessingJob& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;}
520 
521     /**
522      * <p>A string, up to one KB in size, that contains the reason a processing job
523      * failed, if it failed.</p>
524      */
WithFailureReason(const char * value)525     inline ProcessingJob& WithFailureReason(const char* value) { SetFailureReason(value); return *this;}
526 
527 
528     /**
529      * <p>The time that the processing job ended.</p>
530      */
GetProcessingEndTime()531     inline const Aws::Utils::DateTime& GetProcessingEndTime() const{ return m_processingEndTime; }
532 
533     /**
534      * <p>The time that the processing job ended.</p>
535      */
ProcessingEndTimeHasBeenSet()536     inline bool ProcessingEndTimeHasBeenSet() const { return m_processingEndTimeHasBeenSet; }
537 
538     /**
539      * <p>The time that the processing job ended.</p>
540      */
SetProcessingEndTime(const Aws::Utils::DateTime & value)541     inline void SetProcessingEndTime(const Aws::Utils::DateTime& value) { m_processingEndTimeHasBeenSet = true; m_processingEndTime = value; }
542 
543     /**
544      * <p>The time that the processing job ended.</p>
545      */
SetProcessingEndTime(Aws::Utils::DateTime && value)546     inline void SetProcessingEndTime(Aws::Utils::DateTime&& value) { m_processingEndTimeHasBeenSet = true; m_processingEndTime = std::move(value); }
547 
548     /**
549      * <p>The time that the processing job ended.</p>
550      */
WithProcessingEndTime(const Aws::Utils::DateTime & value)551     inline ProcessingJob& WithProcessingEndTime(const Aws::Utils::DateTime& value) { SetProcessingEndTime(value); return *this;}
552 
553     /**
554      * <p>The time that the processing job ended.</p>
555      */
WithProcessingEndTime(Aws::Utils::DateTime && value)556     inline ProcessingJob& WithProcessingEndTime(Aws::Utils::DateTime&& value) { SetProcessingEndTime(std::move(value)); return *this;}
557 
558 
559     /**
560      * <p>The time that the processing job started.</p>
561      */
GetProcessingStartTime()562     inline const Aws::Utils::DateTime& GetProcessingStartTime() const{ return m_processingStartTime; }
563 
564     /**
565      * <p>The time that the processing job started.</p>
566      */
ProcessingStartTimeHasBeenSet()567     inline bool ProcessingStartTimeHasBeenSet() const { return m_processingStartTimeHasBeenSet; }
568 
569     /**
570      * <p>The time that the processing job started.</p>
571      */
SetProcessingStartTime(const Aws::Utils::DateTime & value)572     inline void SetProcessingStartTime(const Aws::Utils::DateTime& value) { m_processingStartTimeHasBeenSet = true; m_processingStartTime = value; }
573 
574     /**
575      * <p>The time that the processing job started.</p>
576      */
SetProcessingStartTime(Aws::Utils::DateTime && value)577     inline void SetProcessingStartTime(Aws::Utils::DateTime&& value) { m_processingStartTimeHasBeenSet = true; m_processingStartTime = std::move(value); }
578 
579     /**
580      * <p>The time that the processing job started.</p>
581      */
WithProcessingStartTime(const Aws::Utils::DateTime & value)582     inline ProcessingJob& WithProcessingStartTime(const Aws::Utils::DateTime& value) { SetProcessingStartTime(value); return *this;}
583 
584     /**
585      * <p>The time that the processing job started.</p>
586      */
WithProcessingStartTime(Aws::Utils::DateTime && value)587     inline ProcessingJob& WithProcessingStartTime(Aws::Utils::DateTime&& value) { SetProcessingStartTime(std::move(value)); return *this;}
588 
589 
590     /**
591      * <p>The time the processing job was last modified.</p>
592      */
GetLastModifiedTime()593     inline const Aws::Utils::DateTime& GetLastModifiedTime() const{ return m_lastModifiedTime; }
594 
595     /**
596      * <p>The time the processing job was last modified.</p>
597      */
LastModifiedTimeHasBeenSet()598     inline bool LastModifiedTimeHasBeenSet() const { return m_lastModifiedTimeHasBeenSet; }
599 
600     /**
601      * <p>The time the processing job was last modified.</p>
602      */
SetLastModifiedTime(const Aws::Utils::DateTime & value)603     inline void SetLastModifiedTime(const Aws::Utils::DateTime& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = value; }
604 
605     /**
606      * <p>The time the processing job was last modified.</p>
607      */
SetLastModifiedTime(Aws::Utils::DateTime && value)608     inline void SetLastModifiedTime(Aws::Utils::DateTime&& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = std::move(value); }
609 
610     /**
611      * <p>The time the processing job was last modified.</p>
612      */
WithLastModifiedTime(const Aws::Utils::DateTime & value)613     inline ProcessingJob& WithLastModifiedTime(const Aws::Utils::DateTime& value) { SetLastModifiedTime(value); return *this;}
614 
615     /**
616      * <p>The time the processing job was last modified.</p>
617      */
WithLastModifiedTime(Aws::Utils::DateTime && value)618     inline ProcessingJob& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;}
619 
620 
621     /**
622      * <p>The time the processing job was created.</p>
623      */
GetCreationTime()624     inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; }
625 
626     /**
627      * <p>The time the processing job was created.</p>
628      */
CreationTimeHasBeenSet()629     inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
630 
631     /**
632      * <p>The time the processing job was created.</p>
633      */
SetCreationTime(const Aws::Utils::DateTime & value)634     inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; }
635 
636     /**
637      * <p>The time the processing job was created.</p>
638      */
SetCreationTime(Aws::Utils::DateTime && value)639     inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); }
640 
641     /**
642      * <p>The time the processing job was created.</p>
643      */
WithCreationTime(const Aws::Utils::DateTime & value)644     inline ProcessingJob& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;}
645 
646     /**
647      * <p>The time the processing job was created.</p>
648      */
WithCreationTime(Aws::Utils::DateTime && value)649     inline ProcessingJob& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;}
650 
651 
652     /**
653      * <p>The ARN of a monitoring schedule for an endpoint associated with this
654      * processing job.</p>
655      */
GetMonitoringScheduleArn()656     inline const Aws::String& GetMonitoringScheduleArn() const{ return m_monitoringScheduleArn; }
657 
658     /**
659      * <p>The ARN of a monitoring schedule for an endpoint associated with this
660      * processing job.</p>
661      */
MonitoringScheduleArnHasBeenSet()662     inline bool MonitoringScheduleArnHasBeenSet() const { return m_monitoringScheduleArnHasBeenSet; }
663 
664     /**
665      * <p>The ARN of a monitoring schedule for an endpoint associated with this
666      * processing job.</p>
667      */
SetMonitoringScheduleArn(const Aws::String & value)668     inline void SetMonitoringScheduleArn(const Aws::String& value) { m_monitoringScheduleArnHasBeenSet = true; m_monitoringScheduleArn = value; }
669 
670     /**
671      * <p>The ARN of a monitoring schedule for an endpoint associated with this
672      * processing job.</p>
673      */
SetMonitoringScheduleArn(Aws::String && value)674     inline void SetMonitoringScheduleArn(Aws::String&& value) { m_monitoringScheduleArnHasBeenSet = true; m_monitoringScheduleArn = std::move(value); }
675 
676     /**
677      * <p>The ARN of a monitoring schedule for an endpoint associated with this
678      * processing job.</p>
679      */
SetMonitoringScheduleArn(const char * value)680     inline void SetMonitoringScheduleArn(const char* value) { m_monitoringScheduleArnHasBeenSet = true; m_monitoringScheduleArn.assign(value); }
681 
682     /**
683      * <p>The ARN of a monitoring schedule for an endpoint associated with this
684      * processing job.</p>
685      */
WithMonitoringScheduleArn(const Aws::String & value)686     inline ProcessingJob& WithMonitoringScheduleArn(const Aws::String& value) { SetMonitoringScheduleArn(value); return *this;}
687 
688     /**
689      * <p>The ARN of a monitoring schedule for an endpoint associated with this
690      * processing job.</p>
691      */
WithMonitoringScheduleArn(Aws::String && value)692     inline ProcessingJob& WithMonitoringScheduleArn(Aws::String&& value) { SetMonitoringScheduleArn(std::move(value)); return *this;}
693 
694     /**
695      * <p>The ARN of a monitoring schedule for an endpoint associated with this
696      * processing job.</p>
697      */
WithMonitoringScheduleArn(const char * value)698     inline ProcessingJob& WithMonitoringScheduleArn(const char* value) { SetMonitoringScheduleArn(value); return *this;}
699 
700 
701     /**
702      * <p>The Amazon Resource Name (ARN) of the AutoML job associated with this
703      * processing job.</p>
704      */
GetAutoMLJobArn()705     inline const Aws::String& GetAutoMLJobArn() const{ return m_autoMLJobArn; }
706 
707     /**
708      * <p>The Amazon Resource Name (ARN) of the AutoML job associated with this
709      * processing job.</p>
710      */
AutoMLJobArnHasBeenSet()711     inline bool AutoMLJobArnHasBeenSet() const { return m_autoMLJobArnHasBeenSet; }
712 
713     /**
714      * <p>The Amazon Resource Name (ARN) of the AutoML job associated with this
715      * processing job.</p>
716      */
SetAutoMLJobArn(const Aws::String & value)717     inline void SetAutoMLJobArn(const Aws::String& value) { m_autoMLJobArnHasBeenSet = true; m_autoMLJobArn = value; }
718 
719     /**
720      * <p>The Amazon Resource Name (ARN) of the AutoML job associated with this
721      * processing job.</p>
722      */
SetAutoMLJobArn(Aws::String && value)723     inline void SetAutoMLJobArn(Aws::String&& value) { m_autoMLJobArnHasBeenSet = true; m_autoMLJobArn = std::move(value); }
724 
725     /**
726      * <p>The Amazon Resource Name (ARN) of the AutoML job associated with this
727      * processing job.</p>
728      */
SetAutoMLJobArn(const char * value)729     inline void SetAutoMLJobArn(const char* value) { m_autoMLJobArnHasBeenSet = true; m_autoMLJobArn.assign(value); }
730 
731     /**
732      * <p>The Amazon Resource Name (ARN) of the AutoML job associated with this
733      * processing job.</p>
734      */
WithAutoMLJobArn(const Aws::String & value)735     inline ProcessingJob& WithAutoMLJobArn(const Aws::String& value) { SetAutoMLJobArn(value); return *this;}
736 
737     /**
738      * <p>The Amazon Resource Name (ARN) of the AutoML job associated with this
739      * processing job.</p>
740      */
WithAutoMLJobArn(Aws::String && value)741     inline ProcessingJob& WithAutoMLJobArn(Aws::String&& value) { SetAutoMLJobArn(std::move(value)); return *this;}
742 
743     /**
744      * <p>The Amazon Resource Name (ARN) of the AutoML job associated with this
745      * processing job.</p>
746      */
WithAutoMLJobArn(const char * value)747     inline ProcessingJob& WithAutoMLJobArn(const char* value) { SetAutoMLJobArn(value); return *this;}
748 
749 
750     /**
751      * <p>The ARN of the training job associated with this processing job.</p>
752      */
GetTrainingJobArn()753     inline const Aws::String& GetTrainingJobArn() const{ return m_trainingJobArn; }
754 
755     /**
756      * <p>The ARN of the training job associated with this processing job.</p>
757      */
TrainingJobArnHasBeenSet()758     inline bool TrainingJobArnHasBeenSet() const { return m_trainingJobArnHasBeenSet; }
759 
760     /**
761      * <p>The ARN of the training job associated with this processing job.</p>
762      */
SetTrainingJobArn(const Aws::String & value)763     inline void SetTrainingJobArn(const Aws::String& value) { m_trainingJobArnHasBeenSet = true; m_trainingJobArn = value; }
764 
765     /**
766      * <p>The ARN of the training job associated with this processing job.</p>
767      */
SetTrainingJobArn(Aws::String && value)768     inline void SetTrainingJobArn(Aws::String&& value) { m_trainingJobArnHasBeenSet = true; m_trainingJobArn = std::move(value); }
769 
770     /**
771      * <p>The ARN of the training job associated with this processing job.</p>
772      */
SetTrainingJobArn(const char * value)773     inline void SetTrainingJobArn(const char* value) { m_trainingJobArnHasBeenSet = true; m_trainingJobArn.assign(value); }
774 
775     /**
776      * <p>The ARN of the training job associated with this processing job.</p>
777      */
WithTrainingJobArn(const Aws::String & value)778     inline ProcessingJob& WithTrainingJobArn(const Aws::String& value) { SetTrainingJobArn(value); return *this;}
779 
780     /**
781      * <p>The ARN of the training job associated with this processing job.</p>
782      */
WithTrainingJobArn(Aws::String && value)783     inline ProcessingJob& WithTrainingJobArn(Aws::String&& value) { SetTrainingJobArn(std::move(value)); return *this;}
784 
785     /**
786      * <p>The ARN of the training job associated with this processing job.</p>
787      */
WithTrainingJobArn(const char * value)788     inline ProcessingJob& WithTrainingJobArn(const char* value) { SetTrainingJobArn(value); return *this;}
789 
790 
791     /**
792      * <p>An array of key-value pairs. For more information, see <a
793      * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL">Using
794      * Cost Allocation Tags</a> in the <i>Amazon Web Services Billing and Cost
795      * Management User Guide</i>.</p>
796      */
GetTags()797     inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
798 
799     /**
800      * <p>An array of key-value pairs. For more information, see <a
801      * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL">Using
802      * Cost Allocation Tags</a> in the <i>Amazon Web Services Billing and Cost
803      * Management User Guide</i>.</p>
804      */
TagsHasBeenSet()805     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
806 
807     /**
808      * <p>An array of key-value pairs. For more information, see <a
809      * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL">Using
810      * Cost Allocation Tags</a> in the <i>Amazon Web Services Billing and Cost
811      * Management User Guide</i>.</p>
812      */
SetTags(const Aws::Vector<Tag> & value)813     inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
814 
815     /**
816      * <p>An array of key-value pairs. For more information, see <a
817      * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL">Using
818      * Cost Allocation Tags</a> in the <i>Amazon Web Services Billing and Cost
819      * Management User Guide</i>.</p>
820      */
SetTags(Aws::Vector<Tag> && value)821     inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
822 
823     /**
824      * <p>An array of key-value pairs. For more information, see <a
825      * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL">Using
826      * Cost Allocation Tags</a> in the <i>Amazon Web Services Billing and Cost
827      * Management User Guide</i>.</p>
828      */
WithTags(const Aws::Vector<Tag> & value)829     inline ProcessingJob& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
830 
831     /**
832      * <p>An array of key-value pairs. For more information, see <a
833      * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL">Using
834      * Cost Allocation Tags</a> in the <i>Amazon Web Services Billing and Cost
835      * Management User Guide</i>.</p>
836      */
WithTags(Aws::Vector<Tag> && value)837     inline ProcessingJob& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
838 
839     /**
840      * <p>An array of key-value pairs. For more information, see <a
841      * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL">Using
842      * Cost Allocation Tags</a> in the <i>Amazon Web Services Billing and Cost
843      * Management User Guide</i>.</p>
844      */
AddTags(const Tag & value)845     inline ProcessingJob& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
846 
847     /**
848      * <p>An array of key-value pairs. For more information, see <a
849      * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL">Using
850      * Cost Allocation Tags</a> in the <i>Amazon Web Services Billing and Cost
851      * Management User Guide</i>.</p>
852      */
AddTags(Tag && value)853     inline ProcessingJob& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
854 
855   private:
856 
857     Aws::Vector<ProcessingInput> m_processingInputs;
858     bool m_processingInputsHasBeenSet;
859 
860     ProcessingOutputConfig m_processingOutputConfig;
861     bool m_processingOutputConfigHasBeenSet;
862 
863     Aws::String m_processingJobName;
864     bool m_processingJobNameHasBeenSet;
865 
866     ProcessingResources m_processingResources;
867     bool m_processingResourcesHasBeenSet;
868 
869     ProcessingStoppingCondition m_stoppingCondition;
870     bool m_stoppingConditionHasBeenSet;
871 
872     AppSpecification m_appSpecification;
873     bool m_appSpecificationHasBeenSet;
874 
875     Aws::Map<Aws::String, Aws::String> m_environment;
876     bool m_environmentHasBeenSet;
877 
878     NetworkConfig m_networkConfig;
879     bool m_networkConfigHasBeenSet;
880 
881     Aws::String m_roleArn;
882     bool m_roleArnHasBeenSet;
883 
884     ExperimentConfig m_experimentConfig;
885     bool m_experimentConfigHasBeenSet;
886 
887     Aws::String m_processingJobArn;
888     bool m_processingJobArnHasBeenSet;
889 
890     ProcessingJobStatus m_processingJobStatus;
891     bool m_processingJobStatusHasBeenSet;
892 
893     Aws::String m_exitMessage;
894     bool m_exitMessageHasBeenSet;
895 
896     Aws::String m_failureReason;
897     bool m_failureReasonHasBeenSet;
898 
899     Aws::Utils::DateTime m_processingEndTime;
900     bool m_processingEndTimeHasBeenSet;
901 
902     Aws::Utils::DateTime m_processingStartTime;
903     bool m_processingStartTimeHasBeenSet;
904 
905     Aws::Utils::DateTime m_lastModifiedTime;
906     bool m_lastModifiedTimeHasBeenSet;
907 
908     Aws::Utils::DateTime m_creationTime;
909     bool m_creationTimeHasBeenSet;
910 
911     Aws::String m_monitoringScheduleArn;
912     bool m_monitoringScheduleArnHasBeenSet;
913 
914     Aws::String m_autoMLJobArn;
915     bool m_autoMLJobArnHasBeenSet;
916 
917     Aws::String m_trainingJobArn;
918     bool m_trainingJobArnHasBeenSet;
919 
920     Aws::Vector<Tag> m_tags;
921     bool m_tagsHasBeenSet;
922   };
923 
924 } // namespace Model
925 } // namespace SageMaker
926 } // namespace Aws
927