cloudstack

package
v0.0.0-...-fc03e22 Latest Latest
Warning

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

Go to latest
Published: Dec 21, 2020 License: MPL-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const BuilderId = "packer.cloudstack"

Variables

This section is empty.

Functions

This section is empty.

Types

type Artifact

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

Artifact represents a CloudStack template as the result of a Packer build.

func (*Artifact) BuilderId

func (a *Artifact) BuilderId() string

BuilderId returns the builder ID.

func (*Artifact) Destroy

func (a *Artifact) Destroy() error

Destroy the CloudStack template represented by the artifact.

func (*Artifact) Files

func (a *Artifact) Files() []string

Files returns the files represented by the artifact.

func (*Artifact) Id

func (a *Artifact) Id() string

Id returns CloudStack template ID.

func (*Artifact) State

func (a *Artifact) State(name string) interface{}

State returns specific details from the artifact.

func (*Artifact) String

func (a *Artifact) String() string

String returns the string representation of the artifact.

type Builder

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

Builder represents the CloudStack builder.

func (*Builder) Cancel

func (b *Builder) Cancel()

Cancel the step runner.

func (*Builder) Prepare

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

Prepare implements the packer.Builder interface.

func (*Builder) Run

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

Run implements the packer.Builder interface.

type Config

type Config struct {
	common.PackerConfig `mapstructure:",squash"`
	common.HTTPConfig   `mapstructure:",squash"`
	Comm                communicator.Config `mapstructure:",squash"`

	APIURL       string        `mapstructure:"api_url"`
	APIKey       string        `mapstructure:"api_key"`
	SecretKey    string        `mapstructure:"secret_key"`
	AsyncTimeout time.Duration `mapstructure:"async_timeout"`
	HTTPGetOnly  bool          `mapstructure:"http_get_only"`
	SSLNoVerify  bool          `mapstructure:"ssl_no_verify"`

	CIDRList               []string `mapstructure:"cidr_list"`
	CreateSecurityGroup    bool     `mapstructure:"create_security_group"`
	DiskOffering           string   `mapstructure:"disk_offering"`
	DiskSize               int64    `mapstructure:"disk_size"`
	Expunge                bool     `mapstructure:"expunge"`
	Hypervisor             string   `mapstructure:"hypervisor"`
	InstanceName           string   `mapstructure:"instance_name"`
	Network                string   `mapstructure:"network"`
	Project                string   `mapstructure:"project"`
	PublicIPAddress        string   `mapstructure:"public_ip_address"`
	PublicPort             int      `mapstructure:"public_port"`
	SecurityGroups         []string `mapstructure:"security_groups"`
	ServiceOffering        string   `mapstructure:"service_offering"`
	PreventFirewallChanges bool     `mapstructure:"prevent_firewall_changes"`
	SourceISO              string   `mapstructure:"source_iso"`
	SourceTemplate         string   `mapstructure:"source_template"`
	TemporaryKeypairName   string   `mapstructure:"temporary_keypair_name"`
	UseLocalIPAddress      bool     `mapstructure:"use_local_ip_address"`
	UserData               string   `mapstructure:"user_data"`
	UserDataFile           string   `mapstructure:"user_data_file"`
	Zone                   string   `mapstructure:"zone"`

	TemplateName            string `mapstructure:"template_name"`
	TemplateDisplayText     string `mapstructure:"template_display_text"`
	TemplateOS              string `mapstructure:"template_os"`
	TemplateFeatured        bool   `mapstructure:"template_featured"`
	TemplatePublic          bool   `mapstructure:"template_public"`
	TemplatePasswordEnabled bool   `mapstructure:"template_password_enabled"`
	TemplateRequiresHVM     bool   `mapstructure:"template_requires_hvm"`
	TemplateScalable        bool   `mapstructure:"template_scalable"`
	TemplateTag             string `mapstructure:"template_tag"`
	// contains filtered or unexported fields
}

Config holds all the details needed to configure the builder.

func NewConfig

func NewConfig(raws ...interface{}) (*Config, error)

NewConfig parses and validates the given config.

Jump to

Keyboard shortcuts

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