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/medialive/MediaLive_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSVector.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/medialive/model/InputDeviceIpScheme.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace MediaLive
24 {
25 namespace Model
26 {
27 
28   /**
29    * The network settings for the input device.<p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/InputDeviceNetworkSettings">AWS
31    * API Reference</a></p>
32    */
33   class AWS_MEDIALIVE_API InputDeviceNetworkSettings
34   {
35   public:
36     InputDeviceNetworkSettings();
37     InputDeviceNetworkSettings(Aws::Utils::Json::JsonView jsonValue);
38     InputDeviceNetworkSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * The DNS addresses of the input device.
44      */
GetDnsAddresses()45     inline const Aws::Vector<Aws::String>& GetDnsAddresses() const{ return m_dnsAddresses; }
46 
47     /**
48      * The DNS addresses of the input device.
49      */
DnsAddressesHasBeenSet()50     inline bool DnsAddressesHasBeenSet() const { return m_dnsAddressesHasBeenSet; }
51 
52     /**
53      * The DNS addresses of the input device.
54      */
SetDnsAddresses(const Aws::Vector<Aws::String> & value)55     inline void SetDnsAddresses(const Aws::Vector<Aws::String>& value) { m_dnsAddressesHasBeenSet = true; m_dnsAddresses = value; }
56 
57     /**
58      * The DNS addresses of the input device.
59      */
SetDnsAddresses(Aws::Vector<Aws::String> && value)60     inline void SetDnsAddresses(Aws::Vector<Aws::String>&& value) { m_dnsAddressesHasBeenSet = true; m_dnsAddresses = std::move(value); }
61 
62     /**
63      * The DNS addresses of the input device.
64      */
WithDnsAddresses(const Aws::Vector<Aws::String> & value)65     inline InputDeviceNetworkSettings& WithDnsAddresses(const Aws::Vector<Aws::String>& value) { SetDnsAddresses(value); return *this;}
66 
67     /**
68      * The DNS addresses of the input device.
69      */
WithDnsAddresses(Aws::Vector<Aws::String> && value)70     inline InputDeviceNetworkSettings& WithDnsAddresses(Aws::Vector<Aws::String>&& value) { SetDnsAddresses(std::move(value)); return *this;}
71 
72     /**
73      * The DNS addresses of the input device.
74      */
AddDnsAddresses(const Aws::String & value)75     inline InputDeviceNetworkSettings& AddDnsAddresses(const Aws::String& value) { m_dnsAddressesHasBeenSet = true; m_dnsAddresses.push_back(value); return *this; }
76 
77     /**
78      * The DNS addresses of the input device.
79      */
AddDnsAddresses(Aws::String && value)80     inline InputDeviceNetworkSettings& AddDnsAddresses(Aws::String&& value) { m_dnsAddressesHasBeenSet = true; m_dnsAddresses.push_back(std::move(value)); return *this; }
81 
82     /**
83      * The DNS addresses of the input device.
84      */
AddDnsAddresses(const char * value)85     inline InputDeviceNetworkSettings& AddDnsAddresses(const char* value) { m_dnsAddressesHasBeenSet = true; m_dnsAddresses.push_back(value); return *this; }
86 
87 
88     /**
89      * The network gateway IP address.
90      */
GetGateway()91     inline const Aws::String& GetGateway() const{ return m_gateway; }
92 
93     /**
94      * The network gateway IP address.
95      */
GatewayHasBeenSet()96     inline bool GatewayHasBeenSet() const { return m_gatewayHasBeenSet; }
97 
98     /**
99      * The network gateway IP address.
100      */
SetGateway(const Aws::String & value)101     inline void SetGateway(const Aws::String& value) { m_gatewayHasBeenSet = true; m_gateway = value; }
102 
103     /**
104      * The network gateway IP address.
105      */
SetGateway(Aws::String && value)106     inline void SetGateway(Aws::String&& value) { m_gatewayHasBeenSet = true; m_gateway = std::move(value); }
107 
108     /**
109      * The network gateway IP address.
110      */
SetGateway(const char * value)111     inline void SetGateway(const char* value) { m_gatewayHasBeenSet = true; m_gateway.assign(value); }
112 
113     /**
114      * The network gateway IP address.
115      */
WithGateway(const Aws::String & value)116     inline InputDeviceNetworkSettings& WithGateway(const Aws::String& value) { SetGateway(value); return *this;}
117 
118     /**
119      * The network gateway IP address.
120      */
WithGateway(Aws::String && value)121     inline InputDeviceNetworkSettings& WithGateway(Aws::String&& value) { SetGateway(std::move(value)); return *this;}
122 
123     /**
124      * The network gateway IP address.
125      */
WithGateway(const char * value)126     inline InputDeviceNetworkSettings& WithGateway(const char* value) { SetGateway(value); return *this;}
127 
128 
129     /**
130      * The IP address of the input device.
131      */
GetIpAddress()132     inline const Aws::String& GetIpAddress() const{ return m_ipAddress; }
133 
134     /**
135      * The IP address of the input device.
136      */
IpAddressHasBeenSet()137     inline bool IpAddressHasBeenSet() const { return m_ipAddressHasBeenSet; }
138 
139     /**
140      * The IP address of the input device.
141      */
SetIpAddress(const Aws::String & value)142     inline void SetIpAddress(const Aws::String& value) { m_ipAddressHasBeenSet = true; m_ipAddress = value; }
143 
144     /**
145      * The IP address of the input device.
146      */
SetIpAddress(Aws::String && value)147     inline void SetIpAddress(Aws::String&& value) { m_ipAddressHasBeenSet = true; m_ipAddress = std::move(value); }
148 
149     /**
150      * The IP address of the input device.
151      */
SetIpAddress(const char * value)152     inline void SetIpAddress(const char* value) { m_ipAddressHasBeenSet = true; m_ipAddress.assign(value); }
153 
154     /**
155      * The IP address of the input device.
156      */
WithIpAddress(const Aws::String & value)157     inline InputDeviceNetworkSettings& WithIpAddress(const Aws::String& value) { SetIpAddress(value); return *this;}
158 
159     /**
160      * The IP address of the input device.
161      */
WithIpAddress(Aws::String && value)162     inline InputDeviceNetworkSettings& WithIpAddress(Aws::String&& value) { SetIpAddress(std::move(value)); return *this;}
163 
164     /**
165      * The IP address of the input device.
166      */
WithIpAddress(const char * value)167     inline InputDeviceNetworkSettings& WithIpAddress(const char* value) { SetIpAddress(value); return *this;}
168 
169 
170     /**
171      * Specifies whether the input device has been configured (outside of MediaLive) to
172      * use a dynamic IP address assignment (DHCP) or a static IP address.
173      */
GetIpScheme()174     inline const InputDeviceIpScheme& GetIpScheme() const{ return m_ipScheme; }
175 
176     /**
177      * Specifies whether the input device has been configured (outside of MediaLive) to
178      * use a dynamic IP address assignment (DHCP) or a static IP address.
179      */
IpSchemeHasBeenSet()180     inline bool IpSchemeHasBeenSet() const { return m_ipSchemeHasBeenSet; }
181 
182     /**
183      * Specifies whether the input device has been configured (outside of MediaLive) to
184      * use a dynamic IP address assignment (DHCP) or a static IP address.
185      */
SetIpScheme(const InputDeviceIpScheme & value)186     inline void SetIpScheme(const InputDeviceIpScheme& value) { m_ipSchemeHasBeenSet = true; m_ipScheme = value; }
187 
188     /**
189      * Specifies whether the input device has been configured (outside of MediaLive) to
190      * use a dynamic IP address assignment (DHCP) or a static IP address.
191      */
SetIpScheme(InputDeviceIpScheme && value)192     inline void SetIpScheme(InputDeviceIpScheme&& value) { m_ipSchemeHasBeenSet = true; m_ipScheme = std::move(value); }
193 
194     /**
195      * Specifies whether the input device has been configured (outside of MediaLive) to
196      * use a dynamic IP address assignment (DHCP) or a static IP address.
197      */
WithIpScheme(const InputDeviceIpScheme & value)198     inline InputDeviceNetworkSettings& WithIpScheme(const InputDeviceIpScheme& value) { SetIpScheme(value); return *this;}
199 
200     /**
201      * Specifies whether the input device has been configured (outside of MediaLive) to
202      * use a dynamic IP address assignment (DHCP) or a static IP address.
203      */
WithIpScheme(InputDeviceIpScheme && value)204     inline InputDeviceNetworkSettings& WithIpScheme(InputDeviceIpScheme&& value) { SetIpScheme(std::move(value)); return *this;}
205 
206 
207     /**
208      * The subnet mask of the input device.
209      */
GetSubnetMask()210     inline const Aws::String& GetSubnetMask() const{ return m_subnetMask; }
211 
212     /**
213      * The subnet mask of the input device.
214      */
SubnetMaskHasBeenSet()215     inline bool SubnetMaskHasBeenSet() const { return m_subnetMaskHasBeenSet; }
216 
217     /**
218      * The subnet mask of the input device.
219      */
SetSubnetMask(const Aws::String & value)220     inline void SetSubnetMask(const Aws::String& value) { m_subnetMaskHasBeenSet = true; m_subnetMask = value; }
221 
222     /**
223      * The subnet mask of the input device.
224      */
SetSubnetMask(Aws::String && value)225     inline void SetSubnetMask(Aws::String&& value) { m_subnetMaskHasBeenSet = true; m_subnetMask = std::move(value); }
226 
227     /**
228      * The subnet mask of the input device.
229      */
SetSubnetMask(const char * value)230     inline void SetSubnetMask(const char* value) { m_subnetMaskHasBeenSet = true; m_subnetMask.assign(value); }
231 
232     /**
233      * The subnet mask of the input device.
234      */
WithSubnetMask(const Aws::String & value)235     inline InputDeviceNetworkSettings& WithSubnetMask(const Aws::String& value) { SetSubnetMask(value); return *this;}
236 
237     /**
238      * The subnet mask of the input device.
239      */
WithSubnetMask(Aws::String && value)240     inline InputDeviceNetworkSettings& WithSubnetMask(Aws::String&& value) { SetSubnetMask(std::move(value)); return *this;}
241 
242     /**
243      * The subnet mask of the input device.
244      */
WithSubnetMask(const char * value)245     inline InputDeviceNetworkSettings& WithSubnetMask(const char* value) { SetSubnetMask(value); return *this;}
246 
247   private:
248 
249     Aws::Vector<Aws::String> m_dnsAddresses;
250     bool m_dnsAddressesHasBeenSet;
251 
252     Aws::String m_gateway;
253     bool m_gatewayHasBeenSet;
254 
255     Aws::String m_ipAddress;
256     bool m_ipAddressHasBeenSet;
257 
258     InputDeviceIpScheme m_ipScheme;
259     bool m_ipSchemeHasBeenSet;
260 
261     Aws::String m_subnetMask;
262     bool m_subnetMaskHasBeenSet;
263   };
264 
265 } // namespace Model
266 } // namespace MediaLive
267 } // namespace Aws
268