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 
9 namespace Aws
10 {
11 namespace Utils
12 {
13 namespace Json
14 {
15   class JsonValue;
16   class JsonView;
17 } // namespace Json
18 } // namespace Utils
19 namespace IoTSecureTunneling
20 {
21 namespace Model
22 {
23 
24   /**
25    * <p>Tunnel timeout configuration.</p><p><h3>See Also:</h3>   <a
26    * href="http://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/TimeoutConfig">AWS
27    * API Reference</a></p>
28    */
29   class AWS_IOTSECURETUNNELING_API TimeoutConfig
30   {
31   public:
32     TimeoutConfig();
33     TimeoutConfig(Aws::Utils::Json::JsonView jsonValue);
34     TimeoutConfig& operator=(Aws::Utils::Json::JsonView jsonValue);
35     Aws::Utils::Json::JsonValue Jsonize() const;
36 
37 
38     /**
39      * <p>The maximum amount of time (in minutes) a tunnel can remain open. If not
40      * specified, maxLifetimeTimeoutMinutes defaults to 720 minutes. Valid values are
41      * from 1 minute to 12 hours (720 minutes) </p>
42      */
GetMaxLifetimeTimeoutMinutes()43     inline int GetMaxLifetimeTimeoutMinutes() const{ return m_maxLifetimeTimeoutMinutes; }
44 
45     /**
46      * <p>The maximum amount of time (in minutes) a tunnel can remain open. If not
47      * specified, maxLifetimeTimeoutMinutes defaults to 720 minutes. Valid values are
48      * from 1 minute to 12 hours (720 minutes) </p>
49      */
MaxLifetimeTimeoutMinutesHasBeenSet()50     inline bool MaxLifetimeTimeoutMinutesHasBeenSet() const { return m_maxLifetimeTimeoutMinutesHasBeenSet; }
51 
52     /**
53      * <p>The maximum amount of time (in minutes) a tunnel can remain open. If not
54      * specified, maxLifetimeTimeoutMinutes defaults to 720 minutes. Valid values are
55      * from 1 minute to 12 hours (720 minutes) </p>
56      */
SetMaxLifetimeTimeoutMinutes(int value)57     inline void SetMaxLifetimeTimeoutMinutes(int value) { m_maxLifetimeTimeoutMinutesHasBeenSet = true; m_maxLifetimeTimeoutMinutes = value; }
58 
59     /**
60      * <p>The maximum amount of time (in minutes) a tunnel can remain open. If not
61      * specified, maxLifetimeTimeoutMinutes defaults to 720 minutes. Valid values are
62      * from 1 minute to 12 hours (720 minutes) </p>
63      */
WithMaxLifetimeTimeoutMinutes(int value)64     inline TimeoutConfig& WithMaxLifetimeTimeoutMinutes(int value) { SetMaxLifetimeTimeoutMinutes(value); return *this;}
65 
66   private:
67 
68     int m_maxLifetimeTimeoutMinutes;
69     bool m_maxLifetimeTimeoutMinutesHasBeenSet;
70   };
71 
72 } // namespace Model
73 } // namespace IoTSecureTunneling
74 } // namespace Aws
75