in sdk/websites/Azure.ResourceManager.AppService/src/Customization/Models/AppCertificatePatch.Serialization.cs [17:294]
internal static AppCertificatePatch DeserializeAppCertificatePatch(JsonElement element, ModelReaderWriterOptions options = null)
{
options ??= new ModelReaderWriterOptions("W");
if (element.ValueKind == JsonValueKind.Null)
{
return null;
}
string kind = default;
ResourceIdentifier id = default;
string name = default;
ResourceType type = default;
SystemData systemData = default;
string password = default;
string friendlyName = default;
string subjectName = default;
IList<string> hostNames = default;
byte[] pfxBlob = default;
string siteName = default;
string selfLink = default;
string issuer = default;
DateTimeOffset? issueDate = default;
DateTimeOffset? expirationDate = default;
string thumbprintString = default;
bool? valid = default;
byte[] cerBlob = default;
string publicKeyHash = default;
HostingEnvironmentProfile hostingEnvironmentProfile = default;
ResourceIdentifier keyVaultId = default;
string keyVaultSecretName = default;
KeyVaultSecretStatus? keyVaultSecretStatus = default;
ResourceIdentifier serverFarmId = default;
string canonicalName = default;
string domainValidationMethod = default;
IDictionary<string, BinaryData> serializedAdditionalRawData = default;
Dictionary<string, BinaryData> additionalPropertiesDictionary = new Dictionary<string, BinaryData>();
foreach (var property in element.EnumerateObject())
{
if (property.NameEquals("kind"u8))
{
kind = property.Value.GetString();
continue;
}
if (property.NameEquals("id"u8))
{
id = new ResourceIdentifier(property.Value.GetString());
continue;
}
if (property.NameEquals("name"u8))
{
name = property.Value.GetString();
continue;
}
if (property.NameEquals("type"u8))
{
type = new ResourceType(property.Value.GetString());
continue;
}
if (property.NameEquals("systemData"u8))
{
if (property.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
systemData = JsonSerializer.Deserialize<SystemData>(property.Value.GetRawText());
continue;
}
if (property.NameEquals("properties"u8))
{
if (property.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
foreach (var property0 in property.Value.EnumerateObject())
{
if (property0.NameEquals("password"u8))
{
password = property0.Value.GetString();
continue;
}
if (property0.NameEquals("friendlyName"u8))
{
friendlyName = property0.Value.GetString();
continue;
}
if (property0.NameEquals("subjectName"u8))
{
subjectName = property0.Value.GetString();
continue;
}
if (property0.NameEquals("hostNames"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
property0.ThrowNonNullablePropertyIsNull();
continue;
}
List<string> array = new List<string>();
foreach (var item in property0.Value.EnumerateArray())
{
array.Add(item.GetString());
}
hostNames = array;
continue;
}
if (property0.NameEquals("pfxBlob"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
property0.ThrowNonNullablePropertyIsNull();
continue;
}
pfxBlob = property0.Value.GetBytesFromBase64("D");
continue;
}
if (property0.NameEquals("siteName"u8))
{
siteName = property0.Value.GetString();
continue;
}
if (property0.NameEquals("selfLink"u8))
{
selfLink = property0.Value.GetString();
continue;
}
if (property0.NameEquals("issuer"u8))
{
issuer = property0.Value.GetString();
continue;
}
if (property0.NameEquals("issueDate"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
property0.ThrowNonNullablePropertyIsNull();
continue;
}
issueDate = property0.Value.GetDateTimeOffset("O");
continue;
}
if (property0.NameEquals("expirationDate"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
property0.ThrowNonNullablePropertyIsNull();
continue;
}
expirationDate = property0.Value.GetDateTimeOffset("O");
continue;
}
if (property0.NameEquals("thumbprint"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
property0.ThrowNonNullablePropertyIsNull();
continue;
}
thumbprintString = property0.Value.GetString();
continue;
}
if (property0.NameEquals("valid"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
property0.ThrowNonNullablePropertyIsNull();
continue;
}
valid = property0.Value.GetBoolean();
continue;
}
if (property0.NameEquals("cerBlob"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
property0.ThrowNonNullablePropertyIsNull();
continue;
}
cerBlob = property0.Value.GetBytesFromBase64("D");
continue;
}
if (property0.NameEquals("publicKeyHash"u8))
{
publicKeyHash = property0.Value.GetString();
continue;
}
if (property0.NameEquals("hostingEnvironmentProfile"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
property0.ThrowNonNullablePropertyIsNull();
continue;
}
hostingEnvironmentProfile = HostingEnvironmentProfile.DeserializeHostingEnvironmentProfile(property0.Value);
continue;
}
if (property0.NameEquals("keyVaultId"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null || property0.Value.GetString().Length == 0)
{
property0.ThrowNonNullablePropertyIsNull();
continue;
}
keyVaultId = new ResourceIdentifier(property0.Value.GetString());
continue;
}
if (property0.NameEquals("keyVaultSecretName"u8))
{
keyVaultSecretName = property0.Value.GetString();
continue;
}
if (property0.NameEquals("keyVaultSecretStatus"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
property0.ThrowNonNullablePropertyIsNull();
continue;
}
keyVaultSecretStatus = property0.Value.GetString().ToKeyVaultSecretStatus();
continue;
}
if (property0.NameEquals("serverFarmId"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
property0.ThrowNonNullablePropertyIsNull();
continue;
}
serverFarmId = new ResourceIdentifier(property0.Value.GetString());
continue;
}
if (property0.NameEquals("canonicalName"u8))
{
canonicalName = property0.Value.GetString();
continue;
}
if (property0.NameEquals("domainValidationMethod"u8))
{
domainValidationMethod = property0.Value.GetString();
continue;
}
}
continue;
}
if (options.Format != "W")
{
additionalPropertiesDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText()));
}
}
serializedAdditionalRawData = additionalPropertiesDictionary;
return new AppCertificatePatch(
id,
name,
type,
systemData,
password,
friendlyName,
subjectName,
hostNames ?? new ChangeTrackingList<string>(),
pfxBlob,
siteName,
selfLink,
issuer,
issueDate,
expirationDate,
thumbprintString,
valid,
cerBlob,
publicKeyHash,
hostingEnvironmentProfile,
keyVaultId,
keyVaultSecretName,
keyVaultSecretStatus,
serverFarmId,
canonicalName,
domainValidationMethod,
kind,
serializedAdditionalRawData);
}