github.com/hanks177/podman/v4@v4.1.3-0.20220613032544-16d90015bc83/pkg/domain/entities/manifest.go (about)

     1  package entities
     2  
     3  import "github.com/containers/image/v5/types"
     4  
     5  // ManifestCreateOptions provides model for creating manifest
     6  type ManifestCreateOptions struct {
     7  	All bool `schema:"all"`
     8  }
     9  
    10  // ManifestAddOptions provides model for adding digests to manifest list
    11  //
    12  // swagger:model
    13  type ManifestAddOptions struct {
    14  	ManifestAnnotateOptions
    15  	// True when operating on a list to include all images
    16  	All bool `json:"all" schema:"all"`
    17  	// authfile to use when pushing manifest list
    18  	Authfile string `json:"-" schema:"-"`
    19  	// Home directory for certificates when pushing a manifest list
    20  	CertDir string `json:"-" schema:"-"`
    21  	// Password to authenticate to registry when pushing manifest list
    22  	Password string `json:"-" schema:"-"`
    23  	// Should TLS registry certificate be verified?
    24  	SkipTLSVerify types.OptionalBool `json:"-" schema:"-"`
    25  	// Username to authenticate to registry when pushing manifest list
    26  	Username string `json:"-" schema:"-"`
    27  	// Images is an optional list of images to add to manifest list
    28  	Images []string `json:"images" schema:"images"`
    29  }
    30  
    31  // ManifestAnnotateOptions provides model for annotating manifest list
    32  type ManifestAnnotateOptions struct {
    33  	// Annotation to add to manifest list
    34  	Annotation []string `json:"annotation" schema:"annotation"`
    35  	// Arch overrides the architecture for the image
    36  	Arch string `json:"arch" schema:"arch"`
    37  	// Feature list for the image
    38  	Features []string `json:"features" schema:"features"`
    39  	// OS overrides the operating system for the image
    40  	OS string `json:"os" schema:"os"`
    41  	// OS features for the image
    42  	OSFeatures []string `json:"os_features" schema:"os_features"`
    43  	// OSVersion overrides the operating system for the image
    44  	OSVersion string `json:"os_version" schema:"os_version"`
    45  	// Variant for the image
    46  	Variant string `json:"variant" schema:"variant"`
    47  }
    48  
    49  // ManifestModifyOptions provides the model for mutating a manifest
    50  //
    51  // swagger 2.0 does not support oneOf for schema validation.
    52  //
    53  // Operation "update" uses all fields.
    54  // Operation "remove" uses fields: Operation and Images
    55  // Operation "annotate" uses fields: Operation and Annotations
    56  //
    57  // swagger:model
    58  type ManifestModifyOptions struct {
    59  	Operation string `json:"operation" schema:"operation"` // Valid values: update, remove, annotate
    60  	ManifestAddOptions
    61  	ManifestRemoveOptions
    62  }
    63  
    64  // ManifestRemoveOptions provides the model for removing digests from a manifest
    65  //
    66  // swagger:model
    67  type ManifestRemoveOptions struct {
    68  }
    69  
    70  // ManifestModifyReport provides the model for removed digests and changed manifest
    71  //
    72  // swagger:model
    73  type ManifestModifyReport struct {
    74  	// Manifest List ID
    75  	ID string `json:"Id"`
    76  	// Images to removed from manifest list, otherwise not provided.
    77  	Images []string `json:"images,omitempty" schema:"images"`
    78  	// Errors associated with operation
    79  	Errors []error `json:"errors,omitempty"`
    80  }