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/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
8 #include <aws/iotsecuretunneling/model/Tunnel.h>
9 #include <utility>
10 
11 namespace Aws
12 {
13 template<typename RESULT_TYPE>
14 class AmazonWebServiceResult;
15 
16 namespace Utils
17 {
18 namespace Json
19 {
20   class JsonValue;
21 } // namespace Json
22 } // namespace Utils
23 namespace IoTSecureTunneling
24 {
25 namespace Model
26 {
27   class AWS_IOTSECURETUNNELING_API DescribeTunnelResult
28   {
29   public:
30     DescribeTunnelResult();
31     DescribeTunnelResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
32     DescribeTunnelResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
33 
34 
35     /**
36      * <p>The tunnel being described.</p>
37      */
GetTunnel()38     inline const Tunnel& GetTunnel() const{ return m_tunnel; }
39 
40     /**
41      * <p>The tunnel being described.</p>
42      */
SetTunnel(const Tunnel & value)43     inline void SetTunnel(const Tunnel& value) { m_tunnel = value; }
44 
45     /**
46      * <p>The tunnel being described.</p>
47      */
SetTunnel(Tunnel && value)48     inline void SetTunnel(Tunnel&& value) { m_tunnel = std::move(value); }
49 
50     /**
51      * <p>The tunnel being described.</p>
52      */
WithTunnel(const Tunnel & value)53     inline DescribeTunnelResult& WithTunnel(const Tunnel& value) { SetTunnel(value); return *this;}
54 
55     /**
56      * <p>The tunnel being described.</p>
57      */
WithTunnel(Tunnel && value)58     inline DescribeTunnelResult& WithTunnel(Tunnel&& value) { SetTunnel(std::move(value)); return *this;}
59 
60   private:
61 
62     Tunnel m_tunnel;
63   };
64 
65 } // namespace Model
66 } // namespace IoTSecureTunneling
67 } // namespace Aws
68