Documentation
¶
Index ¶
- type CloudProviderInterface
- type CostStruct
- type Price
- type ProviderAws
- func (p ProviderAws) CreateSSHKey(publicKeyFile string) (keyID string, err error)
- func (p ProviderAws) Deploy(server Vm) (Vm, error)
- func (p ProviderAws) Destroy(server Vm) error
- func (p ProviderAws) GetByName(serverName string) (Vm, error)
- func (p ProviderAws) List() (VmList, error)
- func (p ProviderAws) SSHInto(serverName string, port int)
- type ProviderAzure
- func (p ProviderAzure) CreateSSHKey(publicKeyFileName string) (string, error)
- func (p ProviderAzure) Deploy(server Vm) (Vm, error)
- func (p ProviderAzure) Destroy(server Vm) error
- func (p ProviderAzure) GetByName(serverName string) (Vm, error)
- func (p ProviderAzure) List() (VmList, error)
- func (p ProviderAzure) SSHInto(serverName string, port int)
- type ProviderHetzner
- func (p ProviderHetzner) CreateSSHKey(publicKeyFile string) (keyID string, err error)
- func (p ProviderHetzner) Deploy(server Vm) (Vm, error)
- func (p ProviderHetzner) Destroy(server Vm) error
- func (p ProviderHetzner) GetByName(serverName string) (Vm, error)
- func (p ProviderHetzner) List() (VmList, error)
- func (p ProviderHetzner) SSHInto(serverName string, port int)
- type QueryResponse
- type Vm
- type VmList
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CloudProviderInterface ¶
type CloudProviderInterface interface {
// Deploy deploys a new instance
Deploy(Vm) (Vm, error)
// Destroy destroys an instance
Destroy(Vm) error
// List lists all instances
List() (VmList, error)
// CreateSSHKey creates a new SSH key
CreateSSHKey(publicKeyFile string) (keyID string, err error)
// SSHInto connects to a VM
SSHInto(serverName string, port int)
// GetByName gets a VM by name
GetByName(serverName string) (Vm, error)
}
type CostStruct ¶ added in v0.1.6
type ProviderAws ¶
func (ProviderAws) CreateSSHKey ¶
func (p ProviderAws) CreateSSHKey(publicKeyFile string) (keyID string, err error)
func (ProviderAws) Destroy ¶
func (p ProviderAws) Destroy(server Vm) error
func (ProviderAws) GetByName ¶ added in v0.1.6
func (p ProviderAws) GetByName(serverName string) (Vm, error)
func (ProviderAws) List ¶
func (p ProviderAws) List() (VmList, error)
func (ProviderAws) SSHInto ¶
func (p ProviderAws) SSHInto(serverName string, port int)
type ProviderAzure ¶
type ProviderAzure struct {
ResourceGraphClient *armresourcegraph.Client
VmClient *armcompute.VirtualMachinesClient
NicClient *armnetwork.InterfacesClient
PublicIPClient *armnetwork.PublicIPAddressesClient
SSHKeyClient *armcompute.SSHPublicKeysClient
VnetClient *armnetwork.VirtualNetworksClient
}
func (ProviderAzure) CreateSSHKey ¶
func (p ProviderAzure) CreateSSHKey(publicKeyFileName string) (string, error)
func (ProviderAzure) Destroy ¶
func (p ProviderAzure) Destroy(server Vm) error
func (ProviderAzure) GetByName ¶ added in v0.1.6
func (p ProviderAzure) GetByName(serverName string) (Vm, error)
func (ProviderAzure) List ¶
func (p ProviderAzure) List() (VmList, error)
func (ProviderAzure) SSHInto ¶
func (p ProviderAzure) SSHInto(serverName string, port int)
type ProviderHetzner ¶
func (ProviderHetzner) CreateSSHKey ¶
func (p ProviderHetzner) CreateSSHKey(publicKeyFile string) (keyID string, err error)
func (ProviderHetzner) Destroy ¶
func (p ProviderHetzner) Destroy(server Vm) error
func (ProviderHetzner) GetByName ¶ added in v0.1.6
func (p ProviderHetzner) GetByName(serverName string) (Vm, error)
func (ProviderHetzner) List ¶
func (p ProviderHetzner) List() (VmList, error)
func (ProviderHetzner) SSHInto ¶
func (p ProviderHetzner) SSHInto(serverName string, port int)
type QueryResponse ¶ added in v0.1.3
type Vm ¶
type Vm struct {
// ID is the ID of the instance
ID string
// Name is the name of the instance
Name string
// IP is the public IP of the instance
IP string
// Type is the type of the instance
Type string
// Status is the status of the instance
Status string
// Location is the location of the instance
Location string
// SSHKeyID is the ID of the SSH key
SSHKeyID string
// SSHPort is the port to connect to the instance
SSHPort int
// CloudInit is the cloud-init file
CloudInitFile string
// CreatedAt is the creation date of the instance
CreatedAt time.Time
// Provider is the cloud provider
Provider string
// Cost is the cost of the vm
Cost CostStruct
}
Click to show internal directories.
Click to hide internal directories.