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/rekognition/Rekognition_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/rekognition/model/StreamProcessorStatus.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <aws/rekognition/model/StreamProcessorInput.h>
12 #include <aws/rekognition/model/StreamProcessorOutput.h>
13 #include <aws/rekognition/model/StreamProcessorSettings.h>
14 #include <utility>
15 
16 namespace Aws
17 {
18 template<typename RESULT_TYPE>
19 class AmazonWebServiceResult;
20 
21 namespace Utils
22 {
23 namespace Json
24 {
25   class JsonValue;
26 } // namespace Json
27 } // namespace Utils
28 namespace Rekognition
29 {
30 namespace Model
31 {
32   class AWS_REKOGNITION_API DescribeStreamProcessorResult
33   {
34   public:
35     DescribeStreamProcessorResult();
36     DescribeStreamProcessorResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
37     DescribeStreamProcessorResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
38 
39 
40     /**
41      * <p>Name of the stream processor. </p>
42      */
GetName()43     inline const Aws::String& GetName() const{ return m_name; }
44 
45     /**
46      * <p>Name of the stream processor. </p>
47      */
SetName(const Aws::String & value)48     inline void SetName(const Aws::String& value) { m_name = value; }
49 
50     /**
51      * <p>Name of the stream processor. </p>
52      */
SetName(Aws::String && value)53     inline void SetName(Aws::String&& value) { m_name = std::move(value); }
54 
55     /**
56      * <p>Name of the stream processor. </p>
57      */
SetName(const char * value)58     inline void SetName(const char* value) { m_name.assign(value); }
59 
60     /**
61      * <p>Name of the stream processor. </p>
62      */
WithName(const Aws::String & value)63     inline DescribeStreamProcessorResult& WithName(const Aws::String& value) { SetName(value); return *this;}
64 
65     /**
66      * <p>Name of the stream processor. </p>
67      */
WithName(Aws::String && value)68     inline DescribeStreamProcessorResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
69 
70     /**
71      * <p>Name of the stream processor. </p>
72      */
WithName(const char * value)73     inline DescribeStreamProcessorResult& WithName(const char* value) { SetName(value); return *this;}
74 
75 
76     /**
77      * <p>ARN of the stream processor.</p>
78      */
GetStreamProcessorArn()79     inline const Aws::String& GetStreamProcessorArn() const{ return m_streamProcessorArn; }
80 
81     /**
82      * <p>ARN of the stream processor.</p>
83      */
SetStreamProcessorArn(const Aws::String & value)84     inline void SetStreamProcessorArn(const Aws::String& value) { m_streamProcessorArn = value; }
85 
86     /**
87      * <p>ARN of the stream processor.</p>
88      */
SetStreamProcessorArn(Aws::String && value)89     inline void SetStreamProcessorArn(Aws::String&& value) { m_streamProcessorArn = std::move(value); }
90 
91     /**
92      * <p>ARN of the stream processor.</p>
93      */
SetStreamProcessorArn(const char * value)94     inline void SetStreamProcessorArn(const char* value) { m_streamProcessorArn.assign(value); }
95 
96     /**
97      * <p>ARN of the stream processor.</p>
98      */
WithStreamProcessorArn(const Aws::String & value)99     inline DescribeStreamProcessorResult& WithStreamProcessorArn(const Aws::String& value) { SetStreamProcessorArn(value); return *this;}
100 
101     /**
102      * <p>ARN of the stream processor.</p>
103      */
WithStreamProcessorArn(Aws::String && value)104     inline DescribeStreamProcessorResult& WithStreamProcessorArn(Aws::String&& value) { SetStreamProcessorArn(std::move(value)); return *this;}
105 
106     /**
107      * <p>ARN of the stream processor.</p>
108      */
WithStreamProcessorArn(const char * value)109     inline DescribeStreamProcessorResult& WithStreamProcessorArn(const char* value) { SetStreamProcessorArn(value); return *this;}
110 
111 
112     /**
113      * <p>Current status of the stream processor.</p>
114      */
GetStatus()115     inline const StreamProcessorStatus& GetStatus() const{ return m_status; }
116 
117     /**
118      * <p>Current status of the stream processor.</p>
119      */
SetStatus(const StreamProcessorStatus & value)120     inline void SetStatus(const StreamProcessorStatus& value) { m_status = value; }
121 
122     /**
123      * <p>Current status of the stream processor.</p>
124      */
SetStatus(StreamProcessorStatus && value)125     inline void SetStatus(StreamProcessorStatus&& value) { m_status = std::move(value); }
126 
127     /**
128      * <p>Current status of the stream processor.</p>
129      */
WithStatus(const StreamProcessorStatus & value)130     inline DescribeStreamProcessorResult& WithStatus(const StreamProcessorStatus& value) { SetStatus(value); return *this;}
131 
132     /**
133      * <p>Current status of the stream processor.</p>
134      */
WithStatus(StreamProcessorStatus && value)135     inline DescribeStreamProcessorResult& WithStatus(StreamProcessorStatus&& value) { SetStatus(std::move(value)); return *this;}
136 
137 
138     /**
139      * <p>Detailed status message about the stream processor.</p>
140      */
GetStatusMessage()141     inline const Aws::String& GetStatusMessage() const{ return m_statusMessage; }
142 
143     /**
144      * <p>Detailed status message about the stream processor.</p>
145      */
SetStatusMessage(const Aws::String & value)146     inline void SetStatusMessage(const Aws::String& value) { m_statusMessage = value; }
147 
148     /**
149      * <p>Detailed status message about the stream processor.</p>
150      */
SetStatusMessage(Aws::String && value)151     inline void SetStatusMessage(Aws::String&& value) { m_statusMessage = std::move(value); }
152 
153     /**
154      * <p>Detailed status message about the stream processor.</p>
155      */
SetStatusMessage(const char * value)156     inline void SetStatusMessage(const char* value) { m_statusMessage.assign(value); }
157 
158     /**
159      * <p>Detailed status message about the stream processor.</p>
160      */
WithStatusMessage(const Aws::String & value)161     inline DescribeStreamProcessorResult& WithStatusMessage(const Aws::String& value) { SetStatusMessage(value); return *this;}
162 
163     /**
164      * <p>Detailed status message about the stream processor.</p>
165      */
WithStatusMessage(Aws::String && value)166     inline DescribeStreamProcessorResult& WithStatusMessage(Aws::String&& value) { SetStatusMessage(std::move(value)); return *this;}
167 
168     /**
169      * <p>Detailed status message about the stream processor.</p>
170      */
WithStatusMessage(const char * value)171     inline DescribeStreamProcessorResult& WithStatusMessage(const char* value) { SetStatusMessage(value); return *this;}
172 
173 
174     /**
175      * <p>Date and time the stream processor was created</p>
176      */
GetCreationTimestamp()177     inline const Aws::Utils::DateTime& GetCreationTimestamp() const{ return m_creationTimestamp; }
178 
179     /**
180      * <p>Date and time the stream processor was created</p>
181      */
SetCreationTimestamp(const Aws::Utils::DateTime & value)182     inline void SetCreationTimestamp(const Aws::Utils::DateTime& value) { m_creationTimestamp = value; }
183 
184     /**
185      * <p>Date and time the stream processor was created</p>
186      */
SetCreationTimestamp(Aws::Utils::DateTime && value)187     inline void SetCreationTimestamp(Aws::Utils::DateTime&& value) { m_creationTimestamp = std::move(value); }
188 
189     /**
190      * <p>Date and time the stream processor was created</p>
191      */
WithCreationTimestamp(const Aws::Utils::DateTime & value)192     inline DescribeStreamProcessorResult& WithCreationTimestamp(const Aws::Utils::DateTime& value) { SetCreationTimestamp(value); return *this;}
193 
194     /**
195      * <p>Date and time the stream processor was created</p>
196      */
WithCreationTimestamp(Aws::Utils::DateTime && value)197     inline DescribeStreamProcessorResult& WithCreationTimestamp(Aws::Utils::DateTime&& value) { SetCreationTimestamp(std::move(value)); return *this;}
198 
199 
200     /**
201      * <p>The time, in Unix format, the stream processor was last updated. For example,
202      * when the stream processor moves from a running state to a failed state, or when
203      * the user starts or stops the stream processor.</p>
204      */
GetLastUpdateTimestamp()205     inline const Aws::Utils::DateTime& GetLastUpdateTimestamp() const{ return m_lastUpdateTimestamp; }
206 
207     /**
208      * <p>The time, in Unix format, the stream processor was last updated. For example,
209      * when the stream processor moves from a running state to a failed state, or when
210      * the user starts or stops the stream processor.</p>
211      */
SetLastUpdateTimestamp(const Aws::Utils::DateTime & value)212     inline void SetLastUpdateTimestamp(const Aws::Utils::DateTime& value) { m_lastUpdateTimestamp = value; }
213 
214     /**
215      * <p>The time, in Unix format, the stream processor was last updated. For example,
216      * when the stream processor moves from a running state to a failed state, or when
217      * the user starts or stops the stream processor.</p>
218      */
SetLastUpdateTimestamp(Aws::Utils::DateTime && value)219     inline void SetLastUpdateTimestamp(Aws::Utils::DateTime&& value) { m_lastUpdateTimestamp = std::move(value); }
220 
221     /**
222      * <p>The time, in Unix format, the stream processor was last updated. For example,
223      * when the stream processor moves from a running state to a failed state, or when
224      * the user starts or stops the stream processor.</p>
225      */
WithLastUpdateTimestamp(const Aws::Utils::DateTime & value)226     inline DescribeStreamProcessorResult& WithLastUpdateTimestamp(const Aws::Utils::DateTime& value) { SetLastUpdateTimestamp(value); return *this;}
227 
228     /**
229      * <p>The time, in Unix format, the stream processor was last updated. For example,
230      * when the stream processor moves from a running state to a failed state, or when
231      * the user starts or stops the stream processor.</p>
232      */
WithLastUpdateTimestamp(Aws::Utils::DateTime && value)233     inline DescribeStreamProcessorResult& WithLastUpdateTimestamp(Aws::Utils::DateTime&& value) { SetLastUpdateTimestamp(std::move(value)); return *this;}
234 
235 
236     /**
237      * <p>Kinesis video stream that provides the source streaming video.</p>
238      */
GetInput()239     inline const StreamProcessorInput& GetInput() const{ return m_input; }
240 
241     /**
242      * <p>Kinesis video stream that provides the source streaming video.</p>
243      */
SetInput(const StreamProcessorInput & value)244     inline void SetInput(const StreamProcessorInput& value) { m_input = value; }
245 
246     /**
247      * <p>Kinesis video stream that provides the source streaming video.</p>
248      */
SetInput(StreamProcessorInput && value)249     inline void SetInput(StreamProcessorInput&& value) { m_input = std::move(value); }
250 
251     /**
252      * <p>Kinesis video stream that provides the source streaming video.</p>
253      */
WithInput(const StreamProcessorInput & value)254     inline DescribeStreamProcessorResult& WithInput(const StreamProcessorInput& value) { SetInput(value); return *this;}
255 
256     /**
257      * <p>Kinesis video stream that provides the source streaming video.</p>
258      */
WithInput(StreamProcessorInput && value)259     inline DescribeStreamProcessorResult& WithInput(StreamProcessorInput&& value) { SetInput(std::move(value)); return *this;}
260 
261 
262     /**
263      * <p>Kinesis data stream to which Amazon Rekognition Video puts the analysis
264      * results.</p>
265      */
GetOutput()266     inline const StreamProcessorOutput& GetOutput() const{ return m_output; }
267 
268     /**
269      * <p>Kinesis data stream to which Amazon Rekognition Video puts the analysis
270      * results.</p>
271      */
SetOutput(const StreamProcessorOutput & value)272     inline void SetOutput(const StreamProcessorOutput& value) { m_output = value; }
273 
274     /**
275      * <p>Kinesis data stream to which Amazon Rekognition Video puts the analysis
276      * results.</p>
277      */
SetOutput(StreamProcessorOutput && value)278     inline void SetOutput(StreamProcessorOutput&& value) { m_output = std::move(value); }
279 
280     /**
281      * <p>Kinesis data stream to which Amazon Rekognition Video puts the analysis
282      * results.</p>
283      */
WithOutput(const StreamProcessorOutput & value)284     inline DescribeStreamProcessorResult& WithOutput(const StreamProcessorOutput& value) { SetOutput(value); return *this;}
285 
286     /**
287      * <p>Kinesis data stream to which Amazon Rekognition Video puts the analysis
288      * results.</p>
289      */
WithOutput(StreamProcessorOutput && value)290     inline DescribeStreamProcessorResult& WithOutput(StreamProcessorOutput&& value) { SetOutput(std::move(value)); return *this;}
291 
292 
293     /**
294      * <p>ARN of the IAM role that allows access to the stream processor.</p>
295      */
GetRoleArn()296     inline const Aws::String& GetRoleArn() const{ return m_roleArn; }
297 
298     /**
299      * <p>ARN of the IAM role that allows access to the stream processor.</p>
300      */
SetRoleArn(const Aws::String & value)301     inline void SetRoleArn(const Aws::String& value) { m_roleArn = value; }
302 
303     /**
304      * <p>ARN of the IAM role that allows access to the stream processor.</p>
305      */
SetRoleArn(Aws::String && value)306     inline void SetRoleArn(Aws::String&& value) { m_roleArn = std::move(value); }
307 
308     /**
309      * <p>ARN of the IAM role that allows access to the stream processor.</p>
310      */
SetRoleArn(const char * value)311     inline void SetRoleArn(const char* value) { m_roleArn.assign(value); }
312 
313     /**
314      * <p>ARN of the IAM role that allows access to the stream processor.</p>
315      */
WithRoleArn(const Aws::String & value)316     inline DescribeStreamProcessorResult& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;}
317 
318     /**
319      * <p>ARN of the IAM role that allows access to the stream processor.</p>
320      */
WithRoleArn(Aws::String && value)321     inline DescribeStreamProcessorResult& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;}
322 
323     /**
324      * <p>ARN of the IAM role that allows access to the stream processor.</p>
325      */
WithRoleArn(const char * value)326     inline DescribeStreamProcessorResult& WithRoleArn(const char* value) { SetRoleArn(value); return *this;}
327 
328 
329     /**
330      * <p>Face recognition input parameters that are being used by the stream
331      * processor. Includes the collection to use for face recognition and the face
332      * attributes to detect.</p>
333      */
GetSettings()334     inline const StreamProcessorSettings& GetSettings() const{ return m_settings; }
335 
336     /**
337      * <p>Face recognition input parameters that are being used by the stream
338      * processor. Includes the collection to use for face recognition and the face
339      * attributes to detect.</p>
340      */
SetSettings(const StreamProcessorSettings & value)341     inline void SetSettings(const StreamProcessorSettings& value) { m_settings = value; }
342 
343     /**
344      * <p>Face recognition input parameters that are being used by the stream
345      * processor. Includes the collection to use for face recognition and the face
346      * attributes to detect.</p>
347      */
SetSettings(StreamProcessorSettings && value)348     inline void SetSettings(StreamProcessorSettings&& value) { m_settings = std::move(value); }
349 
350     /**
351      * <p>Face recognition input parameters that are being used by the stream
352      * processor. Includes the collection to use for face recognition and the face
353      * attributes to detect.</p>
354      */
WithSettings(const StreamProcessorSettings & value)355     inline DescribeStreamProcessorResult& WithSettings(const StreamProcessorSettings& value) { SetSettings(value); return *this;}
356 
357     /**
358      * <p>Face recognition input parameters that are being used by the stream
359      * processor. Includes the collection to use for face recognition and the face
360      * attributes to detect.</p>
361      */
WithSettings(StreamProcessorSettings && value)362     inline DescribeStreamProcessorResult& WithSettings(StreamProcessorSettings&& value) { SetSettings(std::move(value)); return *this;}
363 
364   private:
365 
366     Aws::String m_name;
367 
368     Aws::String m_streamProcessorArn;
369 
370     StreamProcessorStatus m_status;
371 
372     Aws::String m_statusMessage;
373 
374     Aws::Utils::DateTime m_creationTimestamp;
375 
376     Aws::Utils::DateTime m_lastUpdateTimestamp;
377 
378     StreamProcessorInput m_input;
379 
380     StreamProcessorOutput m_output;
381 
382     Aws::String m_roleArn;
383 
384     StreamProcessorSettings m_settings;
385   };
386 
387 } // namespace Model
388 } // namespace Rekognition
389 } // namespace Aws
390