作者:absolutedevop
项目:civ
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, "")
}
}
作者:absolutedevop
项目:civ
func QuotaGet(account string) (json *gabs.Container, err error) {
if account != "" {
return makeJSONCall(config.URL()+"/v1/quota?username="+account, HTTPGet, "")
} else {
return makeJSONCall(config.URL()+"/v1/quota", HTTPGet, "")
}
}
作者:absolutedevop
项目:civ
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, "")
}
}
作者:absolutedevop
项目:civ
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)
}
作者:absolutedevop
项目:civ
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)
}
作者:absolutedevop
项目:civ
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 ""
}
作者:absolutedevop
项目:civ
func InstanceDestroy(id string) (json *gabs.Container, err error) {
return makeJSONCall(config.URL()+"/v1/instances/"+id, HTTPDelete, "")
}
作者:absolutedevop
项目:civ
func AccountDelete(name string) (json *gabs.Container, err error) {
return makeJSONCall(config.URL()+"/v1/accounts/"+name, HTTPDelete, "")
}
作者:absolutedevop
项目:civ
func AccountReset(name string) (json *gabs.Container, err error) {
return makeJSONCall(config.URL()+"/v1/accounts/"+name, HTTPPut, fmt.Sprintf("name=%s", name))
}
作者:absolutedevop
项目:civ
func RegionsList() (json *gabs.Container, err error) {
return makeJSONCall(config.URL()+"/v1/regions", HTTPGet, "")
}
作者:absolutedevop
项目:civ
func AccountCreate(name string) (json *gabs.Container, err error) {
return makeJSONCall(config.URL()+"/v1/accounts", HTTPPost, fmt.Sprintf("name=%s", name))
}
作者:absolutedevop
项目:civ
func FirewallRuleDelete(name, id string) (json *gabs.Container, err error) {
return makeJSONCall(config.URL()+"/v1/firewalls/"+name+"/rules/"+id, HTTPDelete, "")
}
作者:absolutedevop
项目:civ
func SshKeyCreate(params SshKeyParams) (json *gabs.Container, err error) {
v, _ := query.Values(params)
return makeJSONCall(config.URL()+"/v1/sshkeys", HTTPPost, v.Encode())
}
作者:absolutedevop
项目:civ
func FirewallCreate(name string) (json *gabs.Container, err error) {
return makeJSONCall(config.URL()+"/v1/firewalls", HTTPPost, "name="+name)
}
作者:absolutedevop
项目:civ
func FirewallRules(name string) (json *gabs.Container, err error) {
return makeJSONCall(config.URL()+"/v1/firewalls/"+name+"/rules", HTTPGet, "")
}
作者:absolutedevop
项目:civ
func AccountsList() (json *gabs.Container, err error) {
return makeJSONCall(config.URL()+"/v1/accounts", HTTPGet, "")
}
作者:absolutedevop
项目:civ
func SnapshotsList() (json *gabs.Container, err error) {
return makeJSONCall(config.URL()+"/v1/snapshots", HTTPGet, "")
}
作者:absolutedevop
项目:civ
func InstanceCreate(params InstanceParams) (json *gabs.Container, err error) {
v, _ := query.Values(params)
return makeJSONCall(config.URL()+"/v1/instances", HTTPPost, v.Encode())
}
作者:absolutedevop
项目:civ
func SnapshotDestroy(id string) (json *gabs.Container, err error) {
return makeJSONCall(config.URL()+"/v1/snapshots/"+id, HTTPDelete, "")
}
作者:absolutedevop
项目:civ
func QuotaSet(params QuotaParams) (json *gabs.Container, err error) {
v, _ := query.Values(params)
return makeJSONCall(config.URL()+"/v1/quota/"+params.Account, HTTPPut, v.Encode())
}