|   |  | 1 |  | // Copyright (c) Microsoft Corporation. All rights reserved. | 
|   |  | 2 |  | // Licensed under the MIT License. | 
|   |  | 3 |  |  | 
|   |  | 4 |  | // <auto-generated/> | 
|   |  | 5 |  |  | 
|   |  | 6 |  | #nullable disable | 
|   |  | 7 |  |  | 
|   |  | 8 |  | using System.Collections.Generic; | 
|   |  | 9 |  | using System.Text.Json; | 
|   |  | 10 |  | using Azure.Core; | 
|   |  | 11 |  |  | 
|   |  | 12 |  | namespace Azure.ResourceManager.Network.Models | 
|   |  | 13 |  | { | 
|   |  | 14 |  |     public partial class VpnServerConfiguration : IUtf8JsonSerializable | 
|   |  | 15 |  |     { | 
|   |  | 16 |  |         void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) | 
|   |  | 17 |  |         { | 
|   | 0 | 18 |  |             writer.WriteStartObject(); | 
|   | 0 | 19 |  |             if (Etag != null) | 
|   |  | 20 |  |             { | 
|   | 0 | 21 |  |                 writer.WritePropertyName("etag"); | 
|   | 0 | 22 |  |                 writer.WriteStringValue(Etag); | 
|   |  | 23 |  |             } | 
|   | 0 | 24 |  |             if (Id != null) | 
|   |  | 25 |  |             { | 
|   | 0 | 26 |  |                 writer.WritePropertyName("id"); | 
|   | 0 | 27 |  |                 writer.WriteStringValue(Id); | 
|   |  | 28 |  |             } | 
|   | 0 | 29 |  |             if (Name != null) | 
|   |  | 30 |  |             { | 
|   | 0 | 31 |  |                 writer.WritePropertyName("name"); | 
|   | 0 | 32 |  |                 writer.WriteStringValue(Name); | 
|   |  | 33 |  |             } | 
|   | 0 | 34 |  |             if (Type != null) | 
|   |  | 35 |  |             { | 
|   | 0 | 36 |  |                 writer.WritePropertyName("type"); | 
|   | 0 | 37 |  |                 writer.WriteStringValue(Type); | 
|   |  | 38 |  |             } | 
|   | 0 | 39 |  |             if (Location != null) | 
|   |  | 40 |  |             { | 
|   | 0 | 41 |  |                 writer.WritePropertyName("location"); | 
|   | 0 | 42 |  |                 writer.WriteStringValue(Location); | 
|   |  | 43 |  |             } | 
|   | 0 | 44 |  |             if (Tags != null) | 
|   |  | 45 |  |             { | 
|   | 0 | 46 |  |                 writer.WritePropertyName("tags"); | 
|   | 0 | 47 |  |                 writer.WriteStartObject(); | 
|   | 0 | 48 |  |                 foreach (var item in Tags) | 
|   |  | 49 |  |                 { | 
|   | 0 | 50 |  |                     writer.WritePropertyName(item.Key); | 
|   | 0 | 51 |  |                     writer.WriteStringValue(item.Value); | 
|   |  | 52 |  |                 } | 
|   | 0 | 53 |  |                 writer.WriteEndObject(); | 
|   |  | 54 |  |             } | 
|   | 0 | 55 |  |             writer.WritePropertyName("properties"); | 
|   | 0 | 56 |  |             writer.WriteStartObject(); | 
|   | 0 | 57 |  |             if (NamePropertiesName != null) | 
|   |  | 58 |  |             { | 
|   | 0 | 59 |  |                 writer.WritePropertyName("name"); | 
|   | 0 | 60 |  |                 writer.WriteStringValue(NamePropertiesName); | 
|   |  | 61 |  |             } | 
|   | 0 | 62 |  |             if (VpnProtocols != null) | 
|   |  | 63 |  |             { | 
|   | 0 | 64 |  |                 writer.WritePropertyName("vpnProtocols"); | 
|   | 0 | 65 |  |                 writer.WriteStartArray(); | 
|   | 0 | 66 |  |                 foreach (var item in VpnProtocols) | 
|   |  | 67 |  |                 { | 
|   | 0 | 68 |  |                     writer.WriteStringValue(item.ToString()); | 
|   |  | 69 |  |                 } | 
|   | 0 | 70 |  |                 writer.WriteEndArray(); | 
|   |  | 71 |  |             } | 
|   | 0 | 72 |  |             if (VpnAuthenticationTypes != null) | 
|   |  | 73 |  |             { | 
|   | 0 | 74 |  |                 writer.WritePropertyName("vpnAuthenticationTypes"); | 
|   | 0 | 75 |  |                 writer.WriteStartArray(); | 
|   | 0 | 76 |  |                 foreach (var item in VpnAuthenticationTypes) | 
|   |  | 77 |  |                 { | 
|   | 0 | 78 |  |                     writer.WriteStringValue(item.ToString()); | 
|   |  | 79 |  |                 } | 
|   | 0 | 80 |  |                 writer.WriteEndArray(); | 
|   |  | 81 |  |             } | 
|   | 0 | 82 |  |             if (VpnClientRootCertificates != null) | 
|   |  | 83 |  |             { | 
|   | 0 | 84 |  |                 writer.WritePropertyName("vpnClientRootCertificates"); | 
|   | 0 | 85 |  |                 writer.WriteStartArray(); | 
|   | 0 | 86 |  |                 foreach (var item in VpnClientRootCertificates) | 
|   |  | 87 |  |                 { | 
|   | 0 | 88 |  |                     writer.WriteObjectValue(item); | 
|   |  | 89 |  |                 } | 
|   | 0 | 90 |  |                 writer.WriteEndArray(); | 
|   |  | 91 |  |             } | 
|   | 0 | 92 |  |             if (VpnClientRevokedCertificates != null) | 
|   |  | 93 |  |             { | 
|   | 0 | 94 |  |                 writer.WritePropertyName("vpnClientRevokedCertificates"); | 
|   | 0 | 95 |  |                 writer.WriteStartArray(); | 
|   | 0 | 96 |  |                 foreach (var item in VpnClientRevokedCertificates) | 
|   |  | 97 |  |                 { | 
|   | 0 | 98 |  |                     writer.WriteObjectValue(item); | 
|   |  | 99 |  |                 } | 
|   | 0 | 100 |  |                 writer.WriteEndArray(); | 
|   |  | 101 |  |             } | 
|   | 0 | 102 |  |             if (RadiusServerRootCertificates != null) | 
|   |  | 103 |  |             { | 
|   | 0 | 104 |  |                 writer.WritePropertyName("radiusServerRootCertificates"); | 
|   | 0 | 105 |  |                 writer.WriteStartArray(); | 
|   | 0 | 106 |  |                 foreach (var item in RadiusServerRootCertificates) | 
|   |  | 107 |  |                 { | 
|   | 0 | 108 |  |                     writer.WriteObjectValue(item); | 
|   |  | 109 |  |                 } | 
|   | 0 | 110 |  |                 writer.WriteEndArray(); | 
|   |  | 111 |  |             } | 
|   | 0 | 112 |  |             if (RadiusClientRootCertificates != null) | 
|   |  | 113 |  |             { | 
|   | 0 | 114 |  |                 writer.WritePropertyName("radiusClientRootCertificates"); | 
|   | 0 | 115 |  |                 writer.WriteStartArray(); | 
|   | 0 | 116 |  |                 foreach (var item in RadiusClientRootCertificates) | 
|   |  | 117 |  |                 { | 
|   | 0 | 118 |  |                     writer.WriteObjectValue(item); | 
|   |  | 119 |  |                 } | 
|   | 0 | 120 |  |                 writer.WriteEndArray(); | 
|   |  | 121 |  |             } | 
|   | 0 | 122 |  |             if (VpnClientIpsecPolicies != null) | 
|   |  | 123 |  |             { | 
|   | 0 | 124 |  |                 writer.WritePropertyName("vpnClientIpsecPolicies"); | 
|   | 0 | 125 |  |                 writer.WriteStartArray(); | 
|   | 0 | 126 |  |                 foreach (var item in VpnClientIpsecPolicies) | 
|   |  | 127 |  |                 { | 
|   | 0 | 128 |  |                     writer.WriteObjectValue(item); | 
|   |  | 129 |  |                 } | 
|   | 0 | 130 |  |                 writer.WriteEndArray(); | 
|   |  | 131 |  |             } | 
|   | 0 | 132 |  |             if (RadiusServerAddress != null) | 
|   |  | 133 |  |             { | 
|   | 0 | 134 |  |                 writer.WritePropertyName("radiusServerAddress"); | 
|   | 0 | 135 |  |                 writer.WriteStringValue(RadiusServerAddress); | 
|   |  | 136 |  |             } | 
|   | 0 | 137 |  |             if (RadiusServerSecret != null) | 
|   |  | 138 |  |             { | 
|   | 0 | 139 |  |                 writer.WritePropertyName("radiusServerSecret"); | 
|   | 0 | 140 |  |                 writer.WriteStringValue(RadiusServerSecret); | 
|   |  | 141 |  |             } | 
|   | 0 | 142 |  |             if (RadiusServers != null) | 
|   |  | 143 |  |             { | 
|   | 0 | 144 |  |                 writer.WritePropertyName("radiusServers"); | 
|   | 0 | 145 |  |                 writer.WriteStartArray(); | 
|   | 0 | 146 |  |                 foreach (var item in RadiusServers) | 
|   |  | 147 |  |                 { | 
|   | 0 | 148 |  |                     writer.WriteObjectValue(item); | 
|   |  | 149 |  |                 } | 
|   | 0 | 150 |  |                 writer.WriteEndArray(); | 
|   |  | 151 |  |             } | 
|   | 0 | 152 |  |             if (AadAuthenticationParameters != null) | 
|   |  | 153 |  |             { | 
|   | 0 | 154 |  |                 writer.WritePropertyName("aadAuthenticationParameters"); | 
|   | 0 | 155 |  |                 writer.WriteObjectValue(AadAuthenticationParameters); | 
|   |  | 156 |  |             } | 
|   | 0 | 157 |  |             if (ProvisioningState != null) | 
|   |  | 158 |  |             { | 
|   | 0 | 159 |  |                 writer.WritePropertyName("provisioningState"); | 
|   | 0 | 160 |  |                 writer.WriteStringValue(ProvisioningState); | 
|   |  | 161 |  |             } | 
|   | 0 | 162 |  |             if (P2SVpnGateways != null) | 
|   |  | 163 |  |             { | 
|   | 0 | 164 |  |                 writer.WritePropertyName("p2SVpnGateways"); | 
|   | 0 | 165 |  |                 writer.WriteStartArray(); | 
|   | 0 | 166 |  |                 foreach (var item in P2SVpnGateways) | 
|   |  | 167 |  |                 { | 
|   | 0 | 168 |  |                     writer.WriteObjectValue(item); | 
|   |  | 169 |  |                 } | 
|   | 0 | 170 |  |                 writer.WriteEndArray(); | 
|   |  | 171 |  |             } | 
|   | 0 | 172 |  |             if (EtagPropertiesEtag != null) | 
|   |  | 173 |  |             { | 
|   | 0 | 174 |  |                 writer.WritePropertyName("etag"); | 
|   | 0 | 175 |  |                 writer.WriteStringValue(EtagPropertiesEtag); | 
|   |  | 176 |  |             } | 
|   | 0 | 177 |  |             writer.WriteEndObject(); | 
|   | 0 | 178 |  |             writer.WriteEndObject(); | 
|   | 0 | 179 |  |         } | 
|   |  | 180 |  |  | 
|   |  | 181 |  |         internal static VpnServerConfiguration DeserializeVpnServerConfiguration(JsonElement element) | 
|   |  | 182 |  |         { | 
|   | 0 | 183 |  |             string etag = default; | 
|   | 0 | 184 |  |             string id = default; | 
|   | 0 | 185 |  |             string name = default; | 
|   | 0 | 186 |  |             string type = default; | 
|   | 0 | 187 |  |             string location = default; | 
|   | 0 | 188 |  |             IDictionary<string, string> tags = default; | 
|   | 0 | 189 |  |             string name0 = default; | 
|   | 0 | 190 |  |             IList<VpnGatewayTunnelingProtocol> vpnProtocols = default; | 
|   | 0 | 191 |  |             IList<VpnAuthenticationType> vpnAuthenticationTypes = default; | 
|   | 0 | 192 |  |             IList<VpnServerConfigVpnClientRootCertificate> vpnClientRootCertificates = default; | 
|   | 0 | 193 |  |             IList<VpnServerConfigVpnClientRevokedCertificate> vpnClientRevokedCertificates = default; | 
|   | 0 | 194 |  |             IList<VpnServerConfigRadiusServerRootCertificate> radiusServerRootCertificates = default; | 
|   | 0 | 195 |  |             IList<VpnServerConfigRadiusClientRootCertificate> radiusClientRootCertificates = default; | 
|   | 0 | 196 |  |             IList<IpsecPolicy> vpnClientIpsecPolicies = default; | 
|   | 0 | 197 |  |             string radiusServerAddress = default; | 
|   | 0 | 198 |  |             string radiusServerSecret = default; | 
|   | 0 | 199 |  |             IList<RadiusServer> radiusServers = default; | 
|   | 0 | 200 |  |             AadAuthenticationParameters aadAuthenticationParameters = default; | 
|   | 0 | 201 |  |             string provisioningState = default; | 
|   | 0 | 202 |  |             IList<P2SVpnGateway> p2SVpnGateways = default; | 
|   | 0 | 203 |  |             string etag0 = default; | 
|   | 0 | 204 |  |             foreach (var property in element.EnumerateObject()) | 
|   |  | 205 |  |             { | 
|   | 0 | 206 |  |                 if (property.NameEquals("etag")) | 
|   |  | 207 |  |                 { | 
|   | 0 | 208 |  |                     if (property.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 209 |  |                     { | 
|   |  | 210 |  |                         continue; | 
|   |  | 211 |  |                     } | 
|   | 0 | 212 |  |                     etag = property.Value.GetString(); | 
|   | 0 | 213 |  |                     continue; | 
|   |  | 214 |  |                 } | 
|   | 0 | 215 |  |                 if (property.NameEquals("id")) | 
|   |  | 216 |  |                 { | 
|   | 0 | 217 |  |                     if (property.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 218 |  |                     { | 
|   |  | 219 |  |                         continue; | 
|   |  | 220 |  |                     } | 
|   | 0 | 221 |  |                     id = property.Value.GetString(); | 
|   | 0 | 222 |  |                     continue; | 
|   |  | 223 |  |                 } | 
|   | 0 | 224 |  |                 if (property.NameEquals("name")) | 
|   |  | 225 |  |                 { | 
|   | 0 | 226 |  |                     if (property.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 227 |  |                     { | 
|   |  | 228 |  |                         continue; | 
|   |  | 229 |  |                     } | 
|   | 0 | 230 |  |                     name = property.Value.GetString(); | 
|   | 0 | 231 |  |                     continue; | 
|   |  | 232 |  |                 } | 
|   | 0 | 233 |  |                 if (property.NameEquals("type")) | 
|   |  | 234 |  |                 { | 
|   | 0 | 235 |  |                     if (property.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 236 |  |                     { | 
|   |  | 237 |  |                         continue; | 
|   |  | 238 |  |                     } | 
|   | 0 | 239 |  |                     type = property.Value.GetString(); | 
|   | 0 | 240 |  |                     continue; | 
|   |  | 241 |  |                 } | 
|   | 0 | 242 |  |                 if (property.NameEquals("location")) | 
|   |  | 243 |  |                 { | 
|   | 0 | 244 |  |                     if (property.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 245 |  |                     { | 
|   |  | 246 |  |                         continue; | 
|   |  | 247 |  |                     } | 
|   | 0 | 248 |  |                     location = property.Value.GetString(); | 
|   | 0 | 249 |  |                     continue; | 
|   |  | 250 |  |                 } | 
|   | 0 | 251 |  |                 if (property.NameEquals("tags")) | 
|   |  | 252 |  |                 { | 
|   | 0 | 253 |  |                     if (property.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 254 |  |                     { | 
|   |  | 255 |  |                         continue; | 
|   |  | 256 |  |                     } | 
|   | 0 | 257 |  |                     Dictionary<string, string> dictionary = new Dictionary<string, string>(); | 
|   | 0 | 258 |  |                     foreach (var property0 in property.Value.EnumerateObject()) | 
|   |  | 259 |  |                     { | 
|   | 0 | 260 |  |                         if (property0.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 261 |  |                         { | 
|   | 0 | 262 |  |                             dictionary.Add(property0.Name, null); | 
|   |  | 263 |  |                         } | 
|   |  | 264 |  |                         else | 
|   |  | 265 |  |                         { | 
|   | 0 | 266 |  |                             dictionary.Add(property0.Name, property0.Value.GetString()); | 
|   |  | 267 |  |                         } | 
|   |  | 268 |  |                     } | 
|   | 0 | 269 |  |                     tags = dictionary; | 
|   | 0 | 270 |  |                     continue; | 
|   |  | 271 |  |                 } | 
|   | 0 | 272 |  |                 if (property.NameEquals("properties")) | 
|   |  | 273 |  |                 { | 
|   | 0 | 274 |  |                     foreach (var property0 in property.Value.EnumerateObject()) | 
|   |  | 275 |  |                     { | 
|   | 0 | 276 |  |                         if (property0.NameEquals("name")) | 
|   |  | 277 |  |                         { | 
|   | 0 | 278 |  |                             if (property0.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 279 |  |                             { | 
|   |  | 280 |  |                                 continue; | 
|   |  | 281 |  |                             } | 
|   | 0 | 282 |  |                             name0 = property0.Value.GetString(); | 
|   | 0 | 283 |  |                             continue; | 
|   |  | 284 |  |                         } | 
|   | 0 | 285 |  |                         if (property0.NameEquals("vpnProtocols")) | 
|   |  | 286 |  |                         { | 
|   | 0 | 287 |  |                             if (property0.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 288 |  |                             { | 
|   |  | 289 |  |                                 continue; | 
|   |  | 290 |  |                             } | 
|   | 0 | 291 |  |                             List<VpnGatewayTunnelingProtocol> array = new List<VpnGatewayTunnelingProtocol>(); | 
|   | 0 | 292 |  |                             foreach (var item in property0.Value.EnumerateArray()) | 
|   |  | 293 |  |                             { | 
|   | 0 | 294 |  |                                 array.Add(new VpnGatewayTunnelingProtocol(item.GetString())); | 
|   |  | 295 |  |                             } | 
|   | 0 | 296 |  |                             vpnProtocols = array; | 
|   | 0 | 297 |  |                             continue; | 
|   |  | 298 |  |                         } | 
|   | 0 | 299 |  |                         if (property0.NameEquals("vpnAuthenticationTypes")) | 
|   |  | 300 |  |                         { | 
|   | 0 | 301 |  |                             if (property0.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 302 |  |                             { | 
|   |  | 303 |  |                                 continue; | 
|   |  | 304 |  |                             } | 
|   | 0 | 305 |  |                             List<VpnAuthenticationType> array = new List<VpnAuthenticationType>(); | 
|   | 0 | 306 |  |                             foreach (var item in property0.Value.EnumerateArray()) | 
|   |  | 307 |  |                             { | 
|   | 0 | 308 |  |                                 array.Add(new VpnAuthenticationType(item.GetString())); | 
|   |  | 309 |  |                             } | 
|   | 0 | 310 |  |                             vpnAuthenticationTypes = array; | 
|   | 0 | 311 |  |                             continue; | 
|   |  | 312 |  |                         } | 
|   | 0 | 313 |  |                         if (property0.NameEquals("vpnClientRootCertificates")) | 
|   |  | 314 |  |                         { | 
|   | 0 | 315 |  |                             if (property0.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 316 |  |                             { | 
|   |  | 317 |  |                                 continue; | 
|   |  | 318 |  |                             } | 
|   | 0 | 319 |  |                             List<VpnServerConfigVpnClientRootCertificate> array = new List<VpnServerConfigVpnClientRootC | 
|   | 0 | 320 |  |                             foreach (var item in property0.Value.EnumerateArray()) | 
|   |  | 321 |  |                             { | 
|   | 0 | 322 |  |                                 if (item.ValueKind == JsonValueKind.Null) | 
|   |  | 323 |  |                                 { | 
|   | 0 | 324 |  |                                     array.Add(null); | 
|   |  | 325 |  |                                 } | 
|   |  | 326 |  |                                 else | 
|   |  | 327 |  |                                 { | 
|   | 0 | 328 |  |                                     array.Add(VpnServerConfigVpnClientRootCertificate.DeserializeVpnServerConfigVpnClien | 
|   |  | 329 |  |                                 } | 
|   |  | 330 |  |                             } | 
|   | 0 | 331 |  |                             vpnClientRootCertificates = array; | 
|   | 0 | 332 |  |                             continue; | 
|   |  | 333 |  |                         } | 
|   | 0 | 334 |  |                         if (property0.NameEquals("vpnClientRevokedCertificates")) | 
|   |  | 335 |  |                         { | 
|   | 0 | 336 |  |                             if (property0.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 337 |  |                             { | 
|   |  | 338 |  |                                 continue; | 
|   |  | 339 |  |                             } | 
|   | 0 | 340 |  |                             List<VpnServerConfigVpnClientRevokedCertificate> array = new List<VpnServerConfigVpnClientRe | 
|   | 0 | 341 |  |                             foreach (var item in property0.Value.EnumerateArray()) | 
|   |  | 342 |  |                             { | 
|   | 0 | 343 |  |                                 if (item.ValueKind == JsonValueKind.Null) | 
|   |  | 344 |  |                                 { | 
|   | 0 | 345 |  |                                     array.Add(null); | 
|   |  | 346 |  |                                 } | 
|   |  | 347 |  |                                 else | 
|   |  | 348 |  |                                 { | 
|   | 0 | 349 |  |                                     array.Add(VpnServerConfigVpnClientRevokedCertificate.DeserializeVpnServerConfigVpnCl | 
|   |  | 350 |  |                                 } | 
|   |  | 351 |  |                             } | 
|   | 0 | 352 |  |                             vpnClientRevokedCertificates = array; | 
|   | 0 | 353 |  |                             continue; | 
|   |  | 354 |  |                         } | 
|   | 0 | 355 |  |                         if (property0.NameEquals("radiusServerRootCertificates")) | 
|   |  | 356 |  |                         { | 
|   | 0 | 357 |  |                             if (property0.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 358 |  |                             { | 
|   |  | 359 |  |                                 continue; | 
|   |  | 360 |  |                             } | 
|   | 0 | 361 |  |                             List<VpnServerConfigRadiusServerRootCertificate> array = new List<VpnServerConfigRadiusServe | 
|   | 0 | 362 |  |                             foreach (var item in property0.Value.EnumerateArray()) | 
|   |  | 363 |  |                             { | 
|   | 0 | 364 |  |                                 if (item.ValueKind == JsonValueKind.Null) | 
|   |  | 365 |  |                                 { | 
|   | 0 | 366 |  |                                     array.Add(null); | 
|   |  | 367 |  |                                 } | 
|   |  | 368 |  |                                 else | 
|   |  | 369 |  |                                 { | 
|   | 0 | 370 |  |                                     array.Add(VpnServerConfigRadiusServerRootCertificate.DeserializeVpnServerConfigRadiu | 
|   |  | 371 |  |                                 } | 
|   |  | 372 |  |                             } | 
|   | 0 | 373 |  |                             radiusServerRootCertificates = array; | 
|   | 0 | 374 |  |                             continue; | 
|   |  | 375 |  |                         } | 
|   | 0 | 376 |  |                         if (property0.NameEquals("radiusClientRootCertificates")) | 
|   |  | 377 |  |                         { | 
|   | 0 | 378 |  |                             if (property0.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 379 |  |                             { | 
|   |  | 380 |  |                                 continue; | 
|   |  | 381 |  |                             } | 
|   | 0 | 382 |  |                             List<VpnServerConfigRadiusClientRootCertificate> array = new List<VpnServerConfigRadiusClien | 
|   | 0 | 383 |  |                             foreach (var item in property0.Value.EnumerateArray()) | 
|   |  | 384 |  |                             { | 
|   | 0 | 385 |  |                                 if (item.ValueKind == JsonValueKind.Null) | 
|   |  | 386 |  |                                 { | 
|   | 0 | 387 |  |                                     array.Add(null); | 
|   |  | 388 |  |                                 } | 
|   |  | 389 |  |                                 else | 
|   |  | 390 |  |                                 { | 
|   | 0 | 391 |  |                                     array.Add(VpnServerConfigRadiusClientRootCertificate.DeserializeVpnServerConfigRadiu | 
|   |  | 392 |  |                                 } | 
|   |  | 393 |  |                             } | 
|   | 0 | 394 |  |                             radiusClientRootCertificates = array; | 
|   | 0 | 395 |  |                             continue; | 
|   |  | 396 |  |                         } | 
|   | 0 | 397 |  |                         if (property0.NameEquals("vpnClientIpsecPolicies")) | 
|   |  | 398 |  |                         { | 
|   | 0 | 399 |  |                             if (property0.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 400 |  |                             { | 
|   |  | 401 |  |                                 continue; | 
|   |  | 402 |  |                             } | 
|   | 0 | 403 |  |                             List<IpsecPolicy> array = new List<IpsecPolicy>(); | 
|   | 0 | 404 |  |                             foreach (var item in property0.Value.EnumerateArray()) | 
|   |  | 405 |  |                             { | 
|   | 0 | 406 |  |                                 if (item.ValueKind == JsonValueKind.Null) | 
|   |  | 407 |  |                                 { | 
|   | 0 | 408 |  |                                     array.Add(null); | 
|   |  | 409 |  |                                 } | 
|   |  | 410 |  |                                 else | 
|   |  | 411 |  |                                 { | 
|   | 0 | 412 |  |                                     array.Add(IpsecPolicy.DeserializeIpsecPolicy(item)); | 
|   |  | 413 |  |                                 } | 
|   |  | 414 |  |                             } | 
|   | 0 | 415 |  |                             vpnClientIpsecPolicies = array; | 
|   | 0 | 416 |  |                             continue; | 
|   |  | 417 |  |                         } | 
|   | 0 | 418 |  |                         if (property0.NameEquals("radiusServerAddress")) | 
|   |  | 419 |  |                         { | 
|   | 0 | 420 |  |                             if (property0.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 421 |  |                             { | 
|   |  | 422 |  |                                 continue; | 
|   |  | 423 |  |                             } | 
|   | 0 | 424 |  |                             radiusServerAddress = property0.Value.GetString(); | 
|   | 0 | 425 |  |                             continue; | 
|   |  | 426 |  |                         } | 
|   | 0 | 427 |  |                         if (property0.NameEquals("radiusServerSecret")) | 
|   |  | 428 |  |                         { | 
|   | 0 | 429 |  |                             if (property0.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 430 |  |                             { | 
|   |  | 431 |  |                                 continue; | 
|   |  | 432 |  |                             } | 
|   | 0 | 433 |  |                             radiusServerSecret = property0.Value.GetString(); | 
|   | 0 | 434 |  |                             continue; | 
|   |  | 435 |  |                         } | 
|   | 0 | 436 |  |                         if (property0.NameEquals("radiusServers")) | 
|   |  | 437 |  |                         { | 
|   | 0 | 438 |  |                             if (property0.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 439 |  |                             { | 
|   |  | 440 |  |                                 continue; | 
|   |  | 441 |  |                             } | 
|   | 0 | 442 |  |                             List<RadiusServer> array = new List<RadiusServer>(); | 
|   | 0 | 443 |  |                             foreach (var item in property0.Value.EnumerateArray()) | 
|   |  | 444 |  |                             { | 
|   | 0 | 445 |  |                                 if (item.ValueKind == JsonValueKind.Null) | 
|   |  | 446 |  |                                 { | 
|   | 0 | 447 |  |                                     array.Add(null); | 
|   |  | 448 |  |                                 } | 
|   |  | 449 |  |                                 else | 
|   |  | 450 |  |                                 { | 
|   | 0 | 451 |  |                                     array.Add(RadiusServer.DeserializeRadiusServer(item)); | 
|   |  | 452 |  |                                 } | 
|   |  | 453 |  |                             } | 
|   | 0 | 454 |  |                             radiusServers = array; | 
|   | 0 | 455 |  |                             continue; | 
|   |  | 456 |  |                         } | 
|   | 0 | 457 |  |                         if (property0.NameEquals("aadAuthenticationParameters")) | 
|   |  | 458 |  |                         { | 
|   | 0 | 459 |  |                             if (property0.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 460 |  |                             { | 
|   |  | 461 |  |                                 continue; | 
|   |  | 462 |  |                             } | 
|   | 0 | 463 |  |                             aadAuthenticationParameters = AadAuthenticationParameters.DeserializeAadAuthenticationParame | 
|   | 0 | 464 |  |                             continue; | 
|   |  | 465 |  |                         } | 
|   | 0 | 466 |  |                         if (property0.NameEquals("provisioningState")) | 
|   |  | 467 |  |                         { | 
|   | 0 | 468 |  |                             if (property0.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 469 |  |                             { | 
|   |  | 470 |  |                                 continue; | 
|   |  | 471 |  |                             } | 
|   | 0 | 472 |  |                             provisioningState = property0.Value.GetString(); | 
|   | 0 | 473 |  |                             continue; | 
|   |  | 474 |  |                         } | 
|   | 0 | 475 |  |                         if (property0.NameEquals("p2SVpnGateways")) | 
|   |  | 476 |  |                         { | 
|   | 0 | 477 |  |                             if (property0.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 478 |  |                             { | 
|   |  | 479 |  |                                 continue; | 
|   |  | 480 |  |                             } | 
|   | 0 | 481 |  |                             List<P2SVpnGateway> array = new List<P2SVpnGateway>(); | 
|   | 0 | 482 |  |                             foreach (var item in property0.Value.EnumerateArray()) | 
|   |  | 483 |  |                             { | 
|   | 0 | 484 |  |                                 if (item.ValueKind == JsonValueKind.Null) | 
|   |  | 485 |  |                                 { | 
|   | 0 | 486 |  |                                     array.Add(null); | 
|   |  | 487 |  |                                 } | 
|   |  | 488 |  |                                 else | 
|   |  | 489 |  |                                 { | 
|   | 0 | 490 |  |                                     array.Add(P2SVpnGateway.DeserializeP2SVpnGateway(item)); | 
|   |  | 491 |  |                                 } | 
|   |  | 492 |  |                             } | 
|   | 0 | 493 |  |                             p2SVpnGateways = array; | 
|   | 0 | 494 |  |                             continue; | 
|   |  | 495 |  |                         } | 
|   | 0 | 496 |  |                         if (property0.NameEquals("etag")) | 
|   |  | 497 |  |                         { | 
|   | 0 | 498 |  |                             if (property0.Value.ValueKind == JsonValueKind.Null) | 
|   |  | 499 |  |                             { | 
|   |  | 500 |  |                                 continue; | 
|   |  | 501 |  |                             } | 
|   | 0 | 502 |  |                             etag0 = property0.Value.GetString(); | 
|   |  | 503 |  |                             continue; | 
|   |  | 504 |  |                         } | 
|   |  | 505 |  |                     } | 
|   |  | 506 |  |                     continue; | 
|   |  | 507 |  |                 } | 
|   |  | 508 |  |             } | 
|   | 0 | 509 |  |             return new VpnServerConfiguration(id, name, type, location, tags, etag, name0, vpnProtocols, vpnAuthenticati | 
|   |  | 510 |  |         } | 
|   |  | 511 |  |     } | 
|   |  | 512 |  | } |