internal static ManagementPolicyFilter DeserializeManagementPolicyFilter(JsonElement element) { Optional <IList <string> > prefixMatch = default; IList <string> blobTypes = default; Optional <IList <TagFilter> > blobIndexMatch = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("prefixMatch")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } prefixMatch = array; continue; } if (property.NameEquals("blobTypes")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } blobTypes = array; continue; } if (property.NameEquals("blobIndexMatch")) { List <TagFilter> array = new List <TagFilter>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(TagFilter.DeserializeTagFilter(item)); } blobIndexMatch = array; continue; } } return(new ManagementPolicyFilter(Optional.ToList(prefixMatch), blobTypes, Optional.ToList(blobIndexMatch))); }
internal static ManagementPolicyFilter DeserializeManagementPolicyFilter(JsonElement element) { IList <string> prefixMatch = default; IList <string> blobTypes = default; IList <TagFilter> blobIndexMatch = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("prefixMatch")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(item.GetString()); } } prefixMatch = array; continue; } if (property.NameEquals("blobTypes")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(item.GetString()); } } blobTypes = array; continue; } if (property.NameEquals("blobIndexMatch")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <TagFilter> array = new List <TagFilter>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(TagFilter.DeserializeTagFilter(item)); } } blobIndexMatch = array; continue; } } return(new ManagementPolicyFilter(prefixMatch, blobTypes, blobIndexMatch)); }