ebssurrogate

package
v1.2.2 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2018 License: MPL-2.0 Imports: 14 Imported by: 0

Documentation

Overview

The ebssurrogate package contains a packer.Builder implementation that builds a new EBS-backed AMI using an ephemeral instance.

Index

Constants

View Source
const BuilderId = "mitchellh.amazon.ebssurrogate"

Variables

This section is empty.

Functions

func DeduplicateRootVolume added in v1.0.3

func DeduplicateRootVolume(BlockDevices []*ec2.BlockDeviceMapping, RootDevice RootBlockDevice, snapshotId string) []*ec2.BlockDeviceMapping

Types

type Builder

type Builder struct {
	// contains filtered or unexported fields
}

func (*Builder) Cancel

func (b *Builder) Cancel()

func (*Builder) Prepare

func (b *Builder) Prepare(raws ...interface{}) ([]string, error)

func (*Builder) Run

func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packer.Artifact, error)

type Config

type Config struct {
	common.PackerConfig    `mapstructure:",squash"`
	awscommon.AccessConfig `mapstructure:",squash"`
	awscommon.RunConfig    `mapstructure:",squash"`
	awscommon.BlockDevices `mapstructure:",squash"`
	awscommon.AMIConfig    `mapstructure:",squash"`

	RootDevice    RootBlockDevice  `mapstructure:"ami_root_device"`
	VolumeRunTags awscommon.TagMap `mapstructure:"run_volume_tags"`
	// contains filtered or unexported fields
}

type RootBlockDevice

type RootBlockDevice struct {
	SourceDeviceName    string `mapstructure:"source_device_name"`
	DeviceName          string `mapstructure:"device_name"`
	DeleteOnTermination bool   `mapstructure:"delete_on_termination"`
	IOPS                int64  `mapstructure:"iops"`
	VolumeType          string `mapstructure:"volume_type"`
	VolumeSize          int64  `mapstructure:"volume_size"`
}

func (*RootBlockDevice) Prepare

func (c *RootBlockDevice) Prepare(ctx *interpolate.Context) []error

type StepRegisterAMI

type StepRegisterAMI struct {
	RootDevice               RootBlockDevice
	BlockDevices             []*ec2.BlockDeviceMapping
	EnableAMIENASupport      bool
	EnableAMISriovNetSupport bool
	// contains filtered or unexported fields
}

StepRegisterAMI creates the AMI.

func (*StepRegisterAMI) Cleanup

func (s *StepRegisterAMI) Cleanup(state multistep.StateBag)

func (*StepRegisterAMI) Run

type StepSnapshotNewRootVolume

type StepSnapshotNewRootVolume struct {
	NewRootMountPoint string
	// contains filtered or unexported fields
}

StepSnapshotNewRootVolume creates a snapshot of the created volume.

Produces:

snapshot_id string - ID of the created snapshot

func (*StepSnapshotNewRootVolume) Cleanup

func (s *StepSnapshotNewRootVolume) Cleanup(state multistep.StateBag)

func (*StepSnapshotNewRootVolume) Run

Jump to

Keyboard shortcuts

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