Documentation
¶
Index ¶
- Constants
- type Artifact
- type Builder
- type ChrootCommunicator
- func (c *ChrootCommunicator) Download(src string, w io.Writer) error
- func (c *ChrootCommunicator) DownloadDir(src string, dst string, exclude []string) error
- func (c *ChrootCommunicator) Start(ctx context.Context, cmd *packer.RemoteCmd) error
- func (c *ChrootCommunicator) Upload(dst string, r io.Reader, fi *os.FileInfo) error
- func (c *ChrootCommunicator) UploadDir(dst string, src string, exclude []string) error
- type CommandWrapper
- type Config
Constants ¶
View Source
const BuilderID = "hyperone.builder"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChrootCommunicator ¶
type ChrootCommunicator struct {
Chroot string
CmdWrapper CommandWrapper
Wrapped packer.Communicator
}
ChrootCommunicator works as a wrapper on SSHCommunicator, modyfing paths in flight to be run in a chroot.
func (*ChrootCommunicator) Download ¶
func (c *ChrootCommunicator) Download(src string, w io.Writer) error
func (*ChrootCommunicator) DownloadDir ¶
func (c *ChrootCommunicator) DownloadDir(src string, dst string, exclude []string) error
type CommandWrapper ¶
type Config ¶
type Config struct {
common.PackerConfig `mapstructure:",squash"`
Comm communicator.Config `mapstructure:",squash"`
// Custom API endpoint URL, compatible with HyperOne.
// It can also be specified via environment variable HYPERONE_API_URL.
APIURL string `mapstructure:"api_url" required:"false"`
// The authentication token used to access your account.
// This can be either a session token or a service account token.
// If not defined, the builder will attempt to find it in the following order:
Token string `mapstructure:"token" required:"true"`
// The id or name of the project. This field is required
// only if using session tokens. It should be skipped when using service
// account authentication.
Project string `mapstructure:"project" required:"true"`
// Login (an e-mail) on HyperOne platform. Set this
// if you want to fetch the token by SSH authentication.
TokenLogin string `mapstructure:"token_login" required:"false"`
// Timeout for waiting on the API to complete
// a request. Defaults to 5m.
StateTimeout time.Duration `mapstructure:"state_timeout" required:"false"`
// ID or name of the image to launch server from.
SourceImage string `mapstructure:"source_image" required:"true"`
// The name of the resulting image. Defaults to
// "packer-{{timestamp}}"
// (see configuration templates for more info).
ImageName string `mapstructure:"image_name" required:"false"`
// The description of the resulting image.
ImageDescription string `mapstructure:"image_description" required:"false"`
// Key/value pair tags to
// add to the created image.
ImageTags map[string]interface{} `mapstructure:"image_tags" required:"false"`
// The service of the resulting image.
ImageService string `mapstructure:"image_service" required:"false"`
// ID or name of the type this server should be created with.
VmType string `mapstructure:"vm_type" required:"true"`
// The name of the created server.
VmName string `mapstructure:"vm_name" required:"false"`
// Key/value pair tags to
// add to the created server.
VmTags map[string]interface{} `mapstructure:"vm_tags" required:"false"`
// The name of the created disk.
DiskName string `mapstructure:"disk_name" required:"false"`
// The type of the created disk. Defaults to ssd.
DiskType string `mapstructure:"disk_type" required:"false"`
// Size of the created disk, in GiB.
DiskSize float32 `mapstructure:"disk_size" required:"true"`
// The ID of the network to attach to the created server.
Network string `mapstructure:"network" required:"false"`
// The ID of the private IP within chosen network
// that should be assigned to the created server.
PrivateIP string `mapstructure:"private_ip" required:"false"`
// The ID of the public IP that should be assigned to
// the created server. If network is chosen, the public IP will be associated
// with server's private IP.
PublicIP string `mapstructure:"public_ip" required:"false"`
// Custom service of public network adapter.
// Can be useful when using custom api_url. Defaults to public.
PublicNetAdpService string `mapstructure:"public_netadp_service" required:"false"`
ChrootDisk bool `mapstructure:"chroot_disk"`
ChrootDiskSize float32 `mapstructure:"chroot_disk_size"`
ChrootDiskType string `mapstructure:"chroot_disk_type"`
ChrootMountPath string `mapstructure:"chroot_mount_path"`
ChrootMounts [][]string `mapstructure:"chroot_mounts"`
ChrootCopyFiles []string `mapstructure:"chroot_copy_files"`
ChrootCommandWrapper string `mapstructure:"chroot_command_wrapper"`
MountOptions []string `mapstructure:"mount_options"`
MountPartition string `mapstructure:"mount_partition"`
PreMountCommands []string `mapstructure:"pre_mount_commands"`
PostMountCommands []string `mapstructure:"post_mount_commands"`
// List of SSH keys by name or id to be added
// to the server on launch.
SSHKeys []string `mapstructure:"ssh_keys" required:"false"`
// User data to launch with the server. Packer will not
// automatically wait for a user script to finish before shutting down the
// instance, this must be handled in a provisioner.
UserData string `mapstructure:"user_data" required:"false"`
// contains filtered or unexported fields
}
Source Files
¶
- artifact.go
- builder.go
- chroot_communicator.go
- config.go
- step_chroot_provision.go
- step_copy_files.go
- step_create_image.go
- step_create_ssh_key.go
- step_create_vm.go
- step_create_vm_from_disk.go
- step_detach_disk.go
- step_mount_chroot.go
- step_mount_extra.go
- step_post_mount_commands.go
- step_pre_mount_commands.go
- step_prepare_device.go
- step_stop_vm.go
- token_by_ssh.go
- utils.go
Click to show internal directories.
Click to hide internal directories.