internal static AzureKeyVaultProperties DeserializeAzureKeyVaultProperties(JsonElement element) { Optional <bool?> connectAsKubernetesCsiDriver = default; AzureResourceType type = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("connectAsKubernetesCsiDriver")) { if (property.Value.ValueKind == JsonValueKind.Null) { connectAsKubernetesCsiDriver = null; continue; } connectAsKubernetesCsiDriver = property.Value.GetBoolean(); continue; } if (property.NameEquals("type")) { type = new AzureResourceType(property.Value.GetString()); continue; } } return(new AzureKeyVaultProperties(type, Optional.ToNullable(connectAsKubernetesCsiDriver))); }
void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) { writer.WriteStartObject(); writer.WritePropertyName("type"); writer.WriteStringValue(AzureResourceType.ToString()); writer.WriteEndObject(); }
void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) { writer.WriteStartObject(); if (Optional.IsDefined(ConnectAsKubernetesCsiDriver)) { writer.WritePropertyName("connectAsKubernetesCsiDriver"); writer.WriteBooleanValue(ConnectAsKubernetesCsiDriver.Value); } writer.WritePropertyName("type"); writer.WriteStringValue(AzureResourceType.ToString()); writer.WriteEndObject(); }
internal static AzureResourcePropertiesBase DeserializeAzureResourcePropertiesBase(JsonElement element) { if (element.TryGetProperty("type", out JsonElement discriminator)) { switch (discriminator.GetString()) { case "KeyVault": return(AzureKeyVaultProperties.DeserializeAzureKeyVaultProperties(element)); } } AzureResourceType type = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("type")) { type = new AzureResourceType(property.Value.GetString()); continue; } } return(new AzureResourcePropertiesBase(type)); }