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