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/mediaconnect/MediaConnect_EXPORTS.h>
8 #include <aws/mediaconnect/model/Flow.h>
9 #include <aws/mediaconnect/model/Messages.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 template<typename RESULT_TYPE>
15 class AmazonWebServiceResult;
16 
17 namespace Utils
18 {
19 namespace Json
20 {
21   class JsonValue;
22 } // namespace Json
23 } // namespace Utils
24 namespace MediaConnect
25 {
26 namespace Model
27 {
28   class AWS_MEDIACONNECT_API DescribeFlowResult
29   {
30   public:
31     DescribeFlowResult();
32     DescribeFlowResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
33     DescribeFlowResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
34 
35 
36 
GetFlow()37     inline const Flow& GetFlow() const{ return m_flow; }
38 
39 
SetFlow(const Flow & value)40     inline void SetFlow(const Flow& value) { m_flow = value; }
41 
42 
SetFlow(Flow && value)43     inline void SetFlow(Flow&& value) { m_flow = std::move(value); }
44 
45 
WithFlow(const Flow & value)46     inline DescribeFlowResult& WithFlow(const Flow& value) { SetFlow(value); return *this;}
47 
48 
WithFlow(Flow && value)49     inline DescribeFlowResult& WithFlow(Flow&& value) { SetFlow(std::move(value)); return *this;}
50 
51 
52 
GetMessages()53     inline const Messages& GetMessages() const{ return m_messages; }
54 
55 
SetMessages(const Messages & value)56     inline void SetMessages(const Messages& value) { m_messages = value; }
57 
58 
SetMessages(Messages && value)59     inline void SetMessages(Messages&& value) { m_messages = std::move(value); }
60 
61 
WithMessages(const Messages & value)62     inline DescribeFlowResult& WithMessages(const Messages& value) { SetMessages(value); return *this;}
63 
64 
WithMessages(Messages && value)65     inline DescribeFlowResult& WithMessages(Messages&& value) { SetMessages(std::move(value)); return *this;}
66 
67   private:
68 
69     Flow m_flow;
70 
71     Messages m_messages;
72   };
73 
74 } // namespace Model
75 } // namespace MediaConnect
76 } // namespace Aws
77