Documentation ¶
Index ¶
- type API
- type APIKey
- type APIService
- type APIServiceHandler
- type Account
- type AccountService
- type AccountServiceHandler
- type AppInfo
- type Application
- type ApplicationService
- type ApplicationServiceHandler
- type Backup
- type BackupSchedule
- type BackupService
- type BackupServiceHandler
- type BareMetalPlan
- type BareMetalServer
- type BareMetalServerIPV4
- type BareMetalServerIPV6
- type BareMetalServerOptions
- type BareMetalServerService
- type BareMetalServerServiceHandler
- func (b *BareMetalServerServiceHandler) AppInfo(ctx context.Context, serverID string) (*AppInfo, error)
- func (b *BareMetalServerServiceHandler) Bandwidth(ctx context.Context, serverID string) ([]map[string]string, error)
- func (b *BareMetalServerServiceHandler) ChangeApp(ctx context.Context, serverID, appID string) error
- func (b *BareMetalServerServiceHandler) ChangeOS(ctx context.Context, serverID, osID string) error
- func (b *BareMetalServerServiceHandler) Create(ctx context.Context, regionID, planID, osID string, ...) (*BareMetalServer, error)
- func (b *BareMetalServerServiceHandler) Delete(ctx context.Context, serverID string) error
- func (b *BareMetalServerServiceHandler) EnableIPV6(ctx context.Context, serverID string) error
- func (b *BareMetalServerServiceHandler) GetServer(ctx context.Context, serverID string) (*BareMetalServer, error)
- func (b *BareMetalServerServiceHandler) GetUserData(ctx context.Context, serverID string) (*UserData, error)
- func (b *BareMetalServerServiceHandler) Halt(ctx context.Context, serverID string) error
- func (b *BareMetalServerServiceHandler) IPV4Info(ctx context.Context, serverID string) ([]BareMetalServerIPV4, error)
- func (b *BareMetalServerServiceHandler) IPV6Info(ctx context.Context, serverID string) ([]BareMetalServerIPV6, error)
- func (b *BareMetalServerServiceHandler) List(ctx context.Context) ([]BareMetalServer, error)
- func (b *BareMetalServerServiceHandler) ListApps(ctx context.Context, serverID string) ([]Application, error)
- func (b *BareMetalServerServiceHandler) ListByLabel(ctx context.Context, label string) ([]BareMetalServer, error)
- func (b *BareMetalServerServiceHandler) ListByMainIP(ctx context.Context, mainIP string) ([]BareMetalServer, error)
- func (b *BareMetalServerServiceHandler) ListByTag(ctx context.Context, tag string) ([]BareMetalServer, error)
- func (b *BareMetalServerServiceHandler) ListOS(ctx context.Context, serverID string) ([]OS, error)
- func (b *BareMetalServerServiceHandler) Reboot(ctx context.Context, serverID string) error
- func (b *BareMetalServerServiceHandler) Reinstall(ctx context.Context, serverID string) error
- func (b *BareMetalServerServiceHandler) SetLabel(ctx context.Context, serverID, label string) error
- func (b *BareMetalServerServiceHandler) SetTag(ctx context.Context, serverID, tag string) error
- func (b *BareMetalServerServiceHandler) SetUserData(ctx context.Context, serverID, userData string) error
- type BlockStorage
- type BlockStorageService
- type BlockStorageServiceHandler
- func (b *BlockStorageServiceHandler) Attach(ctx context.Context, blockID, InstanceID string) error
- func (b *BlockStorageServiceHandler) Create(ctx context.Context, regionID, sizeGB int, label string) (*BlockStorage, error)
- func (b *BlockStorageServiceHandler) Delete(ctx context.Context, blockID string) error
- func (b *BlockStorageServiceHandler) Detach(ctx context.Context, blockID string) error
- func (b *BlockStorageServiceHandler) Get(ctx context.Context, blockID string) (*BlockStorage, error)
- func (b *BlockStorageServiceHandler) List(ctx context.Context) ([]BlockStorage, error)
- func (b *BlockStorageServiceHandler) Resize(ctx context.Context, blockID string, sizeGB int) error
- func (b *BlockStorageServiceHandler) SetLabel(ctx context.Context, blockID, label string) error
- type Client
- func (c *Client) DoWithContext(ctx context.Context, r *http.Request, data interface{}) error
- func (c *Client) NewRequest(ctx context.Context, method, uri string, body url.Values) (*http.Request, error)
- func (c *Client) OnRequestCompleted(rc RequestCompletionCallback)
- func (c *Client) SetBaseURL(baseURL string) error
- func (c *Client) SetRateLimit(time time.Duration)
- func (c *Client) SetUserAgent(ua string)
- type DNSDomain
- type DNSDomainService
- type DNSDomainServiceHandler
- func (d *DNSDomainServiceHandler) Create(ctx context.Context, domain, InstanceIP string) error
- func (d *DNSDomainServiceHandler) DNSSecInfo(ctx context.Context, domain string) ([]string, error)
- func (d *DNSDomainServiceHandler) Delete(ctx context.Context, domain string) error
- func (d *DNSDomainServiceHandler) GetSoa(ctx context.Context, domain string) (*Soa, error)
- func (d *DNSDomainServiceHandler) List(ctx context.Context) ([]DNSDomain, error)
- func (d *DNSDomainServiceHandler) ToggleDNSSec(ctx context.Context, domain string, enabled bool) error
- func (d *DNSDomainServiceHandler) UpdateSoa(ctx context.Context, domain, nsPrimary, email string) error
- type DNSRecord
- type DNSRecordService
- type DNSRecordsServiceHandler
- func (d *DNSRecordsServiceHandler) Create(ctx context.Context, domain, recordType, name, data string, ttl, priority int) error
- func (d *DNSRecordsServiceHandler) Delete(ctx context.Context, domain, recordID string) error
- func (d *DNSRecordsServiceHandler) List(ctx context.Context, domain string) ([]DNSRecord, error)
- func (d *DNSRecordsServiceHandler) Update(ctx context.Context, domain string, dnsRecord *DNSRecord) error
- type FireWallGroupServiceHandler
- func (f *FireWallGroupServiceHandler) ChangeDescription(ctx context.Context, groupID, description string) error
- func (f *FireWallGroupServiceHandler) Create(ctx context.Context, description string) (*FirewallGroup, error)
- func (f *FireWallGroupServiceHandler) Delete(ctx context.Context, groupID string) error
- func (f *FireWallGroupServiceHandler) Get(ctx context.Context, groupID string) (*FirewallGroup, error)
- func (f *FireWallGroupServiceHandler) List(ctx context.Context) ([]FirewallGroup, error)
- type FireWallRuleService
- type FireWallRuleServiceHandler
- func (f *FireWallRuleServiceHandler) Create(ctx context.Context, groupID, protocol, port, cdirBlock, notes string) (*FirewallRule, error)
- func (f *FireWallRuleServiceHandler) Delete(ctx context.Context, groupID, ruleID string) error
- func (f *FireWallRuleServiceHandler) List(ctx context.Context, groupID string) ([]FirewallRule, error)
- func (f *FireWallRuleServiceHandler) ListByIPType(ctx context.Context, groupID, ipType string) ([]FirewallRule, error)
- type FirewallGroup
- type FirewallGroupService
- type FirewallRule
- type IPV4
- type IPV6
- type ISO
- type ISOService
- type ISOServiceHandler
- func (i *ISOServiceHandler) CreateFromURL(ctx context.Context, ISOURL string) (*ISO, error)
- func (i *ISOServiceHandler) Delete(ctx context.Context, isoID int) error
- func (i *ISOServiceHandler) GetPublicList(ctx context.Context) ([]PublicISO, error)
- func (i *ISOServiceHandler) List(ctx context.Context) ([]ISO, error)
- type Network
- type NetworkService
- type NetworkServiceHandler
- type OS
- type OSService
- type OSServiceHandler
- type Plan
- type PlanService
- type PlanServiceHandler
- func (p *PlanServiceHandler) GetBareMetalList(ctx context.Context) ([]BareMetalPlan, error)
- func (p *PlanServiceHandler) GetVc2List(ctx context.Context) ([]VCPlan, error)
- func (p *PlanServiceHandler) GetVc2zList(ctx context.Context) ([]VCPlan, error)
- func (p *PlanServiceHandler) GetVdc2List(ctx context.Context) ([]VCPlan, error)
- func (p *PlanServiceHandler) List(ctx context.Context, planType string) ([]Plan, error)
- type PrivateNetwork
- type PublicISO
- type Region
- type RegionService
- type RegionServiceHandler
- func (r *RegionServiceHandler) Availability(ctx context.Context, regionID int, planType string) ([]int, error)
- func (r *RegionServiceHandler) BareMetalAvailability(ctx context.Context, regionID int) ([]int, error)
- func (r *RegionServiceHandler) List(ctx context.Context) ([]Region, error)
- func (r *RegionServiceHandler) Vc2Availability(ctx context.Context, regionID int) ([]int, error)
- func (r *RegionServiceHandler) Vdc2Availability(ctx context.Context, regionID int) ([]int, error)
- type RequestCompletionCallback
- type ReservedIP
- type ReservedIPService
- type ReservedIPServiceHandler
- func (r *ReservedIPServiceHandler) Attach(ctx context.Context, ip, InstanceID string) error
- func (r *ReservedIPServiceHandler) Convert(ctx context.Context, ip, InstanceID, label string) (*ReservedIP, error)
- func (r *ReservedIPServiceHandler) Create(ctx context.Context, regionID int, ipType, label string) (*ReservedIP, error)
- func (r *ReservedIPServiceHandler) Delete(ctx context.Context, ip string) error
- func (r *ReservedIPServiceHandler) Detach(ctx context.Context, ip, InstanceID string) error
- func (r *ReservedIPServiceHandler) List(ctx context.Context) ([]ReservedIP, error)
- type ReverseIPV6
- type SSHKey
- type SSHKeyService
- type SSHKeyServiceHandler
- func (s *SSHKeyServiceHandler) Create(ctx context.Context, name, sshKey string) (*SSHKey, error)
- func (s *SSHKeyServiceHandler) Delete(ctx context.Context, sshKeyID string) error
- func (s *SSHKeyServiceHandler) List(ctx context.Context) ([]SSHKey, error)
- func (s *SSHKeyServiceHandler) Update(ctx context.Context, sshKey *SSHKey) error
- type Server
- type ServerIso
- type ServerOptions
- type ServerService
- type ServerServiceHandler
- func (s *ServerServiceHandler) AddIPV4(ctx context.Context, instanceID string) error
- func (s *ServerServiceHandler) AppInfo(ctx context.Context, instanceID string) (*AppInfo, error)
- func (s *ServerServiceHandler) Bandwidth(ctx context.Context, instanceID string) ([]map[string]string, error)
- func (s *ServerServiceHandler) ChangeApp(ctx context.Context, instanceID, appID string) error
- func (s *ServerServiceHandler) ChangeOS(ctx context.Context, instanceID, osID string) error
- func (s *ServerServiceHandler) Create(ctx context.Context, regionID, vpsPlanID, osID int, options *ServerOptions) (*Server, error)
- func (s *ServerServiceHandler) Delete(ctx context.Context, instanceID string) error
- func (s *ServerServiceHandler) DeleteReverseIPV6(ctx context.Context, instanceID, ip string) error
- func (s *ServerServiceHandler) DestroyIPV4(ctx context.Context, instanceID, ip string) error
- func (s *ServerServiceHandler) DisableBackup(ctx context.Context, instanceID string) error
- func (s *ServerServiceHandler) DisablePrivateNetwork(ctx context.Context, instanceID, networkID string) error
- func (s *ServerServiceHandler) EnableBackup(ctx context.Context, instanceID string) error
- func (s *ServerServiceHandler) EnableIPV6(ctx context.Context, instanceID string) error
- func (s *ServerServiceHandler) EnablePrivateNetwork(ctx context.Context, instanceID, networkID string) error
- func (s *ServerServiceHandler) GetBackupSchedule(ctx context.Context, instanceID string) (*BackupSchedule, error)
- func (s *ServerServiceHandler) GetServer(ctx context.Context, instanceID string) (*Server, error)
- func (s *ServerServiceHandler) GetUserData(ctx context.Context, instanceID string) (*UserData, error)
- func (s *ServerServiceHandler) Halt(ctx context.Context, instanceID string) error
- func (s *ServerServiceHandler) IPV4Info(ctx context.Context, instanceID string, public bool) ([]IPV4, error)
- func (s *ServerServiceHandler) IPV6Info(ctx context.Context, instanceID string) ([]IPV6, error)
- func (s *ServerServiceHandler) IsoAttach(ctx context.Context, instanceID, isoID string) error
- func (s *ServerServiceHandler) IsoDetach(ctx context.Context, instanceID string) error
- func (s *ServerServiceHandler) IsoStatus(ctx context.Context, instanceID string) (*ServerIso, error)
- func (s *ServerServiceHandler) List(ctx context.Context) ([]Server, error)
- func (s *ServerServiceHandler) ListApps(ctx context.Context, instanceID string) ([]Application, error)
- func (s *ServerServiceHandler) ListByLabel(ctx context.Context, label string) ([]Server, error)
- func (s *ServerServiceHandler) ListByMainIP(ctx context.Context, mainIP string) ([]Server, error)
- func (s *ServerServiceHandler) ListByTag(ctx context.Context, tag string) ([]Server, error)
- func (s *ServerServiceHandler) ListOS(ctx context.Context, instanceID string) ([]OS, error)
- func (s *ServerServiceHandler) ListPrivateNetworks(ctx context.Context, instanceID string) ([]PrivateNetwork, error)
- func (s *ServerServiceHandler) ListReverseIPV6(ctx context.Context, instanceID string) ([]ReverseIPV6, error)
- func (s *ServerServiceHandler) ListUpgradePlan(ctx context.Context, instanceID string) ([]int, error)
- func (s *ServerServiceHandler) Neighbors(ctx context.Context, instanceID string) ([]int, error)
- func (s *ServerServiceHandler) Reboot(ctx context.Context, instanceID string) error
- func (s *ServerServiceHandler) Reinstall(ctx context.Context, instanceID string) error
- func (s *ServerServiceHandler) RestoreBackup(ctx context.Context, instanceID, backupID string) error
- func (s *ServerServiceHandler) RestoreSnapshot(ctx context.Context, instanceID, snapshotID string) error
- func (s *ServerServiceHandler) SetBackupSchedule(ctx context.Context, instanceID string, backup *BackupSchedule) error
- func (s *ServerServiceHandler) SetDefaultReverseIPV4(ctx context.Context, instanceID, ip string) error
- func (s *ServerServiceHandler) SetFirewallGroup(ctx context.Context, instanceID, firewallGroupID string) error
- func (s *ServerServiceHandler) SetLabel(ctx context.Context, instanceID, label string) error
- func (s *ServerServiceHandler) SetReverseIPV4(ctx context.Context, instanceID, ipv4, entry string) error
- func (s *ServerServiceHandler) SetReverseIPV6(ctx context.Context, instanceID, ipv6, entry string) error
- func (s *ServerServiceHandler) SetTag(ctx context.Context, instanceID, tag string) error
- func (s *ServerServiceHandler) SetUserData(ctx context.Context, instanceID, userData string) error
- func (s *ServerServiceHandler) Start(ctx context.Context, instanceID string) error
- func (s *ServerServiceHandler) UpgradePlan(ctx context.Context, instanceID, vpsPlanID string) error
- type Snapshot
- type SnapshotService
- type SnapshotServiceHandler
- func (s *SnapshotServiceHandler) Create(ctx context.Context, InstanceID, description string) (*Snapshot, error)
- func (s *SnapshotServiceHandler) CreateFromURL(ctx context.Context, snapshotURL string) (*Snapshot, error)
- func (s *SnapshotServiceHandler) Delete(ctx context.Context, snapshotID string) error
- func (s *SnapshotServiceHandler) Get(ctx context.Context, snapshotID string) (*Snapshot, error)
- func (s *SnapshotServiceHandler) List(ctx context.Context) ([]Snapshot, error)
- type Snapshots
- type Soa
- type StartupScript
- type StartupScriptService
- type StartupScriptServiceHandler
- func (s *StartupScriptServiceHandler) Create(ctx context.Context, name, script, scriptType string) (*StartupScript, error)
- func (s *StartupScriptServiceHandler) Delete(ctx context.Context, scriptID string) error
- func (s *StartupScriptServiceHandler) List(ctx context.Context) ([]StartupScript, error)
- func (s *StartupScriptServiceHandler) Update(ctx context.Context, script *StartupScript) error
- type User
- type UserData
- type UserService
- type UserServiceHandler
- func (u *UserServiceHandler) Create(ctx context.Context, email, name, password, apiEnabled string, acls []string) (*User, error)
- func (u *UserServiceHandler) Delete(ctx context.Context, userID string) error
- func (u *UserServiceHandler) List(ctx context.Context) ([]User, error)
- func (u *UserServiceHandler) Update(ctx context.Context, user *User) error
- type V6Network
- type VCPlan
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type API ¶
type API struct { ACL []string `json:"acls"` Email string `json:"email"` Name string `json:"name"` }
API represents Vultr API information
type APIKey ¶
type APIKey struct {
// contains filtered or unexported fields
}
APIKey contains a users API Key for interacting with the API
type APIService ¶
APIService is the interface to interact with the API endpoint on the Vultr API Link: https://www.vultr.com/api/#auth
type APIServiceHandler ¶
type APIServiceHandler struct {
// contains filtered or unexported fields
}
APIServiceHandler handles interaction with the API methods for the Vultr API
type Account ¶
type Account struct { Balance string `json:"balance"` PendingCharges string `json:"pending_charges"` LastPaymentDate string `json:"last_payment_date"` LastPaymentAmount string `json:"last_payment_amount"` }
Account represents a Vultr account
type AccountService ¶
AccountService is the interface to interact with Accounts endpoint on the Vultr API Link: https://www.vultr.com/api/#account
type AccountServiceHandler ¶
type AccountServiceHandler struct {
// contains filtered or unexported fields
}
AccountServiceHandler handles interaction with the account methods for the Vultr API
type AppInfo ¶
type AppInfo struct {
AppInfo string `json:"app_info"`
}
AppInfo represents information about the application on your VPS
type Application ¶
type Application struct { AppID string `json:"APPID"` Name string `json:"name"` ShortName string `json:"short_name"` DeployName string `json:"deploy_name"` Surcharge float64 `json:"surcharge"` }
Application represents a Vultr application
type ApplicationService ¶
type ApplicationService interface {
List(ctx context.Context) ([]Application, error)
}
ApplicationService is the interface to interact with the Application endpoint on the Vultr API Link: https://www.vultr.com/api/#app
type ApplicationServiceHandler ¶
type ApplicationServiceHandler struct {
// contains filtered or unexported fields
}
ApplicationServiceHandler handles interaction with the application methods for the Vultr API
func (*ApplicationServiceHandler) List ¶ added in v0.1.2
func (a *ApplicationServiceHandler) List(ctx context.Context) ([]Application, error)
List retrieves a list of available applications that can be launched when creating a Vultr VPS
type Backup ¶
type Backup struct { BackupID string `json:"BACKUPID"` DateCreated string `json:"date_created"` Description string `json:"description"` Size string `json:"size"` Status string `json:"status"` }
Backup represents a Vultr backup
type BackupSchedule ¶
type BackupSchedule struct { Enabled bool `json:"enabled"` CronType string `json:"cron_type"` NextRun string `json:"next_scheduled_time_utc"` Hour int `json:"hour"` Dow int `json:"dow"` Dom int `json:"dom"` }
BackupSchedule represents a schedule of a backup that runs on a VPS
type BackupService ¶
type BackupService interface { List(ctx context.Context) ([]Backup, error) Get(ctx context.Context, backupID string) (*Backup, error) ListBySub(ctx context.Context, subID string) ([]Backup, error) }
BackupService is the interface to interact with the backup endpoint on the Vultr API Link: https://www.vultr.com/api/#backup
type BackupServiceHandler ¶
type BackupServiceHandler struct {
// contains filtered or unexported fields
}
BackupServiceHandler handles interaction with the backup methods for the Vultr API
type BareMetalPlan ¶
type BareMetalPlan struct { PlanID string `json:"METALPLANID"` Name string `json:"name"` CPUs int `json:"cpu_count"` CPUModel string `json:"cpu_model"` RAM int `json:"ram"` Disk string `json:"disk"` BandwidthTB int `json:"bandwidth_tb"` Price int `json:"price_per_month"` PlanType string `json:"plan_type"` Deprecated bool `json:"deprecated"` Regions []int `json:"available_locations"` }
BareMetalPlan represents bare metal plans
type BareMetalServer ¶
type BareMetalServer struct { BareMetalServerID string `json:"SUBID"` Os string `json:"os"` RAM string `json:"ram"` Disk string `json:"disk"` MainIP string `json:"main_ip"` CPUs int `json:"cpu_count"` Location string `json:"location"` RegionID int `json:"DCID"` DefaultPassword string `json:"default_password"` DateCreated string `json:"date_created"` Status string `json:"status"` NetmaskV4 string `json:"netmask_v4"` GatewayV4 string `json:"gateway_v4"` BareMetalPlanID int `json:"METALPLANID"` V6Networks []V6Network `json:"v6_networks"` Label string `json:"label"` Tag string `json:"tag"` OsID string `json:"OSID"` AppID string `json:"APPID"` }
BareMetalServer represents a bare metal server on Vultr
func (*BareMetalServer) UnmarshalJSON ¶
func (b *BareMetalServer) UnmarshalJSON(data []byte) error
UnmarshalJSON implements a custom unmarshaler on BareMetalServer This is done to help reduce data inconsistency with V1 of the Vultr API
type BareMetalServerIPV4 ¶
type BareMetalServerIPV4 struct { IP string `json:"ip"` Netmask string `json:"netmask"` Gateway string `json:"gateway"` Type string `json:"type"` }
BareMetalServerIPV4 represents IPV4 information for a bare metal server
type BareMetalServerIPV6 ¶
type BareMetalServerIPV6 struct { IP string `json:"ip"` Network string `json:"network"` NetworkSize int `json:"network_size"` Type string `json:"type"` }
BareMetalServerIPV6 represents IPV6 information for a bare metal server
type BareMetalServerOptions ¶
type BareMetalServerOptions struct { StartupScriptID string SnapshotID string EnableIPV6 string Label string SSHKeyIDs []string AppID string UserData string NotifyActivate string Hostname string Tag string ReservedIPV4 string }
BareMetalServerOptions represents the optional parameters that can be set when creating a bare metal server
type BareMetalServerService ¶
type BareMetalServerService interface { AppInfo(ctx context.Context, serverID string) (*AppInfo, error) Bandwidth(ctx context.Context, serverID string) ([]map[string]string, error) ChangeApp(ctx context.Context, serverID, appID string) error ChangeOS(ctx context.Context, serverID, osID string) error Create(ctx context.Context, regionID, planID, osID string, options *BareMetalServerOptions) (*BareMetalServer, error) Delete(ctx context.Context, serverID string) error EnableIPV6(ctx context.Context, serverID string) error List(ctx context.Context) ([]BareMetalServer, error) ListByLabel(ctx context.Context, label string) ([]BareMetalServer, error) ListByMainIP(ctx context.Context, mainIP string) ([]BareMetalServer, error) ListByTag(ctx context.Context, tag string) ([]BareMetalServer, error) GetServer(ctx context.Context, serverID string) (*BareMetalServer, error) GetUserData(ctx context.Context, serverID string) (*UserData, error) Halt(ctx context.Context, serverID string) error IPV4Info(ctx context.Context, serverID string) ([]BareMetalServerIPV4, error) IPV6Info(ctx context.Context, serverID string) ([]BareMetalServerIPV6, error) ListApps(ctx context.Context, serverID string) ([]Application, error) ListOS(ctx context.Context, serverID string) ([]OS, error) Reboot(ctx context.Context, serverID string) error Reinstall(ctx context.Context, serverID string) error SetLabel(ctx context.Context, serverID, label string) error SetTag(ctx context.Context, serverID, tag string) error SetUserData(ctx context.Context, serverID, userData string) error }
BareMetalServerService is the interface to interact with the bare metal endpoints on the Vultr API Link: https://www.vultr.com/api/#baremetal
type BareMetalServerServiceHandler ¶
type BareMetalServerServiceHandler struct {
// contains filtered or unexported fields
}
BareMetalServerServiceHandler handles interaction with the bare metal methods for the Vultr API
func (*BareMetalServerServiceHandler) AppInfo ¶
func (b *BareMetalServerServiceHandler) AppInfo(ctx context.Context, serverID string) (*AppInfo, error)
AppInfo retrieves the application information for a given server ID
func (*BareMetalServerServiceHandler) Bandwidth ¶
func (b *BareMetalServerServiceHandler) Bandwidth(ctx context.Context, serverID string) ([]map[string]string, error)
Bandwidth will get the bandwidth used by a bare metal server
func (*BareMetalServerServiceHandler) ChangeApp ¶
func (b *BareMetalServerServiceHandler) ChangeApp(ctx context.Context, serverID, appID string) error
ChangeApp changes the bare metal server to a different application.
func (*BareMetalServerServiceHandler) ChangeOS ¶
func (b *BareMetalServerServiceHandler) ChangeOS(ctx context.Context, serverID, osID string) error
ChangeOS changes the bare metal server to a different operating system. All data will be permanently lost.
func (*BareMetalServerServiceHandler) Create ¶
func (b *BareMetalServerServiceHandler) Create(ctx context.Context, regionID, planID, osID string, options *BareMetalServerOptions) (*BareMetalServer, error)
Create a new bare metal server.
func (*BareMetalServerServiceHandler) Delete ¶ added in v0.1.2
func (b *BareMetalServerServiceHandler) Delete(ctx context.Context, serverID string) error
Delete a bare metal server. All data will be permanently lost, and the IP address will be released. There is no going back from this call.
func (*BareMetalServerServiceHandler) EnableIPV6 ¶
func (b *BareMetalServerServiceHandler) EnableIPV6(ctx context.Context, serverID string) error
EnableIPV6 enables IPv6 networking on a bare metal server by assigning an IPv6 subnet to it. The server will not be rebooted when the subnet is assigned.
func (*BareMetalServerServiceHandler) GetServer ¶
func (b *BareMetalServerServiceHandler) GetServer(ctx context.Context, serverID string) (*BareMetalServer, error)
GetServer gets the server with the given ID
func (*BareMetalServerServiceHandler) GetUserData ¶
func (b *BareMetalServerServiceHandler) GetUserData(ctx context.Context, serverID string) (*UserData, error)
GetUserData retrieves the (base64 encoded) user-data for this bare metal server
func (*BareMetalServerServiceHandler) Halt ¶
func (b *BareMetalServerServiceHandler) Halt(ctx context.Context, serverID string) error
Halt a bare metal server. This is a hard power off, meaning that the power to the machine is severed. The data on the machine will not be modified, and you will still be billed for the machine.
func (*BareMetalServerServiceHandler) IPV4Info ¶
func (b *BareMetalServerServiceHandler) IPV4Info(ctx context.Context, serverID string) ([]BareMetalServerIPV4, error)
IPV4Info will List the IPv4 information of a bare metal server. IP information is only available for bare metal servers in the "active" state.
func (*BareMetalServerServiceHandler) IPV6Info ¶
func (b *BareMetalServerServiceHandler) IPV6Info(ctx context.Context, serverID string) ([]BareMetalServerIPV6, error)
IPV6Info ists the IPv6 information of a bare metal server. IP information is only available for bare metal servers in the "active" state. If the bare metal server does not have IPv6 enabled, then an empty array is returned.
func (*BareMetalServerServiceHandler) List ¶ added in v0.1.2
func (b *BareMetalServerServiceHandler) List(ctx context.Context) ([]BareMetalServer, error)
List lists all bare metal servers on the current account. This includes both pending and active servers.
func (*BareMetalServerServiceHandler) ListApps ¶
func (b *BareMetalServerServiceHandler) ListApps(ctx context.Context, serverID string) ([]Application, error)
ListApps retrieves a list of Vultr one-click applications to which a bare metal server can be changed. Always check against this list before trying to switch applications because it is not possible to switch between every application combination.
func (*BareMetalServerServiceHandler) ListByLabel ¶ added in v0.1.2
func (b *BareMetalServerServiceHandler) ListByLabel(ctx context.Context, label string) ([]BareMetalServer, error)
ListByLabel lists all bare metal servers that match the given label on the current account. This includes both pending and active servers.
func (*BareMetalServerServiceHandler) ListByMainIP ¶ added in v0.1.2
func (b *BareMetalServerServiceHandler) ListByMainIP(ctx context.Context, mainIP string) ([]BareMetalServer, error)
ListByMainIP lists all bare metal servers that match the given IP address on the current account. This includes both pending and active servers.
func (*BareMetalServerServiceHandler) ListByTag ¶ added in v0.1.2
func (b *BareMetalServerServiceHandler) ListByTag(ctx context.Context, tag string) ([]BareMetalServer, error)
ListByTag lists all bare metal servers that match the given tag on the current account. This includes both pending and active servers.
func (*BareMetalServerServiceHandler) ListOS ¶
ListOS retrieves a list of operating systems to which a bare metal server can be changed. Always check against this list before trying to switch operating systems because it is not possible to switch between every operating system combination.
func (*BareMetalServerServiceHandler) Reboot ¶
func (b *BareMetalServerServiceHandler) Reboot(ctx context.Context, serverID string) error
Reboot a bare metal server. This is a hard reboot, which means that the server is powered off, then back on.
func (*BareMetalServerServiceHandler) Reinstall ¶
func (b *BareMetalServerServiceHandler) Reinstall(ctx context.Context, serverID string) error
Reinstall the operating system on a bare metal server. All data will be permanently lost, but the IP address will remain the same. There is no going back from this call.
func (*BareMetalServerServiceHandler) SetLabel ¶
func (b *BareMetalServerServiceHandler) SetLabel(ctx context.Context, serverID, label string) error
SetLabel sets the label of a bare metal server.
func (*BareMetalServerServiceHandler) SetTag ¶
func (b *BareMetalServerServiceHandler) SetTag(ctx context.Context, serverID, tag string) error
SetTag sets the tag of a bare metal server.
func (*BareMetalServerServiceHandler) SetUserData ¶
func (b *BareMetalServerServiceHandler) SetUserData(ctx context.Context, serverID, userData string) error
SetUserData sets the user-data for this server. User-data is a generic data store, which some provisioning tools and cloud operating systems use as a configuration file. It is generally consumed only once after an instance has been launched, but individual needs may vary.
type BlockStorage ¶
type BlockStorage struct { BlockStorageID string `json:"SUBID"` DateCreated string `json:"date_created"` CostPerMonth string `json:"cost_per_month"` Status string `json:"status"` SizeGB int `json:"size_gb"` RegionID int `json:"DCID"` InstanceID string `json:"attached_to_SUBID"` Label string `json:"label"` }
BlockStorage represents Vultr Block-Storage
func (*BlockStorage) UnmarshalJSON ¶
func (b *BlockStorage) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON implements json.Unmarshaller on BlockStorage to handle the inconsistent types returned from the Vultr v1 API.
type BlockStorageService ¶
type BlockStorageService interface { Attach(ctx context.Context, blockID, InstanceID string) error Create(ctx context.Context, regionID, size int, label string) (*BlockStorage, error) Delete(ctx context.Context, blockID string) error Detach(ctx context.Context, blockID string) error SetLabel(ctx context.Context, blockID, label string) error List(ctx context.Context) ([]BlockStorage, error) Get(ctx context.Context, blockID string) (*BlockStorage, error) Resize(ctx context.Context, blockID string, size int) error }
BlockStorageService is the interface to interact with Block-Storage endpoint on the Vultr API Link: https://www.vultr.com/api/#block
type BlockStorageServiceHandler ¶
type BlockStorageServiceHandler struct {
// contains filtered or unexported fields
}
BlockStorageServiceHandler handles interaction with the block-storage methods for the Vultr API
func (*BlockStorageServiceHandler) Attach ¶
func (b *BlockStorageServiceHandler) Attach(ctx context.Context, blockID, InstanceID string) error
Attach will link a given block storage to a given Vultr vps
func (*BlockStorageServiceHandler) Create ¶
func (b *BlockStorageServiceHandler) Create(ctx context.Context, regionID, sizeGB int, label string) (*BlockStorage, error)
Create builds out a block storage
func (*BlockStorageServiceHandler) Delete ¶
func (b *BlockStorageServiceHandler) Delete(ctx context.Context, blockID string) error
Delete will remove block storage instance from your Vultr account
func (*BlockStorageServiceHandler) Detach ¶
func (b *BlockStorageServiceHandler) Detach(ctx context.Context, blockID string) error
Detach will de-link a given block storage to the Vultr vps it is attached to
func (*BlockStorageServiceHandler) Get ¶
func (b *BlockStorageServiceHandler) Get(ctx context.Context, blockID string) (*BlockStorage, error)
Get returns a single block storage instance based ony our blockID you provide from your Vultr Account
func (*BlockStorageServiceHandler) List ¶ added in v0.1.2
func (b *BlockStorageServiceHandler) List(ctx context.Context) ([]BlockStorage, error)
List returns a list of all block storage instances on your Vultr Account
type Client ¶
type Client struct { // BASE URL for APIs BaseURL *url.URL // User Agent for the client UserAgent string // API Key APIKey APIKey // API Rate Limit - Vultr rate limits based on time RateLimit time.Duration // Services used to interact with the API Account AccountService API APIService Application ApplicationService Backup BackupService BareMetalServer BareMetalServerService BlockStorage BlockStorageService DNSDomain DNSDomainService DNSRecord DNSRecordService FirewallGroup FirewallGroupService FirewallRule FireWallRuleService ISO ISOService Network NetworkService OS OSService Plan PlanService Region RegionService ReservedIP ReservedIPService Server ServerService Snapshot SnapshotService SSHKey SSHKeyService StartupScript StartupScriptService User UserService // contains filtered or unexported fields }
Client manages interaction with the Vultr V1 API
func (*Client) DoWithContext ¶
DoWithContext sends an API Request and returns back the response. The API response is checked to see if it was a successful call. A successful call is then checked to see if we need to unmarshal since some resources have their own implements of unmarshal.
func (*Client) NewRequest ¶
func (c *Client) NewRequest(ctx context.Context, method, uri string, body url.Values) (*http.Request, error)
NewRequest creates an API Request
func (*Client) OnRequestCompleted ¶
func (c *Client) OnRequestCompleted(rc RequestCompletionCallback)
OnRequestCompleted sets the API request completion callback
func (*Client) SetBaseURL ¶
SetBaseURL Overrides the default BaseUrl
func (*Client) SetRateLimit ¶
SetRateLimit Overrides the default rateLimit
func (*Client) SetUserAgent ¶
SetUserAgent Overrides the default UserAgent
type DNSDomainService ¶
type DNSDomainService interface { Create(ctx context.Context, domain, InstanceIP string) error Delete(ctx context.Context, domain string) error ToggleDNSSec(ctx context.Context, domain string, enabled bool) error DNSSecInfo(ctx context.Context, domain string) ([]string, error) List(ctx context.Context) ([]DNSDomain, error) GetSoa(ctx context.Context, domain string) (*Soa, error) UpdateSoa(ctx context.Context, domain, nsPrimary, email string) error }
DNSDomainService is the interface to interact with the DNS endpoints on the Vultr API Link: https://www.vultr.com/api/#dns
type DNSDomainServiceHandler ¶
type DNSDomainServiceHandler struct {
// contains filtered or unexported fields
}
DNSDomainServiceHandler handles interaction with the DNS methods for the Vultr API
func (*DNSDomainServiceHandler) Create ¶
func (d *DNSDomainServiceHandler) Create(ctx context.Context, domain, InstanceIP string) error
Create will create a DNS Domain entry on Vultr
func (*DNSDomainServiceHandler) DNSSecInfo ¶
DNSSecInfo gets the DNSSec keys for a domain (if enabled)
func (*DNSDomainServiceHandler) Delete ¶
func (d *DNSDomainServiceHandler) Delete(ctx context.Context, domain string) error
Delete will delete a domain name and all associated records
func (*DNSDomainServiceHandler) List ¶ added in v0.1.2
func (d *DNSDomainServiceHandler) List(ctx context.Context) ([]DNSDomain, error)
List gets all domains associated with the current Vultr account.
func (*DNSDomainServiceHandler) ToggleDNSSec ¶
func (d *DNSDomainServiceHandler) ToggleDNSSec(ctx context.Context, domain string, enabled bool) error
ToggleDNSSec will enable or disable DNSSEC for a domain on Vultr
type DNSRecord ¶
type DNSRecord struct { RecordID int `json:"RECORDID"` Type string `json:"type"` Name string `json:"name"` Data string `json:"data"` Priority int `json:"priority"` TTL int `json:"ttl"` }
DNSRecord represents a DNS record on Vultr
type DNSRecordService ¶
type DNSRecordService interface { Create(ctx context.Context, domain, recordType, name, data string, ttl, priority int) error Delete(ctx context.Context, domain, recordID string) error List(ctx context.Context, domain string) ([]DNSRecord, error) Update(ctx context.Context, domain string, dnsRecord *DNSRecord) error }
DNSRecordService is the interface to interact with the DNS Records endpoints on the Vultr API Link: https://www.vultr.com/api/#dns
type DNSRecordsServiceHandler ¶
type DNSRecordsServiceHandler struct {
// contains filtered or unexported fields
}
DNSRecordsServiceHandler handles interaction with the DNS Records methods for the Vultr API
func (*DNSRecordsServiceHandler) Create ¶
func (d *DNSRecordsServiceHandler) Create(ctx context.Context, domain, recordType, name, data string, ttl, priority int) error
Create will add a DNS record.
func (*DNSRecordsServiceHandler) Delete ¶
func (d *DNSRecordsServiceHandler) Delete(ctx context.Context, domain, recordID string) error
Delete will delete a domain name and all associated records.
type FireWallGroupServiceHandler ¶
type FireWallGroupServiceHandler struct {
// contains filtered or unexported fields
}
FireWallGroupServiceHandler handles interaction with the firewall group methods for the Vultr API
func (*FireWallGroupServiceHandler) ChangeDescription ¶
func (f *FireWallGroupServiceHandler) ChangeDescription(ctx context.Context, groupID, description string) error
ChangeDescription will change the description of a firewall group
func (*FireWallGroupServiceHandler) Create ¶
func (f *FireWallGroupServiceHandler) Create(ctx context.Context, description string) (*FirewallGroup, error)
Create will create a new firewall group on your Vultr account
func (*FireWallGroupServiceHandler) Delete ¶
func (f *FireWallGroupServiceHandler) Delete(ctx context.Context, groupID string) error
Delete will delete a firewall group from your Vultr account
func (*FireWallGroupServiceHandler) Get ¶
func (f *FireWallGroupServiceHandler) Get(ctx context.Context, groupID string) (*FirewallGroup, error)
Get will return a firewall group based on provided groupID from your Vultr account
func (*FireWallGroupServiceHandler) List ¶ added in v0.1.2
func (f *FireWallGroupServiceHandler) List(ctx context.Context) ([]FirewallGroup, error)
List will return a list of all firewall groups on your Vultr account
type FireWallRuleService ¶
type FireWallRuleService interface { Create(ctx context.Context, groupID, protocol, port, network, notes string) (*FirewallRule, error) Delete(ctx context.Context, groupID, ruleID string) error ListByIPType(ctx context.Context, groupID, ipType string) ([]FirewallRule, error) List(ctx context.Context, groupID string) ([]FirewallRule, error) }
FireWallRuleService is the interface to interact with the firewall rule endpoints on the Vultr API Link: https://www.vultr.com/api/#firewall
type FireWallRuleServiceHandler ¶
type FireWallRuleServiceHandler struct {
// contains filtered or unexported fields
}
FireWallRuleServiceHandler handles interaction with the firewall rule methods for the Vultr API
func (*FireWallRuleServiceHandler) Create ¶
func (f *FireWallRuleServiceHandler) Create(ctx context.Context, groupID, protocol, port, cdirBlock, notes string) (*FirewallRule, error)
Create will create a rule in a firewall group.
func (*FireWallRuleServiceHandler) Delete ¶
func (f *FireWallRuleServiceHandler) Delete(ctx context.Context, groupID, ruleID string) error
Delete will delete a firewall rule on your Vultr account
func (*FireWallRuleServiceHandler) List ¶ added in v0.1.2
func (f *FireWallRuleServiceHandler) List(ctx context.Context, groupID string) ([]FirewallRule, error)
List will return both ipv4 an ipv6 firewall rules that are defined within a firewall group
func (*FireWallRuleServiceHandler) ListByIPType ¶ added in v0.1.3
func (f *FireWallRuleServiceHandler) ListByIPType(ctx context.Context, groupID, ipType string) ([]FirewallRule, error)
List will list the current firewall rules in a firewall group. ipType values that can be passed in are "v4", "v6"
type FirewallGroup ¶
type FirewallGroup struct { FirewallGroupID string `json:"FIREWALLGROUPID"` Description string `json:"description"` DateCreated string `json:"date_created"` DateModified string `json:"date_modified"` InstanceCount int `json:"instance_count"` RuleCount int `json:"rule_count"` MaxRuleCount int `json:"max_rule_count"` }
FirewallGroup represents a Vultr firewall group
type FirewallGroupService ¶
type FirewallGroupService interface { Create(ctx context.Context, description string) (*FirewallGroup, error) Delete(ctx context.Context, groupID string) error List(ctx context.Context) ([]FirewallGroup, error) Get(ctx context.Context, groupID string) (*FirewallGroup, error) ChangeDescription(ctx context.Context, groupID, description string) error }
FirewallGroupService is the interface to interact with the firewall group endpoints on the Vultr API Link: https://www.vultr.com/api/#firewall
type FirewallRule ¶
type FirewallRule struct { RuleNumber int `json:"rulenumber"` Action string `json:"action"` Protocol string `json:"protocol"` Port string `json:"port"` Network *net.IPNet `json:"network"` Notes string `json:"notes"` }
FirewallRule represents a Vultr firewall rule
func (*FirewallRule) UnmarshalJSON ¶
func (f *FirewallRule) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON implements a custom unmarshaler on FirewallRule This is done to help reduce data inconsistency with V1 of the Vultr API It also merges the subnet & subnet_mask into a single type of *net.IPNet
type IPV4 ¶
type IPV4 struct { IP string `json:"ip"` Netmask string `json:"netmask"` Gateway string `json:"gateway"` Type string `json:"type"` Reverse string `json:"reverse"` }
IPV4 represents IPV4 information for a VPS
type IPV6 ¶
type IPV6 struct { IP string `json:"ip"` Network string `json:"network"` NetworkSize string `json:"network_size"` Type string `json:"type"` }
IPV6 represents IPV6 information for a VPS
type ISO ¶ added in v0.1.1
type ISO struct { ISOID int `json:"ISOID"` DateCreated string `json:"date_created"` FileName string `json:"filename"` Size int `json:"size"` MD5Sum string `json:"md5sum"` SHA512Sum string `json:"sha512sum"` Status string `json:"status"` }
ISO represents ISOs currently available on this account.
type ISOService ¶ added in v0.1.1
type ISOService interface { CreateFromURL(ctx context.Context, ISOURL string) (*ISO, error) Delete(ctx context.Context, ISOID int) error List(ctx context.Context) ([]ISO, error) GetPublicList(ctx context.Context) ([]PublicISO, error) }
ISOService is the interface to interact with the ISO endpoints on the Vultr API Link: https://www.vultr.com/api/#ISO
type ISOServiceHandler ¶ added in v0.1.1
type ISOServiceHandler struct {
Client *Client
}
ISOServiceHandler handles interaction with the ISO methods for the Vultr API
func (*ISOServiceHandler) CreateFromURL ¶ added in v0.1.1
CreateFromURL will create a new ISO image on your account
func (*ISOServiceHandler) Delete ¶ added in v0.1.1
func (i *ISOServiceHandler) Delete(ctx context.Context, isoID int) error
Delete will delete an ISO image from your account
func (*ISOServiceHandler) GetPublicList ¶ added in v0.1.1
func (i *ISOServiceHandler) GetPublicList(ctx context.Context) ([]PublicISO, error)
GetPublicList will list public ISOs offered in the Vultr ISO library.
type Network ¶
type Network struct { NetworkID string `json:"NETWORKID"` RegionID string `json:"DCID"` Description string `json:"description"` V4Subnet string `json:"v4_subnet"` V4SubnetMask int `json:"v4_subnet_mask"` DateCreated string `json:"date_created"` }
Network represents a Vultr private network
type NetworkService ¶
type NetworkService interface { Create(ctx context.Context, regionID, description, cidrBlock string) (*Network, error) Delete(ctx context.Context, networkID string) error List(ctx context.Context) ([]Network, error) }
NetworkService is the interface to interact with the network endpoints on the Vultr API Link: https://www.vultr.com/api/#network
type NetworkServiceHandler ¶
type NetworkServiceHandler struct {
// contains filtered or unexported fields
}
NetworkServiceHandler handles interaction with the network methods for the Vultr API
func (*NetworkServiceHandler) Create ¶
func (n *NetworkServiceHandler) Create(ctx context.Context, regionID, description, cidrBlock string) (*Network, error)
Create a new private network. A private network can only be used at the location for which it was created.
func (*NetworkServiceHandler) Delete ¶ added in v0.1.2
func (n *NetworkServiceHandler) Delete(ctx context.Context, networkID string) error
Delete a private network. Before deleting, a network must be disabled from all instances. See https://www.vultr.com/api/#server_private_network_disable
type OS ¶
type OS struct { OsID int `json:"OSID"` Name string `json:"name"` Arch string `json:"arch"` Family string `json:"family"` Windows bool `json:"windows"` }
OS represents a Vultr operating system
func (*OS) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaller on OS to handle the inconsistent types returned from the Vultr API.
type OSService ¶
OSService is the interface to interact with the operating system endpoint on the Vultr API Link: https://www.vultr.com/api/#os
type OSServiceHandler ¶
type OSServiceHandler struct {
// contains filtered or unexported fields
}
OSServiceHandler handles interaction with the operating system methods for the Vultr API
type Plan ¶
type Plan struct { PlanID int `json:"VPSPLANID,string"` Name string `json:"name"` VCPUs int `json:"vcpu_count,string"` RAM string `json:"ram"` Disk string `json:"disk"` Bandwidth string `json:"bandwidth"` BandwidthGB string `json:"bandwidth_gb"` Price string `json:"price_per_month"` Windows bool `json:"windows"` PlanType string `json:"plan_type"` Regions []int `json:"available_locations"` Deprecated bool `json:"deprecated"` }
Plan represents available Plans that Vultr offers
type PlanService ¶
type PlanService interface { List(ctx context.Context, planType string) ([]Plan, error) GetBareMetalList(ctx context.Context) ([]BareMetalPlan, error) GetVc2List(ctx context.Context) ([]VCPlan, error) GetVdc2List(ctx context.Context) ([]VCPlan, error) GetVc2zList(ctx context.Context) ([]VCPlan, error) }
PlanService is the interface to interact with the Plans endpoints on the Vultr API Link: https://www.vultr.com/api/#plans
type PlanServiceHandler ¶
type PlanServiceHandler struct {
Client *Client
}
PlanServiceHandler handles interaction with the Plans methods for the Vultr API
func (*PlanServiceHandler) GetBareMetalList ¶
func (p *PlanServiceHandler) GetBareMetalList(ctx context.Context) ([]BareMetalPlan, error)
GetBareMetalList retrieves a list of all active bare metal plans.
func (*PlanServiceHandler) GetVc2List ¶
func (p *PlanServiceHandler) GetVc2List(ctx context.Context) ([]VCPlan, error)
GetVc2List retrieve a list of all active vc2 plans.
func (*PlanServiceHandler) GetVc2zList ¶ added in v0.1.3
func (p *PlanServiceHandler) GetVc2zList(ctx context.Context) ([]VCPlan, error)
GetVc2zList Retrieve a list of all active vc2z plans (high frequency)
func (*PlanServiceHandler) GetVdc2List ¶
func (p *PlanServiceHandler) GetVdc2List(ctx context.Context) ([]VCPlan, error)
GetVdc2List Retrieve a list of all active vdc2 plans
type PrivateNetwork ¶
type PrivateNetwork struct { NetworkID string `json:"NETWORKID"` MacAddress string `json:"mac_address"` IPAddress string `json:"ip_address"` }
PrivateNetwork represents a private network attached to a VPS
type PublicISO ¶ added in v0.1.1
type PublicISO struct { ISOID int `json:"ISOID"` Name string `json:"name"` Description string `json:"description"` }
PublicISO represents public ISOs offered in the Vultr ISO library.
type Region ¶
type Region struct { RegionID string `json:"DCID"` Name string `json:"name"` Country string `json:"country"` Continent string `json:"continent"` State string `json:"state"` Ddos bool `json:"ddos_protection"` BlockStorage bool `json:"block_storage"` RegionCode string `json:"regioncode"` }
Region represents a Vultr region
type RegionService ¶
type RegionService interface { Availability(ctx context.Context, regionID int, planType string) ([]int, error) BareMetalAvailability(ctx context.Context, regionID int) ([]int, error) Vc2Availability(ctx context.Context, regionID int) ([]int, error) Vdc2Availability(ctx context.Context, regionID int) ([]int, error) List(ctx context.Context) ([]Region, error) }
RegionService is the interface to interact with Region endpoints on the Vultr API Link: https://www.vultr.com/api/#regions
type RegionServiceHandler ¶
type RegionServiceHandler struct {
Client *Client
}
RegionServiceHandler handles interaction with the region methods for the Vultr API
func (*RegionServiceHandler) Availability ¶
func (r *RegionServiceHandler) Availability(ctx context.Context, regionID int, planType string) ([]int, error)
Availability retrieves a list of the VPSPLANIDs currently available for a given location.
func (*RegionServiceHandler) BareMetalAvailability ¶
func (r *RegionServiceHandler) BareMetalAvailability(ctx context.Context, regionID int) ([]int, error)
BareMetalAvailability retrieve a list of the METALPLANIDs currently available for a given location.
func (*RegionServiceHandler) List ¶ added in v0.1.2
func (r *RegionServiceHandler) List(ctx context.Context) ([]Region, error)
List retrieves a list of all active regions
func (*RegionServiceHandler) Vc2Availability ¶
Vc2Availability retrieve a list of the vc2 VPSPLANIDs currently available for a given location.
func (*RegionServiceHandler) Vdc2Availability ¶
Vdc2Availability retrieves a list of the vdc2 VPSPLANIDs currently available for a given location.
type RequestCompletionCallback ¶
RequestCompletionCallback defines the type of the request callback function
type ReservedIP ¶
type ReservedIP struct { ReservedIPID string `json:"SUBID"` RegionID int `json:"DCID"` IPType string `json:"ip_type"` Subnet string `json:"subnet"` SubnetSize int `json:"subnet_size"` Label string `json:"label"` AttachedID string `json:"attached_SUBID"` }
ReservedIP represents an reserved IP on Vultr
func (*ReservedIP) UnmarshalJSON ¶
func (r *ReservedIP) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON implements json.Unmarshaller on ReservedIP to handle the inconsistent types returned from the Vultr API.
type ReservedIPService ¶
type ReservedIPService interface { Attach(ctx context.Context, ip, InstanceID string) error Convert(ctx context.Context, ip, InstanceID, label string) (*ReservedIP, error) Create(ctx context.Context, regionID int, ipType, label string) (*ReservedIP, error) Delete(ctx context.Context, ip string) error Detach(ctx context.Context, ip, InstanceID string) error List(ctx context.Context) ([]ReservedIP, error) }
ReservedIPService is the interface to interact with the reserved IP endpoints on the Vultr API Link: https://www.vultr.com/api/#reservedip
type ReservedIPServiceHandler ¶
type ReservedIPServiceHandler struct {
// contains filtered or unexported fields
}
ReservedIPServiceHandler handles interaction with the reserved IP methods for the Vultr API
func (*ReservedIPServiceHandler) Attach ¶
func (r *ReservedIPServiceHandler) Attach(ctx context.Context, ip, InstanceID string) error
Attach a reserved IP to an existing subscription
func (*ReservedIPServiceHandler) Convert ¶
func (r *ReservedIPServiceHandler) Convert(ctx context.Context, ip, InstanceID, label string) (*ReservedIP, error)
Convert an existing IP on a subscription to a reserved IP.
func (*ReservedIPServiceHandler) Create ¶
func (r *ReservedIPServiceHandler) Create(ctx context.Context, regionID int, ipType, label string) (*ReservedIP, error)
Create adds the specified reserved IP to your Vultr account
func (*ReservedIPServiceHandler) Delete ¶ added in v0.1.2
func (r *ReservedIPServiceHandler) Delete(ctx context.Context, ip string) error
Delete removes the specified reserved IP from your Vultr account
func (*ReservedIPServiceHandler) Detach ¶
func (r *ReservedIPServiceHandler) Detach(ctx context.Context, ip, InstanceID string) error
Detach a reserved IP from an existing subscription.
func (*ReservedIPServiceHandler) List ¶ added in v0.1.2
func (r *ReservedIPServiceHandler) List(ctx context.Context) ([]ReservedIP, error)
List lists all the reserved IPs associated with your Vultr account
type ReverseIPV6 ¶
ReverseIPV6 represents IPV6 reverse DNS entries
type SSHKey ¶
type SSHKey struct { SSHKeyID string `json:"SSHKEYID"` Name string `json:"name"` Key string `json:"ssh_key"` DateCreated string `json:"date_created"` }
SSHKey represents an SSH Key on Vultr
type SSHKeyService ¶
type SSHKeyService interface { Create(ctx context.Context, name, sshKey string) (*SSHKey, error) Delete(ctx context.Context, sshKeyID string) error List(ctx context.Context) ([]SSHKey, error) Update(ctx context.Context, sshKey *SSHKey) error }
SSHKeyService is the interface to interact with the SSH Key endpoints on the Vultr API Link: https://www.vultr.com/api/#sshkey
type SSHKeyServiceHandler ¶
type SSHKeyServiceHandler struct {
// contains filtered or unexported fields
}
SSHKeyServiceHandler handles interaction with the SSH Key methods for the Vultr API
func (*SSHKeyServiceHandler) Delete ¶ added in v0.1.2
func (s *SSHKeyServiceHandler) Delete(ctx context.Context, sshKeyID string) error
Delete will delete the specified SHH Key from your Vultr account
type Server ¶
type Server struct { InstanceID string `json:"SUBID"` Os string `json:"os"` RAM string `json:"ram"` Disk string `json:"disk"` MainIP string `json:"main_ip"` VPSCpus string `json:"vcpu_count"` Location string `json:"location"` RegionID string `json:"DCID"` DefaultPassword string `json:"default_password"` Created string `json:"date_created"` PendingCharges string `json:"pending_charges"` Status string `json:"status"` Cost string `json:"cost_per_month"` CurrentBandwidth float64 `json:"current_bandwidth_gb"` AllowedBandwidth string `json:"allowed_bandwidth_gb"` NetmaskV4 string `json:"netmask_v4"` GatewayV4 string `json:"gateway_v4"` PowerStatus string `json:"power_status"` ServerState string `json:"server_state"` PlanID string `json:"VPSPLANID"` V6Networks []V6Network `json:"v6_networks"` Label string `json:"label"` InternalIP string `json:"internal_ip"` KVMUrl string `json:"kvm_url"` AutoBackups string `json:"auto_backups"` Tag string `json:"tag"` OsID string `json:"OSID"` AppID string `json:"APPID"` FirewallGroupID string `json:"FIREWALLGROUPID"` }
Server represents a VPS
type ServerOptions ¶
type ServerOptions struct { IPXEChain string IsoID int SnapshotID string ScriptID string EnableIPV6 bool EnablePrivateNetwork bool NetworkID []string Label string SSHKeyIDs []string AutoBackups bool AppID string UserData string NotifyActivate bool DDOSProtection bool ReservedIPV4 string Hostname string Tag string FirewallGroupID string }
ServerOptions are all optional fields that can be used during vps creation
type ServerService ¶
type ServerService interface { ChangeApp(ctx context.Context, instanceID, appID string) error ListApps(ctx context.Context, instanceID string) ([]Application, error) AppInfo(ctx context.Context, instanceID string) (*AppInfo, error) EnableBackup(ctx context.Context, instanceID string) error DisableBackup(ctx context.Context, instanceID string) error GetBackupSchedule(ctx context.Context, instanceID string) (*BackupSchedule, error) SetBackupSchedule(ctx context.Context, instanceID string, backup *BackupSchedule) error RestoreBackup(ctx context.Context, instanceID, backupID string) error RestoreSnapshot(ctx context.Context, instanceID, snapshotID string) error SetLabel(ctx context.Context, instanceID, label string) error SetTag(ctx context.Context, instanceID, tag string) error Neighbors(ctx context.Context, instanceID string) ([]int, error) EnablePrivateNetwork(ctx context.Context, instanceID, networkID string) error DisablePrivateNetwork(ctx context.Context, instanceID, networkID string) error ListPrivateNetworks(ctx context.Context, instanceID string) ([]PrivateNetwork, error) ListUpgradePlan(ctx context.Context, instanceID string) ([]int, error) UpgradePlan(ctx context.Context, instanceID, vpsPlanID string) error ListOS(ctx context.Context, instanceID string) ([]OS, error) ChangeOS(ctx context.Context, instanceID, osID string) error IsoAttach(ctx context.Context, instanceID, isoID string) error IsoDetach(ctx context.Context, instanceID string) error IsoStatus(ctx context.Context, instanceID string) (*ServerIso, error) SetFirewallGroup(ctx context.Context, instanceID, firewallGroupID string) error GetUserData(ctx context.Context, instanceID string) (*UserData, error) SetUserData(ctx context.Context, instanceID, userData string) error IPV4Info(ctx context.Context, instanceID string, public bool) ([]IPV4, error) IPV6Info(ctx context.Context, instanceID string) ([]IPV6, error) AddIPV4(ctx context.Context, instanceID string) error DestroyIPV4(ctx context.Context, instanceID, ip string) error EnableIPV6(ctx context.Context, instanceID string) error Bandwidth(ctx context.Context, instanceID string) ([]map[string]string, error) ListReverseIPV6(ctx context.Context, instanceID string) ([]ReverseIPV6, error) SetDefaultReverseIPV4(ctx context.Context, instanceID, ip string) error DeleteReverseIPV6(ctx context.Context, instanceID, ip string) error SetReverseIPV4(ctx context.Context, instanceID, ipv4, entry string) error SetReverseIPV6(ctx context.Context, instanceID, ipv6, entry string) error Start(ctx context.Context, instanceID string) error Halt(ctx context.Context, instanceID string) error Reboot(ctx context.Context, instanceID string) error Reinstall(ctx context.Context, instanceID string) error Delete(ctx context.Context, instanceID string) error Create(ctx context.Context, regionID, vpsPlanID, osID int, options *ServerOptions) (*Server, error) List(ctx context.Context) ([]Server, error) ListByLabel(ctx context.Context, label string) ([]Server, error) ListByMainIP(ctx context.Context, mainIP string) ([]Server, error) ListByTag(ctx context.Context, tag string) ([]Server, error) GetServer(ctx context.Context, instanceID string) (*Server, error) }
ServerService is the interface to interact with the server endpoints on the Vultr API Link: https://www.vultr.com/api/#server
type ServerServiceHandler ¶
type ServerServiceHandler struct {
// contains filtered or unexported fields
}
ServerServiceHandler handles interaction with the server methods for the Vultr API
func (*ServerServiceHandler) AddIPV4 ¶
func (s *ServerServiceHandler) AddIPV4(ctx context.Context, instanceID string) error
AddIPV4 will add a new IPv4 address to a server.
func (*ServerServiceHandler) AppInfo ¶
AppInfo retrieves the application information for a given VPS ID
func (*ServerServiceHandler) Bandwidth ¶
func (s *ServerServiceHandler) Bandwidth(ctx context.Context, instanceID string) ([]map[string]string, error)
Bandwidth will get the bandwidth used by a VPS
func (*ServerServiceHandler) ChangeApp ¶
func (s *ServerServiceHandler) ChangeApp(ctx context.Context, instanceID, appID string) error
ChangeApp changes the VPS to a different application.
func (*ServerServiceHandler) ChangeOS ¶
func (s *ServerServiceHandler) ChangeOS(ctx context.Context, instanceID, osID string) error
ChangeOS changes the VPS to a different operating system. All data will be permanently lost.
func (*ServerServiceHandler) Create ¶
func (s *ServerServiceHandler) Create(ctx context.Context, regionID, vpsPlanID, osID int, options *ServerOptions) (*Server, error)
Create will create a new VPS In order to create a server using a snapshot, use OSID 164 and specify a SNAPSHOTID. Similarly, to create a server using an ISO use OSID 159 and specify an ISOID.
func (*ServerServiceHandler) Delete ¶ added in v0.1.2
func (s *ServerServiceHandler) Delete(ctx context.Context, instanceID string) error
Delete a VPS. All data will be permanently lost, and the IP address will be released
func (*ServerServiceHandler) DeleteReverseIPV6 ¶
func (s *ServerServiceHandler) DeleteReverseIPV6(ctx context.Context, instanceID, ip string) error
DeleteReverseIPV6 Remove a reverse DNS entry for an IPv6 address of a VPS. Upon success, DNS changes may take 6-12 hours to become active.
func (*ServerServiceHandler) DestroyIPV4 ¶
func (s *ServerServiceHandler) DestroyIPV4(ctx context.Context, instanceID, ip string) error
DestroyIPV4 removes a secondary IPv4 address from a server. Your server will be hard-restarted. We suggest halting the machine gracefully before removing IPs.
func (*ServerServiceHandler) DisableBackup ¶
func (s *ServerServiceHandler) DisableBackup(ctx context.Context, instanceID string) error
DisableBackup disable automatic backups on a given VPS
func (*ServerServiceHandler) DisablePrivateNetwork ¶
func (s *ServerServiceHandler) DisablePrivateNetwork(ctx context.Context, instanceID, networkID string) error
DisablePrivateNetwork removes a private network from a server. The server will be automatically rebooted to complete the request.
func (*ServerServiceHandler) EnableBackup ¶
func (s *ServerServiceHandler) EnableBackup(ctx context.Context, instanceID string) error
EnableBackup enables automatic backups on a given VPS
func (*ServerServiceHandler) EnableIPV6 ¶
func (s *ServerServiceHandler) EnableIPV6(ctx context.Context, instanceID string) error
EnableIPV6 enables IPv6 networking on a server by assigning an IPv6 subnet to it.
func (*ServerServiceHandler) EnablePrivateNetwork ¶
func (s *ServerServiceHandler) EnablePrivateNetwork(ctx context.Context, instanceID, networkID string) error
EnablePrivateNetwork enables private networking on a server. The server will be automatically rebooted to complete the request. No action occurs if private networking was already enabled
func (*ServerServiceHandler) GetBackupSchedule ¶
func (s *ServerServiceHandler) GetBackupSchedule(ctx context.Context, instanceID string) (*BackupSchedule, error)
GetBackupSchedule retrieves the backup schedule for a given vps - all time values are in UTC
func (*ServerServiceHandler) GetUserData ¶
func (s *ServerServiceHandler) GetUserData(ctx context.Context, instanceID string) (*UserData, error)
GetUserData retrieves the (base64 encoded) user-data for this VPS
func (*ServerServiceHandler) Halt ¶
func (s *ServerServiceHandler) Halt(ctx context.Context, instanceID string) error
Halt will halt a virtual machine. This is a hard power off
func (*ServerServiceHandler) IPV4Info ¶
func (s *ServerServiceHandler) IPV4Info(ctx context.Context, instanceID string, public bool) ([]IPV4, error)
IPV4Info will list the IPv4 information of a virtual machine. Public if set to 'true', includes information about the public network adapter (such as MAC address) with the "main_ip" entry.
func (*ServerServiceHandler) IPV6Info ¶
IPV6Info will list the IPv6 information of a virtual machine. If the virtual machine does not have IPv6 enabled, then an empty array is returned.
func (*ServerServiceHandler) IsoAttach ¶
func (s *ServerServiceHandler) IsoAttach(ctx context.Context, instanceID, isoID string) error
IsoAttach will attach an ISO to the given VPS and reboot it
func (*ServerServiceHandler) IsoDetach ¶
func (s *ServerServiceHandler) IsoDetach(ctx context.Context, instanceID string) error
IsoDetach will detach the currently mounted ISO and reboot the server.
func (*ServerServiceHandler) IsoStatus ¶
func (s *ServerServiceHandler) IsoStatus(ctx context.Context, instanceID string) (*ServerIso, error)
IsoStatus retrieves the current ISO state for a given VPS. The returned state may be one of: ready | isomounting | isomounted.
func (*ServerServiceHandler) List ¶ added in v0.1.2
func (s *ServerServiceHandler) List(ctx context.Context) ([]Server, error)
List lists all VPS on the current account. This includes both pending and active servers.
func (*ServerServiceHandler) ListApps ¶
func (s *ServerServiceHandler) ListApps(ctx context.Context, instanceID string) ([]Application, error)
ListApps retrieves a list of applications to which a virtual machine can be changed.
func (*ServerServiceHandler) ListByLabel ¶ added in v0.1.2
ListByLabel lists all VPS that match the given label on the current account. This includes both pending and active servers.
func (*ServerServiceHandler) ListByMainIP ¶ added in v0.1.2
ListByMainIP lists all VPS that match the given IP address on the current account. This includes both pending and active servers.
func (*ServerServiceHandler) ListByTag ¶ added in v0.1.2
ListByTag lists all VPS that match the given tag on the current account. This includes both pending and active servers.
func (*ServerServiceHandler) ListOS ¶
ListOS retrieves a list of operating systems to which the VPS can be changed to.
func (*ServerServiceHandler) ListPrivateNetworks ¶
func (s *ServerServiceHandler) ListPrivateNetworks(ctx context.Context, instanceID string) ([]PrivateNetwork, error)
ListPrivateNetworks will list private networks attached to a vps
func (*ServerServiceHandler) ListReverseIPV6 ¶
func (s *ServerServiceHandler) ListReverseIPV6(ctx context.Context, instanceID string) ([]ReverseIPV6, error)
ListReverseIPV6 List the IPv6 reverse DNS entries of a virtual machine. Reverse DNS entries are only available for virtual machines in the "active" state. If the virtual machine does not have IPv6 enabled, then an empty array is returned.
func (*ServerServiceHandler) ListUpgradePlan ¶
func (s *ServerServiceHandler) ListUpgradePlan(ctx context.Context, instanceID string) ([]int, error)
ListUpgradePlan Retrieve a list of the planIDs for which the vps can be upgraded. An empty response array means that there are currently no upgrades available
func (*ServerServiceHandler) Neighbors ¶
Neighbors will determine what other vps are hosted on the same physical host as a given vps.
func (*ServerServiceHandler) Reboot ¶
func (s *ServerServiceHandler) Reboot(ctx context.Context, instanceID string) error
Reboot will reboot a VPS. This is a hard reboot
func (*ServerServiceHandler) Reinstall ¶
func (s *ServerServiceHandler) Reinstall(ctx context.Context, instanceID string) error
Reinstall will reinstall the operating system on a VPS.
func (*ServerServiceHandler) RestoreBackup ¶
func (s *ServerServiceHandler) RestoreBackup(ctx context.Context, instanceID, backupID string) error
RestoreBackup will restore the specified backup to the given VPS
func (*ServerServiceHandler) RestoreSnapshot ¶
func (s *ServerServiceHandler) RestoreSnapshot(ctx context.Context, instanceID, snapshotID string) error
RestoreSnapshot will restore the specified snapshot to the given VPS
func (*ServerServiceHandler) SetBackupSchedule ¶
func (s *ServerServiceHandler) SetBackupSchedule(ctx context.Context, instanceID string, backup *BackupSchedule) error
SetBackupSchedule sets the backup schedule for a given vps - all time values are in UTC
func (*ServerServiceHandler) SetDefaultReverseIPV4 ¶
func (s *ServerServiceHandler) SetDefaultReverseIPV4(ctx context.Context, instanceID, ip string) error
SetDefaultReverseIPV4 will set a reverse DNS entry for an IPv4 address of a virtual machine to the original setting. Upon success, DNS changes may take 6-12 hours to become active.
func (*ServerServiceHandler) SetFirewallGroup ¶
func (s *ServerServiceHandler) SetFirewallGroup(ctx context.Context, instanceID, firewallGroupID string) error
SetFirewallGroup will set, change, or remove the firewall group currently applied to a vps.
A value of "0" means "no firewall group"
func (*ServerServiceHandler) SetLabel ¶
func (s *ServerServiceHandler) SetLabel(ctx context.Context, instanceID, label string) error
SetLabel will set a label for a given VPS
func (*ServerServiceHandler) SetReverseIPV4 ¶
func (s *ServerServiceHandler) SetReverseIPV4(ctx context.Context, instanceID, ipv4, entry string) error
SetReverseIPV4 will set a reverse DNS entry for an IPv4 address of a virtual machine. Upon success, DNS changes may take 6-12 hours to become active.
func (*ServerServiceHandler) SetReverseIPV6 ¶
func (s *ServerServiceHandler) SetReverseIPV6(ctx context.Context, instanceID, ipv6, entry string) error
SetReverseIPV6 will set a reverse DNS entry for an IPv4 address of a virtual machine. Upon success, DNS changes may take 6-12 hours to become active.
func (*ServerServiceHandler) SetTag ¶
func (s *ServerServiceHandler) SetTag(ctx context.Context, instanceID, tag string) error
SetTag will set a tag for a given VPS
func (*ServerServiceHandler) SetUserData ¶
func (s *ServerServiceHandler) SetUserData(ctx context.Context, instanceID, userData string) error
SetUserData sets the user-data for this subscription. User-data is a generic data store, which some provisioning tools and cloud operating systems use as a configuration file. It is generally consumed only once after an instance has been launched, but individual needs may vary.
func (*ServerServiceHandler) Start ¶
func (s *ServerServiceHandler) Start(ctx context.Context, instanceID string) error
Start will start a vps. If the machine is already running, it will be restarted.
func (*ServerServiceHandler) UpgradePlan ¶
func (s *ServerServiceHandler) UpgradePlan(ctx context.Context, instanceID, vpsPlanID string) error
UpgradePlan will upgrade the plan of a virtual machine. The vps will be rebooted upon a successful upgrade.
type Snapshot ¶
type Snapshot struct { SnapshotID string `json:"SNAPSHOTID"` DateCreated string `json:"date_created"` Description string `json:"description"` Size string `json:"size"` Status string `json:"status"` OsID string `json:"OSID"` AppID string `json:"APPID"` }
Snapshot represents a Vultr snapshot
type SnapshotService ¶
type SnapshotService interface { Create(ctx context.Context, InstanceID, description string) (*Snapshot, error) CreateFromURL(ctx context.Context, snapshotURL string) (*Snapshot, error) Delete(ctx context.Context, snapshotID string) error List(ctx context.Context) ([]Snapshot, error) Get(ctx context.Context, snapshotID string) (*Snapshot, error) }
SnapshotService is the interface to interact with Snapshot endpoints on the Vultr API Link: https://www.vultr.com/api/#snapshot
type SnapshotServiceHandler ¶
type SnapshotServiceHandler struct {
Client *Client
}
SnapshotServiceHandler handles interaction with the snapshot methods for the Vultr API
func (*SnapshotServiceHandler) Create ¶
func (s *SnapshotServiceHandler) Create(ctx context.Context, InstanceID, description string) (*Snapshot, error)
Create makes a snapshot of a provided server
func (*SnapshotServiceHandler) CreateFromURL ¶
func (s *SnapshotServiceHandler) CreateFromURL(ctx context.Context, snapshotURL string) (*Snapshot, error)
CreateFromURL will create a snapshot based on an image iso from a URL you provide
func (*SnapshotServiceHandler) Delete ¶ added in v0.1.2
func (s *SnapshotServiceHandler) Delete(ctx context.Context, snapshotID string) error
Delete a snapshot based on snapshotID
type StartupScript ¶
type StartupScript struct { ScriptID string `json:"SCRIPTID"` DateCreated string `json:"date_created"` DateModified string `json:"date_modified"` Name string `json:"name"` Type string `json:"type"` Script string `json:"script"` }
StartupScript represents an startup script on Vultr
func (*StartupScript) UnmarshalJSON ¶
func (s *StartupScript) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON implements json.Unmarshaller on StartupScript to handle the inconsistent types returned from the Vultr API.
type StartupScriptService ¶
type StartupScriptService interface { Create(ctx context.Context, name, script, scriptType string) (*StartupScript, error) Delete(ctx context.Context, scriptID string) error List(ctx context.Context) ([]StartupScript, error) Update(ctx context.Context, script *StartupScript) error }
StartupScriptService is the interface to interact with the startup script endpoints on the Vultr API Link: https://www.vultr.com/api/#startupscript
type StartupScriptServiceHandler ¶
type StartupScriptServiceHandler struct {
// contains filtered or unexported fields
}
StartupScriptServiceHandler handles interaction with the startup script methods for the Vultr API
func (*StartupScriptServiceHandler) Create ¶
func (s *StartupScriptServiceHandler) Create(ctx context.Context, name, script, scriptType string) (*StartupScript, error)
Create will add the specified startup script to your Vultr account
func (*StartupScriptServiceHandler) Delete ¶ added in v0.1.2
func (s *StartupScriptServiceHandler) Delete(ctx context.Context, scriptID string) error
Delete will delete the specified startup script from your Vultr account
func (*StartupScriptServiceHandler) List ¶ added in v0.1.2
func (s *StartupScriptServiceHandler) List(ctx context.Context) ([]StartupScript, error)
List will list all the startup scripts associated with your Vultr account
func (*StartupScriptServiceHandler) Update ¶
func (s *StartupScriptServiceHandler) Update(ctx context.Context, script *StartupScript) error
Update will update the given startup script. Empty strings will be ignored.
type User ¶
type User struct { UserID string `json:"USERID"` Name string `json:"name"` Email string `json:"email"` Password string `json:"password"` APIEnabled string `json:"api_enabled"` ACL []string `json:"acls"` APIKey string `json:"api_key"` }
User represents an user on Vultr
type UserData ¶
type UserData struct {
UserData string `json:"userdata"`
}
UserData represents the user data you can give a VPS
type UserService ¶
type UserService interface { Create(ctx context.Context, email, name, password, apiEnabled string, acls []string) (*User, error) Delete(ctx context.Context, userID string) error List(ctx context.Context) ([]User, error) Update(ctx context.Context, user *User) error }
UserService is the interface to interact with the user management endpoints on the Vultr API Link: https://www.vultr.com/api/#user
type UserServiceHandler ¶
type UserServiceHandler struct {
// contains filtered or unexported fields
}
UserServiceHandler handles interaction with the user methods for the Vultr API
func (*UserServiceHandler) Create ¶
func (u *UserServiceHandler) Create(ctx context.Context, email, name, password, apiEnabled string, acls []string) (*User, error)
Create will add the specified user to your Vultr account
func (*UserServiceHandler) Delete ¶
func (u *UserServiceHandler) Delete(ctx context.Context, userID string) error
Delete will remove the specified user from your Vultr account
type V6Network ¶
type V6Network struct { Network string `json:"v6_network"` MainIP string `json:"v6_main_ip"` NetworkSize string `json:"v6_network_size"` }
V6Network represents an IPV6 network on a VPS
type VCPlan ¶
type VCPlan struct { PlanID string `json:"VPSPLANID"` Name string `json:"name"` VCPUs string `json:"vcpu_count"` RAM string `json:"ram"` Disk string `json:"disk"` Bandwidth string `json:"bandwidth"` BandwidthGB string `json:"bandwidth_gb"` Price string `json:"price_per_month"` PlanType string `json:"plan_type"` }
VCPlan represents either a vdc2 or a vc2 plan