vsphere_template

package
v1.4.2 Latest Latest
Warning

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

Go to latest
Published: Oct 17, 2024 License: MPL-2.0 Imports: 21 Imported by: 1

Documentation

Index

Constants

View Source
const (
	BuilderIdESX               = "mitchellh.vmware-esx"
	ArtifactConfFormat         = "artifact.conf.format"
	ArtifactConfKeepRegistered = "artifact.conf.keep_registered"
	ArtifactConfSkipExport     = "artifact.conf.skip_export"
)

Variables

This section is empty.

Functions

func NewStepCreateSnapshot

func NewStepCreateSnapshot(artifact packersdk.Artifact, p *PostProcessor) *stepCreateSnapshot

func NewStepMarkAsTemplate

func NewStepMarkAsTemplate(artifact packersdk.Artifact, p *PostProcessor) *stepMarkAsTemplate

Types

type Config

type Config struct {
	common.PackerConfig `mapstructure:",squash"`
	// The fully qualified domain name or IP address of the vSphere endpoint.
	Host string `mapstructure:"host" required:"true"`
	// The username to use to authenticate to the vSphere endpoint.
	Username string `mapstructure:"username" required:"true"`
	// The password to use to authenticate to the vSphere endpoint.
	Password string `mapstructure:"password" required:"true"`
	// Skip the verification of the server certificate. Defaults to `false`.
	Insecure bool `mapstructure:"insecure"`
	// The name of the datacenter to use.
	// Required when the vCenter Server instance endpoint has more than one datacenter.
	Datacenter string `mapstructure:"datacenter"`
	// The name of the template.
	// If not specified, the name of the virtual machine will be used.
	TemplateName string `mapstructure:"template_name"`
	// The name of the virtual machine folder path where the template will be created.
	Folder string `mapstructure:"folder"`
	// Create a snapshot before marking as a template. Defaults to `false`.
	SnapshotEnable bool `mapstructure:"snapshot_enable"`
	// The name of the snapshot. Required when `snapshot_enable` is `true`.
	SnapshotName string `mapstructure:"snapshot_name"`
	// A description for the snapshot. Required when `snapshot_enable` is `true`.
	SnapshotDescription string `mapstructure:"snapshot_description"`
	// Keepe the virtual machine registered after marking as a template.
	ReregisterVM config.Trilean `mapstructure:"reregister_vm"`
	// contains filtered or unexported fields
}

func (*Config) FlatMapstructure

func (*Config) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }

FlatMapstructure returns a new FlatConfig. FlatConfig is an auto-generated flat version of Config. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.

type FlatConfig

type FlatConfig struct {
	PackerBuildName     *string           `mapstructure:"packer_build_name" cty:"packer_build_name" hcl:"packer_build_name"`
	PackerBuilderType   *string           `mapstructure:"packer_builder_type" cty:"packer_builder_type" hcl:"packer_builder_type"`
	PackerCoreVersion   *string           `mapstructure:"packer_core_version" cty:"packer_core_version" hcl:"packer_core_version"`
	PackerDebug         *bool             `mapstructure:"packer_debug" cty:"packer_debug" hcl:"packer_debug"`
	PackerForce         *bool             `mapstructure:"packer_force" cty:"packer_force" hcl:"packer_force"`
	PackerOnError       *string           `mapstructure:"packer_on_error" cty:"packer_on_error" hcl:"packer_on_error"`
	PackerUserVars      map[string]string `mapstructure:"packer_user_variables" cty:"packer_user_variables" hcl:"packer_user_variables"`
	PackerSensitiveVars []string          `mapstructure:"packer_sensitive_variables" cty:"packer_sensitive_variables" hcl:"packer_sensitive_variables"`
	Host                *string           `mapstructure:"host" required:"true" cty:"host" hcl:"host"`
	Username            *string           `mapstructure:"username" required:"true" cty:"username" hcl:"username"`
	Password            *string           `mapstructure:"password" required:"true" cty:"password" hcl:"password"`
	Insecure            *bool             `mapstructure:"insecure" cty:"insecure" hcl:"insecure"`
	Datacenter          *string           `mapstructure:"datacenter" cty:"datacenter" hcl:"datacenter"`
	TemplateName        *string           `mapstructure:"template_name" cty:"template_name" hcl:"template_name"`
	Folder              *string           `mapstructure:"folder" cty:"folder" hcl:"folder"`
	SnapshotEnable      *bool             `mapstructure:"snapshot_enable" cty:"snapshot_enable" hcl:"snapshot_enable"`
	SnapshotName        *string           `mapstructure:"snapshot_name" cty:"snapshot_name" hcl:"snapshot_name"`
	SnapshotDescription *string           `mapstructure:"snapshot_description" cty:"snapshot_description" hcl:"snapshot_description"`
	ReregisterVM        *bool             `mapstructure:"reregister_vm" cty:"reregister_vm" hcl:"reregister_vm"`
}

FlatConfig is an auto-generated flat version of Config. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.

func (*FlatConfig) HCL2Spec

func (*FlatConfig) HCL2Spec() map[string]hcldec.Spec

HCL2Spec returns the hcl spec of a Config. This spec is used by HCL to read the fields of Config. The decoded values from this spec will then be applied to a FlatConfig.

type PostProcessor

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

func (*PostProcessor) ConfigSpec

func (p *PostProcessor) ConfigSpec() hcldec.ObjectSpec

func (*PostProcessor) Configure

func (p *PostProcessor) Configure(raws ...interface{}) error

func (*PostProcessor) Logout added in v1.0.0

func (p *PostProcessor) Logout(c *govmomi.Client)

func (*PostProcessor) PostProcess

func (p *PostProcessor) PostProcess(ctx context.Context, ui packersdk.Ui, artifact packersdk.Artifact) (packersdk.Artifact, bool, bool, error)

Jump to

Keyboard shortcuts

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