podman/pkg/domain/entities/manifest.go

81 lines
2.8 KiB
Go

package entities
import "github.com/containers/image/v5/types"
// ManifestCreateOptions provides model for creating manifest
type ManifestCreateOptions struct {
All bool `schema:"all"`
}
// ManifestAddOptions provides model for adding digests to manifest list
//
// swagger:model
type ManifestAddOptions struct {
ManifestAnnotateOptions
// True when operating on a list to include all images
All bool `json:"all" schema:"all"`
// authfile to use when pushing manifest list
Authfile string `json:"-" schema:"-"`
// Home directory for certificates when pushing a manifest list
CertDir string `json:"-" schema:"-"`
// Password to authenticate to registry when pushing manifest list
Password string `json:"-" schema:"-"`
// Should TLS registry certificate be verified?
SkipTLSVerify types.OptionalBool `json:"-" schema:"-"`
// Username to authenticate to registry when pushing manifest list
Username string `json:"-" schema:"-"`
// Images is an optional list of images to add to manifest list
Images []string `json:"images" schema:"images"`
}
// ManifestAnnotateOptions provides model for annotating manifest list
type ManifestAnnotateOptions struct {
// Annotation to add to manifest list
Annotation []string `json:"annotation" schema:"annotation"`
// Arch overrides the architecture for the image
Arch string `json:"arch" schema:"arch"`
// Feature list for the image
Features []string `json:"features" schema:"features"`
// OS overrides the operating system for the image
OS string `json:"os" schema:"os"`
// OS features for the image
OSFeatures []string `json:"os_features" schema:"os_features"`
// OSVersion overrides the operating system for the image
OSVersion string `json:"os_version" schema:"os_version"`
// Variant for the image
Variant string `json:"variant" schema:"variant"`
}
// ManifestModifyOptions provides the model for mutating a manifest
//
// swagger 2.0 does not support oneOf for schema validation.
//
// Operation "update" uses all fields.
// Operation "remove" uses fields: Operation and Images
// Operation "annotate" uses fields: Operation and Annotations
//
// swagger:model
type ManifestModifyOptions struct {
Operation string `json:"operation" schema:"operation"` // Valid values: update, remove, annotate
ManifestAddOptions
ManifestRemoveOptions
}
// ManifestRemoveOptions provides the model for removing digests from a manifest
//
// swagger:model
type ManifestRemoveOptions struct {
}
// ManifestModifyReport provides the model for removed digests and changed manifest
//
// swagger:model
type ManifestModifyReport struct {
// Manifest List ID
ID string `json:"Id"`
// Images to removed from manifest list, otherwise not provided.
Images []string `json:"images,omitempty" schema:"images"`
// Errors associated with operation
Errors []error `json:"errors,omitempty"`
}