@@ -43,11 +43,24 @@ pub struct ImageIndex {
43
43
#[ getset( get = "pub" , set = "pub" ) ]
44
44
#[ builder( default ) ]
45
45
media_type : Option < MediaType > ,
46
+ /// This OPTIONAL property contains the type of an artifact when the manifest is used for an
47
+ /// artifact. If defined, the value MUST comply with RFC 6838, including the naming
48
+ /// requirements in its section 4.2, and MAY be registered with IANA.
49
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
50
+ #[ getset( get = "pub" , set = "pub" ) ]
51
+ #[ builder( default ) ]
52
+ artifact_type : Option < MediaType > ,
46
53
/// This REQUIRED property contains a list of manifests for specific
47
54
/// platforms. While this property MUST be present, the size of
48
55
/// the array MAY be zero.
49
56
#[ getset( get = "pub" , set = "pub" ) ]
50
57
manifests : Vec < Descriptor > ,
58
+ /// This OPTIONAL property specifies a descriptor of another manifest. This value, used by the
59
+ /// referrers API, indicates a relationship to the specified manifest.
60
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
61
+ #[ getset( get = "pub" , set = "pub" ) ]
62
+ #[ builder( default ) ]
63
+ subject : Option < Descriptor > ,
51
64
/// This OPTIONAL property contains arbitrary metadata for the image
52
65
/// index. This OPTIONAL property MUST use the annotation rules.
53
66
#[ serde( skip_serializing_if = "Option::is_none" ) ]
@@ -191,6 +204,8 @@ impl Default for ImageIndex {
191
204
media_type : Default :: default ( ) ,
192
205
manifests : Default :: default ( ) ,
193
206
annotations : Default :: default ( ) ,
207
+ artifact_type : Default :: default ( ) ,
208
+ subject : Default :: default ( ) ,
194
209
}
195
210
}
196
211
}
0 commit comments