Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsCoreAction ¶
IsCoreAction determines if the value is a core action from the CNAB spec.
Types ¶
type BundleOutput ¶
type CredentialDefinition ¶
type CredentialDefinition struct {
Name string `yaml:"name"`
Description string `yaml:"description,omitempty"`
Required bool `yaml:"required,omitempty"`
Location `yaml:",inline"`
}
CredentialDefinition represents the structure or fields of a credential parameter
func (*CredentialDefinition) UnmarshalYAML ¶
func (cd *CredentialDefinition) UnmarshalYAML(unmarshal func(interface{}) error) error
type CustomActionDefinition ¶
type Dependency ¶
type Dependency struct {
Tag string `yaml:"tag"`
Versions []string `yaml:"versions"`
AllowPrereleases bool `yaml:"prereleases"`
Parameters map[string]string `yaml:"parameters,omitempty"`
}
func (*Dependency) Validate ¶
func (d *Dependency) Validate() error
type Location ¶
type Location struct {
Path string `yaml:"path,omitempty"`
EnvironmentVariable string `yaml:"env,omitempty"`
}
TODO: use cnab-go's bundle.Location instead, once yaml tags have been added Location represents a Parameter or Credential location in an InvocationImage
type Manifest ¶
type Manifest struct {
// ManifestPath is the location from which the manifest was loaded, such as the path on the filesystem or a url.
ManifestPath string `yaml:"-"`
Name string `yaml:"name,omitempty"`
Description string `yaml:"description,omitempty"`
Version string `yaml:"version,omitempty"`
// Image is the name of the invocation image in the format REGISTRY/NAME:TAG
Image string `yaml:"invocationImage,omitempty"`
// BundleTag is the name of the bundle in the format REGISTRY/NAME:TAG
BundleTag string `yaml:"tag"`
// Dockerfile is the relative path to the Dockerfile template for the invocation image
Dockerfile string `yaml:"dockerfile,omitempty"`
Mixins []MixinDeclaration `yaml:"mixins,omitempty"`
Install Steps `yaml:"install"`
Uninstall Steps `yaml:"uninstall"`
Upgrade Steps `yaml:"upgrade"`
CustomActions map[string]Steps `yaml:"-"`
CustomActionDefinitions map[string]CustomActionDefinition `yaml:"customActions,omitempty"`
Parameters []ParameterDefinition `yaml:"parameters,omitempty"`
Credentials []CredentialDefinition `yaml:"credentials,omitempty"`
Dependencies map[string]Dependency `yaml:"dependencies,omitempty"`
Outputs []OutputDefinition `yaml:"outputs,omitempty"`
// ImageMap is a map of images referenced in the bundle. If an image relocation mapping is later provided, that
// will be mounted at as a file at runtime to /cnab/app/relocation-mapping.json.
ImageMap map[string]MappedImage `yaml:"images,omitempty"`
}
func ReadManifest ¶
ReadManifest determines if specified path is a URL or a filepath. After reading the data in the path it returns a Manifest and any errors
func UnmarshalManifest ¶
func (*Manifest) SetDefaults ¶
func (m *Manifest) SetDefaults()
type MappedImage ¶
type MappedImage struct {
Description string `yaml:"description"`
ImageType string `yaml:"imageType"`
Repository string `yaml:"repository"`
Digest string `yaml:"digest,omitempty"`
Size uint64 `yaml:"size,omitempty"`
MediaType string `yaml:"mediaType,omitempty"`
Labels map[string]string `yaml:"labels,omitempty"`
Tag string `yaml:"tag,omitempty"`
}
func (*MappedImage) Validate ¶
func (mi *MappedImage) Validate() error
type MixinDeclaration ¶
type MixinDeclaration struct {
Name string
Config interface{}
}
func (MixinDeclaration) MarshalYAML ¶
func (m MixinDeclaration) MarshalYAML() (interface{}, error)
MarshalYAML allows mixin declarations to either be a normal list of strings mixins: - exec - helm or allow some entries to have config data defined
- az: extensions:
- iot
func (*MixinDeclaration) UnmarshalYAML ¶
func (m *MixinDeclaration) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML allows mixin declarations to either be a normal list of strings mixins: - exec - helm or allow some entries to have config data defined
- az: extensions:
- iot
type OutputDefinition ¶
type OutputDefinition struct {
Name string `yaml:"name"`
ApplyTo []string `yaml:"applyTo,omitempty"`
Sensitive bool `yaml:"sensitive"`
// This is not in the CNAB spec, but it allows a mixin to create a file
// and porter will take care of making it a proper output.
Path string `yaml:"path,omitempty"`
definition.Schema `yaml:",inline"`
}
OutputDefinition defines a single output for a CNAB
func (*OutputDefinition) DeepCopy ¶
func (od *OutputDefinition) DeepCopy() *OutputDefinition
DeepCopy copies a ParameterDefinition and returns the copy
func (*OutputDefinition) Validate ¶
func (od *OutputDefinition) Validate() error
type ParameterDefinition ¶
type ParameterDefinition struct {
Name string `yaml:"name"`
Sensitive bool `yaml:"sensitive"`
// These fields represent a subset of bundle.Parameter as defined in deislabs/cnab-go,
// minus the 'Description' field (definition.Schema's will be used) and `Definition` field
ApplyTo []string `yaml:"applyTo,omitempty"`
Destination Location `yaml:",inline,omitempty"`
definition.Schema `yaml:",inline"`
}
ParameterDefinition defines a single parameter for a CNAB bundle
func (*ParameterDefinition) DeepCopy ¶
func (pd *ParameterDefinition) DeepCopy() *ParameterDefinition
DeepCopy copies a ParameterDefinition and returns the copy
func (*ParameterDefinition) Validate ¶
func (pd *ParameterDefinition) Validate() error
type Step ¶
type Step struct {
Data map[string]interface{} `yaml:",inline"`
}
func (*Step) GetDescription ¶
GetDescription returns a description of the step. Every step must have this property.