Skip to main content

podman_api/opts/
manifests.rs

1use containers_api::{
2    impl_field, impl_opts_builder, impl_opts_required_builder, impl_str_field, impl_url_bool_field,
3    impl_url_vec_field, impl_vec_field,
4};
5
6impl_opts_required_builder!(url =>
7    /// Adjust how a manifest list is created.
8    ManifestCreate,
9    ///
10    /// Parameters:
11    /// * name - Manifest list name.
12    name => "name"
13);
14
15impl ManifestCreateOptsBuilder {
16    impl_url_bool_field!(
17        /// Add all contents if given list.
18        all => "all"
19    );
20
21    impl_url_bool_field!(
22        /// Modify an existing list if one with the desired name already exists.
23        amend => "amend"
24    );
25
26    impl_url_vec_field!(
27        /// One or more names of an image or a manifest list. Repeat parameter as needed.
28        images => "images"
29    );
30}
31
32impl_opts_builder!(json =>
33    /// Adjust how an image is added to a manifest list.
34    ManifestImageAdd
35);
36
37impl ManifestImageAddOptsBuilder {
38    impl_field!(
39        /// True when operating on a list to include all images.
40        all: bool => "all"
41    );
42
43    impl_vec_field!(
44        /// Annotation to add to manifest list.
45        annotation => "annotation"
46    );
47
48    impl_str_field!(
49        /// Overrides the architecture for the image.
50        arch => "arch"
51    );
52
53    impl_vec_field!(
54        /// Feature list for the image.
55        features => "features"
56    );
57
58    impl_vec_field!(
59        /// Optional list of images to add to manifest list.
60        images => "images"
61    );
62
63    impl_str_field!(
64        /// Overrides the operating system for the image.
65        os => "os"
66    );
67
68    impl_str_field!(
69        /// OS features for the image.
70        os_features => "os_features"
71    );
72
73    impl_str_field!(
74        /// Overrides the operating system for the image.
75        os_version => "os_version"
76    );
77
78    impl_str_field!(
79        /// Variant for the image.
80        variant => "variant"
81    );
82}
83
84impl_opts_required_builder!(url =>
85    /// Adjust how a manifest list is pushed to a registry.
86    ManifestPush,
87    /// The destination for the manifest
88    destination => "destination"
89);
90
91impl ManifestPushOptsBuilder {
92    impl_url_bool_field!(
93        /// Push all images.
94        all => "all"
95    );
96
97    impl_url_bool_field!(
98        /// Silences extra stream data on push.
99        quiet => "quiet"
100    );
101
102    impl_url_bool_field!(
103        /// Require HTTPS and verify signatures when contacting registries.
104        tls_verify => "tlsVerify"
105    );
106}