in sdk/sqlmanagement/Azure.ResourceManager.Sql/src/Custom/Models/ElasticPoolActivity.Serialization.cs [159:430]
internal static ElasticPoolActivity DeserializeElasticPoolActivity(JsonElement element, ModelReaderWriterOptions options = null)
{
options ??= ModelSerializationExtensions.WireOptions;
if (element.ValueKind == JsonValueKind.Null)
{
return null;
}
AzureLocation? location = default;
ResourceIdentifier id = default;
string name = default;
ResourceType type = default;
ResourceManager.Models.SystemData systemData = default;
DateTimeOffset? endTime = default;
int? errorCode = default;
string errorMessage = default;
int? errorSeverity = default;
string operation = default;
Guid? operationId = default;
int? percentComplete = default;
int? requestedDatabaseDtuMax = default;
int? requestedDatabaseDtuMin = default;
int? requestedDtu = default;
string requestedElasticPoolName = default;
long? requestedStorageLimitInGB = default;
string elasticPoolName = default;
string serverName = default;
DateTimeOffset? startTime = default;
string state = default;
int? requestedStorageLimitInMB = default;
int? requestedDatabaseDtuGuarantee = default;
int? requestedDatabaseDtuCap = default;
int? requestedDtuGuarantee = default;
IDictionary<string, BinaryData> serializedAdditionalRawData = default;
Dictionary<string, BinaryData> rawDataDictionary = new Dictionary<string, BinaryData>();
foreach (var property in element.EnumerateObject())
{
if (property.NameEquals("location"u8))
{
if (property.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
location = new AzureLocation(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<ResourceManager.Models.SystemData>(property.Value.GetRawText());
continue;
}
if (property.NameEquals("properties"u8))
{
if (property.Value.ValueKind == JsonValueKind.Null)
{
property.ThrowNonNullablePropertyIsNull();
continue;
}
foreach (var property0 in property.Value.EnumerateObject())
{
if (property0.NameEquals("endTime"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
endTime = property0.Value.GetDateTimeOffset("O");
continue;
}
if (property0.NameEquals("errorCode"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
errorCode = property0.Value.GetInt32();
continue;
}
if (property0.NameEquals("errorMessage"u8))
{
errorMessage = property0.Value.GetString();
continue;
}
if (property0.NameEquals("errorSeverity"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
errorSeverity = property0.Value.GetInt32();
continue;
}
if (property0.NameEquals("operation"u8))
{
operation = property0.Value.GetString();
continue;
}
if (property0.NameEquals("operationId"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
operationId = property0.Value.GetGuid();
continue;
}
if (property0.NameEquals("percentComplete"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
percentComplete = property0.Value.GetInt32();
continue;
}
if (property0.NameEquals("requestedDatabaseDtuMax"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
requestedDatabaseDtuMax = property0.Value.GetInt32();
continue;
}
if (property0.NameEquals("requestedDatabaseDtuMin"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
requestedDatabaseDtuMin = property0.Value.GetInt32();
continue;
}
if (property0.NameEquals("requestedDtu"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
requestedDtu = property0.Value.GetInt32();
continue;
}
if (property0.NameEquals("requestedElasticPoolName"u8))
{
requestedElasticPoolName = property0.Value.GetString();
continue;
}
if (property0.NameEquals("requestedStorageLimitInGB"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
requestedStorageLimitInGB = property0.Value.GetInt64();
continue;
}
if (property0.NameEquals("elasticPoolName"u8))
{
elasticPoolName = property0.Value.GetString();
continue;
}
if (property0.NameEquals("serverName"u8))
{
serverName = property0.Value.GetString();
continue;
}
if (property0.NameEquals("startTime"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
startTime = property0.Value.GetDateTimeOffset("O");
continue;
}
if (property0.NameEquals("state"u8))
{
state = property0.Value.GetString();
continue;
}
if (property0.NameEquals("requestedStorageLimitInMB"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
requestedStorageLimitInMB = property0.Value.GetInt32();
continue;
}
if (property0.NameEquals("requestedDatabaseDtuGuarantee"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
requestedDatabaseDtuGuarantee = property0.Value.GetInt32();
continue;
}
if (property0.NameEquals("requestedDatabaseDtuCap"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
requestedDatabaseDtuCap = property0.Value.GetInt32();
continue;
}
if (property0.NameEquals("requestedDtuGuarantee"u8))
{
if (property0.Value.ValueKind == JsonValueKind.Null)
{
continue;
}
requestedDtuGuarantee = property0.Value.GetInt32();
continue;
}
}
continue;
}
if (options.Format != "W")
{
rawDataDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText()));
}
}
serializedAdditionalRawData = rawDataDictionary;
return new ElasticPoolActivity(
id,
name,
type,
systemData,
location,
endTime,
errorCode,
errorMessage,
errorSeverity,
operation,
operationId,
percentComplete,
requestedDatabaseDtuMax,
requestedDatabaseDtuMin,
requestedDtu,
requestedElasticPoolName,
requestedStorageLimitInGB,
elasticPoolName,
serverName,
startTime,
state,
requestedStorageLimitInMB,
requestedDatabaseDtuGuarantee,
requestedDatabaseDtuCap,
requestedDtuGuarantee,
serializedAdditionalRawData);
}