internal BlobInventoryPolicyDefinition(BlobInventoryPolicyFilter filters, Format format, Schedule schedule, ObjectType objectType, IList <string> schemaFields) { Filters = filters; Format = format; Schedule = schedule; ObjectType = objectType; SchemaFields = schemaFields; }
internal static BlobInventoryPolicyDefinition DeserializeBlobInventoryPolicyDefinition(JsonElement element) { Optional <BlobInventoryPolicyFilter> filters = default; Format format = default; Schedule schedule = default; ObjectType objectType = default; IList <string> schemaFields = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("filters")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } filters = BlobInventoryPolicyFilter.DeserializeBlobInventoryPolicyFilter(property.Value); continue; } if (property.NameEquals("format")) { format = new Format(property.Value.GetString()); continue; } if (property.NameEquals("schedule")) { schedule = new Schedule(property.Value.GetString()); continue; } if (property.NameEquals("objectType")) { objectType = new ObjectType(property.Value.GetString()); continue; } if (property.NameEquals("schemaFields")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } schemaFields = array; continue; } } return(new BlobInventoryPolicyDefinition(filters.Value, format, schedule, objectType, schemaFields)); }