internal ApiPortalProperties(ApiPortalProvisioningState?provisioningState, bool? @public, Uri uri, bool?httpsOnly, IList <string> gatewayIds, IList <Uri> sourceUris, SsoProperties ssoProperties, ApiPortalResourceRequests resourceRequests, IReadOnlyList <ApiPortalInstance> instances) { ProvisioningState = provisioningState; Public = @public; Uri = uri; HttpsOnly = httpsOnly; GatewayIds = gatewayIds; SourceUris = sourceUris; SsoProperties = ssoProperties; ResourceRequests = resourceRequests; Instances = instances; }
internal static ApiPortalProperties DeserializeApiPortalProperties(JsonElement element) { Optional <ApiPortalProvisioningState> provisioningState = default; Optional <bool> @public = default; Optional <Uri> url = default; Optional <bool> httpsOnly = default; Optional <IList <string> > gatewayIds = default; Optional <IList <Uri> > sourceUrls = default; Optional <SsoProperties> ssoProperties = default; Optional <ApiPortalResourceRequests> resourceRequests = default; Optional <IReadOnlyList <ApiPortalInstance> > instances = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("provisioningState")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } provisioningState = new ApiPortalProvisioningState(property.Value.GetString()); continue; } if (property.NameEquals("public")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } @public = property.Value.GetBoolean(); continue; } if (property.NameEquals("url")) { if (property.Value.ValueKind == JsonValueKind.Null) { url = null; continue; } url = new Uri(property.Value.GetString()); continue; } if (property.NameEquals("httpsOnly")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } httpsOnly = property.Value.GetBoolean(); continue; } if (property.NameEquals("gatewayIds")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } gatewayIds = array; continue; } if (property.NameEquals("sourceUrls")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <Uri> array = new List <Uri>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(new Uri(item.GetString())); } sourceUrls = array; continue; } if (property.NameEquals("ssoProperties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } ssoProperties = SsoProperties.DeserializeSsoProperties(property.Value); continue; } if (property.NameEquals("resourceRequests")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } resourceRequests = ApiPortalResourceRequests.DeserializeApiPortalResourceRequests(property.Value); continue; } if (property.NameEquals("instances")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <ApiPortalInstance> array = new List <ApiPortalInstance>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(ApiPortalInstance.DeserializeApiPortalInstance(item)); } instances = array; continue; } } return(new ApiPortalProperties(Optional.ToNullable(provisioningState), Optional.ToNullable(@public), url.Value, Optional.ToNullable(httpsOnly), Optional.ToList(gatewayIds), Optional.ToList(sourceUrls), ssoProperties.Value, resourceRequests.Value, Optional.ToList(instances))); }