towercli

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 6, 2021 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Action

type Action struct {
	Name  string
	Steps []Step // using UnmarshalYAML so that we don't need a custom type per action
}

func (Action) GetSteps

func (a Action) GetSteps() []builder.ExecutableStep

func (Action) MakeSteps

func (a Action) MakeSteps() interface{}

MakeSteps builds a slice of Step for data to be unmarshaled into.

func (Action) MarshalYAML

func (a Action) MarshalYAML() (interface{}, error)

MarshalYAML converts the action back to a YAML representation install:

towercli:
  ...

func (*Action) UnmarshalYAML

func (a *Action) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML takes any yaml in this form ACTION: - towercli: ... and puts the steps into the Action.Steps field

type Actions

type Actions []Action

Actions is a set of actions, and the steps, passed from Porter.

func (*Actions) UnmarshalYAML

func (a *Actions) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML takes chunks of a porter.yaml file associated with this mixin and populates it on the current action set. install:

towercli:
  ...
towercli:
  ...

upgrade:

towercli:
  ...

type BuildInput

type BuildInput struct {
	Config MixinConfig
}

BuildInput represents stdin passed to the mixin for the build command.

type Instruction

type Instruction struct {
	Name            string        `yaml:"name"`
	Description     string        `yaml:"description"`
	Arguments       []string      `yaml:"arguments,omitempty"`
	SuffixArguments []string      `yaml:"suffix-arguments,omitempty"`
	Flags           builder.Flags `yaml:"flags,omitempty"`
	Outputs         []Output      `yaml:"outputs,omitempty"`
	SuppressOutput  bool          `yaml:"suppress-output,omitempty"`
}

func (Instruction) GetArguments

func (s Instruction) GetArguments() []string

func (Instruction) GetCommand

func (s Instruction) GetCommand() string

func (Instruction) GetFlags

func (s Instruction) GetFlags() builder.Flags

func (Instruction) GetOutputs

func (s Instruction) GetOutputs() []builder.Output

func (Instruction) GetSuffixArguments

func (s Instruction) GetSuffixArguments() []string

func (Instruction) SuppressesOutput

func (s Instruction) SuppressesOutput() bool

type Mixin

type Mixin struct {
	*context.Context
	ClientVersion string
}

func New

func New() (*Mixin, error)

New azure mixin client, initialized with useful defaults.

func (*Mixin) Build

func (m *Mixin) Build() error

Build will generate the necessary Dockerfile lines for an invocation image using this mixin

func (*Mixin) Execute

func (m *Mixin) Execute() error

func (*Mixin) GetSchema

func (m *Mixin) GetSchema() (string, error)

func (*Mixin) PrintSchema

func (m *Mixin) PrintSchema() error

func (*Mixin) PrintVersion

func (m *Mixin) PrintVersion(opts version.Options) error

type MixinConfig

type MixinConfig struct {
	ClientVersion string `yaml:"clientVersion,omitempty"`
}

type Output

type Output struct {
	Name string `yaml:"name"`

	// See https://porter.sh/mixins/exec/#outputs
	// TODO: If your mixin doesn't support these output types, you can remove these and the interface assertions above, and from #/definitions/outputs in schema.json
	JsonPath string `yaml:"jsonPath,omitempty"`
	FilePath string `yaml:"path,omitempty"`
	Regex    string `yaml:"regex,omitempty"`
}

func (Output) GetFilePath

func (o Output) GetFilePath() string

func (Output) GetJsonPath

func (o Output) GetJsonPath() string

func (Output) GetName

func (o Output) GetName() string

func (Output) GetRegex

func (o Output) GetRegex() string

type Step

type Step struct {
	Instruction `yaml:"towercli"`
}

type TestMixin

type TestMixin struct {
	*Mixin
	TestContext *context.TestContext
}

func NewTestMixin

func NewTestMixin(t *testing.T) *TestMixin

NewTestMixin initializes a mixin test client, with the output buffered, and an in-memory file system.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL