Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ValuesOrDefaults ¶
ValuesOrDefaults returns parameter values or the default parameter values. An error is returned when the parameter value does not pass the schema validation or a required parameter is missing.
Types ¶
type Action ¶
type Action struct {
// Modifies indicates whether this action modifies the release.
//
// If it is possible that an action modify a release, this must be set to true.
Modifies bool `json:"modifies,omitempty" yaml:"modifies,omitempty"`
// Stateless indicates that the action is purely informational, that credentials are not required, and that the runtime should not keep track of its invocation
Stateless bool `json:"stateless,omitempty" yaml:"stateless,omitempty"`
// Description describes the action as a user-readable string
Description string `json:"description,omitempty" yaml:"description,omitempty"`
}
Action describes a custom (non-core) action.
type BaseImage ¶
type BaseImage struct {
ImageType string `json:"imageType" yaml:"imageType"`
Image string `json:"image" yaml:"image"`
Digest string `json:"contentDigest,omitempty" yaml:"contentDigest,omitempty"`
Size uint64 `json:"size,omitempty" yaml:"size,omitempty"`
Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"`
MediaType string `json:"mediaType,omitempty" yaml:"mediaType,omitempty"`
}
BaseImage contains fields shared across image types
type Bundle ¶
type Bundle struct {
SchemaVersion string `json:"schemaVersion" yaml:"schemaVersion"`
Name string `json:"name" yaml:"name"`
Version string `json:"version" yaml:"version"`
Description string `json:"description" yaml:"description"`
Keywords []string `json:"keywords,omitempty" yaml:"keywords,omitempty"`
Maintainers []Maintainer `json:"maintainers,omitempty" yaml:"maintainers,omitempty"`
InvocationImages []InvocationImage `json:"invocationImages" yaml:"invocationImages"`
Images map[string]Image `json:"images,omitempty" yaml:"images,omitempty"`
Actions map[string]Action `json:"actions,omitempty" yaml:"actions,omitempty"`
Parameters map[string]Parameter `json:"parameters,omitempty" yaml:"parameters,omitempty"`
Credentials map[string]Credential `json:"credentials,omitempty" yaml:"credentials,omitempty"`
Outputs map[string]Output `json:"outputs,omitempty" yaml:"outputs,omitempty"`
Definitions definition.Definitions `json:"definitions,omitempty" yaml:"definitions,omitempty"`
License string `json:"license,omitempty" yaml:"license,omitempty"`
RequiredExtensions []string `json:"requiredExtensions,omitempty" yaml:"requiredExtensions,omitempty"`
// Custom extension metadata is a named collection of auxiliary data whose
// meaning is defined outside of the CNAB specification.
Custom map[string]interface{} `json:"custom,omitempty" yaml:"custom,omitempty"`
}
Bundle is a CNAB metadata document
func ParseReader ¶
ParseReader reads CNAB metadata from a JSON string
type Credential ¶
type Credential struct {
Location `yaml:",inline"`
Description string `json:"description,omitempty" yaml:"description,omitempty"`
Required bool `json:"required,omitempty" yaml:"required,omitempty"`
}
Credential represents the definition of a CNAB credential
type Image ¶
type Image struct {
BaseImage `yaml:",inline"`
Description string `json:"description" yaml:"description"` //TODO: change? see where it's being used? change to description?
}
Image describes a container image in the bundle
type InvocationImage ¶
type InvocationImage struct {
BaseImage `yaml:",inline"`
}
InvocationImage contains the image type and location for the installation of a bundle
func (InvocationImage) Validate ¶
func (img InvocationImage) Validate() error
Validate the image contents.
type Location ¶
type Location struct {
Path string `json:"path,omitempty" yaml:"path,omitempty"`
EnvironmentVariable string `json:"env,omitempty" yaml:"env,omitempty"`
}
Location provides the location where a value should be written in the invocation image.
A location may be either a file (by path) or an environment variable.
type LocationRef ¶
type LocationRef struct {
Path string `json:"path" yaml:"path"`
Field string `json:"field" yaml:"field"`
MediaType string `json:"mediaType" yaml:"mediaType"`
}
LocationRef specifies a location within the invocation package
type Maintainer ¶
type Maintainer struct {
// Name is a user name or organization name
Name string `json:"name" yaml:"name"`
// Email is an optional email address to contact the named maintainer
Email string `json:"email,omitempty" yaml:"email,omitempty"`
// Url is an optional URL to an address for the named maintainer
URL string `json:"url,omitempty" yaml:"url,omitempty"`
}
Maintainer describes a code maintainer of a bundle
type Parameter ¶
type Parameter struct {
Definition string `json:"definition" yaml:"definition"`
ApplyTo []string `json:"applyTo,omitempty" yaml:"applyTo,omitempty"`
Description string `json:"description,omitempty" yaml:"description,omitempty"`
Destination *Location `json:"destination,omitemtpty" yaml:"destination,omitempty"`
Required bool `json:"required,omitempty" yaml:"required,omitempty"`
}
Parameter defines a single parameter for a CNAB bundle