func InstancesList(tags string) (json *gabs.Container, err error) { if tags != "" { return makeJSONCall(config.URL()+"/v1/instances?tags="+tags, HTTPGet, "") } else { return makeJSONCall(config.URL()+"/v1/instances", HTTPGet, "") } }
func QuotaGet(account string) (json *gabs.Container, err error) { if account != "" { return makeJSONCall(config.URL()+"/v1/quota?username="******"") } else { return makeJSONCall(config.URL()+"/v1/quota", HTTPGet, "") } }
func InstanceReboot(id string, hard bool) (json *gabs.Container, err error) { if hard { return makeJSONCall(config.URL()+"/v1/instances/"+id+"/hard_reboots", HTTPPost, "") } else { return makeJSONCall(config.URL()+"/v1/instances/"+id+"/soft_reboots", HTTPPost, "") } }
func SnapshotCreate(name, instance_id string, safe bool) (json *gabs.Container, err error) { saveVal := "false" if safe { saveVal = "true" } return makeJSONCall(config.URL()+"/v1/snapshots/"+name, HTTPPut, "instance_id="+instance_id+"&safe="+saveVal) }
func IPCreate(instanceID string, public bool) (json *gabs.Container, err error) { params := "" if public { params = "public=true" } return makeJSONCall(config.URL()+"/v1/instances/"+instanceID+"/ip", HTTPPost, params) }
func AccountFindByToken(token string) string { accounts, err := makeJSONCall(config.URL()+"/v1/accounts", HTTPGet, "") if err != nil { fmt.Println(err) return "" } items, _ := accounts.Children() for _, child := range items { if child.S("api_key").Data().(string) == token { return child.S("username").Data().(string) } } return "" }
func InstanceDestroy(id string) (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/instances/"+id, HTTPDelete, "") }
func AccountDelete(name string) (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/accounts/"+name, HTTPDelete, "") }
func AccountReset(name string) (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/accounts/"+name, HTTPPut, fmt.Sprintf("name=%s", name)) }
func RegionsList() (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/regions", HTTPGet, "") }
func AccountCreate(name string) (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/accounts", HTTPPost, fmt.Sprintf("name=%s", name)) }
func FirewallRuleDelete(name, id string) (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/firewalls/"+name+"/rules/"+id, HTTPDelete, "") }
func SshKeyCreate(params SshKeyParams) (json *gabs.Container, err error) { v, _ := query.Values(params) return makeJSONCall(config.URL()+"/v1/sshkeys", HTTPPost, v.Encode()) }
func FirewallCreate(name string) (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/firewalls", HTTPPost, "name="+name) }
func FirewallRules(name string) (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/firewalls/"+name+"/rules", HTTPGet, "") }
func AccountsList() (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/accounts", HTTPGet, "") }
func SnapshotsList() (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/snapshots", HTTPGet, "") }
func InstanceCreate(params InstanceParams) (json *gabs.Container, err error) { v, _ := query.Values(params) return makeJSONCall(config.URL()+"/v1/instances", HTTPPost, v.Encode()) }
func SnapshotDestroy(id string) (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/snapshots/"+id, HTTPDelete, "") }
func QuotaSet(params QuotaParams) (json *gabs.Container, err error) { v, _ := query.Values(params) return makeJSONCall(config.URL()+"/v1/quota/"+params.Account, HTTPPut, v.Encode()) }
func FirewallsList() (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/firewalls", HTTPGet, "") }
func InstanceRestore(id, snapshot string) (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/instances/"+id+"/restore", HTTPPut, "snapshot="+snapshot) }
func FirewallDestroy(name string) (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/firewalls/"+name, HTTPDelete, "") }
func InstanceRebuild(id string) (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/instances/"+id+"/rebuild", HTTPPut, "") }
func FirewallRuleCreate(name string, params FirewallRuleParams) (json *gabs.Container, err error) { v, _ := query.Values(params) return makeJSONCall(config.URL()+"/v1/firewalls/"+name+"/rules", HTTPPost, v.Encode()) }
func InstanceFirewall(id, firewall string) (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/instances/"+id+"/firewall", HTTPPut, "name="+firewall) }
func SshKeysList() (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/sshkeys", HTTPGet, "") }
func InstanceTags(id, tags string) (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/instances/"+id+"/tags", HTTPPut, "tags="+tags) }
func SshKeyDelete(name string) (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/sshkeys/"+name, HTTPDelete, "") }
func InstanceUpgrade(id, size string) (json *gabs.Container, err error) { return makeJSONCall(config.URL()+"/v1/instances/"+id, HTTPPut, "size="+size) }