internal static ApplicationGatewayProbe DeserializeApplicationGatewayProbe(JsonElement element) { Optional <string> name = default; Optional <string> etag = default; Optional <string> type = default; Optional <string> id = default; Optional <ApplicationGatewayProtocol> protocol = default; Optional <string> host = default; Optional <string> path = default; Optional <int> interval = default; Optional <int> timeout = default; Optional <int> unhealthyThreshold = default; Optional <bool> pickHostNameFromBackendHttpSettings = default; Optional <int> minServers = default; Optional <ApplicationGatewayProbeHealthResponseMatch> match = default; Optional <ProvisioningState> provisioningState = default; Optional <int> port = 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("protocol")) { protocol = new ApplicationGatewayProtocol(property0.Value.GetString()); continue; } if (property0.NameEquals("host")) { host = property0.Value.GetString(); continue; } if (property0.NameEquals("path")) { path = property0.Value.GetString(); continue; } if (property0.NameEquals("interval")) { interval = property0.Value.GetInt32(); continue; } if (property0.NameEquals("timeout")) { timeout = property0.Value.GetInt32(); continue; } if (property0.NameEquals("unhealthyThreshold")) { unhealthyThreshold = property0.Value.GetInt32(); continue; } if (property0.NameEquals("pickHostNameFromBackendHttpSettings")) { pickHostNameFromBackendHttpSettings = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("minServers")) { minServers = property0.Value.GetInt32(); continue; } if (property0.NameEquals("match")) { match = ApplicationGatewayProbeHealthResponseMatch.DeserializeApplicationGatewayProbeHealthResponseMatch(property0.Value); continue; } if (property0.NameEquals("provisioningState")) { provisioningState = new ProvisioningState(property0.Value.GetString()); continue; } if (property0.NameEquals("port")) { port = property0.Value.GetInt32(); continue; } } continue; } } return(new ApplicationGatewayProbe(id.Value, name.Value, etag.Value, type.Value, Optional.ToNullable(protocol), host.Value, path.Value, Optional.ToNullable(interval), Optional.ToNullable(timeout), Optional.ToNullable(unhealthyThreshold), Optional.ToNullable(pickHostNameFromBackendHttpSettings), Optional.ToNullable(minServers), match.Value, Optional.ToNullable(provisioningState), Optional.ToNullable(port))); }