internal OCIManifest(int?schemaVersion, Descriptor config, IList <Descriptor> layers, Annotations annotations) : base(schemaVersion) { Config = config; Layers = layers; Annotations = annotations; }
internal ManifestWrapper(int?schemaVersion, string mediaType, IList <ManifestListAttributes> manifests, Descriptor config, IList <Descriptor> layers, Annotations annotations, string architecture, string name, string tag, IList <FsLayer> fsLayers, IList <History> history, IList <ImageSignature> signatures) : base(schemaVersion) { MediaType = mediaType; Manifests = manifests; Config = config; Layers = layers; Annotations = annotations; Architecture = architecture; Name = name; Tag = tag; FsLayers = fsLayers; History = history; Signatures = signatures; }
internal static ManifestWrapper DeserializeManifestWrapper(JsonElement element) { Optional <string> mediaType = default; Optional <IList <ManifestListAttributes> > manifests = default; Optional <Descriptor> config = default; Optional <IList <Descriptor> > layers = default; Optional <Annotations> annotations = default; Optional <string> architecture = default; Optional <string> name = default; Optional <string> tag = default; Optional <IList <FsLayer> > fsLayers = default; Optional <IList <History> > history = default; Optional <IList <ImageSignature> > signatures = default; Optional <int> schemaVersion = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("mediaType")) { mediaType = property.Value.GetString(); continue; } if (property.NameEquals("manifests")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <ManifestListAttributes> array = new List <ManifestListAttributes>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(ManifestListAttributes.DeserializeManifestListAttributes(item)); } manifests = array; continue; } if (property.NameEquals("config")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } config = Descriptor.DeserializeDescriptor(property.Value); continue; } if (property.NameEquals("layers")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <Descriptor> array = new List <Descriptor>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(Descriptor.DeserializeDescriptor(item)); } layers = array; continue; } if (property.NameEquals("annotations")) { if (property.Value.ValueKind == JsonValueKind.Null) { annotations = null; continue; } annotations = Annotations.DeserializeAnnotations(property.Value); continue; } if (property.NameEquals("architecture")) { architecture = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("tag")) { tag = property.Value.GetString(); continue; } if (property.NameEquals("fsLayers")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <FsLayer> array = new List <FsLayer>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(FsLayer.DeserializeFsLayer(item)); } fsLayers = array; continue; } if (property.NameEquals("history")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <History> array = new List <History>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(ContainerRegistry.History.DeserializeHistory(item)); } history = array; continue; } if (property.NameEquals("signatures")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <ImageSignature> array = new List <ImageSignature>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(ImageSignature.DeserializeImageSignature(item)); } signatures = array; continue; } if (property.NameEquals("schemaVersion")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } schemaVersion = property.Value.GetInt32(); continue; } } return(new ManifestWrapper(Optional.ToNullable(schemaVersion), mediaType.Value, Optional.ToList(manifests), config.Value, Optional.ToList(layers), annotations.Value, architecture.Value, name.Value, tag.Value, Optional.ToList(fsLayers), Optional.ToList(history), Optional.ToList(signatures))); }
internal Descriptor(string mediaType, long?size, string digest, IList <string> urls, Annotations annotations) { MediaType = mediaType; Size = size; Digest = digest; Urls = urls; Annotations = annotations; }
internal OCIIndex(int?schemaVersion, IList <ManifestListAttributes> manifests, Annotations annotations) : base(schemaVersion) { Manifests = manifests; Annotations = annotations; }