tower

package
v0.0.0-...-e1628ab Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2024 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewProvider

func NewProvider(pool ipam.Pool, nodeManager *node.Manager, towerClient *client.Client, vmTemplateID, vdsID string) model.EndpointProvider

Types

type CPU

type CPU struct {
	Cores   int `json:"cores"`
	Sockets int `json:"sockets"`
}

type CPUInput

type CPUInput struct {
	Cores   int `json:"cores"`
	Sockets int `json:"sockets"`
}

type Cluster

type Cluster struct {
	ID string `json:"id"`
}

type ClusterWhereInput

type ClusterWhereInput struct {
	ID *string `json:"id,omitempty"`
}

type ConnectInput

type ConnectInput struct {
	Connect *UniqueInput `json:"connect"`
}

type ConnectManyInput

type ConnectManyInput struct {
	Connect    []UniqueInput `json:"connect,omitempty"`
	Disconnect []UniqueInput `json:"disconnect,omitempty"`
}

type CreateVMEffect

type CreateVMEffect struct {
	CloneID               *string `json:"clone_id"`
	CreatedFromTemplateID *string `json:"created_from_template_id"`
	IsFullCopy            *bool   `json:"is_full_copy"`
}

type DeleteVMEffect

type DeleteVMEffect struct {
	IncludeSnapshots *bool `json:"include_snapshots"`
}

type EntityAsyncStatus

type EntityAsyncStatus string
const (
	EntityAsyncStatusCreating EntityAsyncStatus = "CREATING"
	EntityAsyncStatusDeleting EntityAsyncStatus = "DELETING"
	EntityAsyncStatusUpdating EntityAsyncStatus = "UPDATING"
)

type FrozenDisks

type FrozenDisks struct {
	Bus  string  `json:"bus"`
	Path string  `json:"path"`
	Size float64 `json:"size"`
	Type string  `json:"type"`
}

type FrozenVlan

type FrozenVlan struct {
	VlanLocalID string `json:"vlan_local_id"`
}

type Host

type Host struct {
	DataIP string `json:"data_ip"`
	ID     string `json:"id"`
	Name   string `json:"name"`
}

type HostWhereUniqueInput

type HostWhereUniqueInput struct {
	ID *string `json:"id"`
}

type Label

type Label struct {
	ID    string `json:"id"`
	Key   string `json:"key"`
	Value string `json:"value"`
	VMs   []VM   `json:"vms"`
}

type LabelCreateInput

type LabelCreateInput struct {
	Key   string           `json:"key"`
	Value *string          `json:"value"`
	VMs   ConnectManyInput `json:"vms"`
}

type LabelUpdateInput

type LabelUpdateInput struct {
	VMs ConnectManyInput `json:"vms"`
}

type LabelWhereUniqueInput

type LabelWhereUniqueInput struct {
	ID *string `json:"id"`
}

type NetworkIDs

type NetworkIDs struct {
	Set []string `json:"set"`
}

type NetworkIdentities

type NetworkIdentities struct {
	Set []int `json:"set"`
}

type NetworkType

type NetworkType string
const (
	NetworkTypeAccess     NetworkType = "ACCESS"
	NetworkTypeManagement NetworkType = "MANAGEMENT"
	NetworkTypeMigration  NetworkType = "MIGRATION"
	NetworkTypeStorage    NetworkType = "STORAGE"
	NetworkTypeVM         NetworkType = "VM"
)

type TemplateNic

type TemplateNic struct {
	Vlan *FrozenVlan `json:"vlan"`
}

type UniqueInput

type UniqueInput struct {
	ID      *string `json:"id,omitempty"`
	LocalID *string `json:"local_id,omitempty"`
}

type VM

type VM struct {
	Description       string             `json:"description"`
	EntityAsyncStatus *EntityAsyncStatus `json:"entityAsyncStatus"`
	Host              *Host              `json:"host"`
	ID                string             `json:"id"`
	LocalID           string             `json:"local_id"`
	Name              string             `json:"name"`
	Status            VMStatus           `json:"status"`
}

type VMCreateInput

type VMCreateInput struct {
	ClockOffset          string                          `json:"clock_offset"`
	Cluster              *ConnectInput                   `json:"cluster"`
	CPU                  *CPUInput                       `json:"cpu"`
	CPUModel             string                          `json:"cpu_model"`
	Description          string                          `json:"description"`
	Firmware             string                          `json:"firmware"`
	Ha                   bool                            `json:"ha"`
	Host                 *ConnectInput                   `json:"host"`
	ID                   *string                         `json:"id"`
	InRecycleBin         bool                            `json:"in_recycle_bin"`
	Internal             bool                            `json:"internal"`
	Ips                  string                          `json:"ips"`
	LocalID              string                          `json:"local_id"`
	Memory               float64                         `json:"memory"`
	Name                 string                          `json:"name"`
	NestedVirtualization bool                            `json:"nested_virtualization"`
	NodeIP               string                          `json:"node_ip"`
	Protected            bool                            `json:"protected"`
	Status               VMStatus                        `json:"status"`
	Vcpu                 int                             `json:"vcpu"`
	VMDisks              *VMDiskCreateManyWithoutVMInput `json:"vm_disks"`
	VMNics               *VMNicCreateManyWithoutVMInput  `json:"vm_nics"`
	VMToolsStatus        VMToolsStatus                   `json:"vm_tools_status"`
	WinOpt               bool                            `json:"win_opt"`
}

type VMDiskCreateManyWithoutVMInput

type VMDiskCreateManyWithoutVMInput struct {
	Create []VMDiskCreateWithoutVMInput `json:"create"`
}

type VMDiskCreateWithoutVMInput

type VMDiskCreateWithoutVMInput struct {
	Boot     int                                   `json:"boot"`
	Bus      string                                `json:"bus"`
	Index    *int                                  `json:"index"`
	Type     string                                `json:"type"`
	VMVolume *VMVolumeCreateOneWithoutVMDisksInput `json:"vm_volume"`
}

type VMNicCreateManyWithoutVMInput

type VMNicCreateManyWithoutVMInput struct {
	Create []VMNicCreateWithoutVMInput `json:"create"`
}

type VMNicCreateWithoutVMInput

type VMNicCreateWithoutVMInput struct {
	Enabled *bool         `json:"enabled"`
	LocalID string        `json:"local_id"`
	Model   *VMNicModel   `json:"model"`
	Vlan    *ConnectInput `json:"vlan"`
}

type VMNicModel

type VMNicModel string
const (
	VMNicModelE1000  VMNicModel = "E1000"
	VMNicModelVirtio VMNicModel = "VIRTIO"
)

type VMStatus

type VMStatus string
const (
	VMStatusDeleted   VMStatus = "DELETED"
	VMStatusRunning   VMStatus = "RUNNING"
	VMStatusStopped   VMStatus = "STOPPED"
	VMStatusSuspended VMStatus = "SUSPENDED"
	VMStatusUnknown   VMStatus = "UNKNOWN"
)

type VMTemplate

type VMTemplate struct {
	ClockOffset string        `json:"clock_offset"`
	Cluster     *Cluster      `json:"cluster"`
	CPU         *CPU          `json:"cpu"`
	CPUModel    string        `json:"cpu_model"`
	Firmware    string        `json:"firmware"`
	Ha          bool          `json:"ha"`
	ID          string        `json:"id"`
	VMDisks     []FrozenDisks `json:"vm_disks"`
	VMNics      []TemplateNic `json:"vm_nics"`
	Memory      float64       `json:"memory"`
	Vcpu        int           `json:"vcpu"`
	WinOpt      bool          `json:"win_opt"`
}

type VMTemplateWhereUniqueInput

type VMTemplateWhereUniqueInput struct {
	ID *string `json:"id"`
}

type VMToolsStatus

type VMToolsStatus string
const (
	VMToolsStatusNotInstalled VMToolsStatus = "NOT_INSTALLED"
	VMToolsStatusNotRunning   VMToolsStatus = "NOT_RUNNING"
	VMToolsStatusRestriction  VMToolsStatus = "RESTRICTION"
	VMToolsStatusRunning      VMToolsStatus = "RUNNING"
)

type VMUpdateInput

type VMUpdateInput struct {
	Description *string `json:"description"`
	NodeIP      *string `json:"node_ip"`
}

type VMVolumeCreateOneWithoutVMDisksInput

type VMVolumeCreateOneWithoutVMDisksInput struct {
	Create *VMVolumeCreateWithoutVMDisksInput `json:"create"`
}

type VMVolumeCreateWithoutVMDisksInput

type VMVolumeCreateWithoutVMDisksInput struct {
	Cluster          *ConnectInput                `json:"cluster"`
	ElfStoragePolicy VMVolumeElfStoragePolicyType `json:"elf_storage_policy"`
	LocalCreatedAt   string                       `json:"local_created_at"`
	LocalID          string                       `json:"local_id"`
	Mounting         bool                         `json:"mounting"`
	Name             string                       `json:"name"`
	Path             string                       `json:"path"`
	Sharing          bool                         `json:"sharing"`
	Size             float64                      `json:"size"`
}

type VMVolumeElfStoragePolicyType

type VMVolumeElfStoragePolicyType string
const (
	VMVolumeElfStoragePolicyTypeReplica1ThickProvision VMVolumeElfStoragePolicyType = "REPLICA_1_THICK_PROVISION"
	VMVolumeElfStoragePolicyTypeReplica1ThinProvision  VMVolumeElfStoragePolicyType = "REPLICA_1_THIN_PROVISION"
	VMVolumeElfStoragePolicyTypeReplica2ThickProvision VMVolumeElfStoragePolicyType = "REPLICA_2_THICK_PROVISION"
	VMVolumeElfStoragePolicyTypeReplica2ThinProvision  VMVolumeElfStoragePolicyType = "REPLICA_2_THIN_PROVISION"
	VMVolumeElfStoragePolicyTypeReplica3ThickProvision VMVolumeElfStoragePolicyType = "REPLICA_3_THICK_PROVISION"
	VMVolumeElfStoragePolicyTypeReplica3ThinProvision  VMVolumeElfStoragePolicyType = "REPLICA_3_THIN_PROVISION"
)

type VMWhereInput

type VMWhereInput struct {
	Cluster      *ClusterWhereInput `json:"cluster,omitempty"`
	Name         *string            `json:"name,omitempty"`
	InRecycleBin *bool              `json:"in_recycle_bin,omitempty"`
}

type VMWhereUniqueInput

type VMWhereUniqueInput struct {
	ID *string `json:"id"`
}

type Vds

type Vds struct {
	ID        string `json:"id"`
	Name      string `json:"name"`
	OvsbrName string `json:"ovsbr_name"`
}

type Vlan

type Vlan struct {
	EntityAsyncStatus *EntityAsyncStatus `json:"entityAsyncStatus"`
	ID                string             `json:"id"`
	LocalID           string             `json:"local_id"`
	Name              string             `json:"name"`
	Vds               *Vds               `json:"vds"`
	VlanID            int                `json:"vlan_id"`
	Type              NetworkType        `json:"type"`
}

type VlanCreateInput

type VlanCreateInput struct {
	LocalID           string             `json:"local_id"`
	Name              string             `json:"name"`
	Type              NetworkType        `json:"type"`
	Vds               *ConnectInput      `json:"vds"`
	VlanID            int                `json:"vlan_id"`
	NetworkIdentities *NetworkIdentities `json:"network_identities,omitempty"`
	NetworkIDs        *NetworkIDs        `json:"network_ids,omiempty"`
}

type VlanWhereUniqueInput

type VlanWhereUniqueInput struct {
	ID      *string `json:"id"`
	LocalID *string `json:"local_id"`
}

Jump to

Keyboard shortcuts

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