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/sagemaker/model/FlowDefinitionStatus.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <aws/sagemaker/model/HumanLoopRequestSource.h>
12 #include <aws/sagemaker/model/HumanLoopActivationConfig.h>
13 #include <aws/sagemaker/model/HumanLoopConfig.h>
14 #include <aws/sagemaker/model/FlowDefinitionOutputConfig.h>
15 #include <utility>
16 
17 namespace Aws
18 {
19 template<typename RESULT_TYPE>
20 class AmazonWebServiceResult;
21 
22 namespace Utils
23 {
24 namespace Json
25 {
26   class JsonValue;
27 } // namespace Json
28 } // namespace Utils
29 namespace SageMaker
30 {
31 namespace Model
32 {
33   class AWS_SAGEMAKER_API DescribeFlowDefinitionResult
34   {
35   public:
36     DescribeFlowDefinitionResult();
37     DescribeFlowDefinitionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
38     DescribeFlowDefinitionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
39 
40 
41     /**
42      * <p>The Amazon Resource Name (ARN) of the flow defintion.</p>
43      */
GetFlowDefinitionArn()44     inline const Aws::String& GetFlowDefinitionArn() const{ return m_flowDefinitionArn; }
45 
46     /**
47      * <p>The Amazon Resource Name (ARN) of the flow defintion.</p>
48      */
SetFlowDefinitionArn(const Aws::String & value)49     inline void SetFlowDefinitionArn(const Aws::String& value) { m_flowDefinitionArn = value; }
50 
51     /**
52      * <p>The Amazon Resource Name (ARN) of the flow defintion.</p>
53      */
SetFlowDefinitionArn(Aws::String && value)54     inline void SetFlowDefinitionArn(Aws::String&& value) { m_flowDefinitionArn = std::move(value); }
55 
56     /**
57      * <p>The Amazon Resource Name (ARN) of the flow defintion.</p>
58      */
SetFlowDefinitionArn(const char * value)59     inline void SetFlowDefinitionArn(const char* value) { m_flowDefinitionArn.assign(value); }
60 
61     /**
62      * <p>The Amazon Resource Name (ARN) of the flow defintion.</p>
63      */
WithFlowDefinitionArn(const Aws::String & value)64     inline DescribeFlowDefinitionResult& WithFlowDefinitionArn(const Aws::String& value) { SetFlowDefinitionArn(value); return *this;}
65 
66     /**
67      * <p>The Amazon Resource Name (ARN) of the flow defintion.</p>
68      */
WithFlowDefinitionArn(Aws::String && value)69     inline DescribeFlowDefinitionResult& WithFlowDefinitionArn(Aws::String&& value) { SetFlowDefinitionArn(std::move(value)); return *this;}
70 
71     /**
72      * <p>The Amazon Resource Name (ARN) of the flow defintion.</p>
73      */
WithFlowDefinitionArn(const char * value)74     inline DescribeFlowDefinitionResult& WithFlowDefinitionArn(const char* value) { SetFlowDefinitionArn(value); return *this;}
75 
76 
77     /**
78      * <p>The Amazon Resource Name (ARN) of the flow definition.</p>
79      */
GetFlowDefinitionName()80     inline const Aws::String& GetFlowDefinitionName() const{ return m_flowDefinitionName; }
81 
82     /**
83      * <p>The Amazon Resource Name (ARN) of the flow definition.</p>
84      */
SetFlowDefinitionName(const Aws::String & value)85     inline void SetFlowDefinitionName(const Aws::String& value) { m_flowDefinitionName = value; }
86 
87     /**
88      * <p>The Amazon Resource Name (ARN) of the flow definition.</p>
89      */
SetFlowDefinitionName(Aws::String && value)90     inline void SetFlowDefinitionName(Aws::String&& value) { m_flowDefinitionName = std::move(value); }
91 
92     /**
93      * <p>The Amazon Resource Name (ARN) of the flow definition.</p>
94      */
SetFlowDefinitionName(const char * value)95     inline void SetFlowDefinitionName(const char* value) { m_flowDefinitionName.assign(value); }
96 
97     /**
98      * <p>The Amazon Resource Name (ARN) of the flow definition.</p>
99      */
WithFlowDefinitionName(const Aws::String & value)100     inline DescribeFlowDefinitionResult& WithFlowDefinitionName(const Aws::String& value) { SetFlowDefinitionName(value); return *this;}
101 
102     /**
103      * <p>The Amazon Resource Name (ARN) of the flow definition.</p>
104      */
WithFlowDefinitionName(Aws::String && value)105     inline DescribeFlowDefinitionResult& WithFlowDefinitionName(Aws::String&& value) { SetFlowDefinitionName(std::move(value)); return *this;}
106 
107     /**
108      * <p>The Amazon Resource Name (ARN) of the flow definition.</p>
109      */
WithFlowDefinitionName(const char * value)110     inline DescribeFlowDefinitionResult& WithFlowDefinitionName(const char* value) { SetFlowDefinitionName(value); return *this;}
111 
112 
113     /**
114      * <p>The status of the flow definition. Valid values are listed below.</p>
115      */
GetFlowDefinitionStatus()116     inline const FlowDefinitionStatus& GetFlowDefinitionStatus() const{ return m_flowDefinitionStatus; }
117 
118     /**
119      * <p>The status of the flow definition. Valid values are listed below.</p>
120      */
SetFlowDefinitionStatus(const FlowDefinitionStatus & value)121     inline void SetFlowDefinitionStatus(const FlowDefinitionStatus& value) { m_flowDefinitionStatus = value; }
122 
123     /**
124      * <p>The status of the flow definition. Valid values are listed below.</p>
125      */
SetFlowDefinitionStatus(FlowDefinitionStatus && value)126     inline void SetFlowDefinitionStatus(FlowDefinitionStatus&& value) { m_flowDefinitionStatus = std::move(value); }
127 
128     /**
129      * <p>The status of the flow definition. Valid values are listed below.</p>
130      */
WithFlowDefinitionStatus(const FlowDefinitionStatus & value)131     inline DescribeFlowDefinitionResult& WithFlowDefinitionStatus(const FlowDefinitionStatus& value) { SetFlowDefinitionStatus(value); return *this;}
132 
133     /**
134      * <p>The status of the flow definition. Valid values are listed below.</p>
135      */
WithFlowDefinitionStatus(FlowDefinitionStatus && value)136     inline DescribeFlowDefinitionResult& WithFlowDefinitionStatus(FlowDefinitionStatus&& value) { SetFlowDefinitionStatus(std::move(value)); return *this;}
137 
138 
139     /**
140      * <p>The timestamp when the flow definition was created.</p>
141      */
GetCreationTime()142     inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; }
143 
144     /**
145      * <p>The timestamp when the flow definition was created.</p>
146      */
SetCreationTime(const Aws::Utils::DateTime & value)147     inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTime = value; }
148 
149     /**
150      * <p>The timestamp when the flow definition was created.</p>
151      */
SetCreationTime(Aws::Utils::DateTime && value)152     inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTime = std::move(value); }
153 
154     /**
155      * <p>The timestamp when the flow definition was created.</p>
156      */
WithCreationTime(const Aws::Utils::DateTime & value)157     inline DescribeFlowDefinitionResult& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;}
158 
159     /**
160      * <p>The timestamp when the flow definition was created.</p>
161      */
WithCreationTime(Aws::Utils::DateTime && value)162     inline DescribeFlowDefinitionResult& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;}
163 
164 
165     /**
166      * <p>Container for configuring the source of human task requests. Used to specify
167      * if Amazon Rekognition or Amazon Textract is used as an integration source.</p>
168      */
GetHumanLoopRequestSource()169     inline const HumanLoopRequestSource& GetHumanLoopRequestSource() const{ return m_humanLoopRequestSource; }
170 
171     /**
172      * <p>Container for configuring the source of human task requests. Used to specify
173      * if Amazon Rekognition or Amazon Textract is used as an integration source.</p>
174      */
SetHumanLoopRequestSource(const HumanLoopRequestSource & value)175     inline void SetHumanLoopRequestSource(const HumanLoopRequestSource& value) { m_humanLoopRequestSource = value; }
176 
177     /**
178      * <p>Container for configuring the source of human task requests. Used to specify
179      * if Amazon Rekognition or Amazon Textract is used as an integration source.</p>
180      */
SetHumanLoopRequestSource(HumanLoopRequestSource && value)181     inline void SetHumanLoopRequestSource(HumanLoopRequestSource&& value) { m_humanLoopRequestSource = std::move(value); }
182 
183     /**
184      * <p>Container for configuring the source of human task requests. Used to specify
185      * if Amazon Rekognition or Amazon Textract is used as an integration source.</p>
186      */
WithHumanLoopRequestSource(const HumanLoopRequestSource & value)187     inline DescribeFlowDefinitionResult& WithHumanLoopRequestSource(const HumanLoopRequestSource& value) { SetHumanLoopRequestSource(value); return *this;}
188 
189     /**
190      * <p>Container for configuring the source of human task requests. Used to specify
191      * if Amazon Rekognition or Amazon Textract is used as an integration source.</p>
192      */
WithHumanLoopRequestSource(HumanLoopRequestSource && value)193     inline DescribeFlowDefinitionResult& WithHumanLoopRequestSource(HumanLoopRequestSource&& value) { SetHumanLoopRequestSource(std::move(value)); return *this;}
194 
195 
196     /**
197      * <p>An object containing information about what triggers a human review
198      * workflow.</p>
199      */
GetHumanLoopActivationConfig()200     inline const HumanLoopActivationConfig& GetHumanLoopActivationConfig() const{ return m_humanLoopActivationConfig; }
201 
202     /**
203      * <p>An object containing information about what triggers a human review
204      * workflow.</p>
205      */
SetHumanLoopActivationConfig(const HumanLoopActivationConfig & value)206     inline void SetHumanLoopActivationConfig(const HumanLoopActivationConfig& value) { m_humanLoopActivationConfig = value; }
207 
208     /**
209      * <p>An object containing information about what triggers a human review
210      * workflow.</p>
211      */
SetHumanLoopActivationConfig(HumanLoopActivationConfig && value)212     inline void SetHumanLoopActivationConfig(HumanLoopActivationConfig&& value) { m_humanLoopActivationConfig = std::move(value); }
213 
214     /**
215      * <p>An object containing information about what triggers a human review
216      * workflow.</p>
217      */
WithHumanLoopActivationConfig(const HumanLoopActivationConfig & value)218     inline DescribeFlowDefinitionResult& WithHumanLoopActivationConfig(const HumanLoopActivationConfig& value) { SetHumanLoopActivationConfig(value); return *this;}
219 
220     /**
221      * <p>An object containing information about what triggers a human review
222      * workflow.</p>
223      */
WithHumanLoopActivationConfig(HumanLoopActivationConfig && value)224     inline DescribeFlowDefinitionResult& WithHumanLoopActivationConfig(HumanLoopActivationConfig&& value) { SetHumanLoopActivationConfig(std::move(value)); return *this;}
225 
226 
227     /**
228      * <p>An object containing information about who works on the task, the workforce
229      * task price, and other task details.</p>
230      */
GetHumanLoopConfig()231     inline const HumanLoopConfig& GetHumanLoopConfig() const{ return m_humanLoopConfig; }
232 
233     /**
234      * <p>An object containing information about who works on the task, the workforce
235      * task price, and other task details.</p>
236      */
SetHumanLoopConfig(const HumanLoopConfig & value)237     inline void SetHumanLoopConfig(const HumanLoopConfig& value) { m_humanLoopConfig = value; }
238 
239     /**
240      * <p>An object containing information about who works on the task, the workforce
241      * task price, and other task details.</p>
242      */
SetHumanLoopConfig(HumanLoopConfig && value)243     inline void SetHumanLoopConfig(HumanLoopConfig&& value) { m_humanLoopConfig = std::move(value); }
244 
245     /**
246      * <p>An object containing information about who works on the task, the workforce
247      * task price, and other task details.</p>
248      */
WithHumanLoopConfig(const HumanLoopConfig & value)249     inline DescribeFlowDefinitionResult& WithHumanLoopConfig(const HumanLoopConfig& value) { SetHumanLoopConfig(value); return *this;}
250 
251     /**
252      * <p>An object containing information about who works on the task, the workforce
253      * task price, and other task details.</p>
254      */
WithHumanLoopConfig(HumanLoopConfig && value)255     inline DescribeFlowDefinitionResult& WithHumanLoopConfig(HumanLoopConfig&& value) { SetHumanLoopConfig(std::move(value)); return *this;}
256 
257 
258     /**
259      * <p>An object containing information about the output file.</p>
260      */
GetOutputConfig()261     inline const FlowDefinitionOutputConfig& GetOutputConfig() const{ return m_outputConfig; }
262 
263     /**
264      * <p>An object containing information about the output file.</p>
265      */
SetOutputConfig(const FlowDefinitionOutputConfig & value)266     inline void SetOutputConfig(const FlowDefinitionOutputConfig& value) { m_outputConfig = value; }
267 
268     /**
269      * <p>An object containing information about the output file.</p>
270      */
SetOutputConfig(FlowDefinitionOutputConfig && value)271     inline void SetOutputConfig(FlowDefinitionOutputConfig&& value) { m_outputConfig = std::move(value); }
272 
273     /**
274      * <p>An object containing information about the output file.</p>
275      */
WithOutputConfig(const FlowDefinitionOutputConfig & value)276     inline DescribeFlowDefinitionResult& WithOutputConfig(const FlowDefinitionOutputConfig& value) { SetOutputConfig(value); return *this;}
277 
278     /**
279      * <p>An object containing information about the output file.</p>
280      */
WithOutputConfig(FlowDefinitionOutputConfig && value)281     inline DescribeFlowDefinitionResult& WithOutputConfig(FlowDefinitionOutputConfig&& value) { SetOutputConfig(std::move(value)); return *this;}
282 
283 
284     /**
285      * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access
286      * Management (IAM) execution role for the flow definition.</p>
287      */
GetRoleArn()288     inline const Aws::String& GetRoleArn() const{ return m_roleArn; }
289 
290     /**
291      * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access
292      * Management (IAM) execution role for the flow definition.</p>
293      */
SetRoleArn(const Aws::String & value)294     inline void SetRoleArn(const Aws::String& value) { m_roleArn = value; }
295 
296     /**
297      * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access
298      * Management (IAM) execution role for the flow definition.</p>
299      */
SetRoleArn(Aws::String && value)300     inline void SetRoleArn(Aws::String&& value) { m_roleArn = std::move(value); }
301 
302     /**
303      * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access
304      * Management (IAM) execution role for the flow definition.</p>
305      */
SetRoleArn(const char * value)306     inline void SetRoleArn(const char* value) { m_roleArn.assign(value); }
307 
308     /**
309      * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access
310      * Management (IAM) execution role for the flow definition.</p>
311      */
WithRoleArn(const Aws::String & value)312     inline DescribeFlowDefinitionResult& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;}
313 
314     /**
315      * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access
316      * Management (IAM) execution role for the flow definition.</p>
317      */
WithRoleArn(Aws::String && value)318     inline DescribeFlowDefinitionResult& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;}
319 
320     /**
321      * <p>The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access
322      * Management (IAM) execution role for the flow definition.</p>
323      */
WithRoleArn(const char * value)324     inline DescribeFlowDefinitionResult& WithRoleArn(const char* value) { SetRoleArn(value); return *this;}
325 
326 
327     /**
328      * <p>The reason your flow definition failed.</p>
329      */
GetFailureReason()330     inline const Aws::String& GetFailureReason() const{ return m_failureReason; }
331 
332     /**
333      * <p>The reason your flow definition failed.</p>
334      */
SetFailureReason(const Aws::String & value)335     inline void SetFailureReason(const Aws::String& value) { m_failureReason = value; }
336 
337     /**
338      * <p>The reason your flow definition failed.</p>
339      */
SetFailureReason(Aws::String && value)340     inline void SetFailureReason(Aws::String&& value) { m_failureReason = std::move(value); }
341 
342     /**
343      * <p>The reason your flow definition failed.</p>
344      */
SetFailureReason(const char * value)345     inline void SetFailureReason(const char* value) { m_failureReason.assign(value); }
346 
347     /**
348      * <p>The reason your flow definition failed.</p>
349      */
WithFailureReason(const Aws::String & value)350     inline DescribeFlowDefinitionResult& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;}
351 
352     /**
353      * <p>The reason your flow definition failed.</p>
354      */
WithFailureReason(Aws::String && value)355     inline DescribeFlowDefinitionResult& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;}
356 
357     /**
358      * <p>The reason your flow definition failed.</p>
359      */
WithFailureReason(const char * value)360     inline DescribeFlowDefinitionResult& WithFailureReason(const char* value) { SetFailureReason(value); return *this;}
361 
362   private:
363 
364     Aws::String m_flowDefinitionArn;
365 
366     Aws::String m_flowDefinitionName;
367 
368     FlowDefinitionStatus m_flowDefinitionStatus;
369 
370     Aws::Utils::DateTime m_creationTime;
371 
372     HumanLoopRequestSource m_humanLoopRequestSource;
373 
374     HumanLoopActivationConfig m_humanLoopActivationConfig;
375 
376     HumanLoopConfig m_humanLoopConfig;
377 
378     FlowDefinitionOutputConfig m_outputConfig;
379 
380     Aws::String m_roleArn;
381 
382     Aws::String m_failureReason;
383   };
384 
385 } // namespace Model
386 } // namespace SageMaker
387 } // namespace Aws
388