internal static LoadBalancingRule DeserializeLoadBalancingRule(JsonElement element) { Optional <string> name = default; Optional <string> etag = default; Optional <string> type = default; Optional <string> id = default; Optional <SubResource> frontendIPConfiguration = default; Optional <SubResource> backendAddressPool = default; Optional <SubResource> probe = default; Optional <TransportProtocol> protocol = default; Optional <LoadDistribution> loadDistribution = default; Optional <int> frontendPort = default; Optional <int> backendPort = default; Optional <int> idleTimeoutInMinutes = default; Optional <bool> enableFloatingIP = default; Optional <bool> enableTcpReset = default; Optional <bool> disableOutboundSnat = default; Optional <ProvisioningState> provisioningState = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("etag")) { etag = property.Value.GetString(); continue; } if (property.NameEquals("type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("properties")) { foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("frontendIPConfiguration")) { frontendIPConfiguration = DeserializeSubResource(property0.Value); continue; } if (property0.NameEquals("backendAddressPool")) { backendAddressPool = DeserializeSubResource(property0.Value); continue; } if (property0.NameEquals("probe")) { probe = DeserializeSubResource(property0.Value); continue; } if (property0.NameEquals("protocol")) { protocol = new TransportProtocol(property0.Value.GetString()); continue; } if (property0.NameEquals("loadDistribution")) { loadDistribution = new LoadDistribution(property0.Value.GetString()); continue; } if (property0.NameEquals("frontendPort")) { frontendPort = property0.Value.GetInt32(); continue; } if (property0.NameEquals("backendPort")) { backendPort = property0.Value.GetInt32(); continue; } if (property0.NameEquals("idleTimeoutInMinutes")) { idleTimeoutInMinutes = property0.Value.GetInt32(); continue; } if (property0.NameEquals("enableFloatingIP")) { enableFloatingIP = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("enableTcpReset")) { enableTcpReset = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("disableOutboundSnat")) { disableOutboundSnat = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("provisioningState")) { provisioningState = new ProvisioningState(property0.Value.GetString()); continue; } } continue; } } return(new LoadBalancingRule(id.Value, name.Value, etag.Value, type.Value, frontendIPConfiguration.Value, backendAddressPool.Value, probe.Value, Optional.ToNullable(protocol), Optional.ToNullable(loadDistribution), Optional.ToNullable(frontendPort), Optional.ToNullable(backendPort), Optional.ToNullable(idleTimeoutInMinutes), Optional.ToNullable(enableFloatingIP), Optional.ToNullable(enableTcpReset), Optional.ToNullable(disableOutboundSnat), Optional.ToNullable(provisioningState))); }
internal static LoadBalancingRule DeserializeLoadBalancingRule(JsonElement element) { string name = default; string etag = default; string type = default; string id = default; SubResource frontendIPConfiguration = default; SubResource backendAddressPool = default; SubResource probe = default; TransportProtocol?protocol = default; LoadDistribution? loadDistribution = default; int? frontendPort = default; int? backendPort = default; int? idleTimeoutInMinutes = default; bool?enableFloatingIP = default; bool?enableTcpReset = default; bool?disableOutboundSnat = default; ProvisioningState?provisioningState = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } name = property.Value.GetString(); continue; } if (property.NameEquals("etag")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } etag = property.Value.GetString(); continue; } if (property.NameEquals("type")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } type = property.Value.GetString(); continue; } if (property.NameEquals("id")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } id = property.Value.GetString(); continue; } if (property.NameEquals("properties")) { foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("frontendIPConfiguration")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } frontendIPConfiguration = DeserializeSubResource(property0.Value); continue; } if (property0.NameEquals("backendAddressPool")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } backendAddressPool = DeserializeSubResource(property0.Value); continue; } if (property0.NameEquals("probe")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } probe = DeserializeSubResource(property0.Value); continue; } if (property0.NameEquals("protocol")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } protocol = new TransportProtocol(property0.Value.GetString()); continue; } if (property0.NameEquals("loadDistribution")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } loadDistribution = new LoadDistribution(property0.Value.GetString()); continue; } if (property0.NameEquals("frontendPort")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } frontendPort = property0.Value.GetInt32(); continue; } if (property0.NameEquals("backendPort")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } backendPort = property0.Value.GetInt32(); continue; } if (property0.NameEquals("idleTimeoutInMinutes")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } idleTimeoutInMinutes = property0.Value.GetInt32(); continue; } if (property0.NameEquals("enableFloatingIP")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } enableFloatingIP = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("enableTcpReset")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } enableTcpReset = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("disableOutboundSnat")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } disableOutboundSnat = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("provisioningState")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } provisioningState = new ProvisioningState(property0.Value.GetString()); continue; } } continue; } } return(new LoadBalancingRule(id, name, etag, type, frontendIPConfiguration, backendAddressPool, probe, protocol, loadDistribution, frontendPort, backendPort, idleTimeoutInMinutes, enableFloatingIP, enableTcpReset, disableOutboundSnat, provisioningState)); }