internal VirtualMachineNetworkInterfaceConfiguration(string name, bool?primary, DeleteOptions?deleteOption, bool?enableAcceleratedNetworking, bool?enableFpga, bool?enableIPForwarding, SubResource networkSecurityGroup, VirtualMachineNetworkInterfaceDnsSettingsConfiguration dnsSettings, IList <VirtualMachineNetworkInterfaceIPConfiguration> ipConfigurations, SubResource dscpConfiguration) { Name = name; Primary = primary; DeleteOption = deleteOption; EnableAcceleratedNetworking = enableAcceleratedNetworking; EnableFpga = enableFpga; EnableIPForwarding = enableIPForwarding; NetworkSecurityGroup = networkSecurityGroup; DnsSettings = dnsSettings; IpConfigurations = ipConfigurations; DscpConfiguration = dscpConfiguration; }
internal static VirtualMachineNetworkInterfaceConfiguration DeserializeVirtualMachineNetworkInterfaceConfiguration(JsonElement element) { string name = default; Optional <bool> primary = default; Optional <DeleteOptions> deleteOption = default; Optional <bool> enableAcceleratedNetworking = default; Optional <bool> enableFpga = default; Optional <bool> enableIPForwarding = default; Optional <WritableSubResource> networkSecurityGroup = default; Optional <VirtualMachineNetworkInterfaceDnsSettingsConfiguration> dnsSettings = default; Optional <IList <VirtualMachineNetworkInterfaceIPConfiguration> > ipConfigurations = default; Optional <WritableSubResource> dscpConfiguration = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("properties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("primary")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } primary = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("deleteOption")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } deleteOption = new DeleteOptions(property0.Value.GetString()); continue; } if (property0.NameEquals("enableAcceleratedNetworking")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } enableAcceleratedNetworking = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("enableFpga")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } enableFpga = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("enableIPForwarding")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } enableIPForwarding = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("networkSecurityGroup")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } networkSecurityGroup = JsonSerializer.Deserialize <WritableSubResource>(property0.Value.ToString()); continue; } if (property0.NameEquals("dnsSettings")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } dnsSettings = VirtualMachineNetworkInterfaceDnsSettingsConfiguration.DeserializeVirtualMachineNetworkInterfaceDnsSettingsConfiguration(property0.Value); continue; } if (property0.NameEquals("ipConfigurations")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <VirtualMachineNetworkInterfaceIPConfiguration> array = new List <VirtualMachineNetworkInterfaceIPConfiguration>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(VirtualMachineNetworkInterfaceIPConfiguration.DeserializeVirtualMachineNetworkInterfaceIPConfiguration(item)); } ipConfigurations = array; continue; } if (property0.NameEquals("dscpConfiguration")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } dscpConfiguration = JsonSerializer.Deserialize <WritableSubResource>(property0.Value.ToString()); continue; } } continue; } } return(new VirtualMachineNetworkInterfaceConfiguration(name, Optional.ToNullable(primary), Optional.ToNullable(deleteOption), Optional.ToNullable(enableAcceleratedNetworking), Optional.ToNullable(enableFpga), Optional.ToNullable(enableIPForwarding), networkSecurityGroup, dnsSettings.Value, Optional.ToList(ipConfigurations), dscpConfiguration)); }