vm

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2022 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DockerManager

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

func NewDockerManager

func NewDockerManager(t Template) (*DockerManager, error)

func (*DockerManager) Create

func (d *DockerManager) Create(name string) (string, error)

func (*DockerManager) CreateAndStart

func (d *DockerManager) CreateAndStart(name string) (string, error)

func (*DockerManager) CreateAndStartAndInjectionPublicKey

func (d *DockerManager) CreateAndStartAndInjectionPublicKey(name, publicKey string) (string, error)

func (*DockerManager) Destroy

func (d *DockerManager) Destroy(name string) error

Destroy delete container

func (*DockerManager) GetAccessPort

func (d *DockerManager) GetAccessPort(name string) int

func (*DockerManager) GetIp

func (d *DockerManager) GetIp(name string) (string, error)

query container ip address

func (*DockerManager) InjectionPublicKey

func (d *DockerManager) InjectionPublicKey(name, publicKey string) error

InjectionPublicKey add the public key to the container

func (*DockerManager) Reboot

func (d *DockerManager) Reboot(name string) error

func (*DockerManager) SetTemplate

func (d *DockerManager) SetTemplate(t Template) error

func (*DockerManager) Shutdown

func (d *DockerManager) Shutdown(name string) error

func (*DockerManager) Start

func (d *DockerManager) Start(name string) error

StartContainer running containers in the background

func (*DockerManager) Status

func (d *DockerManager) Status(name string) (*Status, error)

func (*DockerManager) Stop

func (d *DockerManager) Stop(name string) error

type Manager

type Manager interface {
	// SetTemplate 配置模板
	SetTemplate(t Template) error
	// Create 创建
	Create(name string) (string, error)
	// Start 启动虚拟机
	Start(name string) error
	// CreateAndStart 创建并启动
	CreateAndStart(name string) (string, error)
	// 启动并注入公钥
	CreateAndStartAndInjectionPublicKey(name string, publicKey string) (string, error)
	// Stop 关闭虚拟机
	Stop(name string) error
	// Reboot 重启虚拟机
	Reboot(name string) error
	// Shutdown 关闭虚拟机
	Shutdown(name string) error
	// Destroy 销毁虚拟机
	Destroy(name string) error
	// InjectionPublicKey 注入公玥 (vm实现和docker实现时机不同)
	InjectionPublicKey(name string, publicKey string) error
	// Status 查看状态
	Status(name string) (*Status, error)

	// GetIp 获取运行时ip
	GetIp(name string) (string, error)
	// GetAccessPort 获取运行时端口
	GetAccessPort(name string) int
}

Manager 虚拟化接口

type Status

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

func (*Status) IsRunning

func (s *Status) IsRunning() bool

IsRunning 是否正在运行

type Template

type Template struct {
	Cpu, Memory, Disk uint64
	System            string
	PublicKey         string
	Image             string
	AccessPort        int
}

type VirtManager

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

VirtManager virtual machine management client

func NewVirtManager

func NewVirtManager(t Template) (*VirtManager, error)

NewVirtManager create virtManager

func (*VirtManager) Create

func (v *VirtManager) Create(name string) (string, error)

Create create

func (*VirtManager) CreateAndStart

func (v *VirtManager) CreateAndStart(name string) (string, error)

CreateAndStart create and start

func (*VirtManager) CreateAndStartAndInjectionPublicKey

func (v *VirtManager) CreateAndStartAndInjectionPublicKey(name, publicKey string) (string, error)

func (*VirtManager) Destroy

func (v *VirtManager) Destroy(name string) error

Destroy destroy the virtual machine

func (*VirtManager) GetAccessPort

func (v *VirtManager) GetAccessPort(name string) int

GetAccessPort get runtime port

func (*VirtManager) GetIp

func (v *VirtManager) GetIp(name string) (string, error)

GetIp get runtime ip

func (*VirtManager) InjectionPublicKey

func (v *VirtManager) InjectionPublicKey(name, publicKey string) error

InjectionPublicKey injection publickey (The timing of vm implementation and docker implementation are different)

func (*VirtManager) Reboot

func (v *VirtManager) Reboot(name string) error

Reboot restart the virtual machine

func (*VirtManager) SetTemplate

func (v *VirtManager) SetTemplate(t Template) error

func (*VirtManager) Shutdown

func (v *VirtManager) Shutdown(name string) error

Shutdown shutdown the virtual machine

func (*VirtManager) Start

func (v *VirtManager) Start(name string) error

Start start the virtual machine

func (*VirtManager) Status

func (v *VirtManager) Status(name string) (*Status, error)

Status View status

func (*VirtManager) Stop

func (v *VirtManager) Stop(name string) error

Stop shutdown the virtual machine

Jump to

Keyboard shortcuts

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