Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update SDK with 4.20 APIs #93

Merged
merged 1 commit into from
Dec 13, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions cloudstack/AccountService.go
Original file line number Diff line number Diff line change
@@ -485,6 +485,7 @@ type CreateAccountResponse struct {
Snapshotlimit string `json:"snapshotlimit"`
Snapshottotal int64 `json:"snapshottotal"`
State string `json:"state"`
Taggedresources []string `json:"taggedresources"`
Templateavailable string `json:"templateavailable"`
Templatelimit string `json:"templatelimit"`
Templatetotal int64 `json:"templatetotal"`
@@ -811,6 +812,7 @@ type DisableAccountResponse struct {
Snapshotlimit string `json:"snapshotlimit"`
Snapshottotal int64 `json:"snapshottotal"`
State string `json:"state"`
Taggedresources []string `json:"taggedresources"`
Templateavailable string `json:"templateavailable"`
Templatelimit string `json:"templatelimit"`
Templatetotal int64 `json:"templatetotal"`
@@ -1009,6 +1011,7 @@ type EnableAccountResponse struct {
Snapshotlimit string `json:"snapshotlimit"`
Snapshottotal int64 `json:"snapshottotal"`
State string `json:"state"`
Taggedresources []string `json:"taggedresources"`
Templateavailable string `json:"templateavailable"`
Templatelimit string `json:"templatelimit"`
Templatetotal int64 `json:"templatetotal"`
@@ -1200,6 +1203,9 @@ func (p *ListAccountsParams) toURLValues() url.Values {
if v, found := p.p["state"]; found {
u.Set("state", v.(string))
}
if v, found := p.p["tag"]; found {
u.Set("tag", v.(string))
}
return u
}

@@ -1476,6 +1482,27 @@ func (p *ListAccountsParams) GetState() (string, bool) {
return value, ok
}

func (p *ListAccountsParams) SetTag(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["tag"] = v
}

func (p *ListAccountsParams) ResetTag() {
if p.p != nil && p.p["tag"] != nil {
delete(p.p, "tag")
}
}

func (p *ListAccountsParams) GetTag() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["tag"].(string)
return value, ok
}

// You should always use this function to get a new ListAccountsParams instance,
// as then you are sure you have configured all required params
func (s *AccountService) NewListAccountsParams() *ListAccountsParams {
@@ -1634,6 +1661,7 @@ type Account struct {
Snapshotlimit string `json:"snapshotlimit"`
Snapshottotal int64 `json:"snapshottotal"`
State string `json:"state"`
Taggedresources []string `json:"taggedresources"`
Templateavailable string `json:"templateavailable"`
Templatelimit string `json:"templatelimit"`
Templatetotal int64 `json:"templatetotal"`
@@ -1984,6 +2012,7 @@ type ProjectAccount struct {
Snapshotlimit string `json:"snapshotlimit"`
Snapshottotal int64 `json:"snapshottotal"`
State string `json:"state"`
Taggedresources []string `json:"taggedresources"`
Tags []Tags `json:"tags"`
Templateavailable string `json:"templateavailable"`
Templatelimit string `json:"templatelimit"`
@@ -2006,6 +2035,7 @@ type Tags struct {
Customer string `json:"customer"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Key string `json:"key"`
Project string `json:"project"`
Projectid string `json:"projectid"`
@@ -2146,6 +2176,7 @@ type LockAccountResponse struct {
Snapshotlimit string `json:"snapshotlimit"`
Snapshottotal int64 `json:"snapshottotal"`
State string `json:"state"`
Taggedresources []string `json:"taggedresources"`
Templateavailable string `json:"templateavailable"`
Templatelimit string `json:"templatelimit"`
Templatetotal int64 `json:"templatetotal"`
@@ -2367,6 +2398,7 @@ type MarkDefaultZoneForAccountResponse struct {
Snapshotlimit string `json:"snapshotlimit"`
Snapshottotal int64 `json:"snapshottotal"`
State string `json:"state"`
Taggedresources []string `json:"taggedresources"`
Templateavailable string `json:"templateavailable"`
Templatelimit string `json:"templatelimit"`
Templatetotal int64 `json:"templatetotal"`
@@ -2664,6 +2696,7 @@ type UpdateAccountResponse struct {
Snapshotlimit string `json:"snapshotlimit"`
Snapshottotal int64 `json:"snapshottotal"`
State string `json:"state"`
Taggedresources []string `json:"taggedresources"`
Templateavailable string `json:"templateavailable"`
Templatelimit string `json:"templatelimit"`
Templatetotal int64 `json:"templatetotal"`
31 changes: 31 additions & 0 deletions cloudstack/AddressService.go
Original file line number Diff line number Diff line change
@@ -346,7 +346,9 @@ type AssociateIpAddressResponse struct {
Associatednetworkname string `json:"associatednetworkname"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Fordisplay bool `json:"fordisplay"`
Forsystemvms bool `json:"forsystemvms"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
Hasannotations bool `json:"hasannotations"`
Hasrules bool `json:"hasrules"`
@@ -515,6 +517,10 @@ func (p *ListPublicIpAddressesParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("forloadbalancing", vv)
}
if v, found := p.p["forsystemvms"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("forsystemvms", vv)
}
if v, found := p.p["forvirtualnetwork"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("forvirtualnetwork", vv)
@@ -713,6 +719,27 @@ func (p *ListPublicIpAddressesParams) GetForloadbalancing() (bool, bool) {
return value, ok
}

func (p *ListPublicIpAddressesParams) SetForsystemvms(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["forsystemvms"] = v
}

func (p *ListPublicIpAddressesParams) ResetForsystemvms() {
if p.p != nil && p.p["forsystemvms"] != nil {
delete(p.p, "forsystemvms")
}
}

func (p *ListPublicIpAddressesParams) GetForsystemvms() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["forsystemvms"].(bool)
return value, ok
}

func (p *ListPublicIpAddressesParams) SetForvirtualnetwork(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1180,7 +1207,9 @@ type PublicIpAddress struct {
Associatednetworkname string `json:"associatednetworkname"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Fordisplay bool `json:"fordisplay"`
Forsystemvms bool `json:"forsystemvms"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
Hasannotations bool `json:"hasannotations"`
Hasrules bool `json:"hasrules"`
@@ -1349,7 +1378,9 @@ type UpdateIpAddressResponse struct {
Associatednetworkname string `json:"associatednetworkname"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Fordisplay bool `json:"fordisplay"`
Forsystemvms bool `json:"forsystemvms"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
Hasannotations bool `json:"hasannotations"`
Hasrules bool `json:"hasrules"`
80 changes: 46 additions & 34 deletions cloudstack/AffinityGroupService.go
Original file line number Diff line number Diff line change
@@ -245,18 +245,20 @@ func (s *AffinityGroupService) CreateAffinityGroup(p *CreateAffinityGroupParams)
}

type CreateAffinityGroupResponse struct {
Account string `json:"account"`
Description string `json:"description"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Id string `json:"id"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Name string `json:"name"`
Project string `json:"project"`
Projectid string `json:"projectid"`
Type string `json:"type"`
VirtualmachineIds []string `json:"virtualmachineIds"`
Account string `json:"account"`
Dedicatedresources []string `json:"dedicatedresources"`
Description string `json:"description"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Id string `json:"id"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Name string `json:"name"`
Project string `json:"project"`
Projectid string `json:"projectid"`
Type string `json:"type"`
VirtualmachineIds []string `json:"virtualmachineIds"`
}

type DeleteAffinityGroupParams struct {
@@ -980,18 +982,20 @@ type ListAffinityGroupsResponse struct {
}

type AffinityGroup struct {
Account string `json:"account"`
Description string `json:"description"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Id string `json:"id"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Name string `json:"name"`
Project string `json:"project"`
Projectid string `json:"projectid"`
Type string `json:"type"`
VirtualmachineIds []string `json:"virtualmachineIds"`
Account string `json:"account"`
Dedicatedresources []string `json:"dedicatedresources"`
Description string `json:"description"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Id string `json:"id"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Name string `json:"name"`
Project string `json:"project"`
Projectid string `json:"projectid"`
Type string `json:"type"`
VirtualmachineIds []string `json:"virtualmachineIds"`
}

type UpdateVMAffinityGroupParams struct {
@@ -1137,6 +1141,7 @@ type UpdateVMAffinityGroupResponse struct {
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
Created string `json:"created"`
Deleteprotection bool `json:"deleteprotection"`
Details map[string]string `json:"details"`
Diskioread int64 `json:"diskioread"`
Diskiowrite int64 `json:"diskiowrite"`
@@ -1148,6 +1153,7 @@ type UpdateVMAffinityGroupResponse struct {
Displayvm bool `json:"displayvm"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
Group string `json:"group"`
Groupid string `json:"groupid"`
@@ -1161,6 +1167,7 @@ type UpdateVMAffinityGroupResponse struct {
Icon interface{} `json:"icon"`
Id string `json:"id"`
Instancename string `json:"instancename"`
Ipaddress string `json:"ipaddress"`
Isdynamicallyscalable bool `json:"isdynamicallyscalable"`
Isodisplaytext string `json:"isodisplaytext"`
Isoid string `json:"isoid"`
@@ -1198,6 +1205,7 @@ type UpdateVMAffinityGroupResponse struct {
State string `json:"state"`
Tags []Tags `json:"tags"`
Templatedisplaytext string `json:"templatedisplaytext"`
Templateformat string `json:"templateformat"`
Templateid string `json:"templateid"`
Templatename string `json:"templatename"`
Templatetype string `json:"templatetype"`
@@ -1209,6 +1217,7 @@ type UpdateVMAffinityGroupResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
Zoneid string `json:"zoneid"`
@@ -1220,6 +1229,7 @@ type UpdateVMAffinityGroupResponseSecuritygroup struct {
Description string `json:"description"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Egressrule []UpdateVMAffinityGroupResponseSecuritygroupRule `json:"egressrule"`
Id string `json:"id"`
Ingressrule []UpdateVMAffinityGroupResponseSecuritygroupRule `json:"ingressrule"`
@@ -1245,16 +1255,18 @@ type UpdateVMAffinityGroupResponseSecuritygroupRule struct {
}

type UpdateVMAffinityGroupResponseAffinitygroup struct {
Account string `json:"account"`
Description string `json:"description"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Id string `json:"id"`
Name string `json:"name"`
Project string `json:"project"`
Projectid string `json:"projectid"`
Type string `json:"type"`
VirtualmachineIds []string `json:"virtualmachineIds"`
Account string `json:"account"`
Dedicatedresources []string `json:"dedicatedresources"`
Description string `json:"description"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Id string `json:"id"`
Name string `json:"name"`
Project string `json:"project"`
Projectid string `json:"projectid"`
Type string `json:"type"`
VirtualmachineIds []string `json:"virtualmachineIds"`
}

func (r *UpdateVMAffinityGroupResponse) UnmarshalJSON(b []byte) error {
Loading
Loading