void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) { writer.WriteStartObject(); writer.WritePropertyName("certificateSource"); writer.WriteStringValue(CertificateSource.ToString()); writer.WritePropertyName("protocolType"); writer.WriteStringValue(ProtocolType.ToString()); if (Optional.IsDefined(MinimumTlsVersion)) { writer.WritePropertyName("minimumTlsVersion"); writer.WriteStringValue(MinimumTlsVersion.Value.ToSerialString()); } writer.WriteEndObject(); }
internal static CustomDomainHttpsOptions DeserializeCustomDomainHttpsOptions(JsonElement element) { if (element.TryGetProperty("certificateSource", out JsonElement discriminator)) { switch (discriminator.GetString()) { case "AzureKeyVault": return(UserManagedHttpsOptions.DeserializeUserManagedHttpsOptions(element)); case "Cdn": return(CdnManagedHttpsOptions.DeserializeCdnManagedHttpsOptions(element)); } } CertificateSource certificateSource = default; ProtocolType protocolType = default; Optional <MinimumTlsVersion> minimumTlsVersion = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("certificateSource")) { certificateSource = new CertificateSource(property.Value.GetString()); continue; } if (property.NameEquals("protocolType")) { protocolType = new ProtocolType(property.Value.GetString()); continue; } if (property.NameEquals("minimumTlsVersion")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } minimumTlsVersion = property.Value.GetString().ToMinimumTlsVersion(); continue; } } return(new CustomDomainHttpsOptions(certificateSource, protocolType, Optional.ToNullable(minimumTlsVersion))); }
internal static CdnManagedHttpsContent DeserializeCdnManagedHttpsContent(JsonElement element) { CdnCertificateSource certificateSourceParameters = default; CertificateSource certificateSource = default; ProtocolType protocolType = default; Optional <MinimumTlsVersion> minimumTlsVersion = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("certificateSourceParameters")) { certificateSourceParameters = CdnCertificateSource.DeserializeCdnCertificateSource(property.Value); continue; } if (property.NameEquals("certificateSource")) { certificateSource = new CertificateSource(property.Value.GetString()); continue; } if (property.NameEquals("protocolType")) { protocolType = new ProtocolType(property.Value.GetString()); continue; } if (property.NameEquals("minimumTlsVersion")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } minimumTlsVersion = property.Value.GetString().ToMinimumTlsVersion(); continue; } } return(new CdnManagedHttpsContent(certificateSource, protocolType, Optional.ToNullable(minimumTlsVersion), certificateSourceParameters)); }
internal UserManagedHttpsContent(CertificateSource certificateSource, ProtocolType protocolType, MinimumTlsVersion?minimumTlsVersion, KeyVaultCertificateSourceDefinition certificateSourceParameters) : base(certificateSource, protocolType, minimumTlsVersion) { CertificateSourceParameters = certificateSourceParameters; CertificateSource = certificateSource; }
internal CdnManagedHttpsContent(CertificateSource certificateSource, ProtocolType protocolType, MinimumTlsVersion?minimumTlsVersion, CdnCertificateSource certificateSourceParameters) : base(certificateSource, protocolType, minimumTlsVersion) { CertificateSourceParameters = certificateSourceParameters; CertificateSource = certificateSource; }