Documentation
¶
Index ¶
- Constants
- func CommHost() func(multistep.StateBag) (string, error)
- func NewArtifact(provider, dir string, generatedData map[string]interface{}) packersdk.Artifact
- func SSHPort() func(multistep.StateBag) (int, error)
- func ScanLinesInclCR(data []byte, atEOF bool) (advance int, token []byte, err error)
- type Builder
- type Config
- type FlatConfig
- type MockVagrantDriver
- func (d *MockVagrantDriver) Add([]string) error
- func (d *MockVagrantDriver) Destroy(string) error
- func (d *MockVagrantDriver) Halt(string) error
- func (d *MockVagrantDriver) Init([]string) error
- func (d *MockVagrantDriver) Package([]string) error
- func (d *MockVagrantDriver) SSHConfig(gid string) (*VagrantSSHConfig, error)
- func (d *MockVagrantDriver) Suspend(string) error
- func (d *MockVagrantDriver) Up([]string) (string, string, error)
- func (d *MockVagrantDriver) Verify() error
- func (d *MockVagrantDriver) Version() (string, error)
- type StepAddBox
- type StepCreateVagrantfile
- type StepPackage
- type StepSSHConfig
- type StepUp
- type VagrantDriver
- type VagrantSSHConfig
- type Vagrant_2_2_Driver
- func (d *Vagrant_2_2_Driver) Add(args []string) error
- func (d *Vagrant_2_2_Driver) Destroy(id string) error
- func (d *Vagrant_2_2_Driver) Halt(id string) error
- func (d *Vagrant_2_2_Driver) Init(args []string) error
- func (d *Vagrant_2_2_Driver) Package(args []string) error
- func (d *Vagrant_2_2_Driver) SSHConfig(id string) (*VagrantSSHConfig, error)
- func (d *Vagrant_2_2_Driver) Suspend(id string) error
- func (d *Vagrant_2_2_Driver) Up(args []string) (string, string, error)
- func (d *Vagrant_2_2_Driver) Verify() error
- func (d *Vagrant_2_2_Driver) Version() (string, error)
- type VagrantfileOptions
Constants ¶
const BuilderId = "vagrant"
This is the common builder ID to all of these artifacts.
const DEFAULT_TEMPLATE = `` /* 515-byte string literal not displayed */
const VAGRANT_MIN_VERSION = ">= 2.0.2"
Variables ¶
This section is empty.
Functions ¶
func NewArtifact ¶
NewArtifact returns a vagrant artifact containing the .box file
func ScanLinesInclCR ¶
Copied and modified from Bufio; this will return data that contains a carriage return, not just data that contains a newline. This allows us to stream progress output from vagrant that would otherwise be smothered. It is a bit noisy, but probably prefereable to suppressing the output in a way that looks like Packer has hung.
Types ¶
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
func (*Builder) ConfigSpec ¶
func (b *Builder) ConfigSpec() hcldec.ObjectSpec
type Config ¶
type Config struct { common.PackerConfig `mapstructure:",squash"` commonsteps.HTTPConfig `mapstructure:",squash"` commonsteps.ISOConfig `mapstructure:",squash"` commonsteps.FloppyConfig `mapstructure:",squash"` bootcommand.BootConfig `mapstructure:",squash"` Comm communicator.Config `mapstructure:",squash"` // The directory to create that will contain your output box. We always // create this directory and run from inside of it to prevent Vagrant init // collisions. If unset, it will be set to packer- plus your buildname. OutputDir string `mapstructure:"output_dir" required:"false"` // URL of the vagrant box to use, or the name of the vagrant box. // hashicorp/precise64, ./mylocalbox.box and <https://example.com/my-box.box> // are all valid source boxes. If your source is a .box file, whether // locally or from a URL like the latter example above, you will also need // to provide a box_name. This option is required, unless you set // global_id. You may only set one or the other, not both. SourceBox string `mapstructure:"source_path" required:"true"` // the global id of a Vagrant box already added to Vagrant on your system. // You can find the global id of your Vagrant boxes using the command // vagrant global-status; your global_id will be a 7-digit number and // letter combination that you'll find in the leftmost column of the // global-status output. If you choose to use global_id instead of // source_box, Packer will skip the Vagrant initialize and add steps, and // simply launch the box directly using the global id. GlobalID string `mapstructure:"global_id" required:"true"` // The checksum for the .box file. The type of the checksum is specified // within the checksum field as a prefix, ex: "md5:{$checksum}". The type // of the checksum can also be omitted and Packer will try to infer it // based on string length. Valid values are "none", "{$checksum}", // "md5:{$checksum}", "sha1:{$checksum}", "sha256:{$checksum}", // "sha512:{$checksum}" or "file:{$path}". Here is a list of valid checksum // values: // * md5:090992ba9fd140077b0661cb75f7ce13 // * 090992ba9fd140077b0661cb75f7ce13 // * sha1:ebfb681885ddf1234c18094a45bbeafd91467911 // * ebfb681885ddf1234c18094a45bbeafd91467911 // * sha256:ed363350696a726b7932db864dda019bd2017365c9e299627830f06954643f93 // * ed363350696a726b7932db864dda019bd2017365c9e299627830f06954643f93 // * file:http://releases.ubuntu.com/20.04/SHA256SUMS // * file:file://./local/path/file.sum // * file:./local/path/file.sum // * none // Although the checksum will not be verified when it is set to "none", // this is not recommended since these files can be very large and // corruption does happen from time to time. Checksum string `mapstructure:"checksum" required:"false"` // if your source_box is a boxfile that we need to add to Vagrant, this is // the name to give it. If left blank, will default to "packer_" plus your // buildname. BoxName string `mapstructure:"box_name" required:"false"` // If true, Vagrant will automatically insert a keypair to use for SSH, // replacing Vagrant's default insecure key inside the machine if detected. // By default, Packer sets this to false. InsertKey bool `mapstructure:"insert_key" required:"false"` // The vagrant provider. // This parameter is required when source_path have more than one provider, // or when using vagrant-cloud post-processor. Defaults to unset. Provider string `mapstructure:"provider" required:"false"` // Whether to halt, suspend, or destroy the box when the build has // completed. Defaults to "halt" TeardownMethod string `mapstructure:"teardown_method" required:"false"` // What box version to use when initializing Vagrant. BoxVersion string `mapstructure:"box_version" required:"false"` // a path to a golang template for a vagrantfile. Our default template can // be found [here](https://github.com/hashicorp/packer-plugin-vagrant/blob/main/builder/vagrant/step_create_vagrantfile.go#L39-L54). The template variables available to you are // `{{ .BoxName }}`, `{{ .SyncedFolder }}`, and `{{.InsertKey}}`, which // correspond to the Packer options box_name, synced_folder, and insert_key. // Alternatively, the template variable `{{.DefaultTemplate}}` is available for // use if you wish to extend the default generated template. Template string `mapstructure:"template" required:"false"` // Path to the folder to be synced to the guest. The path can be absolute // or relative to the directory Packer is being run from. SyncedFolder string `mapstructure:"synced_folder"` // Don't call "vagrant add" to add the box to your local environment; this // is necessary if you want to launch a box that is already added to your // vagrant environment. SkipAdd bool `mapstructure:"skip_add" required:"false"` // Equivalent to setting the // --cacert // option in vagrant add; defaults to unset. AddCACert string `mapstructure:"add_cacert" required:"false"` // Equivalent to setting the // --capath option // in vagrant add; defaults to unset. AddCAPath string `mapstructure:"add_capath" required:"false"` // Equivalent to setting the // --cert option in // vagrant add; defaults to unset. AddCert string `mapstructure:"add_cert" required:"false"` // Equivalent to setting the // --clean flag in // vagrant add; defaults to unset. AddClean bool `mapstructure:"add_clean" required:"false"` // Equivalent to setting the // --force flag in // vagrant add; defaults to unset. AddForce bool `mapstructure:"add_force" required:"false"` // Equivalent to setting the // --insecure flag in // vagrant add; defaults to unset. AddInsecure bool `mapstructure:"add_insecure" required:"false"` // if true, Packer will not call vagrant package to // package your base box into its own standalone .box file. SkipPackage bool `mapstructure:"skip_package" required:"false"` OutputVagrantfile string `mapstructure:"output_vagrantfile"` // Equivalent to setting the // [`--include`](https://developer.hashicorp.com/vagrant/docs/cli/package#include-x-y-z) option // in `vagrant package`; defaults to unset PackageInclude []string `mapstructure:"package_include"` // contains filtered or unexported fields }
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"` HTTPDir *string `mapstructure:"http_directory" cty:"http_directory" hcl:"http_directory"` HTTPContent map[string]string `mapstructure:"http_content" cty:"http_content" hcl:"http_content"` HTTPPortMin *int `mapstructure:"http_port_min" cty:"http_port_min" hcl:"http_port_min"` HTTPPortMax *int `mapstructure:"http_port_max" cty:"http_port_max" hcl:"http_port_max"` HTTPAddress *string `mapstructure:"http_bind_address" cty:"http_bind_address" hcl:"http_bind_address"` HTTPInterface *string `mapstructure:"http_interface" undocumented:"true" cty:"http_interface" hcl:"http_interface"` ISOChecksum *string `mapstructure:"iso_checksum" required:"true" cty:"iso_checksum" hcl:"iso_checksum"` RawSingleISOUrl *string `mapstructure:"iso_url" required:"true" cty:"iso_url" hcl:"iso_url"` ISOUrls []string `mapstructure:"iso_urls" cty:"iso_urls" hcl:"iso_urls"` TargetPath *string `mapstructure:"iso_target_path" cty:"iso_target_path" hcl:"iso_target_path"` TargetExtension *string `mapstructure:"iso_target_extension" cty:"iso_target_extension" hcl:"iso_target_extension"` FloppyFiles []string `mapstructure:"floppy_files" cty:"floppy_files" hcl:"floppy_files"` FloppyDirectories []string `mapstructure:"floppy_dirs" cty:"floppy_dirs" hcl:"floppy_dirs"` FloppyContent map[string]string `mapstructure:"floppy_content" cty:"floppy_content" hcl:"floppy_content"` FloppyLabel *string `mapstructure:"floppy_label" cty:"floppy_label" hcl:"floppy_label"` BootGroupInterval *string `mapstructure:"boot_keygroup_interval" cty:"boot_keygroup_interval" hcl:"boot_keygroup_interval"` BootWait *string `mapstructure:"boot_wait" cty:"boot_wait" hcl:"boot_wait"` BootCommand []string `mapstructure:"boot_command" cty:"boot_command" hcl:"boot_command"` Type *string `mapstructure:"communicator" cty:"communicator" hcl:"communicator"` PauseBeforeConnect *string `mapstructure:"pause_before_connecting" cty:"pause_before_connecting" hcl:"pause_before_connecting"` SSHHost *string `mapstructure:"ssh_host" cty:"ssh_host" hcl:"ssh_host"` SSHPort *int `mapstructure:"ssh_port" cty:"ssh_port" hcl:"ssh_port"` SSHUsername *string `mapstructure:"ssh_username" cty:"ssh_username" hcl:"ssh_username"` SSHPassword *string `mapstructure:"ssh_password" cty:"ssh_password" hcl:"ssh_password"` SSHKeyPairName *string `mapstructure:"ssh_keypair_name" undocumented:"true" cty:"ssh_keypair_name" hcl:"ssh_keypair_name"` SSHTemporaryKeyPairName *string `mapstructure:"temporary_key_pair_name" undocumented:"true" cty:"temporary_key_pair_name" hcl:"temporary_key_pair_name"` SSHTemporaryKeyPairType *string `mapstructure:"temporary_key_pair_type" cty:"temporary_key_pair_type" hcl:"temporary_key_pair_type"` SSHTemporaryKeyPairBits *int `mapstructure:"temporary_key_pair_bits" cty:"temporary_key_pair_bits" hcl:"temporary_key_pair_bits"` SSHCiphers []string `mapstructure:"ssh_ciphers" cty:"ssh_ciphers" hcl:"ssh_ciphers"` SSHClearAuthorizedKeys *bool `mapstructure:"ssh_clear_authorized_keys" cty:"ssh_clear_authorized_keys" hcl:"ssh_clear_authorized_keys"` SSHKEXAlgos []string `mapstructure:"ssh_key_exchange_algorithms" cty:"ssh_key_exchange_algorithms" hcl:"ssh_key_exchange_algorithms"` SSHPrivateKeyFile *string `mapstructure:"ssh_private_key_file" undocumented:"true" cty:"ssh_private_key_file" hcl:"ssh_private_key_file"` SSHCertificateFile *string `mapstructure:"ssh_certificate_file" cty:"ssh_certificate_file" hcl:"ssh_certificate_file"` SSHPty *bool `mapstructure:"ssh_pty" cty:"ssh_pty" hcl:"ssh_pty"` SSHTimeout *string `mapstructure:"ssh_timeout" cty:"ssh_timeout" hcl:"ssh_timeout"` SSHWaitTimeout *string `mapstructure:"ssh_wait_timeout" undocumented:"true" cty:"ssh_wait_timeout" hcl:"ssh_wait_timeout"` SSHAgentAuth *bool `mapstructure:"ssh_agent_auth" undocumented:"true" cty:"ssh_agent_auth" hcl:"ssh_agent_auth"` SSHDisableAgentForwarding *bool `mapstructure:"ssh_disable_agent_forwarding" cty:"ssh_disable_agent_forwarding" hcl:"ssh_disable_agent_forwarding"` SSHHandshakeAttempts *int `mapstructure:"ssh_handshake_attempts" cty:"ssh_handshake_attempts" hcl:"ssh_handshake_attempts"` SSHBastionHost *string `mapstructure:"ssh_bastion_host" cty:"ssh_bastion_host" hcl:"ssh_bastion_host"` SSHBastionPort *int `mapstructure:"ssh_bastion_port" cty:"ssh_bastion_port" hcl:"ssh_bastion_port"` SSHBastionAgentAuth *bool `mapstructure:"ssh_bastion_agent_auth" cty:"ssh_bastion_agent_auth" hcl:"ssh_bastion_agent_auth"` SSHBastionUsername *string `mapstructure:"ssh_bastion_username" cty:"ssh_bastion_username" hcl:"ssh_bastion_username"` SSHBastionPassword *string `mapstructure:"ssh_bastion_password" cty:"ssh_bastion_password" hcl:"ssh_bastion_password"` SSHBastionInteractive *bool `mapstructure:"ssh_bastion_interactive" cty:"ssh_bastion_interactive" hcl:"ssh_bastion_interactive"` SSHBastionPrivateKeyFile *string `mapstructure:"ssh_bastion_private_key_file" cty:"ssh_bastion_private_key_file" hcl:"ssh_bastion_private_key_file"` SSHBastionCertificateFile *string `mapstructure:"ssh_bastion_certificate_file" cty:"ssh_bastion_certificate_file" hcl:"ssh_bastion_certificate_file"` SSHFileTransferMethod *string `mapstructure:"ssh_file_transfer_method" cty:"ssh_file_transfer_method" hcl:"ssh_file_transfer_method"` SSHProxyHost *string `mapstructure:"ssh_proxy_host" cty:"ssh_proxy_host" hcl:"ssh_proxy_host"` SSHProxyPort *int `mapstructure:"ssh_proxy_port" cty:"ssh_proxy_port" hcl:"ssh_proxy_port"` SSHProxyUsername *string `mapstructure:"ssh_proxy_username" cty:"ssh_proxy_username" hcl:"ssh_proxy_username"` SSHProxyPassword *string `mapstructure:"ssh_proxy_password" cty:"ssh_proxy_password" hcl:"ssh_proxy_password"` SSHKeepAliveInterval *string `mapstructure:"ssh_keep_alive_interval" cty:"ssh_keep_alive_interval" hcl:"ssh_keep_alive_interval"` SSHReadWriteTimeout *string `mapstructure:"ssh_read_write_timeout" cty:"ssh_read_write_timeout" hcl:"ssh_read_write_timeout"` SSHRemoteTunnels []string `mapstructure:"ssh_remote_tunnels" cty:"ssh_remote_tunnels" hcl:"ssh_remote_tunnels"` SSHLocalTunnels []string `mapstructure:"ssh_local_tunnels" cty:"ssh_local_tunnels" hcl:"ssh_local_tunnels"` SSHPublicKey []byte `mapstructure:"ssh_public_key" undocumented:"true" cty:"ssh_public_key" hcl:"ssh_public_key"` SSHPrivateKey []byte `mapstructure:"ssh_private_key" undocumented:"true" cty:"ssh_private_key" hcl:"ssh_private_key"` WinRMUser *string `mapstructure:"winrm_username" cty:"winrm_username" hcl:"winrm_username"` WinRMPassword *string `mapstructure:"winrm_password" cty:"winrm_password" hcl:"winrm_password"` WinRMHost *string `mapstructure:"winrm_host" cty:"winrm_host" hcl:"winrm_host"` WinRMNoProxy *bool `mapstructure:"winrm_no_proxy" cty:"winrm_no_proxy" hcl:"winrm_no_proxy"` WinRMPort *int `mapstructure:"winrm_port" cty:"winrm_port" hcl:"winrm_port"` WinRMTimeout *string `mapstructure:"winrm_timeout" cty:"winrm_timeout" hcl:"winrm_timeout"` WinRMUseSSL *bool `mapstructure:"winrm_use_ssl" cty:"winrm_use_ssl" hcl:"winrm_use_ssl"` WinRMInsecure *bool `mapstructure:"winrm_insecure" cty:"winrm_insecure" hcl:"winrm_insecure"` WinRMUseNTLM *bool `mapstructure:"winrm_use_ntlm" cty:"winrm_use_ntlm" hcl:"winrm_use_ntlm"` OutputDir *string `mapstructure:"output_dir" required:"false" cty:"output_dir" hcl:"output_dir"` SourceBox *string `mapstructure:"source_path" required:"true" cty:"source_path" hcl:"source_path"` GlobalID *string `mapstructure:"global_id" required:"true" cty:"global_id" hcl:"global_id"` Checksum *string `mapstructure:"checksum" required:"false" cty:"checksum" hcl:"checksum"` BoxName *string `mapstructure:"box_name" required:"false" cty:"box_name" hcl:"box_name"` InsertKey *bool `mapstructure:"insert_key" required:"false" cty:"insert_key" hcl:"insert_key"` Provider *string `mapstructure:"provider" required:"false" cty:"provider" hcl:"provider"` TeardownMethod *string `mapstructure:"teardown_method" required:"false" cty:"teardown_method" hcl:"teardown_method"` BoxVersion *string `mapstructure:"box_version" required:"false" cty:"box_version" hcl:"box_version"` Template *string `mapstructure:"template" required:"false" cty:"template" hcl:"template"` SyncedFolder *string `mapstructure:"synced_folder" cty:"synced_folder" hcl:"synced_folder"` SkipAdd *bool `mapstructure:"skip_add" required:"false" cty:"skip_add" hcl:"skip_add"` AddCACert *string `mapstructure:"add_cacert" required:"false" cty:"add_cacert" hcl:"add_cacert"` AddCAPath *string `mapstructure:"add_capath" required:"false" cty:"add_capath" hcl:"add_capath"` AddCert *string `mapstructure:"add_cert" required:"false" cty:"add_cert" hcl:"add_cert"` AddClean *bool `mapstructure:"add_clean" required:"false" cty:"add_clean" hcl:"add_clean"` AddForce *bool `mapstructure:"add_force" required:"false" cty:"add_force" hcl:"add_force"` AddInsecure *bool `mapstructure:"add_insecure" required:"false" cty:"add_insecure" hcl:"add_insecure"` SkipPackage *bool `mapstructure:"skip_package" required:"false" cty:"skip_package" hcl:"skip_package"` OutputVagrantfile *string `mapstructure:"output_vagrantfile" cty:"output_vagrantfile" hcl:"output_vagrantfile"` PackageInclude []string `mapstructure:"package_include" cty:"package_include" hcl:"package_include"` }
FlatConfig is an auto-generated flat version of Config. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
type MockVagrantDriver ¶
type MockVagrantDriver struct { InitCalled bool AddCalled bool UpCalled bool HaltCalled bool SuspendCalled bool SSHConfigCalled bool DestroyCalled bool PackageCalled bool VerifyCalled bool VersionCalled bool ReturnError error ReturnSSHConfig *VagrantSSHConfig GlobalID string }
Create a mock driver so that we can test Vagrant builder steps
func (*MockVagrantDriver) Add ¶
func (d *MockVagrantDriver) Add([]string) error
func (*MockVagrantDriver) Destroy ¶
func (d *MockVagrantDriver) Destroy(string) error
func (*MockVagrantDriver) Halt ¶
func (d *MockVagrantDriver) Halt(string) error
func (*MockVagrantDriver) Init ¶
func (d *MockVagrantDriver) Init([]string) error
func (*MockVagrantDriver) Package ¶
func (d *MockVagrantDriver) Package([]string) error
func (*MockVagrantDriver) SSHConfig ¶
func (d *MockVagrantDriver) SSHConfig(gid string) (*VagrantSSHConfig, error)
func (*MockVagrantDriver) Suspend ¶
func (d *MockVagrantDriver) Suspend(string) error
func (*MockVagrantDriver) Verify ¶
func (d *MockVagrantDriver) Verify() error
func (*MockVagrantDriver) Version ¶
func (d *MockVagrantDriver) Version() (string, error)
type StepAddBox ¶
type StepAddBox struct { BoxVersion string CACert string CAPath string DownloadCert string Clean bool Force bool Insecure bool Provider string SourceBox string BoxName string GlobalID string SkipAdd bool }
func (*StepAddBox) Cleanup ¶
func (s *StepAddBox) Cleanup(state multistep.StateBag)
func (*StepAddBox) Run ¶
func (s *StepAddBox) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction
type StepCreateVagrantfile ¶
type StepCreateVagrantfile struct { Template string OutputDir string SyncedFolder string GlobalID string SourceBox string BoxName string InsertKey bool // contains filtered or unexported fields }
func (*StepCreateVagrantfile) Cleanup ¶
func (s *StepCreateVagrantfile) Cleanup(state multistep.StateBag)
func (*StepCreateVagrantfile) Run ¶
func (s *StepCreateVagrantfile) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction
type StepPackage ¶
func (*StepPackage) Cleanup ¶
func (s *StepPackage) Cleanup(state multistep.StateBag)
func (*StepPackage) Run ¶
func (s *StepPackage) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction
type StepSSHConfig ¶
type StepSSHConfig struct {
GlobalID string
}
func (*StepSSHConfig) Cleanup ¶
func (s *StepSSHConfig) Cleanup(state multistep.StateBag)
func (*StepSSHConfig) Run ¶
func (s *StepSSHConfig) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction
type VagrantDriver ¶
type VagrantDriver interface { // Calls "vagrant init" Init([]string) error // Calls "vagrant add" Add([]string) error // Calls "vagrant up" Up([]string) (string, string, error) // Calls "vagrant halt" Halt(string) error // Calls "vagrant suspend" Suspend(string) error SSHConfig(string) (*VagrantSSHConfig, error) // Calls "vagrant destroy" Destroy(string) error // Calls "vagrant package"[ Package([]string) error // Verify checks to make sure that this driver should function // properly. If there is any indication the driver can't function, // this will return an error. Verify() error // Version reads the version of VirtualBox that is installed. Version() (string, error) }
func NewDriver ¶
func NewDriver(outputDir string) (VagrantDriver, error)
type VagrantSSHConfig ¶
type Vagrant_2_2_Driver ¶
type Vagrant_2_2_Driver struct { VagrantCWD string // contains filtered or unexported fields }
func (*Vagrant_2_2_Driver) Add ¶
func (d *Vagrant_2_2_Driver) Add(args []string) error
Calls "vagrant add"
func (*Vagrant_2_2_Driver) Destroy ¶
func (d *Vagrant_2_2_Driver) Destroy(id string) error
Calls "vagrant destroy"
func (*Vagrant_2_2_Driver) Halt ¶
func (d *Vagrant_2_2_Driver) Halt(id string) error
Calls "vagrant halt"
func (*Vagrant_2_2_Driver) Init ¶
func (d *Vagrant_2_2_Driver) Init(args []string) error
Calls "vagrant init"
func (*Vagrant_2_2_Driver) Package ¶
func (d *Vagrant_2_2_Driver) Package(args []string) error
Calls "vagrant package"
func (*Vagrant_2_2_Driver) SSHConfig ¶
func (d *Vagrant_2_2_Driver) SSHConfig(id string) (*VagrantSSHConfig, error)
func (*Vagrant_2_2_Driver) Suspend ¶
func (d *Vagrant_2_2_Driver) Suspend(id string) error
Calls "vagrant suspend"
func (*Vagrant_2_2_Driver) Up ¶
func (d *Vagrant_2_2_Driver) Up(args []string) (string, string, error)
Calls "vagrant up"
func (*Vagrant_2_2_Driver) Verify ¶
func (d *Vagrant_2_2_Driver) Verify() error
Verify makes sure that Vagrant exists at the given path
func (*Vagrant_2_2_Driver) Version ¶
func (d *Vagrant_2_2_Driver) Version() (string, error)
Version reads the version of VirtualBox that is installed.