Help us shape the future of Go! Take the 2026 Go Developer Survey

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: 13 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