Documentation
¶
Index ¶
- Constants
- type AccessConfig
- type Artifact
- type Builder
- type Config
- type Driver
- type DriverMock
- func (d *DriverMock) CreateImageFromMachine(machineId string, config Config) (string, error)
- func (d *DriverMock) CreateMachine(config Config) (string, error)
- func (d *DriverMock) DeleteImage(imageId string) error
- func (d *DriverMock) DeleteMachine(machineId string) error
- func (d *DriverMock) GetMachineIP(machineId string) (string, error)
- func (d *DriverMock) StopMachine(machineId string) error
- func (d *DriverMock) WaitForImageCreation(machineId string, timeout time.Duration) error
- func (d *DriverMock) WaitForMachineDeletion(machineId string, timeout time.Duration) error
- func (d *DriverMock) WaitForMachineState(machineId string, state string, timeout time.Duration) error
- type SourceMachineConfig
- type StepCreateImageFromMachine
- type StepCreateSourceMachine
- type StepDeleteMachine
- type StepStopMachine
- type StepWaitForStopNotToFail
- type TargetImageConfig
Constants ¶
const (
BuilderId = "joyent.triton"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessConfig ¶
type AccessConfig struct {
Endpoint string `mapstructure:"triton_url"`
Account string `mapstructure:"triton_account"`
KeyID string `mapstructure:"triton_key_id"`
KeyMaterial string `mapstructure:"triton_key_material"`
// contains filtered or unexported fields
}
AccessConfig is for common configuration related to Triton access
func (*AccessConfig) CreateTritonClient ¶
func (c *AccessConfig) CreateTritonClient() (*triton.Client, error)
type Artifact ¶
type Artifact struct {
// ImageID is the image ID of the artifact
ImageID string
// BuilderIDValue is the unique ID for the builder that created this Image
BuilderIDValue string
// SDC connection for cleanup etc
Driver Driver
}
Artifact is an artifact implementation that contains built Triton images.
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
type Config ¶
type Config struct {
common.PackerConfig `mapstructure:",squash"`
AccessConfig `mapstructure:",squash"`
SourceMachineConfig `mapstructure:",squash"`
TargetImageConfig `mapstructure:",squash"`
Comm communicator.Config `mapstructure:",squash"`
// contains filtered or unexported fields
}
type Driver ¶
type Driver interface {
CreateImageFromMachine(machineId string, config Config) (string, error)
CreateMachine(config Config) (string, error)
DeleteImage(imageId string) error
DeleteMachine(machineId string) error
GetMachineIP(machineId string) (string, error)
StopMachine(machineId string) error
WaitForImageCreation(imageId string, timeout time.Duration) error
WaitForMachineDeletion(machineId string, timeout time.Duration) error
WaitForMachineState(machineId string, state string, timeout time.Duration) error
}
func NewDriverTriton ¶
func NewDriverTriton(ui packer.Ui, config Config) (Driver, error)
type DriverMock ¶
type DriverMock struct {
CreateImageFromMachineId string
CreateImageFromMachineErr error
CreateMachineId string
CreateMachineErr error
DeleteImageId string
DeleteImageErr error
DeleteMachineId string
DeleteMachineErr error
GetMachineErr error
StopMachineId string
StopMachineErr error
WaitForImageCreationErr error
WaitForMachineDeletionErr error
WaitForMachineStateErr error
}
func (*DriverMock) CreateImageFromMachine ¶
func (d *DriverMock) CreateImageFromMachine(machineId string, config Config) (string, error)
func (*DriverMock) CreateMachine ¶
func (d *DriverMock) CreateMachine(config Config) (string, error)
func (*DriverMock) DeleteImage ¶
func (d *DriverMock) DeleteImage(imageId string) error
func (*DriverMock) DeleteMachine ¶
func (d *DriverMock) DeleteMachine(machineId string) error
func (*DriverMock) GetMachineIP ¶ added in v1.0.1
func (d *DriverMock) GetMachineIP(machineId string) (string, error)
func (*DriverMock) StopMachine ¶
func (d *DriverMock) StopMachine(machineId string) error
func (*DriverMock) WaitForImageCreation ¶
func (d *DriverMock) WaitForImageCreation(machineId string, timeout time.Duration) error
func (*DriverMock) WaitForMachineDeletion ¶
func (d *DriverMock) WaitForMachineDeletion(machineId string, timeout time.Duration) error
func (*DriverMock) WaitForMachineState ¶
func (d *DriverMock) WaitForMachineState(machineId string, state string, timeout time.Duration) error
type SourceMachineConfig ¶
type SourceMachineConfig struct {
MachineName string `mapstructure:"source_machine_name"`
MachinePackage string `mapstructure:"source_machine_package"`
MachineImage string `mapstructure:"source_machine_image"`
MachineNetworks []string `mapstructure:"source_machine_networks"`
MachineMetadata map[string]string `mapstructure:"source_machine_metadata"`
MachineTags map[string]string `mapstructure:"source_machine_tags"`
MachineFirewallEnabled bool `mapstructure:"source_machine_firewall_enabled"`
}
SourceMachineConfig represents the configuration to run a machine using the SDC API in order for provisioning to take place.
type StepCreateImageFromMachine ¶
type StepCreateImageFromMachine struct{}
StepCreateImageFromMachine creates an image with the specified attributes from the machine with the given ID, and waits for the image to be created. The machine must be in the "stopped" state prior to this step being run.
type StepCreateSourceMachine ¶
type StepCreateSourceMachine struct{}
StepCreateSourceMachine creates an machine with the specified attributes and waits for it to become available for provisioners.
type StepDeleteMachine ¶
type StepDeleteMachine struct{}
StepDeleteMachine deletes the machine with the ID specified in state["machine"]
type StepStopMachine ¶
type StepStopMachine struct{}
StepStopMachine stops the machine with the given Machine ID, and waits for it to reach the stopped state.
type StepWaitForStopNotToFail ¶
type StepWaitForStopNotToFail struct{}
StepWaitForStopNotToFail waits for 10 seconds before returning with continue in order to prevent an observed issue where machines stopped immediately after they are started never actually stop.
type TargetImageConfig ¶
type TargetImageConfig struct {
ImageName string `mapstructure:"image_name"`
ImageVersion string `mapstructure:"image_version"`
ImageDescription string `mapstructure:"image_description"`
ImageHomepage string `mapstructure:"image_homepage"`
ImageEULA string `mapstructure:"image_eula_url"`
ImageACL []string `mapstructure:"image_acls"`
ImageTags map[string]string `mapstructure:"image_tags"`
}
TargetImageConfig represents the configuration for the image to be created from the source machine.