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 GatewayProperties(GatewayProvisioningState?provisioningState, bool? @public, Uri uri, bool?httpsOnly, SsoProperties ssoProperties, GatewayApiMetadataProperties apiMetadataProperties, GatewayCorsProperties corsProperties, GatewayResourceRequests resourceRequests, IReadOnlyList <GatewayInstance> instances, GatewayOperatorProperties operatorProperties) { ProvisioningState = provisioningState; Public = @public; Uri = uri; HttpsOnly = httpsOnly; SsoProperties = ssoProperties; ApiMetadataProperties = apiMetadataProperties; CorsProperties = corsProperties; ResourceRequests = resourceRequests; Instances = instances; OperatorProperties = operatorProperties; }
internal static GatewayProperties DeserializeGatewayProperties(JsonElement element) { Optional <GatewayProvisioningState> provisioningState = default; Optional <bool> @public = default; Optional <Uri> url = default; Optional <bool> httpsOnly = default; Optional <SsoProperties> ssoProperties = default; Optional <GatewayApiMetadataProperties> apiMetadataProperties = default; Optional <GatewayCorsProperties> corsProperties = default; Optional <GatewayResourceRequests> resourceRequests = default; Optional <IReadOnlyList <GatewayInstance> > instances = default; Optional <GatewayOperatorProperties> operatorProperties = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("provisioningState")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } provisioningState = new GatewayProvisioningState(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("ssoProperties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } ssoProperties = SsoProperties.DeserializeSsoProperties(property.Value); continue; } if (property.NameEquals("apiMetadataProperties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } apiMetadataProperties = GatewayApiMetadataProperties.DeserializeGatewayApiMetadataProperties(property.Value); continue; } if (property.NameEquals("corsProperties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } corsProperties = GatewayCorsProperties.DeserializeGatewayCorsProperties(property.Value); continue; } if (property.NameEquals("resourceRequests")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } resourceRequests = GatewayResourceRequests.DeserializeGatewayResourceRequests(property.Value); continue; } if (property.NameEquals("instances")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <GatewayInstance> array = new List <GatewayInstance>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(GatewayInstance.DeserializeGatewayInstance(item)); } instances = array; continue; } if (property.NameEquals("operatorProperties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } operatorProperties = GatewayOperatorProperties.DeserializeGatewayOperatorProperties(property.Value); continue; } } return(new GatewayProperties(Optional.ToNullable(provisioningState), Optional.ToNullable(@public), url.Value, Optional.ToNullable(httpsOnly), ssoProperties.Value, apiMetadataProperties.Value, corsProperties.Value, resourceRequests.Value, Optional.ToList(instances), operatorProperties.Value)); }
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))); }