You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ro...@apache.org on 2021/07/27 06:26:17 UTC
[cloudstack-go] 03/03: cloudstack: auto-generate sdk based on
4.15.1.0 listApis.json
This is an automated email from the ASF dual-hosted git repository.
rohit pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack-go.git
commit 2691fd1c8adf9c354f2c72e38ad3da0d4bd635d6
Author: Rohit Yadav <ro...@shapeblue.com>
AuthorDate: Tue Jul 27 11:55:38 2021 +0530
cloudstack: auto-generate sdk based on 4.15.1.0 listApis.json
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>
---
cloudstack/AccountService.go | 150 +++--
cloudstack/AddressService.go | 28 +-
cloudstack/AffinityGroupService.go | 6 +
cloudstack/BrocadeVCSService.go | 3 +
cloudstack/ConfigurationService.go | 40 +-
cloudstack/DiskOfferingService.go | 227 ++++++-
cloudstack/HostService.go | 1080 ++++++++++++++++++----------------
cloudstack/ISOService.go | 61 ++
cloudstack/ImageStoreService.go | 149 +++--
cloudstack/InternalLBService.go | 335 ++++++-----
cloudstack/LDAPService.go | 85 ++-
cloudstack/LoadBalancerService.go | 11 +
cloudstack/NetworkACLService.go | 3 +
cloudstack/NetworkOfferingService.go | 64 ++
cloudstack/NetworkService.go | 65 ++
cloudstack/NicService.go | 11 +
cloudstack/PoolService.go | 10 +
cloudstack/ProjectService.go | 553 +++++++++--------
cloudstack/RoleService.go | 53 +-
cloudstack/RouterService.go | 659 ++++++++++++---------
cloudstack/SSHService.go | 6 +
cloudstack/ServiceOfferingService.go | 180 +++++-
cloudstack/SnapshotService.go | 121 ++--
cloudstack/SwiftService.go | 46 +-
cloudstack/SystemVMService.go | 40 ++
cloudstack/TemplateService.go | 84 ++-
cloudstack/UsageService.go | 54 ++
cloudstack/VPCService.go | 116 ++++
cloudstack/VPNService.go | 179 ++++--
cloudstack/VirtualMachineService.go | 300 +++++++++-
cloudstack/VolumeService.go | 42 ++
cloudstack/ZoneService.go | 11 +
cloudstack/cloudstack.go | 10 -
33 files changed, 3316 insertions(+), 1466 deletions(-)
diff --git a/cloudstack/AccountService.go b/cloudstack/AccountService.go
index ea1f1d0..3b84cd3 100644
--- a/cloudstack/AccountService.go
+++ b/cloudstack/AccountService.go
@@ -45,6 +45,12 @@ func (p *AddAccountToProjectParams) toURLValues() url.Values {
if v, found := p.p["projectid"]; found {
u.Set("projectid", v.(string))
}
+ if v, found := p.p["projectroleid"]; found {
+ u.Set("projectroleid", v.(string))
+ }
+ if v, found := p.p["roletype"]; found {
+ u.Set("roletype", v.(string))
+ }
return u
}
@@ -69,6 +75,20 @@ func (p *AddAccountToProjectParams) SetProjectid(v string) {
p.p["projectid"] = v
}
+func (p *AddAccountToProjectParams) SetProjectroleid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["projectroleid"] = v
+}
+
+func (p *AddAccountToProjectParams) SetRoletype(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["roletype"] = v
+}
+
// You should always use this function to get a new AddAccountToProjectParams instance,
// as then you are sure you have configured all required params
func (s *AccountService) NewAddAccountToProjectParams(projectid string) *AddAccountToProjectParams {
@@ -313,6 +333,7 @@ type CreateAccountResponse struct {
Defaultzoneid string `json:"defaultzoneid"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Domainpath string `json:"domainpath"`
Groups []string `json:"groups"`
Id string `json:"id"`
Ipavailable string `json:"ipavailable"`
@@ -642,6 +663,7 @@ type DisableAccountResponse struct {
Defaultzoneid string `json:"defaultzoneid"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Domainpath string `json:"domainpath"`
Groups []string `json:"groups"`
Id string `json:"id"`
Ipavailable string `json:"ipavailable"`
@@ -792,6 +814,7 @@ type EnableAccountResponse struct {
Defaultzoneid string `json:"defaultzoneid"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Domainpath string `json:"domainpath"`
Groups []string `json:"groups"`
Id string `json:"id"`
Ipavailable string `json:"ipavailable"`
@@ -944,6 +967,10 @@ func (p *ListAccountsParams) toURLValues() url.Values {
vv := strconv.FormatInt(v.(int64), 10)
u.Set("accounttype", vv)
}
+ if v, found := p.p["details"]; found {
+ vv := strings.Join(v.([]string), ",")
+ u.Set("details", vv)
+ }
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
@@ -989,6 +1016,13 @@ func (p *ListAccountsParams) SetAccounttype(v int64) {
p.p["accounttype"] = v
}
+func (p *ListAccountsParams) SetDetails(v []string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["details"] = v
+}
+
func (p *ListAccountsParams) SetDomainid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1179,6 +1213,7 @@ type Account struct {
Defaultzoneid string `json:"defaultzoneid"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Domainpath string `json:"domainpath"`
Groups []string `json:"groups"`
Id string `json:"id"`
Ipavailable string `json:"ipavailable"`
@@ -1281,9 +1316,15 @@ func (p *ListProjectAccountsParams) toURLValues() url.Values {
if v, found := p.p["projectid"]; found {
u.Set("projectid", v.(string))
}
+ if v, found := p.p["projectroleid"]; found {
+ u.Set("projectroleid", v.(string))
+ }
if v, found := p.p["role"]; found {
u.Set("role", v.(string))
}
+ if v, found := p.p["userid"]; found {
+ u.Set("userid", v.(string))
+ }
return u
}
@@ -1322,6 +1363,13 @@ func (p *ListProjectAccountsParams) SetProjectid(v string) {
p.p["projectid"] = v
}
+func (p *ListProjectAccountsParams) SetProjectroleid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["projectroleid"] = v
+}
+
func (p *ListProjectAccountsParams) SetRole(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1329,6 +1377,13 @@ func (p *ListProjectAccountsParams) SetRole(v string) {
p.p["role"] = v
}
+func (p *ListProjectAccountsParams) SetUserid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["userid"] = v
+}
+
// You should always use this function to get a new ListProjectAccountsParams instance,
// as then you are sure you have configured all required params
func (s *AccountService) NewListProjectAccountsParams(projectid string) *ListProjectAccountsParams {
@@ -1396,52 +1451,52 @@ type ListProjectAccountsResponse struct {
}
type ProjectAccount struct {
- Account string `json:"account"`
- Cpuavailable string `json:"cpuavailable"`
- Cpulimit string `json:"cpulimit"`
- Cputotal int64 `json:"cputotal"`
- Displaytext string `json:"displaytext"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Id string `json:"id"`
- Ipavailable string `json:"ipavailable"`
- Iplimit string `json:"iplimit"`
- Iptotal int64 `json:"iptotal"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Memoryavailable string `json:"memoryavailable"`
- Memorylimit string `json:"memorylimit"`
- Memorytotal int64 `json:"memorytotal"`
- Name string `json:"name"`
- Networkavailable string `json:"networkavailable"`
- Networklimit string `json:"networklimit"`
- Networktotal int64 `json:"networktotal"`
- Primarystorageavailable string `json:"primarystorageavailable"`
- Primarystoragelimit string `json:"primarystoragelimit"`
- Primarystoragetotal int64 `json:"primarystoragetotal"`
- Projectaccountname string `json:"projectaccountname"`
- Secondarystorageavailable string `json:"secondarystorageavailable"`
- Secondarystoragelimit string `json:"secondarystoragelimit"`
- Secondarystoragetotal float64 `json:"secondarystoragetotal"`
- Snapshotavailable string `json:"snapshotavailable"`
- Snapshotlimit string `json:"snapshotlimit"`
- Snapshottotal int64 `json:"snapshottotal"`
- State string `json:"state"`
- Tags []Tags `json:"tags"`
- Templateavailable string `json:"templateavailable"`
- Templatelimit string `json:"templatelimit"`
- Templatetotal int64 `json:"templatetotal"`
- Vmavailable string `json:"vmavailable"`
- Vmlimit string `json:"vmlimit"`
- Vmrunning int `json:"vmrunning"`
- Vmstopped int `json:"vmstopped"`
- Vmtotal int64 `json:"vmtotal"`
- Volumeavailable string `json:"volumeavailable"`
- Volumelimit string `json:"volumelimit"`
- Volumetotal int64 `json:"volumetotal"`
- Vpcavailable string `json:"vpcavailable"`
- Vpclimit string `json:"vpclimit"`
- Vpctotal int64 `json:"vpctotal"`
+ Cpuavailable string `json:"cpuavailable"`
+ Cpulimit string `json:"cpulimit"`
+ Cputotal int64 `json:"cputotal"`
+ Displaytext string `json:"displaytext"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Id string `json:"id"`
+ Ipavailable string `json:"ipavailable"`
+ Iplimit string `json:"iplimit"`
+ Iptotal int64 `json:"iptotal"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Memoryavailable string `json:"memoryavailable"`
+ Memorylimit string `json:"memorylimit"`
+ Memorytotal int64 `json:"memorytotal"`
+ Name string `json:"name"`
+ Networkavailable string `json:"networkavailable"`
+ Networklimit string `json:"networklimit"`
+ Networktotal int64 `json:"networktotal"`
+ Owner []string `json:"owner"`
+ Primarystorageavailable string `json:"primarystorageavailable"`
+ Primarystoragelimit string `json:"primarystoragelimit"`
+ Primarystoragetotal int64 `json:"primarystoragetotal"`
+ Projectaccountname string `json:"projectaccountname"`
+ Secondarystorageavailable string `json:"secondarystorageavailable"`
+ Secondarystoragelimit string `json:"secondarystoragelimit"`
+ Secondarystoragetotal float64 `json:"secondarystoragetotal"`
+ Snapshotavailable string `json:"snapshotavailable"`
+ Snapshotlimit string `json:"snapshotlimit"`
+ Snapshottotal int64 `json:"snapshottotal"`
+ State string `json:"state"`
+ Tags []Tags `json:"tags"`
+ Templateavailable string `json:"templateavailable"`
+ Templatelimit string `json:"templatelimit"`
+ Templatetotal int64 `json:"templatetotal"`
+ Vmavailable string `json:"vmavailable"`
+ Vmlimit string `json:"vmlimit"`
+ Vmrunning int `json:"vmrunning"`
+ Vmstopped int `json:"vmstopped"`
+ Vmtotal int64 `json:"vmtotal"`
+ Volumeavailable string `json:"volumeavailable"`
+ Volumelimit string `json:"volumelimit"`
+ Volumetotal int64 `json:"volumetotal"`
+ Vpcavailable string `json:"vpcavailable"`
+ Vpclimit string `json:"vpclimit"`
+ Vpctotal int64 `json:"vpctotal"`
}
type Tags struct {
@@ -1523,6 +1578,7 @@ type LockAccountResponse struct {
Defaultzoneid string `json:"defaultzoneid"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Domainpath string `json:"domainpath"`
Groups []string `json:"groups"`
Id string `json:"id"`
Ipavailable string `json:"ipavailable"`
@@ -1696,6 +1752,7 @@ type MarkDefaultZoneForAccountResponse struct {
Defaultzoneid string `json:"defaultzoneid"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Domainpath string `json:"domainpath"`
Groups []string `json:"groups"`
Id string `json:"id"`
Ipavailable string `json:"ipavailable"`
@@ -1890,6 +1947,7 @@ type UpdateAccountResponse struct {
Defaultzoneid string `json:"defaultzoneid"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Domainpath string `json:"domainpath"`
Groups []string `json:"groups"`
Id string `json:"id"`
Ipavailable string `json:"ipavailable"`
diff --git a/cloudstack/AddressService.go b/cloudstack/AddressService.go
index 9fa79a2..9904168 100644
--- a/cloudstack/AddressService.go
+++ b/cloudstack/AddressService.go
@@ -46,6 +46,9 @@ func (p *AssociateIpAddressParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("fordisplay", vv)
}
+ if v, found := p.p["ipaddress"]; found {
+ u.Set("ipaddress", v.(string))
+ }
if v, found := p.p["isportable"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("isportable", vv)
@@ -90,6 +93,13 @@ func (p *AssociateIpAddressParams) SetFordisplay(v bool) {
p.p["fordisplay"] = v
}
+func (p *AssociateIpAddressParams) SetIpaddress(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["ipaddress"] = v
+}
+
func (p *AssociateIpAddressParams) SetIsportable(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -140,7 +150,7 @@ func (s *AddressService) NewAssociateIpAddressParams() *AssociateIpAddressParams
return p
}
-// Acquires and associates a public IP to an account. Either of the parameters are required, i.e. either zoneId, or networkId, or vpcId
+// Acquires and associates a public IP to an account.
func (s *AddressService) AssociateIpAddress(p *AssociateIpAddressParams) (*AssociateIpAddressResponse, error) {
resp, err := s.cs.newRequest("associateIpAddress", p.toURLValues())
if err != nil {
@@ -193,6 +203,7 @@ type AssociateIpAddressResponse struct {
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Networkid string `json:"networkid"`
+ Networkname string `json:"networkname"`
Physicalnetworkid string `json:"physicalnetworkid"`
Project string `json:"project"`
Projectid string `json:"projectid"`
@@ -206,6 +217,7 @@ type AssociateIpAddressResponse struct {
Vlanname string `json:"vlanname"`
Vmipaddress string `json:"vmipaddress"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -337,6 +349,9 @@ func (p *ListPublicIpAddressesParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("listall", vv)
}
+ if v, found := p.p["networkid"]; found {
+ u.Set("networkid", v.(string))
+ }
if v, found := p.p["page"]; found {
vv := strconv.Itoa(v.(int))
u.Set("page", vv)
@@ -471,6 +486,13 @@ func (p *ListPublicIpAddressesParams) SetListall(v bool) {
p.p["listall"] = v
}
+func (p *ListPublicIpAddressesParams) SetNetworkid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["networkid"] = v
+}
+
func (p *ListPublicIpAddressesParams) SetPage(v int) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -613,6 +635,7 @@ type PublicIpAddress struct {
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Networkid string `json:"networkid"`
+ Networkname string `json:"networkname"`
Physicalnetworkid string `json:"physicalnetworkid"`
Project string `json:"project"`
Projectid string `json:"projectid"`
@@ -626,6 +649,7 @@ type PublicIpAddress struct {
Vlanname string `json:"vlanname"`
Vmipaddress string `json:"vmipaddress"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -735,6 +759,7 @@ type UpdateIpAddressResponse struct {
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Networkid string `json:"networkid"`
+ Networkname string `json:"networkname"`
Physicalnetworkid string `json:"physicalnetworkid"`
Project string `json:"project"`
Projectid string `json:"projectid"`
@@ -748,6 +773,7 @@ type UpdateIpAddressResponse struct {
Vlanname string `json:"vlanname"`
Vmipaddress string `json:"vmipaddress"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
diff --git a/cloudstack/AffinityGroupService.go b/cloudstack/AffinityGroupService.go
index 45822fe..30d61cc 100644
--- a/cloudstack/AffinityGroupService.go
+++ b/cloudstack/AffinityGroupService.go
@@ -705,6 +705,10 @@ func (s *AffinityGroupService) UpdateVMAffinityGroup(p *UpdateVMAffinityGroupPar
type UpdateVMAffinityGroupResponse struct {
Account string `json:"account"`
Affinitygroup []UpdateVMAffinityGroupResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -745,6 +749,7 @@ type UpdateVMAffinityGroupResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -752,6 +757,7 @@ type UpdateVMAffinityGroupResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []UpdateVMAffinityGroupResponseSecuritygroup `json:"securitygroup"`
diff --git a/cloudstack/BrocadeVCSService.go b/cloudstack/BrocadeVCSService.go
index c031dc2..cfabd1c 100644
--- a/cloudstack/BrocadeVCSService.go
+++ b/cloudstack/BrocadeVCSService.go
@@ -326,11 +326,13 @@ type ListBrocadeVcsDeviceNetworksResponse struct {
type BrocadeVcsDeviceNetwork struct {
Account string `json:"account"`
Aclid string `json:"aclid"`
+ Aclname string `json:"aclname"`
Acltype string `json:"acltype"`
Broadcastdomaintype string `json:"broadcastdomaintype"`
Broadcasturi string `json:"broadcasturi"`
Canusefordeploy bool `json:"canusefordeploy"`
Cidr string `json:"cidr"`
+ Details map[string]string `json:"details"`
Displaynetwork bool `json:"displaynetwork"`
Displaytext string `json:"displaytext"`
Dns1 string `json:"dns1"`
@@ -373,6 +375,7 @@ type BrocadeVcsDeviceNetwork struct {
Type string `json:"type"`
Vlan string `json:"vlan"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
Zonesnetworkspans []interface{} `json:"zonesnetworkspans"`
diff --git a/cloudstack/ConfigurationService.go b/cloudstack/ConfigurationService.go
index 431fe7e..c58cad6 100644
--- a/cloudstack/ConfigurationService.go
+++ b/cloudstack/ConfigurationService.go
@@ -65,23 +65,27 @@ type ListCapabilitiesResponse struct {
}
type Capability struct {
- Allowusercreateprojects bool `json:"allowusercreateprojects"`
- Allowuserexpungerecovervm bool `json:"allowuserexpungerecovervm"`
- Allowuserviewdestroyedvm bool `json:"allowuserviewdestroyedvm"`
- Apilimitinterval int `json:"apilimitinterval"`
- Apilimitmax int `json:"apilimitmax"`
- Cloudstackversion string `json:"cloudstackversion"`
- Customdiskofferingmaxsize int64 `json:"customdiskofferingmaxsize"`
- Customdiskofferingminsize int64 `json:"customdiskofferingminsize"`
- Dynamicrolesenabled bool `json:"dynamicrolesenabled"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Kvmsnapshotenabled bool `json:"kvmsnapshotenabled"`
- Projectinviterequired bool `json:"projectinviterequired"`
- Regionsecondaryenabled bool `json:"regionsecondaryenabled"`
- Securitygroupsenabled bool `json:"securitygroupsenabled"`
- SupportELB string `json:"supportELB"`
- Userpublictemplateenabled bool `json:"userpublictemplateenabled"`
+ Allowusercreateprojects bool `json:"allowusercreateprojects"`
+ Allowuserexpungerecovervm bool `json:"allowuserexpungerecovervm"`
+ Allowuserexpungerecovervolume bool `json:"allowuserexpungerecovervolume"`
+ Allowuserviewalldomainaccounts bool `json:"allowuserviewalldomainaccounts"`
+ Allowuserviewdestroyedvm bool `json:"allowuserviewdestroyedvm"`
+ Apilimitinterval int `json:"apilimitinterval"`
+ Apilimitmax int `json:"apilimitmax"`
+ Cloudstackversion string `json:"cloudstackversion"`
+ Customdiskofferingmaxsize int64 `json:"customdiskofferingmaxsize"`
+ Customdiskofferingminsize int64 `json:"customdiskofferingminsize"`
+ Dynamicrolesenabled bool `json:"dynamicrolesenabled"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Kubernetesclusterexperimentalfeaturesenabled bool `json:"kubernetesclusterexperimentalfeaturesenabled"`
+ Kubernetesserviceenabled bool `json:"kubernetesserviceenabled"`
+ Kvmsnapshotenabled bool `json:"kvmsnapshotenabled"`
+ Projectinviterequired bool `json:"projectinviterequired"`
+ Regionsecondaryenabled bool `json:"regionsecondaryenabled"`
+ Securitygroupsenabled bool `json:"securitygroupsenabled"`
+ SupportELB string `json:"supportELB"`
+ Userpublictemplateenabled bool `json:"userpublictemplateenabled"`
}
type ListConfigurationsParams struct {
@@ -240,6 +244,7 @@ type Configuration struct {
Category string `json:"category"`
Description string `json:"description"`
Id int64 `json:"id"`
+ Isdynamic bool `json:"isdynamic"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Name string `json:"name"`
@@ -445,6 +450,7 @@ type UpdateConfigurationResponse struct {
Category string `json:"category"`
Description string `json:"description"`
Id int64 `json:"id"`
+ Isdynamic bool `json:"isdynamic"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Name string `json:"name"`
diff --git a/cloudstack/DiskOfferingService.go b/cloudstack/DiskOfferingService.go
index 3dc8bf3..c04c7d4 100644
--- a/cloudstack/DiskOfferingService.go
+++ b/cloudstack/DiskOfferingService.go
@@ -60,6 +60,9 @@ func (p *CreateDiskOfferingParams) toURLValues() url.Values {
vv := strconv.FormatInt(v.(int64), 10)
u.Set("byteswriteratemaxlength", vv)
}
+ if v, found := p.p["cachemode"]; found {
+ u.Set("cachemode", v.(string))
+ }
if v, found := p.p["customized"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("customized", vv)
@@ -80,7 +83,8 @@ func (p *CreateDiskOfferingParams) toURLValues() url.Values {
u.Set("displaytext", v.(string))
}
if v, found := p.p["domainid"]; found {
- u.Set("domainid", v.(string))
+ vv := strings.Join(v.([]string), ",")
+ u.Set("domainid", vv)
}
if v, found := p.p["hypervisorsnapshotreserve"]; found {
vv := strconv.Itoa(v.(int))
@@ -124,12 +128,19 @@ func (p *CreateDiskOfferingParams) toURLValues() url.Values {
if v, found := p.p["provisioningtype"]; found {
u.Set("provisioningtype", v.(string))
}
+ if v, found := p.p["storagepolicy"]; found {
+ u.Set("storagepolicy", v.(string))
+ }
if v, found := p.p["storagetype"]; found {
u.Set("storagetype", v.(string))
}
if v, found := p.p["tags"]; found {
u.Set("tags", v.(string))
}
+ if v, found := p.p["zoneid"]; found {
+ vv := strings.Join(v.([]string), ",")
+ u.Set("zoneid", vv)
+ }
return u
}
@@ -175,6 +186,13 @@ func (p *CreateDiskOfferingParams) SetByteswriteratemaxlength(v int64) {
p.p["byteswriteratemaxlength"] = v
}
+func (p *CreateDiskOfferingParams) SetCachemode(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["cachemode"] = v
+}
+
func (p *CreateDiskOfferingParams) SetCustomized(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -210,7 +228,7 @@ func (p *CreateDiskOfferingParams) SetDisplaytext(v string) {
p.p["displaytext"] = v
}
-func (p *CreateDiskOfferingParams) SetDomainid(v string) {
+func (p *CreateDiskOfferingParams) SetDomainid(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
@@ -294,6 +312,13 @@ func (p *CreateDiskOfferingParams) SetProvisioningtype(v string) {
p.p["provisioningtype"] = v
}
+func (p *CreateDiskOfferingParams) SetStoragepolicy(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storagepolicy"] = v
+}
+
func (p *CreateDiskOfferingParams) SetStoragetype(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -308,6 +333,13 @@ func (p *CreateDiskOfferingParams) SetTags(v string) {
p.p["tags"] = v
}
+func (p *CreateDiskOfferingParams) SetZoneid(v []string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["zoneid"] = v
+}
+
// You should always use this function to get a new CreateDiskOfferingParams instance,
// as then you are sure you have configured all required params
func (s *DiskOfferingService) NewCreateDiskOfferingParams(displaytext string, name string) *CreateDiskOfferingParams {
@@ -365,6 +397,9 @@ type CreateDiskOfferingResponse struct {
Provisioningtype string `json:"provisioningtype"`
Storagetype string `json:"storagetype"`
Tags string `json:"tags"`
+ Vspherestoragepolicy string `json:"vspherestoragepolicy"`
+ Zone string `json:"zone"`
+ Zoneid string `json:"zoneid"`
}
type DeleteDiskOfferingParams struct {
@@ -484,6 +519,9 @@ func (p *ListDiskOfferingsParams) toURLValues() url.Values {
vv := strconv.Itoa(v.(int))
u.Set("pagesize", vv)
}
+ if v, found := p.p["zoneid"]; found {
+ u.Set("zoneid", v.(string))
+ }
return u
}
@@ -543,6 +581,13 @@ func (p *ListDiskOfferingsParams) SetPagesize(v int) {
p.p["pagesize"] = v
}
+func (p *ListDiskOfferingsParams) SetZoneid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["zoneid"] = v
+}
+
// You should always use this function to get a new ListDiskOfferingsParams instance,
// as then you are sure you have configured all required params
func (s *DiskOfferingService) NewListDiskOfferingsParams() *ListDiskOfferingsParams {
@@ -686,6 +731,9 @@ type DiskOffering struct {
Provisioningtype string `json:"provisioningtype"`
Storagetype string `json:"storagetype"`
Tags string `json:"tags"`
+ Vspherestoragepolicy string `json:"vspherestoragepolicy"`
+ Zone string `json:"zone"`
+ Zoneid string `json:"zoneid"`
}
type UpdateDiskOfferingParams struct {
@@ -697,6 +745,33 @@ func (p *UpdateDiskOfferingParams) toURLValues() url.Values {
if p.p == nil {
return u
}
+ if v, found := p.p["bytesreadrate"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("bytesreadrate", vv)
+ }
+ if v, found := p.p["bytesreadratemax"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("bytesreadratemax", vv)
+ }
+ if v, found := p.p["bytesreadratemaxlength"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("bytesreadratemaxlength", vv)
+ }
+ if v, found := p.p["byteswriterate"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("byteswriterate", vv)
+ }
+ if v, found := p.p["byteswriteratemax"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("byteswriteratemax", vv)
+ }
+ if v, found := p.p["byteswriteratemaxlength"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("byteswriteratemaxlength", vv)
+ }
+ if v, found := p.p["cachemode"]; found {
+ u.Set("cachemode", v.(string))
+ }
if v, found := p.p["displayoffering"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("displayoffering", vv)
@@ -704,9 +779,36 @@ func (p *UpdateDiskOfferingParams) toURLValues() url.Values {
if v, found := p.p["displaytext"]; found {
u.Set("displaytext", v.(string))
}
+ if v, found := p.p["domainid"]; found {
+ u.Set("domainid", v.(string))
+ }
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
+ if v, found := p.p["iopsreadrate"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("iopsreadrate", vv)
+ }
+ if v, found := p.p["iopsreadratemax"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("iopsreadratemax", vv)
+ }
+ if v, found := p.p["iopsreadratemaxlength"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("iopsreadratemaxlength", vv)
+ }
+ if v, found := p.p["iopswriterate"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("iopswriterate", vv)
+ }
+ if v, found := p.p["iopswriteratemax"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("iopswriteratemax", vv)
+ }
+ if v, found := p.p["iopswriteratemaxlength"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("iopswriteratemaxlength", vv)
+ }
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
@@ -714,9 +816,64 @@ func (p *UpdateDiskOfferingParams) toURLValues() url.Values {
vv := strconv.Itoa(v.(int))
u.Set("sortkey", vv)
}
+ if v, found := p.p["tags"]; found {
+ u.Set("tags", v.(string))
+ }
+ if v, found := p.p["zoneid"]; found {
+ u.Set("zoneid", v.(string))
+ }
return u
}
+func (p *UpdateDiskOfferingParams) SetBytesreadrate(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["bytesreadrate"] = v
+}
+
+func (p *UpdateDiskOfferingParams) SetBytesreadratemax(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["bytesreadratemax"] = v
+}
+
+func (p *UpdateDiskOfferingParams) SetBytesreadratemaxlength(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["bytesreadratemaxlength"] = v
+}
+
+func (p *UpdateDiskOfferingParams) SetByteswriterate(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["byteswriterate"] = v
+}
+
+func (p *UpdateDiskOfferingParams) SetByteswriteratemax(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["byteswriteratemax"] = v
+}
+
+func (p *UpdateDiskOfferingParams) SetByteswriteratemaxlength(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["byteswriteratemaxlength"] = v
+}
+
+func (p *UpdateDiskOfferingParams) SetCachemode(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["cachemode"] = v
+}
+
func (p *UpdateDiskOfferingParams) SetDisplayoffering(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -731,6 +888,13 @@ func (p *UpdateDiskOfferingParams) SetDisplaytext(v string) {
p.p["displaytext"] = v
}
+func (p *UpdateDiskOfferingParams) SetDomainid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["domainid"] = v
+}
+
func (p *UpdateDiskOfferingParams) SetId(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -738,6 +902,48 @@ func (p *UpdateDiskOfferingParams) SetId(v string) {
p.p["id"] = v
}
+func (p *UpdateDiskOfferingParams) SetIopsreadrate(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["iopsreadrate"] = v
+}
+
+func (p *UpdateDiskOfferingParams) SetIopsreadratemax(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["iopsreadratemax"] = v
+}
+
+func (p *UpdateDiskOfferingParams) SetIopsreadratemaxlength(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["iopsreadratemaxlength"] = v
+}
+
+func (p *UpdateDiskOfferingParams) SetIopswriterate(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["iopswriterate"] = v
+}
+
+func (p *UpdateDiskOfferingParams) SetIopswriteratemax(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["iopswriteratemax"] = v
+}
+
+func (p *UpdateDiskOfferingParams) SetIopswriteratemaxlength(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["iopswriteratemaxlength"] = v
+}
+
func (p *UpdateDiskOfferingParams) SetName(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -752,6 +958,20 @@ func (p *UpdateDiskOfferingParams) SetSortkey(v int) {
p.p["sortkey"] = v
}
+func (p *UpdateDiskOfferingParams) SetTags(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["tags"] = v
+}
+
+func (p *UpdateDiskOfferingParams) SetZoneid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["zoneid"] = v
+}
+
// You should always use this function to get a new UpdateDiskOfferingParams instance,
// as then you are sure you have configured all required params
func (s *DiskOfferingService) NewUpdateDiskOfferingParams(id string) *UpdateDiskOfferingParams {
@@ -808,4 +1028,7 @@ type UpdateDiskOfferingResponse struct {
Provisioningtype string `json:"provisioningtype"`
Storagetype string `json:"storagetype"`
Tags string `json:"tags"`
+ Vspherestoragepolicy string `json:"vspherestoragepolicy"`
+ Zone string `json:"zone"`
+ Zoneid string `json:"zoneid"`
}
diff --git a/cloudstack/HostService.go b/cloudstack/HostService.go
index d7e9df8..1abbd5f 100644
--- a/cloudstack/HostService.go
+++ b/cloudstack/HostService.go
@@ -180,60 +180,66 @@ func (s *HostService) AddBaremetalHost(p *AddBaremetalHostParams) (*AddBaremetal
}
type AddBaremetalHostResponse struct {
- Annotation string `json:"annotation"`
- Averageload int64 `json:"averageload"`
- Capabilities string `json:"capabilities"`
- Clusterid string `json:"clusterid"`
- Clustername string `json:"clustername"`
- Clustertype string `json:"clustertype"`
- Cpuallocated string `json:"cpuallocated"`
- Cpunumber int `json:"cpunumber"`
- Cpusockets int `json:"cpusockets"`
- Cpuspeed int64 `json:"cpuspeed"`
- Cpuused string `json:"cpuused"`
- Cpuwithoverprovisioning string `json:"cpuwithoverprovisioning"`
- Created string `json:"created"`
- Details map[string]string `json:"details"`
- Disconnected string `json:"disconnected"`
- Disksizeallocated int64 `json:"disksizeallocated"`
- Disksizetotal int64 `json:"disksizetotal"`
- Events string `json:"events"`
- Gpugroup []AddBaremetalHostResponseGpugroup `json:"gpugroup"`
- Hahost bool `json:"hahost"`
- Hasenoughcapacity bool `json:"hasenoughcapacity"`
- Hostha string `json:"hostha"`
- Hosttags string `json:"hosttags"`
- Hypervisor string `json:"hypervisor"`
- Hypervisorversion string `json:"hypervisorversion"`
- Id string `json:"id"`
- Ipaddress string `json:"ipaddress"`
- Islocalstorageactive bool `json:"islocalstorageactive"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Lastannotated string `json:"lastannotated"`
- Lastpinged string `json:"lastpinged"`
- Managementserverid int64 `json:"managementserverid"`
- Memoryallocated int64 `json:"memoryallocated"`
- Memorytotal int64 `json:"memorytotal"`
- Memoryused int64 `json:"memoryused"`
- Memorywithoverprovisioning string `json:"memorywithoverprovisioning"`
- Name string `json:"name"`
- Networkkbsread int64 `json:"networkkbsread"`
- Networkkbswrite int64 `json:"networkkbswrite"`
- Oscategoryid string `json:"oscategoryid"`
- Oscategoryname string `json:"oscategoryname"`
- Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
- Podid string `json:"podid"`
- Podname string `json:"podname"`
- Removed string `json:"removed"`
- Resourcestate string `json:"resourcestate"`
- State string `json:"state"`
- Suitableformigration bool `json:"suitableformigration"`
- Type string `json:"type"`
- Username string `json:"username"`
- Version string `json:"version"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Annotation string `json:"annotation"`
+ Capabilities string `json:"capabilities"`
+ Clusterid string `json:"clusterid"`
+ Clustername string `json:"clustername"`
+ Clustertype string `json:"clustertype"`
+ Cpuallocated string `json:"cpuallocated"`
+ Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
+ Cpuallocatedvalue int64 `json:"cpuallocatedvalue"`
+ Cpuallocatedwithoverprovisioning string `json:"cpuallocatedwithoverprovisioning"`
+ Cpuloadaverage string `json:"cpuloadaverage"`
+ Cpunumber int `json:"cpunumber"`
+ Cpusockets int `json:"cpusockets"`
+ Cpuspeed int64 `json:"cpuspeed"`
+ Cpuused string `json:"cpuused"`
+ Cpuwithoverprovisioning string `json:"cpuwithoverprovisioning"`
+ Created string `json:"created"`
+ Details map[string]string `json:"details"`
+ Disconnected string `json:"disconnected"`
+ Disksizeallocated int64 `json:"disksizeallocated"`
+ Disksizetotal int64 `json:"disksizetotal"`
+ Events string `json:"events"`
+ Gpugroup []AddBaremetalHostResponseGpugroup `json:"gpugroup"`
+ Hahost bool `json:"hahost"`
+ Hasenoughcapacity bool `json:"hasenoughcapacity"`
+ Hostha string `json:"hostha"`
+ Hosttags string `json:"hosttags"`
+ Hypervisor string `json:"hypervisor"`
+ Hypervisorversion string `json:"hypervisorversion"`
+ Id string `json:"id"`
+ Ipaddress string `json:"ipaddress"`
+ Islocalstorageactive bool `json:"islocalstorageactive"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Lastannotated string `json:"lastannotated"`
+ Lastpinged string `json:"lastpinged"`
+ Managementserverid string `json:"managementserverid"`
+ Memoryallocated int64 `json:"memoryallocated"`
+ Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
+ Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
+ Memorytotal int64 `json:"memorytotal"`
+ Memoryused int64 `json:"memoryused"`
+ Memorywithoverprovisioning string `json:"memorywithoverprovisioning"`
+ Name string `json:"name"`
+ Networkkbsread int64 `json:"networkkbsread"`
+ Networkkbswrite int64 `json:"networkkbswrite"`
+ Oscategoryid string `json:"oscategoryid"`
+ Oscategoryname string `json:"oscategoryname"`
+ Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Removed string `json:"removed"`
+ Resourcestate string `json:"resourcestate"`
+ State string `json:"state"`
+ Suitableformigration bool `json:"suitableformigration"`
+ Type string `json:"type"`
+ Ueficapability bool `json:"ueficapability"`
+ Username string `json:"username"`
+ Version string `json:"version"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type AddBaremetalHostResponseGpugroup struct {
@@ -496,60 +502,66 @@ func (s *HostService) AddHost(p *AddHostParams) (*AddHostResponse, error) {
}
type AddHostResponse struct {
- Annotation string `json:"annotation"`
- Averageload int64 `json:"averageload"`
- Capabilities string `json:"capabilities"`
- Clusterid string `json:"clusterid"`
- Clustername string `json:"clustername"`
- Clustertype string `json:"clustertype"`
- Cpuallocated string `json:"cpuallocated"`
- Cpunumber int `json:"cpunumber"`
- Cpusockets int `json:"cpusockets"`
- Cpuspeed int64 `json:"cpuspeed"`
- Cpuused string `json:"cpuused"`
- Cpuwithoverprovisioning string `json:"cpuwithoverprovisioning"`
- Created string `json:"created"`
- Details map[string]string `json:"details"`
- Disconnected string `json:"disconnected"`
- Disksizeallocated int64 `json:"disksizeallocated"`
- Disksizetotal int64 `json:"disksizetotal"`
- Events string `json:"events"`
- Gpugroup []AddHostResponseGpugroup `json:"gpugroup"`
- Hahost bool `json:"hahost"`
- Hasenoughcapacity bool `json:"hasenoughcapacity"`
- Hostha string `json:"hostha"`
- Hosttags string `json:"hosttags"`
- Hypervisor string `json:"hypervisor"`
- Hypervisorversion string `json:"hypervisorversion"`
- Id string `json:"id"`
- Ipaddress string `json:"ipaddress"`
- Islocalstorageactive bool `json:"islocalstorageactive"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Lastannotated string `json:"lastannotated"`
- Lastpinged string `json:"lastpinged"`
- Managementserverid int64 `json:"managementserverid"`
- Memoryallocated int64 `json:"memoryallocated"`
- Memorytotal int64 `json:"memorytotal"`
- Memoryused int64 `json:"memoryused"`
- Memorywithoverprovisioning string `json:"memorywithoverprovisioning"`
- Name string `json:"name"`
- Networkkbsread int64 `json:"networkkbsread"`
- Networkkbswrite int64 `json:"networkkbswrite"`
- Oscategoryid string `json:"oscategoryid"`
- Oscategoryname string `json:"oscategoryname"`
- Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
- Podid string `json:"podid"`
- Podname string `json:"podname"`
- Removed string `json:"removed"`
- Resourcestate string `json:"resourcestate"`
- State string `json:"state"`
- Suitableformigration bool `json:"suitableformigration"`
- Type string `json:"type"`
- Username string `json:"username"`
- Version string `json:"version"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Annotation string `json:"annotation"`
+ Capabilities string `json:"capabilities"`
+ Clusterid string `json:"clusterid"`
+ Clustername string `json:"clustername"`
+ Clustertype string `json:"clustertype"`
+ Cpuallocated string `json:"cpuallocated"`
+ Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
+ Cpuallocatedvalue int64 `json:"cpuallocatedvalue"`
+ Cpuallocatedwithoverprovisioning string `json:"cpuallocatedwithoverprovisioning"`
+ Cpuloadaverage string `json:"cpuloadaverage"`
+ Cpunumber int `json:"cpunumber"`
+ Cpusockets int `json:"cpusockets"`
+ Cpuspeed int64 `json:"cpuspeed"`
+ Cpuused string `json:"cpuused"`
+ Cpuwithoverprovisioning string `json:"cpuwithoverprovisioning"`
+ Created string `json:"created"`
+ Details map[string]string `json:"details"`
+ Disconnected string `json:"disconnected"`
+ Disksizeallocated int64 `json:"disksizeallocated"`
+ Disksizetotal int64 `json:"disksizetotal"`
+ Events string `json:"events"`
+ Gpugroup []AddHostResponseGpugroup `json:"gpugroup"`
+ Hahost bool `json:"hahost"`
+ Hasenoughcapacity bool `json:"hasenoughcapacity"`
+ Hostha string `json:"hostha"`
+ Hosttags string `json:"hosttags"`
+ Hypervisor string `json:"hypervisor"`
+ Hypervisorversion string `json:"hypervisorversion"`
+ Id string `json:"id"`
+ Ipaddress string `json:"ipaddress"`
+ Islocalstorageactive bool `json:"islocalstorageactive"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Lastannotated string `json:"lastannotated"`
+ Lastpinged string `json:"lastpinged"`
+ Managementserverid string `json:"managementserverid"`
+ Memoryallocated int64 `json:"memoryallocated"`
+ Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
+ Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
+ Memorytotal int64 `json:"memorytotal"`
+ Memoryused int64 `json:"memoryused"`
+ Memorywithoverprovisioning string `json:"memorywithoverprovisioning"`
+ Name string `json:"name"`
+ Networkkbsread int64 `json:"networkkbsread"`
+ Networkkbswrite int64 `json:"networkkbswrite"`
+ Oscategoryid string `json:"oscategoryid"`
+ Oscategoryname string `json:"oscategoryname"`
+ Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Removed string `json:"removed"`
+ Resourcestate string `json:"resourcestate"`
+ State string `json:"state"`
+ Suitableformigration bool `json:"suitableformigration"`
+ Type string `json:"type"`
+ Ueficapability bool `json:"ueficapability"`
+ Username string `json:"username"`
+ Version string `json:"version"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type AddHostResponseGpugroup struct {
@@ -625,16 +637,19 @@ func (s *HostService) AddSecondaryStorage(p *AddSecondaryStorageParams) (*AddSec
}
type AddSecondaryStorageResponse struct {
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Protocol string `json:"protocol"`
- Providername string `json:"providername"`
- Scope string `json:"scope"`
- Url string `json:"url"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Disksizetotal int64 `json:"disksizetotal"`
+ Disksizeused int64 `json:"disksizeused"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Protocol string `json:"protocol"`
+ Providername string `json:"providername"`
+ Readonly bool `json:"readonly"`
+ Scope string `json:"scope"`
+ Url string `json:"url"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type CancelHostMaintenanceParams struct {
@@ -704,60 +719,66 @@ func (s *HostService) CancelHostMaintenance(p *CancelHostMaintenanceParams) (*Ca
}
type CancelHostMaintenanceResponse struct {
- Annotation string `json:"annotation"`
- Averageload int64 `json:"averageload"`
- Capabilities string `json:"capabilities"`
- Clusterid string `json:"clusterid"`
- Clustername string `json:"clustername"`
- Clustertype string `json:"clustertype"`
- Cpuallocated string `json:"cpuallocated"`
- Cpunumber int `json:"cpunumber"`
- Cpusockets int `json:"cpusockets"`
- Cpuspeed int64 `json:"cpuspeed"`
- Cpuused string `json:"cpuused"`
- Cpuwithoverprovisioning string `json:"cpuwithoverprovisioning"`
- Created string `json:"created"`
- Details map[string]string `json:"details"`
- Disconnected string `json:"disconnected"`
- Disksizeallocated int64 `json:"disksizeallocated"`
- Disksizetotal int64 `json:"disksizetotal"`
- Events string `json:"events"`
- Gpugroup []CancelHostMaintenanceResponseGpugroup `json:"gpugroup"`
- Hahost bool `json:"hahost"`
- Hasenoughcapacity bool `json:"hasenoughcapacity"`
- Hostha string `json:"hostha"`
- Hosttags string `json:"hosttags"`
- Hypervisor string `json:"hypervisor"`
- Hypervisorversion string `json:"hypervisorversion"`
- Id string `json:"id"`
- Ipaddress string `json:"ipaddress"`
- Islocalstorageactive bool `json:"islocalstorageactive"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Lastannotated string `json:"lastannotated"`
- Lastpinged string `json:"lastpinged"`
- Managementserverid int64 `json:"managementserverid"`
- Memoryallocated int64 `json:"memoryallocated"`
- Memorytotal int64 `json:"memorytotal"`
- Memoryused int64 `json:"memoryused"`
- Memorywithoverprovisioning string `json:"memorywithoverprovisioning"`
- Name string `json:"name"`
- Networkkbsread int64 `json:"networkkbsread"`
- Networkkbswrite int64 `json:"networkkbswrite"`
- Oscategoryid string `json:"oscategoryid"`
- Oscategoryname string `json:"oscategoryname"`
- Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
- Podid string `json:"podid"`
- Podname string `json:"podname"`
- Removed string `json:"removed"`
- Resourcestate string `json:"resourcestate"`
- State string `json:"state"`
- Suitableformigration bool `json:"suitableformigration"`
- Type string `json:"type"`
- Username string `json:"username"`
- Version string `json:"version"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Annotation string `json:"annotation"`
+ Capabilities string `json:"capabilities"`
+ Clusterid string `json:"clusterid"`
+ Clustername string `json:"clustername"`
+ Clustertype string `json:"clustertype"`
+ Cpuallocated string `json:"cpuallocated"`
+ Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
+ Cpuallocatedvalue int64 `json:"cpuallocatedvalue"`
+ Cpuallocatedwithoverprovisioning string `json:"cpuallocatedwithoverprovisioning"`
+ Cpuloadaverage string `json:"cpuloadaverage"`
+ Cpunumber int `json:"cpunumber"`
+ Cpusockets int `json:"cpusockets"`
+ Cpuspeed int64 `json:"cpuspeed"`
+ Cpuused string `json:"cpuused"`
+ Cpuwithoverprovisioning string `json:"cpuwithoverprovisioning"`
+ Created string `json:"created"`
+ Details map[string]string `json:"details"`
+ Disconnected string `json:"disconnected"`
+ Disksizeallocated int64 `json:"disksizeallocated"`
+ Disksizetotal int64 `json:"disksizetotal"`
+ Events string `json:"events"`
+ Gpugroup []CancelHostMaintenanceResponseGpugroup `json:"gpugroup"`
+ Hahost bool `json:"hahost"`
+ Hasenoughcapacity bool `json:"hasenoughcapacity"`
+ Hostha string `json:"hostha"`
+ Hosttags string `json:"hosttags"`
+ Hypervisor string `json:"hypervisor"`
+ Hypervisorversion string `json:"hypervisorversion"`
+ Id string `json:"id"`
+ Ipaddress string `json:"ipaddress"`
+ Islocalstorageactive bool `json:"islocalstorageactive"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Lastannotated string `json:"lastannotated"`
+ Lastpinged string `json:"lastpinged"`
+ Managementserverid string `json:"managementserverid"`
+ Memoryallocated int64 `json:"memoryallocated"`
+ Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
+ Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
+ Memorytotal int64 `json:"memorytotal"`
+ Memoryused int64 `json:"memoryused"`
+ Memorywithoverprovisioning string `json:"memorywithoverprovisioning"`
+ Name string `json:"name"`
+ Networkkbsread int64 `json:"networkkbsread"`
+ Networkkbswrite int64 `json:"networkkbswrite"`
+ Oscategoryid string `json:"oscategoryid"`
+ Oscategoryname string `json:"oscategoryname"`
+ Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Removed string `json:"removed"`
+ Resourcestate string `json:"resourcestate"`
+ State string `json:"state"`
+ Suitableformigration bool `json:"suitableformigration"`
+ Type string `json:"type"`
+ Ueficapability bool `json:"ueficapability"`
+ Username string `json:"username"`
+ Version string `json:"version"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type CancelHostMaintenanceResponseGpugroup struct {
@@ -1219,53 +1240,58 @@ func (s *HostService) FindHostsForMigration(p *FindHostsForMigrationParams) (*Fi
}
type FindHostsForMigrationResponse struct {
- Averageload int64 `json:"averageload"`
- Capabilities string `json:"capabilities"`
- Clusterid string `json:"clusterid"`
- Clustername string `json:"clustername"`
- Clustertype string `json:"clustertype"`
- Cpuallocated string `json:"cpuallocated"`
- Cpunumber int `json:"cpunumber"`
- Cpuspeed int64 `json:"cpuspeed"`
- Cpuused string `json:"cpuused"`
- Cpuwithoverprovisioning string `json:"cpuwithoverprovisioning"`
- Created string `json:"created"`
- Disconnected string `json:"disconnected"`
- Disksizeallocated int64 `json:"disksizeallocated"`
- Disksizetotal int64 `json:"disksizetotal"`
- Events string `json:"events"`
- Hahost bool `json:"hahost"`
- Hasenoughcapacity bool `json:"hasenoughcapacity"`
- Hosttags string `json:"hosttags"`
- Hypervisor string `json:"hypervisor"`
- Hypervisorversion string `json:"hypervisorversion"`
- Id string `json:"id"`
- Ipaddress string `json:"ipaddress"`
- Islocalstorageactive bool `json:"islocalstorageactive"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Lastpinged string `json:"lastpinged"`
- Managementserverid int64 `json:"managementserverid"`
- Memoryallocated string `json:"memoryallocated"`
- Memorytotal int64 `json:"memorytotal"`
- Memoryused int64 `json:"memoryused"`
- Memorywithoverprovisioning string `json:"memorywithoverprovisioning"`
- Name string `json:"name"`
- Networkkbsread int64 `json:"networkkbsread"`
- Networkkbswrite int64 `json:"networkkbswrite"`
- Oscategoryid string `json:"oscategoryid"`
- Oscategoryname string `json:"oscategoryname"`
- Podid string `json:"podid"`
- Podname string `json:"podname"`
- Removed string `json:"removed"`
- RequiresStorageMotion bool `json:"requiresStorageMotion"`
- Resourcestate string `json:"resourcestate"`
- State string `json:"state"`
- Suitableformigration bool `json:"suitableformigration"`
- Type string `json:"type"`
- Version string `json:"version"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Averageload int64 `json:"averageload"`
+ Capabilities string `json:"capabilities"`
+ Clusterid string `json:"clusterid"`
+ Clustername string `json:"clustername"`
+ Clustertype string `json:"clustertype"`
+ Cpuallocated string `json:"cpuallocated"`
+ Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
+ Cpuallocatedvalue int64 `json:"cpuallocatedvalue"`
+ Cpuallocatedwithoverprovisioning string `json:"cpuallocatedwithoverprovisioning"`
+ Cpunumber int `json:"cpunumber"`
+ Cpuspeed int64 `json:"cpuspeed"`
+ Cpuused string `json:"cpuused"`
+ Cpuwithoverprovisioning string `json:"cpuwithoverprovisioning"`
+ Created string `json:"created"`
+ Disconnected string `json:"disconnected"`
+ Disksizeallocated int64 `json:"disksizeallocated"`
+ Disksizetotal int64 `json:"disksizetotal"`
+ Events string `json:"events"`
+ Hahost bool `json:"hahost"`
+ Hasenoughcapacity bool `json:"hasenoughcapacity"`
+ Hosttags string `json:"hosttags"`
+ Hypervisor string `json:"hypervisor"`
+ Hypervisorversion string `json:"hypervisorversion"`
+ Id string `json:"id"`
+ Ipaddress string `json:"ipaddress"`
+ Islocalstorageactive bool `json:"islocalstorageactive"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Lastpinged string `json:"lastpinged"`
+ Managementserverid int64 `json:"managementserverid"`
+ Memoryallocated string `json:"memoryallocated"`
+ Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
+ Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
+ Memorytotal int64 `json:"memorytotal"`
+ Memoryused int64 `json:"memoryused"`
+ Memorywithoverprovisioning string `json:"memorywithoverprovisioning"`
+ Name string `json:"name"`
+ Networkkbsread int64 `json:"networkkbsread"`
+ Networkkbswrite int64 `json:"networkkbswrite"`
+ Oscategoryid string `json:"oscategoryid"`
+ Oscategoryname string `json:"oscategoryname"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Removed string `json:"removed"`
+ RequiresStorageMotion bool `json:"requiresStorageMotion"`
+ Resourcestate string `json:"resourcestate"`
+ State string `json:"state"`
+ Suitableformigration bool `json:"suitableformigration"`
+ Type string `json:"type"`
+ Version string `json:"version"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type ListDedicatedHostsParams struct {
@@ -1806,60 +1832,66 @@ type ListHostsResponse struct {
}
type Host struct {
- Annotation string `json:"annotation"`
- Averageload int64 `json:"averageload"`
- Capabilities string `json:"capabilities"`
- Clusterid string `json:"clusterid"`
- Clustername string `json:"clustername"`
- Clustertype string `json:"clustertype"`
- Cpuallocated string `json:"cpuallocated"`
- Cpunumber int `json:"cpunumber"`
- Cpusockets int `json:"cpusockets"`
- Cpuspeed int64 `json:"cpuspeed"`
- Cpuused string `json:"cpuused"`
- Cpuwithoverprovisioning string `json:"cpuwithoverprovisioning"`
- Created string `json:"created"`
- Details map[string]string `json:"details"`
- Disconnected string `json:"disconnected"`
- Disksizeallocated int64 `json:"disksizeallocated"`
- Disksizetotal int64 `json:"disksizetotal"`
- Events string `json:"events"`
- Gpugroup []HostGpugroup `json:"gpugroup"`
- Hahost bool `json:"hahost"`
- Hasenoughcapacity bool `json:"hasenoughcapacity"`
- Hostha string `json:"hostha"`
- Hosttags string `json:"hosttags"`
- Hypervisor string `json:"hypervisor"`
- Hypervisorversion string `json:"hypervisorversion"`
- Id string `json:"id"`
- Ipaddress string `json:"ipaddress"`
- Islocalstorageactive bool `json:"islocalstorageactive"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Lastannotated string `json:"lastannotated"`
- Lastpinged string `json:"lastpinged"`
- Managementserverid int64 `json:"managementserverid"`
- Memoryallocated int64 `json:"memoryallocated"`
- Memorytotal int64 `json:"memorytotal"`
- Memoryused int64 `json:"memoryused"`
- Memorywithoverprovisioning string `json:"memorywithoverprovisioning"`
- Name string `json:"name"`
- Networkkbsread int64 `json:"networkkbsread"`
- Networkkbswrite int64 `json:"networkkbswrite"`
- Oscategoryid string `json:"oscategoryid"`
- Oscategoryname string `json:"oscategoryname"`
- Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
- Podid string `json:"podid"`
- Podname string `json:"podname"`
- Removed string `json:"removed"`
- Resourcestate string `json:"resourcestate"`
- State string `json:"state"`
- Suitableformigration bool `json:"suitableformigration"`
- Type string `json:"type"`
- Username string `json:"username"`
- Version string `json:"version"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Annotation string `json:"annotation"`
+ Capabilities string `json:"capabilities"`
+ Clusterid string `json:"clusterid"`
+ Clustername string `json:"clustername"`
+ Clustertype string `json:"clustertype"`
+ Cpuallocated string `json:"cpuallocated"`
+ Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
+ Cpuallocatedvalue int64 `json:"cpuallocatedvalue"`
+ Cpuallocatedwithoverprovisioning string `json:"cpuallocatedwithoverprovisioning"`
+ Cpuloadaverage string `json:"cpuloadaverage"`
+ Cpunumber int `json:"cpunumber"`
+ Cpusockets int `json:"cpusockets"`
+ Cpuspeed int64 `json:"cpuspeed"`
+ Cpuused string `json:"cpuused"`
+ Cpuwithoverprovisioning string `json:"cpuwithoverprovisioning"`
+ Created string `json:"created"`
+ Details map[string]string `json:"details"`
+ Disconnected string `json:"disconnected"`
+ Disksizeallocated int64 `json:"disksizeallocated"`
+ Disksizetotal int64 `json:"disksizetotal"`
+ Events string `json:"events"`
+ Gpugroup []HostGpugroup `json:"gpugroup"`
+ Hahost bool `json:"hahost"`
+ Hasenoughcapacity bool `json:"hasenoughcapacity"`
+ Hostha string `json:"hostha"`
+ Hosttags string `json:"hosttags"`
+ Hypervisor string `json:"hypervisor"`
+ Hypervisorversion string `json:"hypervisorversion"`
+ Id string `json:"id"`
+ Ipaddress string `json:"ipaddress"`
+ Islocalstorageactive bool `json:"islocalstorageactive"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Lastannotated string `json:"lastannotated"`
+ Lastpinged string `json:"lastpinged"`
+ Managementserverid string `json:"managementserverid"`
+ Memoryallocated int64 `json:"memoryallocated"`
+ Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
+ Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
+ Memorytotal int64 `json:"memorytotal"`
+ Memoryused int64 `json:"memoryused"`
+ Memorywithoverprovisioning string `json:"memorywithoverprovisioning"`
+ Name string `json:"name"`
+ Networkkbsread int64 `json:"networkkbsread"`
+ Networkkbswrite int64 `json:"networkkbswrite"`
+ Oscategoryid string `json:"oscategoryid"`
+ Oscategoryname string `json:"oscategoryname"`
+ Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Removed string `json:"removed"`
+ Resourcestate string `json:"resourcestate"`
+ State string `json:"state"`
+ Suitableformigration bool `json:"suitableformigration"`
+ Type string `json:"type"`
+ Ueficapability bool `json:"ueficapability"`
+ Username string `json:"username"`
+ Version string `json:"version"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type HostGpugroup struct {
@@ -2177,78 +2209,84 @@ type ListHostsMetricsResponse struct {
}
type HostsMetric struct {
- Annotation string `json:"annotation"`
- Averageload int64 `json:"averageload"`
- Capabilities string `json:"capabilities"`
- Clusterid string `json:"clusterid"`
- Clustername string `json:"clustername"`
- Clustertype string `json:"clustertype"`
- Cpuallocated string `json:"cpuallocated"`
- Cpuallocateddisablethreshold bool `json:"cpuallocateddisablethreshold"`
- Cpuallocatedghz string `json:"cpuallocatedghz"`
- Cpuallocatedthreshold bool `json:"cpuallocatedthreshold"`
- Cpudisablethreshold bool `json:"cpudisablethreshold"`
- Cpunumber int `json:"cpunumber"`
- Cpusockets int `json:"cpusockets"`
- Cpuspeed int64 `json:"cpuspeed"`
- Cputhreshold bool `json:"cputhreshold"`
- Cputotalghz string `json:"cputotalghz"`
- Cpuused string `json:"cpuused"`
- Cpuusedghz string `json:"cpuusedghz"`
- Cpuwithoverprovisioning string `json:"cpuwithoverprovisioning"`
- Created string `json:"created"`
- Details map[string]string `json:"details"`
- Disconnected string `json:"disconnected"`
- Disksizeallocated int64 `json:"disksizeallocated"`
- Disksizetotal int64 `json:"disksizetotal"`
- Events string `json:"events"`
- Gpugroup []HostsMetricGpugroup `json:"gpugroup"`
- Hahost bool `json:"hahost"`
- Hasenoughcapacity bool `json:"hasenoughcapacity"`
- Hostha string `json:"hostha"`
- Hosttags string `json:"hosttags"`
- Hypervisor string `json:"hypervisor"`
- Hypervisorversion string `json:"hypervisorversion"`
- Id string `json:"id"`
- Instances string `json:"instances"`
- Ipaddress string `json:"ipaddress"`
- Islocalstorageactive bool `json:"islocalstorageactive"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Lastannotated string `json:"lastannotated"`
- Lastpinged string `json:"lastpinged"`
- Managementserverid int64 `json:"managementserverid"`
- Memoryallocated int64 `json:"memoryallocated"`
- Memoryallocateddisablethreshold bool `json:"memoryallocateddisablethreshold"`
- Memoryallocatedgb string `json:"memoryallocatedgb"`
- Memoryallocatedthreshold bool `json:"memoryallocatedthreshold"`
- Memorydisablethreshold bool `json:"memorydisablethreshold"`
- Memorythreshold bool `json:"memorythreshold"`
- Memorytotal int64 `json:"memorytotal"`
- Memorytotalgb string `json:"memorytotalgb"`
- Memoryused int64 `json:"memoryused"`
- Memoryusedgb string `json:"memoryusedgb"`
- Memorywithoverprovisioning string `json:"memorywithoverprovisioning"`
- Name string `json:"name"`
- Networkkbsread int64 `json:"networkkbsread"`
- Networkkbswrite int64 `json:"networkkbswrite"`
- Networkread string `json:"networkread"`
- Networkwrite string `json:"networkwrite"`
- Oscategoryid string `json:"oscategoryid"`
- Oscategoryname string `json:"oscategoryname"`
- Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
- Podid string `json:"podid"`
- Podname string `json:"podname"`
- Powerstate string `json:"powerstate"`
- Removed string `json:"removed"`
- Resourcestate string `json:"resourcestate"`
- State string `json:"state"`
- Suitableformigration bool `json:"suitableformigration"`
- Type string `json:"type"`
- Username string `json:"username"`
- Version string `json:"version"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Annotation string `json:"annotation"`
+ Capabilities string `json:"capabilities"`
+ Clusterid string `json:"clusterid"`
+ Clustername string `json:"clustername"`
+ Clustertype string `json:"clustertype"`
+ Cpuallocated string `json:"cpuallocated"`
+ Cpuallocateddisablethreshold bool `json:"cpuallocateddisablethreshold"`
+ Cpuallocatedghz string `json:"cpuallocatedghz"`
+ Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
+ Cpuallocatedthreshold bool `json:"cpuallocatedthreshold"`
+ Cpuallocatedvalue int64 `json:"cpuallocatedvalue"`
+ Cpuallocatedwithoverprovisioning string `json:"cpuallocatedwithoverprovisioning"`
+ Cpudisablethreshold bool `json:"cpudisablethreshold"`
+ Cpuloadaverage string `json:"cpuloadaverage"`
+ Cpunumber int `json:"cpunumber"`
+ Cpusockets int `json:"cpusockets"`
+ Cpuspeed int64 `json:"cpuspeed"`
+ Cputhreshold bool `json:"cputhreshold"`
+ Cputotalghz string `json:"cputotalghz"`
+ Cpuused string `json:"cpuused"`
+ Cpuusedghz string `json:"cpuusedghz"`
+ Cpuwithoverprovisioning string `json:"cpuwithoverprovisioning"`
+ Created string `json:"created"`
+ Details map[string]string `json:"details"`
+ Disconnected string `json:"disconnected"`
+ Disksizeallocated int64 `json:"disksizeallocated"`
+ Disksizetotal int64 `json:"disksizetotal"`
+ Events string `json:"events"`
+ Gpugroup []HostsMetricGpugroup `json:"gpugroup"`
+ Hahost bool `json:"hahost"`
+ Hasenoughcapacity bool `json:"hasenoughcapacity"`
+ Hostha string `json:"hostha"`
+ Hosttags string `json:"hosttags"`
+ Hypervisor string `json:"hypervisor"`
+ Hypervisorversion string `json:"hypervisorversion"`
+ Id string `json:"id"`
+ Instances string `json:"instances"`
+ Ipaddress string `json:"ipaddress"`
+ Islocalstorageactive bool `json:"islocalstorageactive"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Lastannotated string `json:"lastannotated"`
+ Lastpinged string `json:"lastpinged"`
+ Managementserverid string `json:"managementserverid"`
+ Memoryallocated int64 `json:"memoryallocated"`
+ Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
+ Memoryallocateddisablethreshold bool `json:"memoryallocateddisablethreshold"`
+ Memoryallocatedgb string `json:"memoryallocatedgb"`
+ Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
+ Memoryallocatedthreshold bool `json:"memoryallocatedthreshold"`
+ Memorydisablethreshold bool `json:"memorydisablethreshold"`
+ Memorythreshold bool `json:"memorythreshold"`
+ Memorytotal int64 `json:"memorytotal"`
+ Memorytotalgb string `json:"memorytotalgb"`
+ Memoryused int64 `json:"memoryused"`
+ Memoryusedgb string `json:"memoryusedgb"`
+ Memorywithoverprovisioning string `json:"memorywithoverprovisioning"`
+ Name string `json:"name"`
+ Networkkbsread int64 `json:"networkkbsread"`
+ Networkkbswrite int64 `json:"networkkbswrite"`
+ Networkread string `json:"networkread"`
+ Networkwrite string `json:"networkwrite"`
+ Oscategoryid string `json:"oscategoryid"`
+ Oscategoryname string `json:"oscategoryname"`
+ Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Powerstate string `json:"powerstate"`
+ Removed string `json:"removed"`
+ Resourcestate string `json:"resourcestate"`
+ State string `json:"state"`
+ Suitableformigration bool `json:"suitableformigration"`
+ Type string `json:"type"`
+ Ueficapability bool `json:"ueficapability"`
+ Username string `json:"username"`
+ Version string `json:"version"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type HostsMetricGpugroup struct {
@@ -2334,60 +2372,66 @@ func (s *HostService) PrepareHostForMaintenance(p *PrepareHostForMaintenancePara
}
type PrepareHostForMaintenanceResponse struct {
- Annotation string `json:"annotation"`
- Averageload int64 `json:"averageload"`
- Capabilities string `json:"capabilities"`
- Clusterid string `json:"clusterid"`
- Clustername string `json:"clustername"`
- Clustertype string `json:"clustertype"`
- Cpuallocated string `json:"cpuallocated"`
- Cpunumber int `json:"cpunumber"`
- Cpusockets int `json:"cpusockets"`
- Cpuspeed int64 `json:"cpuspeed"`
- Cpuused string `json:"cpuused"`
- Cpuwithoverprovisioning string `json:"cpuwithoverprovisioning"`
- Created string `json:"created"`
- Details map[string]string `json:"details"`
- Disconnected string `json:"disconnected"`
- Disksizeallocated int64 `json:"disksizeallocated"`
- Disksizetotal int64 `json:"disksizetotal"`
- Events string `json:"events"`
- Gpugroup []PrepareHostForMaintenanceResponseGpugroup `json:"gpugroup"`
- Hahost bool `json:"hahost"`
- Hasenoughcapacity bool `json:"hasenoughcapacity"`
- Hostha string `json:"hostha"`
- Hosttags string `json:"hosttags"`
- Hypervisor string `json:"hypervisor"`
- Hypervisorversion string `json:"hypervisorversion"`
- Id string `json:"id"`
- Ipaddress string `json:"ipaddress"`
- Islocalstorageactive bool `json:"islocalstorageactive"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Lastannotated string `json:"lastannotated"`
- Lastpinged string `json:"lastpinged"`
- Managementserverid int64 `json:"managementserverid"`
- Memoryallocated int64 `json:"memoryallocated"`
- Memorytotal int64 `json:"memorytotal"`
- Memoryused int64 `json:"memoryused"`
- Memorywithoverprovisioning string `json:"memorywithoverprovisioning"`
- Name string `json:"name"`
- Networkkbsread int64 `json:"networkkbsread"`
- Networkkbswrite int64 `json:"networkkbswrite"`
- Oscategoryid string `json:"oscategoryid"`
- Oscategoryname string `json:"oscategoryname"`
- Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
- Podid string `json:"podid"`
- Podname string `json:"podname"`
- Removed string `json:"removed"`
- Resourcestate string `json:"resourcestate"`
- State string `json:"state"`
- Suitableformigration bool `json:"suitableformigration"`
- Type string `json:"type"`
- Username string `json:"username"`
- Version string `json:"version"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Annotation string `json:"annotation"`
+ Capabilities string `json:"capabilities"`
+ Clusterid string `json:"clusterid"`
+ Clustername string `json:"clustername"`
+ Clustertype string `json:"clustertype"`
+ Cpuallocated string `json:"cpuallocated"`
+ Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
+ Cpuallocatedvalue int64 `json:"cpuallocatedvalue"`
+ Cpuallocatedwithoverprovisioning string `json:"cpuallocatedwithoverprovisioning"`
+ Cpuloadaverage string `json:"cpuloadaverage"`
+ Cpunumber int `json:"cpunumber"`
+ Cpusockets int `json:"cpusockets"`
+ Cpuspeed int64 `json:"cpuspeed"`
+ Cpuused string `json:"cpuused"`
+ Cpuwithoverprovisioning string `json:"cpuwithoverprovisioning"`
+ Created string `json:"created"`
+ Details map[string]string `json:"details"`
+ Disconnected string `json:"disconnected"`
+ Disksizeallocated int64 `json:"disksizeallocated"`
+ Disksizetotal int64 `json:"disksizetotal"`
+ Events string `json:"events"`
+ Gpugroup []PrepareHostForMaintenanceResponseGpugroup `json:"gpugroup"`
+ Hahost bool `json:"hahost"`
+ Hasenoughcapacity bool `json:"hasenoughcapacity"`
+ Hostha string `json:"hostha"`
+ Hosttags string `json:"hosttags"`
+ Hypervisor string `json:"hypervisor"`
+ Hypervisorversion string `json:"hypervisorversion"`
+ Id string `json:"id"`
+ Ipaddress string `json:"ipaddress"`
+ Islocalstorageactive bool `json:"islocalstorageactive"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Lastannotated string `json:"lastannotated"`
+ Lastpinged string `json:"lastpinged"`
+ Managementserverid string `json:"managementserverid"`
+ Memoryallocated int64 `json:"memoryallocated"`
+ Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
+ Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
+ Memorytotal int64 `json:"memorytotal"`
+ Memoryused int64 `json:"memoryused"`
+ Memorywithoverprovisioning string `json:"memorywithoverprovisioning"`
+ Name string `json:"name"`
+ Networkkbsread int64 `json:"networkkbsread"`
+ Networkkbswrite int64 `json:"networkkbswrite"`
+ Oscategoryid string `json:"oscategoryid"`
+ Oscategoryname string `json:"oscategoryname"`
+ Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Removed string `json:"removed"`
+ Resourcestate string `json:"resourcestate"`
+ State string `json:"state"`
+ Suitableformigration bool `json:"suitableformigration"`
+ Type string `json:"type"`
+ Ueficapability bool `json:"ueficapability"`
+ Username string `json:"username"`
+ Version string `json:"version"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type PrepareHostForMaintenanceResponseGpugroup struct {
@@ -2473,60 +2517,66 @@ func (s *HostService) ReconnectHost(p *ReconnectHostParams) (*ReconnectHostRespo
}
type ReconnectHostResponse struct {
- Annotation string `json:"annotation"`
- Averageload int64 `json:"averageload"`
- Capabilities string `json:"capabilities"`
- Clusterid string `json:"clusterid"`
- Clustername string `json:"clustername"`
- Clustertype string `json:"clustertype"`
- Cpuallocated string `json:"cpuallocated"`
- Cpunumber int `json:"cpunumber"`
- Cpusockets int `json:"cpusockets"`
- Cpuspeed int64 `json:"cpuspeed"`
- Cpuused string `json:"cpuused"`
- Cpuwithoverprovisioning string `json:"cpuwithoverprovisioning"`
- Created string `json:"created"`
- Details map[string]string `json:"details"`
- Disconnected string `json:"disconnected"`
- Disksizeallocated int64 `json:"disksizeallocated"`
- Disksizetotal int64 `json:"disksizetotal"`
- Events string `json:"events"`
- Gpugroup []ReconnectHostResponseGpugroup `json:"gpugroup"`
- Hahost bool `json:"hahost"`
- Hasenoughcapacity bool `json:"hasenoughcapacity"`
- Hostha string `json:"hostha"`
- Hosttags string `json:"hosttags"`
- Hypervisor string `json:"hypervisor"`
- Hypervisorversion string `json:"hypervisorversion"`
- Id string `json:"id"`
- Ipaddress string `json:"ipaddress"`
- Islocalstorageactive bool `json:"islocalstorageactive"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Lastannotated string `json:"lastannotated"`
- Lastpinged string `json:"lastpinged"`
- Managementserverid int64 `json:"managementserverid"`
- Memoryallocated int64 `json:"memoryallocated"`
- Memorytotal int64 `json:"memorytotal"`
- Memoryused int64 `json:"memoryused"`
- Memorywithoverprovisioning string `json:"memorywithoverprovisioning"`
- Name string `json:"name"`
- Networkkbsread int64 `json:"networkkbsread"`
- Networkkbswrite int64 `json:"networkkbswrite"`
- Oscategoryid string `json:"oscategoryid"`
- Oscategoryname string `json:"oscategoryname"`
- Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
- Podid string `json:"podid"`
- Podname string `json:"podname"`
- Removed string `json:"removed"`
- Resourcestate string `json:"resourcestate"`
- State string `json:"state"`
- Suitableformigration bool `json:"suitableformigration"`
- Type string `json:"type"`
- Username string `json:"username"`
- Version string `json:"version"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Annotation string `json:"annotation"`
+ Capabilities string `json:"capabilities"`
+ Clusterid string `json:"clusterid"`
+ Clustername string `json:"clustername"`
+ Clustertype string `json:"clustertype"`
+ Cpuallocated string `json:"cpuallocated"`
+ Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
+ Cpuallocatedvalue int64 `json:"cpuallocatedvalue"`
+ Cpuallocatedwithoverprovisioning string `json:"cpuallocatedwithoverprovisioning"`
+ Cpuloadaverage string `json:"cpuloadaverage"`
+ Cpunumber int `json:"cpunumber"`
+ Cpusockets int `json:"cpusockets"`
+ Cpuspeed int64 `json:"cpuspeed"`
+ Cpuused string `json:"cpuused"`
+ Cpuwithoverprovisioning string `json:"cpuwithoverprovisioning"`
+ Created string `json:"created"`
+ Details map[string]string `json:"details"`
+ Disconnected string `json:"disconnected"`
+ Disksizeallocated int64 `json:"disksizeallocated"`
+ Disksizetotal int64 `json:"disksizetotal"`
+ Events string `json:"events"`
+ Gpugroup []ReconnectHostResponseGpugroup `json:"gpugroup"`
+ Hahost bool `json:"hahost"`
+ Hasenoughcapacity bool `json:"hasenoughcapacity"`
+ Hostha string `json:"hostha"`
+ Hosttags string `json:"hosttags"`
+ Hypervisor string `json:"hypervisor"`
+ Hypervisorversion string `json:"hypervisorversion"`
+ Id string `json:"id"`
+ Ipaddress string `json:"ipaddress"`
+ Islocalstorageactive bool `json:"islocalstorageactive"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Lastannotated string `json:"lastannotated"`
+ Lastpinged string `json:"lastpinged"`
+ Managementserverid string `json:"managementserverid"`
+ Memoryallocated int64 `json:"memoryallocated"`
+ Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
+ Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
+ Memorytotal int64 `json:"memorytotal"`
+ Memoryused int64 `json:"memoryused"`
+ Memorywithoverprovisioning string `json:"memorywithoverprovisioning"`
+ Name string `json:"name"`
+ Networkkbsread int64 `json:"networkkbsread"`
+ Networkkbswrite int64 `json:"networkkbswrite"`
+ Oscategoryid string `json:"oscategoryid"`
+ Oscategoryname string `json:"oscategoryname"`
+ Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Removed string `json:"removed"`
+ Resourcestate string `json:"resourcestate"`
+ State string `json:"state"`
+ Suitableformigration bool `json:"suitableformigration"`
+ Type string `json:"type"`
+ Ueficapability bool `json:"ueficapability"`
+ Username string `json:"username"`
+ Version string `json:"version"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type ReconnectHostResponseGpugroup struct {
@@ -2703,6 +2753,9 @@ func (p *UpdateHostParams) toURLValues() url.Values {
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
+ if v, found := p.p["name"]; found {
+ u.Set("name", v.(string))
+ }
if v, found := p.p["oscategoryid"]; found {
u.Set("oscategoryid", v.(string))
}
@@ -2740,6 +2793,13 @@ func (p *UpdateHostParams) SetId(v string) {
p.p["id"] = v
}
+func (p *UpdateHostParams) SetName(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["name"] = v
+}
+
func (p *UpdateHostParams) SetOscategoryid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2779,60 +2839,66 @@ func (s *HostService) UpdateHost(p *UpdateHostParams) (*UpdateHostResponse, erro
}
type UpdateHostResponse struct {
- Annotation string `json:"annotation"`
- Averageload int64 `json:"averageload"`
- Capabilities string `json:"capabilities"`
- Clusterid string `json:"clusterid"`
- Clustername string `json:"clustername"`
- Clustertype string `json:"clustertype"`
- Cpuallocated string `json:"cpuallocated"`
- Cpunumber int `json:"cpunumber"`
- Cpusockets int `json:"cpusockets"`
- Cpuspeed int64 `json:"cpuspeed"`
- Cpuused string `json:"cpuused"`
- Cpuwithoverprovisioning string `json:"cpuwithoverprovisioning"`
- Created string `json:"created"`
- Details map[string]string `json:"details"`
- Disconnected string `json:"disconnected"`
- Disksizeallocated int64 `json:"disksizeallocated"`
- Disksizetotal int64 `json:"disksizetotal"`
- Events string `json:"events"`
- Gpugroup []UpdateHostResponseGpugroup `json:"gpugroup"`
- Hahost bool `json:"hahost"`
- Hasenoughcapacity bool `json:"hasenoughcapacity"`
- Hostha string `json:"hostha"`
- Hosttags string `json:"hosttags"`
- Hypervisor string `json:"hypervisor"`
- Hypervisorversion string `json:"hypervisorversion"`
- Id string `json:"id"`
- Ipaddress string `json:"ipaddress"`
- Islocalstorageactive bool `json:"islocalstorageactive"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Lastannotated string `json:"lastannotated"`
- Lastpinged string `json:"lastpinged"`
- Managementserverid int64 `json:"managementserverid"`
- Memoryallocated int64 `json:"memoryallocated"`
- Memorytotal int64 `json:"memorytotal"`
- Memoryused int64 `json:"memoryused"`
- Memorywithoverprovisioning string `json:"memorywithoverprovisioning"`
- Name string `json:"name"`
- Networkkbsread int64 `json:"networkkbsread"`
- Networkkbswrite int64 `json:"networkkbswrite"`
- Oscategoryid string `json:"oscategoryid"`
- Oscategoryname string `json:"oscategoryname"`
- Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
- Podid string `json:"podid"`
- Podname string `json:"podname"`
- Removed string `json:"removed"`
- Resourcestate string `json:"resourcestate"`
- State string `json:"state"`
- Suitableformigration bool `json:"suitableformigration"`
- Type string `json:"type"`
- Username string `json:"username"`
- Version string `json:"version"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Annotation string `json:"annotation"`
+ Capabilities string `json:"capabilities"`
+ Clusterid string `json:"clusterid"`
+ Clustername string `json:"clustername"`
+ Clustertype string `json:"clustertype"`
+ Cpuallocated string `json:"cpuallocated"`
+ Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
+ Cpuallocatedvalue int64 `json:"cpuallocatedvalue"`
+ Cpuallocatedwithoverprovisioning string `json:"cpuallocatedwithoverprovisioning"`
+ Cpuloadaverage string `json:"cpuloadaverage"`
+ Cpunumber int `json:"cpunumber"`
+ Cpusockets int `json:"cpusockets"`
+ Cpuspeed int64 `json:"cpuspeed"`
+ Cpuused string `json:"cpuused"`
+ Cpuwithoverprovisioning string `json:"cpuwithoverprovisioning"`
+ Created string `json:"created"`
+ Details map[string]string `json:"details"`
+ Disconnected string `json:"disconnected"`
+ Disksizeallocated int64 `json:"disksizeallocated"`
+ Disksizetotal int64 `json:"disksizetotal"`
+ Events string `json:"events"`
+ Gpugroup []UpdateHostResponseGpugroup `json:"gpugroup"`
+ Hahost bool `json:"hahost"`
+ Hasenoughcapacity bool `json:"hasenoughcapacity"`
+ Hostha string `json:"hostha"`
+ Hosttags string `json:"hosttags"`
+ Hypervisor string `json:"hypervisor"`
+ Hypervisorversion string `json:"hypervisorversion"`
+ Id string `json:"id"`
+ Ipaddress string `json:"ipaddress"`
+ Islocalstorageactive bool `json:"islocalstorageactive"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Lastannotated string `json:"lastannotated"`
+ Lastpinged string `json:"lastpinged"`
+ Managementserverid string `json:"managementserverid"`
+ Memoryallocated int64 `json:"memoryallocated"`
+ Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
+ Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
+ Memorytotal int64 `json:"memorytotal"`
+ Memoryused int64 `json:"memoryused"`
+ Memorywithoverprovisioning string `json:"memorywithoverprovisioning"`
+ Name string `json:"name"`
+ Networkkbsread int64 `json:"networkkbsread"`
+ Networkkbswrite int64 `json:"networkkbswrite"`
+ Oscategoryid string `json:"oscategoryid"`
+ Oscategoryname string `json:"oscategoryname"`
+ Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Removed string `json:"removed"`
+ Resourcestate string `json:"resourcestate"`
+ State string `json:"state"`
+ Suitableformigration bool `json:"suitableformigration"`
+ Type string `json:"type"`
+ Ueficapability bool `json:"ueficapability"`
+ Username string `json:"username"`
+ Version string `json:"version"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type UpdateHostResponseGpugroup struct {
diff --git a/cloudstack/ISOService.go b/cloudstack/ISOService.go
index 3f53a5d..e31ac1e 100644
--- a/cloudstack/ISOService.go
+++ b/cloudstack/ISOService.go
@@ -36,6 +36,10 @@ func (p *AttachIsoParams) toURLValues() url.Values {
if p.p == nil {
return u
}
+ if v, found := p.p["forced"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("forced", vv)
+ }
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
@@ -45,6 +49,13 @@ func (p *AttachIsoParams) toURLValues() url.Values {
return u
}
+func (p *AttachIsoParams) SetForced(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["forced"] = v
+}
+
func (p *AttachIsoParams) SetId(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -107,6 +118,10 @@ func (s *ISOService) AttachIso(p *AttachIsoParams) (*AttachIsoResponse, error) {
type AttachIsoResponse struct {
Account string `json:"account"`
Affinitygroup []AttachIsoResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -147,6 +162,7 @@ type AttachIsoResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -154,6 +170,7 @@ type AttachIsoResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []AttachIsoResponseSecuritygroup `json:"securitygroup"`
@@ -347,11 +364,14 @@ type CopyIsoResponse struct {
Childtemplates []interface{} `json:"childtemplates"`
Created string `json:"created"`
CrossZones bool `json:"crossZones"`
+ Deployasis bool `json:"deployasis"`
+ Deployasisdetails map[string]string `json:"deployasisdetails"`
Details map[string]string `json:"details"`
Directdownload bool `json:"directdownload"`
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Downloaddetails []string `json:"downloaddetails"`
Format string `json:"format"`
Hostid string `json:"hostid"`
Hostname string `json:"hostname"`
@@ -381,6 +401,7 @@ type CopyIsoResponse struct {
Tags []Tags `json:"tags"`
Templatetag string `json:"templatetag"`
Templatetype string `json:"templatetype"`
+ Url string `json:"url"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -499,12 +520,23 @@ func (p *DetachIsoParams) toURLValues() url.Values {
if p.p == nil {
return u
}
+ if v, found := p.p["forced"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("forced", vv)
+ }
if v, found := p.p["virtualmachineid"]; found {
u.Set("virtualmachineid", v.(string))
}
return u
}
+func (p *DetachIsoParams) SetForced(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["forced"] = v
+}
+
func (p *DetachIsoParams) SetVirtualmachineid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -559,6 +591,10 @@ func (s *ISOService) DetachIso(p *DetachIsoParams) (*DetachIsoResponse, error) {
type DetachIsoResponse struct {
Account string `json:"account"`
Affinitygroup []DetachIsoResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -599,6 +635,7 @@ type DetachIsoResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -606,6 +643,7 @@ type DetachIsoResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []DetachIsoResponseSecuritygroup `json:"securitygroup"`
@@ -968,6 +1006,10 @@ func (p *ListIsosParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("showremoved", vv)
}
+ if v, found := p.p["showunique"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("showunique", vv)
+ }
if v, found := p.p["tags"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
@@ -1093,6 +1135,13 @@ func (p *ListIsosParams) SetShowremoved(v bool) {
p.p["showremoved"] = v
}
+func (p *ListIsosParams) SetShowunique(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["showunique"] = v
+}
+
func (p *ListIsosParams) SetTags(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1229,11 +1278,14 @@ type Iso struct {
Childtemplates []interface{} `json:"childtemplates"`
Created string `json:"created"`
CrossZones bool `json:"crossZones"`
+ Deployasis bool `json:"deployasis"`
+ Deployasisdetails map[string]string `json:"deployasisdetails"`
Details map[string]string `json:"details"`
Directdownload bool `json:"directdownload"`
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Downloaddetails []string `json:"downloaddetails"`
Format string `json:"format"`
Hostid string `json:"hostid"`
Hostname string `json:"hostname"`
@@ -1263,6 +1315,7 @@ type Iso struct {
Tags []Tags `json:"tags"`
Templatetag string `json:"templatetag"`
Templatetype string `json:"templatetype"`
+ Url string `json:"url"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -1519,11 +1572,14 @@ type RegisterIsoResponse struct {
Childtemplates []interface{} `json:"childtemplates"`
Created string `json:"created"`
CrossZones bool `json:"crossZones"`
+ Deployasis bool `json:"deployasis"`
+ Deployasisdetails map[string]string `json:"deployasisdetails"`
Details map[string]string `json:"details"`
Directdownload bool `json:"directdownload"`
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Downloaddetails []string `json:"downloaddetails"`
Format string `json:"format"`
Hostid string `json:"hostid"`
Hostname string `json:"hostname"`
@@ -1553,6 +1609,7 @@ type RegisterIsoResponse struct {
Tags []Tags `json:"tags"`
Templatetag string `json:"templatetag"`
Templatetype string `json:"templatetype"`
+ Url string `json:"url"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -1780,11 +1837,14 @@ type UpdateIsoResponse struct {
Childtemplates []interface{} `json:"childtemplates"`
Created string `json:"created"`
CrossZones bool `json:"crossZones"`
+ Deployasis bool `json:"deployasis"`
+ Deployasisdetails map[string]string `json:"deployasisdetails"`
Details map[string]string `json:"details"`
Directdownload bool `json:"directdownload"`
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Downloaddetails []string `json:"downloaddetails"`
Format string `json:"format"`
Hostid string `json:"hostid"`
Hostname string `json:"hostname"`
@@ -1814,6 +1874,7 @@ type UpdateIsoResponse struct {
Tags []Tags `json:"tags"`
Templatetag string `json:"templatetag"`
Templatetype string `json:"templatetype"`
+ Url string `json:"url"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
diff --git a/cloudstack/ImageStoreService.go b/cloudstack/ImageStoreService.go
index e226364..5535b30 100644
--- a/cloudstack/ImageStoreService.go
+++ b/cloudstack/ImageStoreService.go
@@ -118,16 +118,19 @@ func (s *ImageStoreService) AddImageStore(p *AddImageStoreParams) (*AddImageStor
}
type AddImageStoreResponse struct {
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Protocol string `json:"protocol"`
- Providername string `json:"providername"`
- Scope string `json:"scope"`
- Url string `json:"url"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Disksizetotal int64 `json:"disksizetotal"`
+ Disksizeused int64 `json:"disksizeused"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Protocol string `json:"protocol"`
+ Providername string `json:"providername"`
+ Readonly bool `json:"readonly"`
+ Scope string `json:"scope"`
+ Url string `json:"url"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type AddImageStoreS3Params struct {
@@ -286,16 +289,19 @@ func (s *ImageStoreService) AddImageStoreS3(p *AddImageStoreS3Params) (*AddImage
}
type AddImageStoreS3Response struct {
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Protocol string `json:"protocol"`
- Providername string `json:"providername"`
- Scope string `json:"scope"`
- Url string `json:"url"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Disksizetotal int64 `json:"disksizetotal"`
+ Disksizeused int64 `json:"disksizeused"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Protocol string `json:"protocol"`
+ Providername string `json:"providername"`
+ Readonly bool `json:"readonly"`
+ Scope string `json:"scope"`
+ Url string `json:"url"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type CreateSecondaryStagingStoreParams struct {
@@ -389,16 +395,19 @@ func (s *ImageStoreService) CreateSecondaryStagingStore(p *CreateSecondaryStagin
}
type CreateSecondaryStagingStoreResponse struct {
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Protocol string `json:"protocol"`
- Providername string `json:"providername"`
- Scope string `json:"scope"`
- Url string `json:"url"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Disksizetotal int64 `json:"disksizetotal"`
+ Disksizeused int64 `json:"disksizeused"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Protocol string `json:"protocol"`
+ Providername string `json:"providername"`
+ Readonly bool `json:"readonly"`
+ Scope string `json:"scope"`
+ Url string `json:"url"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type DeleteImageStoreParams struct {
@@ -593,6 +602,10 @@ func (p *ListImageStoresParams) toURLValues() url.Values {
if v, found := p.p["provider"]; found {
u.Set("provider", v.(string))
}
+ if v, found := p.p["readonly"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("readonly", vv)
+ }
if v, found := p.p["zoneid"]; found {
u.Set("zoneid", v.(string))
}
@@ -648,6 +661,13 @@ func (p *ListImageStoresParams) SetProvider(v string) {
p.p["provider"] = v
}
+func (p *ListImageStoresParams) SetReadonly(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["readonly"] = v
+}
+
func (p *ListImageStoresParams) SetZoneid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -767,16 +787,19 @@ type ListImageStoresResponse struct {
}
type ImageStore struct {
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Protocol string `json:"protocol"`
- Providername string `json:"providername"`
- Scope string `json:"scope"`
- Url string `json:"url"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Disksizetotal int64 `json:"disksizetotal"`
+ Disksizeused int64 `json:"disksizeused"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Protocol string `json:"protocol"`
+ Providername string `json:"providername"`
+ Readonly bool `json:"readonly"`
+ Scope string `json:"scope"`
+ Url string `json:"url"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type ListSecondaryStagingStoresParams struct {
@@ -985,16 +1008,19 @@ type ListSecondaryStagingStoresResponse struct {
}
type SecondaryStagingStore struct {
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Protocol string `json:"protocol"`
- Providername string `json:"providername"`
- Scope string `json:"scope"`
- Url string `json:"url"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Disksizetotal int64 `json:"disksizetotal"`
+ Disksizeused int64 `json:"disksizeused"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Protocol string `json:"protocol"`
+ Providername string `json:"providername"`
+ Readonly bool `json:"readonly"`
+ Scope string `json:"scope"`
+ Url string `json:"url"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type UpdateCloudToUseObjectStoreParams struct {
@@ -1078,14 +1104,17 @@ func (s *ImageStoreService) UpdateCloudToUseObjectStore(p *UpdateCloudToUseObjec
}
type UpdateCloudToUseObjectStoreResponse struct {
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Protocol string `json:"protocol"`
- Providername string `json:"providername"`
- Scope string `json:"scope"`
- Url string `json:"url"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Disksizetotal int64 `json:"disksizetotal"`
+ Disksizeused int64 `json:"disksizeused"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Protocol string `json:"protocol"`
+ Providername string `json:"providername"`
+ Readonly bool `json:"readonly"`
+ Scope string `json:"scope"`
+ Url string `json:"url"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
diff --git a/cloudstack/InternalLBService.go b/cloudstack/InternalLBService.go
index 80c0c4b..5f8bf41 100644
--- a/cloudstack/InternalLBService.go
+++ b/cloudstack/InternalLBService.go
@@ -346,6 +346,10 @@ func (p *ListInternalLoadBalancerVMsParams) toURLValues() url.Values {
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
+ if v, found := p.p["fetchhealthcheckresults"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("fetchhealthcheckresults", vv)
+ }
if v, found := p.p["forvpc"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("forvpc", vv)
@@ -413,6 +417,13 @@ func (p *ListInternalLoadBalancerVMsParams) SetDomainid(v string) {
p.p["domainid"] = v
}
+func (p *ListInternalLoadBalancerVMsParams) SetFetchhealthcheckresults(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["fetchhealthcheckresults"] = v
+}
+
func (p *ListInternalLoadBalancerVMsParams) SetForvpc(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -630,54 +641,66 @@ type ListInternalLoadBalancerVMsResponse struct {
}
type InternalLoadBalancerVM struct {
- Account string `json:"account"`
- Created string `json:"created"`
- Dns1 string `json:"dns1"`
- Dns2 string `json:"dns2"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Gateway string `json:"gateway"`
- Guestipaddress string `json:"guestipaddress"`
- Guestmacaddress string `json:"guestmacaddress"`
- Guestnetmask string `json:"guestnetmask"`
- Guestnetworkid string `json:"guestnetworkid"`
- Guestnetworkname string `json:"guestnetworkname"`
- Hostid string `json:"hostid"`
- Hostname string `json:"hostname"`
- Hypervisor string `json:"hypervisor"`
- Id string `json:"id"`
- Ip6dns1 string `json:"ip6dns1"`
- Ip6dns2 string `json:"ip6dns2"`
- Isredundantrouter bool `json:"isredundantrouter"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Linklocalip string `json:"linklocalip"`
- Linklocalmacaddress string `json:"linklocalmacaddress"`
- Linklocalnetmask string `json:"linklocalnetmask"`
- Linklocalnetworkid string `json:"linklocalnetworkid"`
- Name string `json:"name"`
- Networkdomain string `json:"networkdomain"`
- Nic []Nic `json:"nic"`
- Podid string `json:"podid"`
- Project string `json:"project"`
- Projectid string `json:"projectid"`
- Publicip string `json:"publicip"`
- Publicmacaddress string `json:"publicmacaddress"`
- Publicnetmask string `json:"publicnetmask"`
- Publicnetworkid string `json:"publicnetworkid"`
- Redundantstate string `json:"redundantstate"`
- Requiresupgrade bool `json:"requiresupgrade"`
- Role string `json:"role"`
- Scriptsversion string `json:"scriptsversion"`
- Serviceofferingid string `json:"serviceofferingid"`
- Serviceofferingname string `json:"serviceofferingname"`
- State string `json:"state"`
- Templateid string `json:"templateid"`
- Version string `json:"version"`
- Vpcid string `json:"vpcid"`
- Vpcname string `json:"vpcname"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Account string `json:"account"`
+ Created string `json:"created"`
+ Dns1 string `json:"dns1"`
+ Dns2 string `json:"dns2"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Gateway string `json:"gateway"`
+ Guestipaddress string `json:"guestipaddress"`
+ Guestmacaddress string `json:"guestmacaddress"`
+ Guestnetmask string `json:"guestnetmask"`
+ Guestnetworkid string `json:"guestnetworkid"`
+ Guestnetworkname string `json:"guestnetworkname"`
+ Healthcheckresults []InternalLoadBalancerVMHealthcheckresults `json:"healthcheckresults"`
+ Healthchecksfailed bool `json:"healthchecksfailed"`
+ Hostid string `json:"hostid"`
+ Hostname string `json:"hostname"`
+ Hypervisor string `json:"hypervisor"`
+ Id string `json:"id"`
+ Ip6dns1 string `json:"ip6dns1"`
+ Ip6dns2 string `json:"ip6dns2"`
+ Isredundantrouter bool `json:"isredundantrouter"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Linklocalip string `json:"linklocalip"`
+ Linklocalmacaddress string `json:"linklocalmacaddress"`
+ Linklocalnetmask string `json:"linklocalnetmask"`
+ Linklocalnetworkid string `json:"linklocalnetworkid"`
+ Name string `json:"name"`
+ Networkdomain string `json:"networkdomain"`
+ Nic []Nic `json:"nic"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ Publicip string `json:"publicip"`
+ Publicmacaddress string `json:"publicmacaddress"`
+ Publicnetmask string `json:"publicnetmask"`
+ Publicnetworkid string `json:"publicnetworkid"`
+ Redundantstate string `json:"redundantstate"`
+ Requiresupgrade bool `json:"requiresupgrade"`
+ Role string `json:"role"`
+ Scriptsversion string `json:"scriptsversion"`
+ Serviceofferingid string `json:"serviceofferingid"`
+ Serviceofferingname string `json:"serviceofferingname"`
+ State string `json:"state"`
+ Templateid string `json:"templateid"`
+ Templatename string `json:"templatename"`
+ Version string `json:"version"`
+ Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+}
+
+type InternalLoadBalancerVMHealthcheckresults struct {
+ Checkname string `json:"checkname"`
+ Checktype string `json:"checktype"`
+ Details string `json:"details"`
+ Lastupdated string `json:"lastupdated"`
+ Success bool `json:"success"`
}
type StartInternalLoadBalancerVMParams struct {
@@ -747,54 +770,66 @@ func (s *InternalLBService) StartInternalLoadBalancerVM(p *StartInternalLoadBala
}
type StartInternalLoadBalancerVMResponse struct {
- Account string `json:"account"`
- Created string `json:"created"`
- Dns1 string `json:"dns1"`
- Dns2 string `json:"dns2"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Gateway string `json:"gateway"`
- Guestipaddress string `json:"guestipaddress"`
- Guestmacaddress string `json:"guestmacaddress"`
- Guestnetmask string `json:"guestnetmask"`
- Guestnetworkid string `json:"guestnetworkid"`
- Guestnetworkname string `json:"guestnetworkname"`
- Hostid string `json:"hostid"`
- Hostname string `json:"hostname"`
- Hypervisor string `json:"hypervisor"`
- Id string `json:"id"`
- Ip6dns1 string `json:"ip6dns1"`
- Ip6dns2 string `json:"ip6dns2"`
- Isredundantrouter bool `json:"isredundantrouter"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Linklocalip string `json:"linklocalip"`
- Linklocalmacaddress string `json:"linklocalmacaddress"`
- Linklocalnetmask string `json:"linklocalnetmask"`
- Linklocalnetworkid string `json:"linklocalnetworkid"`
- Name string `json:"name"`
- Networkdomain string `json:"networkdomain"`
- Nic []Nic `json:"nic"`
- Podid string `json:"podid"`
- Project string `json:"project"`
- Projectid string `json:"projectid"`
- Publicip string `json:"publicip"`
- Publicmacaddress string `json:"publicmacaddress"`
- Publicnetmask string `json:"publicnetmask"`
- Publicnetworkid string `json:"publicnetworkid"`
- Redundantstate string `json:"redundantstate"`
- Requiresupgrade bool `json:"requiresupgrade"`
- Role string `json:"role"`
- Scriptsversion string `json:"scriptsversion"`
- Serviceofferingid string `json:"serviceofferingid"`
- Serviceofferingname string `json:"serviceofferingname"`
- State string `json:"state"`
- Templateid string `json:"templateid"`
- Version string `json:"version"`
- Vpcid string `json:"vpcid"`
- Vpcname string `json:"vpcname"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Account string `json:"account"`
+ Created string `json:"created"`
+ Dns1 string `json:"dns1"`
+ Dns2 string `json:"dns2"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Gateway string `json:"gateway"`
+ Guestipaddress string `json:"guestipaddress"`
+ Guestmacaddress string `json:"guestmacaddress"`
+ Guestnetmask string `json:"guestnetmask"`
+ Guestnetworkid string `json:"guestnetworkid"`
+ Guestnetworkname string `json:"guestnetworkname"`
+ Healthcheckresults []StartInternalLoadBalancerVMResponseHealthcheckresults `json:"healthcheckresults"`
+ Healthchecksfailed bool `json:"healthchecksfailed"`
+ Hostid string `json:"hostid"`
+ Hostname string `json:"hostname"`
+ Hypervisor string `json:"hypervisor"`
+ Id string `json:"id"`
+ Ip6dns1 string `json:"ip6dns1"`
+ Ip6dns2 string `json:"ip6dns2"`
+ Isredundantrouter bool `json:"isredundantrouter"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Linklocalip string `json:"linklocalip"`
+ Linklocalmacaddress string `json:"linklocalmacaddress"`
+ Linklocalnetmask string `json:"linklocalnetmask"`
+ Linklocalnetworkid string `json:"linklocalnetworkid"`
+ Name string `json:"name"`
+ Networkdomain string `json:"networkdomain"`
+ Nic []Nic `json:"nic"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ Publicip string `json:"publicip"`
+ Publicmacaddress string `json:"publicmacaddress"`
+ Publicnetmask string `json:"publicnetmask"`
+ Publicnetworkid string `json:"publicnetworkid"`
+ Redundantstate string `json:"redundantstate"`
+ Requiresupgrade bool `json:"requiresupgrade"`
+ Role string `json:"role"`
+ Scriptsversion string `json:"scriptsversion"`
+ Serviceofferingid string `json:"serviceofferingid"`
+ Serviceofferingname string `json:"serviceofferingname"`
+ State string `json:"state"`
+ Templateid string `json:"templateid"`
+ Templatename string `json:"templatename"`
+ Version string `json:"version"`
+ Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+}
+
+type StartInternalLoadBalancerVMResponseHealthcheckresults struct {
+ Checkname string `json:"checkname"`
+ Checktype string `json:"checktype"`
+ Details string `json:"details"`
+ Lastupdated string `json:"lastupdated"`
+ Success bool `json:"success"`
}
type StopInternalLoadBalancerVMParams struct {
@@ -875,52 +910,64 @@ func (s *InternalLBService) StopInternalLoadBalancerVM(p *StopInternalLoadBalanc
}
type StopInternalLoadBalancerVMResponse struct {
- Account string `json:"account"`
- Created string `json:"created"`
- Dns1 string `json:"dns1"`
- Dns2 string `json:"dns2"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Gateway string `json:"gateway"`
- Guestipaddress string `json:"guestipaddress"`
- Guestmacaddress string `json:"guestmacaddress"`
- Guestnetmask string `json:"guestnetmask"`
- Guestnetworkid string `json:"guestnetworkid"`
- Guestnetworkname string `json:"guestnetworkname"`
- Hostid string `json:"hostid"`
- Hostname string `json:"hostname"`
- Hypervisor string `json:"hypervisor"`
- Id string `json:"id"`
- Ip6dns1 string `json:"ip6dns1"`
- Ip6dns2 string `json:"ip6dns2"`
- Isredundantrouter bool `json:"isredundantrouter"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Linklocalip string `json:"linklocalip"`
- Linklocalmacaddress string `json:"linklocalmacaddress"`
- Linklocalnetmask string `json:"linklocalnetmask"`
- Linklocalnetworkid string `json:"linklocalnetworkid"`
- Name string `json:"name"`
- Networkdomain string `json:"networkdomain"`
- Nic []Nic `json:"nic"`
- Podid string `json:"podid"`
- Project string `json:"project"`
- Projectid string `json:"projectid"`
- Publicip string `json:"publicip"`
- Publicmacaddress string `json:"publicmacaddress"`
- Publicnetmask string `json:"publicnetmask"`
- Publicnetworkid string `json:"publicnetworkid"`
- Redundantstate string `json:"redundantstate"`
- Requiresupgrade bool `json:"requiresupgrade"`
- Role string `json:"role"`
- Scriptsversion string `json:"scriptsversion"`
- Serviceofferingid string `json:"serviceofferingid"`
- Serviceofferingname string `json:"serviceofferingname"`
- State string `json:"state"`
- Templateid string `json:"templateid"`
- Version string `json:"version"`
- Vpcid string `json:"vpcid"`
- Vpcname string `json:"vpcname"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Account string `json:"account"`
+ Created string `json:"created"`
+ Dns1 string `json:"dns1"`
+ Dns2 string `json:"dns2"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Gateway string `json:"gateway"`
+ Guestipaddress string `json:"guestipaddress"`
+ Guestmacaddress string `json:"guestmacaddress"`
+ Guestnetmask string `json:"guestnetmask"`
+ Guestnetworkid string `json:"guestnetworkid"`
+ Guestnetworkname string `json:"guestnetworkname"`
+ Healthcheckresults []StopInternalLoadBalancerVMResponseHealthcheckresults `json:"healthcheckresults"`
+ Healthchecksfailed bool `json:"healthchecksfailed"`
+ Hostid string `json:"hostid"`
+ Hostname string `json:"hostname"`
+ Hypervisor string `json:"hypervisor"`
+ Id string `json:"id"`
+ Ip6dns1 string `json:"ip6dns1"`
+ Ip6dns2 string `json:"ip6dns2"`
+ Isredundantrouter bool `json:"isredundantrouter"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Linklocalip string `json:"linklocalip"`
+ Linklocalmacaddress string `json:"linklocalmacaddress"`
+ Linklocalnetmask string `json:"linklocalnetmask"`
+ Linklocalnetworkid string `json:"linklocalnetworkid"`
+ Name string `json:"name"`
+ Networkdomain string `json:"networkdomain"`
+ Nic []Nic `json:"nic"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ Publicip string `json:"publicip"`
+ Publicmacaddress string `json:"publicmacaddress"`
+ Publicnetmask string `json:"publicnetmask"`
+ Publicnetworkid string `json:"publicnetworkid"`
+ Redundantstate string `json:"redundantstate"`
+ Requiresupgrade bool `json:"requiresupgrade"`
+ Role string `json:"role"`
+ Scriptsversion string `json:"scriptsversion"`
+ Serviceofferingid string `json:"serviceofferingid"`
+ Serviceofferingname string `json:"serviceofferingname"`
+ State string `json:"state"`
+ Templateid string `json:"templateid"`
+ Templatename string `json:"templatename"`
+ Version string `json:"version"`
+ Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+}
+
+type StopInternalLoadBalancerVMResponseHealthcheckresults struct {
+ Checkname string `json:"checkname"`
+ Checktype string `json:"checktype"`
+ Details string `json:"details"`
+ Lastupdated string `json:"lastupdated"`
+ Success bool `json:"success"`
}
diff --git a/cloudstack/LDAPService.go b/cloudstack/LDAPService.go
index 64a715f..f81fa01 100644
--- a/cloudstack/LDAPService.go
+++ b/cloudstack/LDAPService.go
@@ -320,14 +320,15 @@ func (s *LDAPService) ImportLdapUsers(p *ImportLdapUsersParams) (*ImportLdapUser
}
type ImportLdapUsersResponse struct {
- Domain string `json:"domain"`
- Email string `json:"email"`
- Firstname string `json:"firstname"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Lastname string `json:"lastname"`
- Principal string `json:"principal"`
- Username string `json:"username"`
+ Conflictingusersource string `json:"conflictingusersource"`
+ Domain string `json:"domain"`
+ Email string `json:"email"`
+ Firstname string `json:"firstname"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Lastname string `json:"lastname"`
+ Principal string `json:"principal"`
+ Username string `json:"username"`
}
type LdapConfigParams struct {
@@ -630,6 +631,7 @@ type LdapCreateAccountResponse struct {
Defaultzoneid string `json:"defaultzoneid"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Domainpath string `json:"domainpath"`
Groups []string `json:"groups"`
Id string `json:"id"`
Ipavailable string `json:"ipavailable"`
@@ -881,6 +883,10 @@ func (p *ListLdapConfigurationsParams) toURLValues() url.Values {
if v, found := p.p["keyword"]; found {
u.Set("keyword", v.(string))
}
+ if v, found := p.p["listall"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("listall", vv)
+ }
if v, found := p.p["page"]; found {
vv := strconv.Itoa(v.(int))
u.Set("page", vv)
@@ -917,6 +923,13 @@ func (p *ListLdapConfigurationsParams) SetKeyword(v string) {
p.p["keyword"] = v
}
+func (p *ListLdapConfigurationsParams) SetListall(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["listall"] = v
+}
+
func (p *ListLdapConfigurationsParams) SetPage(v int) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -983,6 +996,9 @@ func (p *ListLdapUsersParams) toURLValues() url.Values {
if p.p == nil {
return u
}
+ if v, found := p.p["domainid"]; found {
+ u.Set("domainid", v.(string))
+ }
if v, found := p.p["keyword"]; found {
u.Set("keyword", v.(string))
}
@@ -997,9 +1013,19 @@ func (p *ListLdapUsersParams) toURLValues() url.Values {
vv := strconv.Itoa(v.(int))
u.Set("pagesize", vv)
}
+ if v, found := p.p["userfilter"]; found {
+ u.Set("userfilter", v.(string))
+ }
return u
}
+func (p *ListLdapUsersParams) SetDomainid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["domainid"] = v
+}
+
func (p *ListLdapUsersParams) SetKeyword(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1028,6 +1054,13 @@ func (p *ListLdapUsersParams) SetPagesize(v int) {
p.p["pagesize"] = v
}
+func (p *ListLdapUsersParams) SetUserfilter(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["userfilter"] = v
+}
+
// You should always use this function to get a new ListLdapUsersParams instance,
// as then you are sure you have configured all required params
func (s *LDAPService) NewListLdapUsersParams() *ListLdapUsersParams {
@@ -1036,7 +1069,7 @@ func (s *LDAPService) NewListLdapUsersParams() *ListLdapUsersParams {
return p
}
-// Lists all LDAP Users
+// Lists LDAP Users according to the specifications from the user request.
func (s *LDAPService) ListLdapUsers(p *ListLdapUsersParams) (*ListLdapUsersResponse, error) {
resp, err := s.cs.newRequest("listLdapUsers", p.toURLValues())
if err != nil {
@@ -1057,14 +1090,15 @@ type ListLdapUsersResponse struct {
}
type LdapUser struct {
- Domain string `json:"domain"`
- Email string `json:"email"`
- Firstname string `json:"firstname"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Lastname string `json:"lastname"`
- Principal string `json:"principal"`
- Username string `json:"username"`
+ Conflictingusersource string `json:"conflictingusersource"`
+ Domain string `json:"domain"`
+ Email string `json:"email"`
+ Firstname string `json:"firstname"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Lastname string `json:"lastname"`
+ Principal string `json:"principal"`
+ Username string `json:"username"`
}
type SearchLdapParams struct {
@@ -1146,12 +1180,13 @@ func (s *LDAPService) SearchLdap(p *SearchLdapParams) (*SearchLdapResponse, erro
}
type SearchLdapResponse struct {
- Domain string `json:"domain"`
- Email string `json:"email"`
- Firstname string `json:"firstname"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Lastname string `json:"lastname"`
- Principal string `json:"principal"`
- Username string `json:"username"`
+ Conflictingusersource string `json:"conflictingusersource"`
+ Domain string `json:"domain"`
+ Email string `json:"email"`
+ Firstname string `json:"firstname"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Lastname string `json:"lastname"`
+ Principal string `json:"principal"`
+ Username string `json:"username"`
}
diff --git a/cloudstack/LoadBalancerService.go b/cloudstack/LoadBalancerService.go
index e6a8c60..dc078f3 100644
--- a/cloudstack/LoadBalancerService.go
+++ b/cloudstack/LoadBalancerService.go
@@ -4514,6 +4514,10 @@ func (p *UploadSslCertParams) toURLValues() url.Values {
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
+ if v, found := p.p["enabledrevocationcheck"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("enabledrevocationcheck", vv)
+ }
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
@@ -4557,6 +4561,13 @@ func (p *UploadSslCertParams) SetDomainid(v string) {
p.p["domainid"] = v
}
+func (p *UploadSslCertParams) SetEnabledrevocationcheck(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["enabledrevocationcheck"] = v
+}
+
func (p *UploadSslCertParams) SetName(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
diff --git a/cloudstack/NetworkACLService.go b/cloudstack/NetworkACLService.go
index f446736..d8a916f 100644
--- a/cloudstack/NetworkACLService.go
+++ b/cloudstack/NetworkACLService.go
@@ -222,6 +222,7 @@ func (s *NetworkACLService) CreateNetworkACL(p *CreateNetworkACLParams) (*Create
type CreateNetworkACLResponse struct {
Aclid string `json:"aclid"`
+ Aclname string `json:"aclname"`
Action string `json:"action"`
Cidrlist string `json:"cidrlist"`
Endport string `json:"endport"`
@@ -996,6 +997,7 @@ type ListNetworkACLsResponse struct {
type NetworkACL struct {
Aclid string `json:"aclid"`
+ Aclname string `json:"aclname"`
Action string `json:"action"`
Cidrlist string `json:"cidrlist"`
Endport string `json:"endport"`
@@ -1308,6 +1310,7 @@ func (s *NetworkACLService) UpdateNetworkACLItem(p *UpdateNetworkACLItemParams)
type UpdateNetworkACLItemResponse struct {
Aclid string `json:"aclid"`
+ Aclname string `json:"aclname"`
Action string `json:"action"`
Cidrlist string `json:"cidrlist"`
Endport string `json:"endport"`
diff --git a/cloudstack/NetworkOfferingService.go b/cloudstack/NetworkOfferingService.go
index 94d2bcb..5eb3471 100644
--- a/cloudstack/NetworkOfferingService.go
+++ b/cloudstack/NetworkOfferingService.go
@@ -52,6 +52,10 @@ func (p *CreateNetworkOfferingParams) toURLValues() url.Values {
if v, found := p.p["displaytext"]; found {
u.Set("displaytext", v.(string))
}
+ if v, found := p.p["domainid"]; found {
+ vv := strings.Join(v.([]string), ",")
+ u.Set("domainid", vv)
+ }
if v, found := p.p["egressdefaultpolicy"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("egressdefaultpolicy", vv)
@@ -117,6 +121,10 @@ func (p *CreateNetworkOfferingParams) toURLValues() url.Values {
if v, found := p.p["traffictype"]; found {
u.Set("traffictype", v.(string))
}
+ if v, found := p.p["zoneid"]; found {
+ vv := strings.Join(v.([]string), ",")
+ u.Set("zoneid", vv)
+ }
return u
}
@@ -148,6 +156,13 @@ func (p *CreateNetworkOfferingParams) SetDisplaytext(v string) {
p.p["displaytext"] = v
}
+func (p *CreateNetworkOfferingParams) SetDomainid(v []string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["domainid"] = v
+}
+
func (p *CreateNetworkOfferingParams) SetEgressdefaultpolicy(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -260,6 +275,13 @@ func (p *CreateNetworkOfferingParams) SetTraffictype(v string) {
p.p["traffictype"] = v
}
+func (p *CreateNetworkOfferingParams) SetZoneid(v []string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["zoneid"] = v
+}
+
// You should always use this function to get a new CreateNetworkOfferingParams instance,
// as then you are sure you have configured all required params
func (s *NetworkOfferingService) NewCreateNetworkOfferingParams(displaytext string, guestiptype string, name string, supportedservices []string, traffictype string) *CreateNetworkOfferingParams {
@@ -298,6 +320,8 @@ type CreateNetworkOfferingResponse struct {
Created string `json:"created"`
Details map[string]string `json:"details"`
Displaytext string `json:"displaytext"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
Egressdefaultpolicy bool `json:"egressdefaultpolicy"`
Forvpc bool `json:"forvpc"`
Guestiptype string `json:"guestiptype"`
@@ -318,6 +342,8 @@ type CreateNetworkOfferingResponse struct {
Supportsstrechedl2subnet bool `json:"supportsstrechedl2subnet"`
Tags string `json:"tags"`
Traffictype string `json:"traffictype"`
+ Zone string `json:"zone"`
+ Zoneid string `json:"zoneid"`
}
type CreateNetworkOfferingResponseService struct {
@@ -437,6 +463,9 @@ func (p *ListNetworkOfferingsParams) toURLValues() url.Values {
if v, found := p.p["displaytext"]; found {
u.Set("displaytext", v.(string))
}
+ if v, found := p.p["domainid"]; found {
+ u.Set("domainid", v.(string))
+ }
if v, found := p.p["forvpc"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("forvpc", vv)
@@ -517,6 +546,13 @@ func (p *ListNetworkOfferingsParams) SetDisplaytext(v string) {
p.p["displaytext"] = v
}
+func (p *ListNetworkOfferingsParams) SetDomainid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["domainid"] = v
+}
+
func (p *ListNetworkOfferingsParams) SetForvpc(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -760,6 +796,8 @@ type NetworkOffering struct {
Created string `json:"created"`
Details map[string]string `json:"details"`
Displaytext string `json:"displaytext"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
Egressdefaultpolicy bool `json:"egressdefaultpolicy"`
Forvpc bool `json:"forvpc"`
Guestiptype string `json:"guestiptype"`
@@ -780,6 +818,8 @@ type NetworkOffering struct {
Supportsstrechedl2subnet bool `json:"supportsstrechedl2subnet"`
Tags string `json:"tags"`
Traffictype string `json:"traffictype"`
+ Zone string `json:"zone"`
+ Zoneid string `json:"zoneid"`
}
type NetworkOfferingServiceInternal struct {
@@ -819,6 +859,9 @@ func (p *UpdateNetworkOfferingParams) toURLValues() url.Values {
if v, found := p.p["displaytext"]; found {
u.Set("displaytext", v.(string))
}
+ if v, found := p.p["domainid"]; found {
+ u.Set("domainid", v.(string))
+ }
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
@@ -843,6 +886,9 @@ func (p *UpdateNetworkOfferingParams) toURLValues() url.Values {
if v, found := p.p["tags"]; found {
u.Set("tags", v.(string))
}
+ if v, found := p.p["zoneid"]; found {
+ u.Set("zoneid", v.(string))
+ }
return u
}
@@ -860,6 +906,13 @@ func (p *UpdateNetworkOfferingParams) SetDisplaytext(v string) {
p.p["displaytext"] = v
}
+func (p *UpdateNetworkOfferingParams) SetDomainid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["domainid"] = v
+}
+
func (p *UpdateNetworkOfferingParams) SetId(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -909,6 +962,13 @@ func (p *UpdateNetworkOfferingParams) SetTags(v string) {
p.p["tags"] = v
}
+func (p *UpdateNetworkOfferingParams) SetZoneid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["zoneid"] = v
+}
+
// You should always use this function to get a new UpdateNetworkOfferingParams instance,
// as then you are sure you have configured all required params
func (s *NetworkOfferingService) NewUpdateNetworkOfferingParams() *UpdateNetworkOfferingParams {
@@ -938,6 +998,8 @@ type UpdateNetworkOfferingResponse struct {
Created string `json:"created"`
Details map[string]string `json:"details"`
Displaytext string `json:"displaytext"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
Egressdefaultpolicy bool `json:"egressdefaultpolicy"`
Forvpc bool `json:"forvpc"`
Guestiptype string `json:"guestiptype"`
@@ -958,6 +1020,8 @@ type UpdateNetworkOfferingResponse struct {
Supportsstrechedl2subnet bool `json:"supportsstrechedl2subnet"`
Tags string `json:"tags"`
Traffictype string `json:"traffictype"`
+ Zone string `json:"zone"`
+ Zoneid string `json:"zoneid"`
}
type UpdateNetworkOfferingResponseService struct {
diff --git a/cloudstack/NetworkService.go b/cloudstack/NetworkService.go
index 629b37d..a6f0037 100644
--- a/cloudstack/NetworkService.go
+++ b/cloudstack/NetworkService.go
@@ -290,6 +290,10 @@ func (p *CreateNetworkParams) toURLValues() url.Values {
if v, found := p.p["gateway"]; found {
u.Set("gateway", v.(string))
}
+ if v, found := p.p["hideipaddressusage"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("hideipaddressusage", vv)
+ }
if v, found := p.p["ip6cidr"]; found {
u.Set("ip6cidr", v.(string))
}
@@ -299,6 +303,9 @@ func (p *CreateNetworkParams) toURLValues() url.Values {
if v, found := p.p["isolatedpvlan"]; found {
u.Set("isolatedpvlan", v.(string))
}
+ if v, found := p.p["isolatedpvlantype"]; found {
+ u.Set("isolatedpvlantype", v.(string))
+ }
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
@@ -416,6 +423,13 @@ func (p *CreateNetworkParams) SetGateway(v string) {
p.p["gateway"] = v
}
+func (p *CreateNetworkParams) SetHideipaddressusage(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["hideipaddressusage"] = v
+}
+
func (p *CreateNetworkParams) SetIp6cidr(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -437,6 +451,13 @@ func (p *CreateNetworkParams) SetIsolatedpvlan(v string) {
p.p["isolatedpvlan"] = v
}
+func (p *CreateNetworkParams) SetIsolatedpvlantype(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["isolatedpvlantype"] = v
+}
+
func (p *CreateNetworkParams) SetName(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -555,11 +576,13 @@ func (s *NetworkService) CreateNetwork(p *CreateNetworkParams) (*CreateNetworkRe
type CreateNetworkResponse struct {
Account string `json:"account"`
Aclid string `json:"aclid"`
+ Aclname string `json:"aclname"`
Acltype string `json:"acltype"`
Broadcastdomaintype string `json:"broadcastdomaintype"`
Broadcasturi string `json:"broadcasturi"`
Canusefordeploy bool `json:"canusefordeploy"`
Cidr string `json:"cidr"`
+ Details map[string]string `json:"details"`
Displaynetwork bool `json:"displaynetwork"`
Displaytext string `json:"displaytext"`
Dns1 string `json:"dns1"`
@@ -602,6 +625,7 @@ type CreateNetworkResponse struct {
Type string `json:"type"`
Vlan string `json:"vlan"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
Zonesnetworkspans []interface{} `json:"zonesnetworkspans"`
@@ -781,6 +805,7 @@ type CreatePhysicalNetworkResponse struct {
Tags string `json:"tags"`
Vlan string `json:"vlan"`
Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type CreateServiceInstanceParams struct {
@@ -1668,11 +1693,13 @@ type ListNetscalerLoadBalancerNetworksResponse struct {
type NetscalerLoadBalancerNetwork struct {
Account string `json:"account"`
Aclid string `json:"aclid"`
+ Aclname string `json:"aclname"`
Acltype string `json:"acltype"`
Broadcastdomaintype string `json:"broadcastdomaintype"`
Broadcasturi string `json:"broadcasturi"`
Canusefordeploy bool `json:"canusefordeploy"`
Cidr string `json:"cidr"`
+ Details map[string]string `json:"details"`
Displaynetwork bool `json:"displaynetwork"`
Displaytext string `json:"displaytext"`
Dns1 string `json:"dns1"`
@@ -1715,6 +1742,7 @@ type NetscalerLoadBalancerNetwork struct {
Type string `json:"type"`
Vlan string `json:"vlan"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
Zonesnetworkspans []interface{} `json:"zonesnetworkspans"`
@@ -2018,6 +2046,9 @@ func (p *ListNetworksParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("listall", vv)
}
+ if v, found := p.p["networkofferingid"]; found {
+ u.Set("networkofferingid", v.(string))
+ }
if v, found := p.p["page"]; found {
vv := strconv.Itoa(v.(int))
u.Set("page", vv)
@@ -2143,6 +2174,13 @@ func (p *ListNetworksParams) SetListall(v bool) {
p.p["listall"] = v
}
+func (p *ListNetworksParams) SetNetworkofferingid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["networkofferingid"] = v
+}
+
func (p *ListNetworksParams) SetPage(v int) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2341,11 +2379,13 @@ type ListNetworksResponse struct {
type Network struct {
Account string `json:"account"`
Aclid string `json:"aclid"`
+ Aclname string `json:"aclname"`
Acltype string `json:"acltype"`
Broadcastdomaintype string `json:"broadcastdomaintype"`
Broadcasturi string `json:"broadcasturi"`
Canusefordeploy bool `json:"canusefordeploy"`
Cidr string `json:"cidr"`
+ Details map[string]string `json:"details"`
Displaynetwork bool `json:"displaynetwork"`
Displaytext string `json:"displaytext"`
Dns1 string `json:"dns1"`
@@ -2388,6 +2428,7 @@ type Network struct {
Type string `json:"type"`
Vlan string `json:"vlan"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
Zonesnetworkspans []interface{} `json:"zonesnetworkspans"`
@@ -2538,11 +2579,13 @@ type ListNiciraNvpDeviceNetworksResponse struct {
type NiciraNvpDeviceNetwork struct {
Account string `json:"account"`
Aclid string `json:"aclid"`
+ Aclname string `json:"aclname"`
Acltype string `json:"acltype"`
Broadcastdomaintype string `json:"broadcastdomaintype"`
Broadcasturi string `json:"broadcasturi"`
Canusefordeploy bool `json:"canusefordeploy"`
Cidr string `json:"cidr"`
+ Details map[string]string `json:"details"`
Displaynetwork bool `json:"displaynetwork"`
Displaytext string `json:"displaytext"`
Dns1 string `json:"dns1"`
@@ -2585,6 +2628,7 @@ type NiciraNvpDeviceNetwork struct {
Type string `json:"type"`
Vlan string `json:"vlan"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
Zonesnetworkspans []interface{} `json:"zonesnetworkspans"`
@@ -2838,11 +2882,13 @@ type ListPaloAltoFirewallNetworksResponse struct {
type PaloAltoFirewallNetwork struct {
Account string `json:"account"`
Aclid string `json:"aclid"`
+ Aclname string `json:"aclname"`
Acltype string `json:"acltype"`
Broadcastdomaintype string `json:"broadcastdomaintype"`
Broadcasturi string `json:"broadcasturi"`
Canusefordeploy bool `json:"canusefordeploy"`
Cidr string `json:"cidr"`
+ Details map[string]string `json:"details"`
Displaynetwork bool `json:"displaynetwork"`
Displaytext string `json:"displaytext"`
Dns1 string `json:"dns1"`
@@ -2885,6 +2931,7 @@ type PaloAltoFirewallNetwork struct {
Type string `json:"type"`
Vlan string `json:"vlan"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
Zonesnetworkspans []interface{} `json:"zonesnetworkspans"`
@@ -3110,6 +3157,7 @@ type PhysicalNetwork struct {
Tags string `json:"tags"`
Vlan string `json:"vlan"`
Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type ListStorageNetworkIpRangeParams struct {
@@ -3563,6 +3611,7 @@ type RestartNetworkResponse struct {
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Networkid string `json:"networkid"`
+ Networkname string `json:"networkname"`
Physicalnetworkid string `json:"physicalnetworkid"`
Project string `json:"project"`
Projectid string `json:"projectid"`
@@ -3576,6 +3625,7 @@ type RestartNetworkResponse struct {
Vlanname string `json:"vlanname"`
Vmipaddress string `json:"vmipaddress"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -3610,6 +3660,10 @@ func (p *UpdateNetworkParams) toURLValues() url.Values {
if v, found := p.p["guestvmcidr"]; found {
u.Set("guestvmcidr", v.(string))
}
+ if v, found := p.p["hideipaddressusage"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("hideipaddressusage", vv)
+ }
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
@@ -3671,6 +3725,13 @@ func (p *UpdateNetworkParams) SetGuestvmcidr(v string) {
p.p["guestvmcidr"] = v
}
+func (p *UpdateNetworkParams) SetHideipaddressusage(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["hideipaddressusage"] = v
+}
+
func (p *UpdateNetworkParams) SetId(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -3753,11 +3814,13 @@ func (s *NetworkService) UpdateNetwork(p *UpdateNetworkParams) (*UpdateNetworkRe
type UpdateNetworkResponse struct {
Account string `json:"account"`
Aclid string `json:"aclid"`
+ Aclname string `json:"aclname"`
Acltype string `json:"acltype"`
Broadcastdomaintype string `json:"broadcastdomaintype"`
Broadcasturi string `json:"broadcasturi"`
Canusefordeploy bool `json:"canusefordeploy"`
Cidr string `json:"cidr"`
+ Details map[string]string `json:"details"`
Displaynetwork bool `json:"displaynetwork"`
Displaytext string `json:"displaytext"`
Dns1 string `json:"dns1"`
@@ -3800,6 +3863,7 @@ type UpdateNetworkResponse struct {
Type string `json:"type"`
Vlan string `json:"vlan"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
Zonesnetworkspans []interface{} `json:"zonesnetworkspans"`
@@ -4046,6 +4110,7 @@ type UpdatePhysicalNetworkResponse struct {
Tags string `json:"tags"`
Vlan string `json:"vlan"`
Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type UpdateStorageNetworkIpRangeParams struct {
diff --git a/cloudstack/NicService.go b/cloudstack/NicService.go
index 0f8a5f2..953f90c 100644
--- a/cloudstack/NicService.go
+++ b/cloudstack/NicService.go
@@ -230,6 +230,7 @@ type ListNicsResponse struct {
}
type Nic struct {
+ Adaptertype string `json:"adaptertype"`
Broadcasturi string `json:"broadcasturi"`
Deviceid string `json:"deviceid"`
Extradhcpoption []string `json:"extradhcpoption"`
@@ -239,7 +240,10 @@ type Nic struct {
Ip6cidr string `json:"ip6cidr"`
Ip6gateway string `json:"ip6gateway"`
Ipaddress string `json:"ipaddress"`
+ Ipaddresses []string `json:"ipaddresses"`
Isdefault bool `json:"isdefault"`
+ Isolatedpvlan int `json:"isolatedpvlan"`
+ Isolatedpvlantype string `json:"isolatedpvlantype"`
Isolationuri string `json:"isolationuri"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
@@ -256,6 +260,7 @@ type Nic struct {
Traffictype string `json:"traffictype"`
Type string `json:"type"`
Virtualmachineid string `json:"virtualmachineid"`
+ Vlanid int `json:"vlanid"`
}
type RemoveIpFromNicParams struct {
@@ -405,6 +410,10 @@ func (s *NicService) UpdateVmNicIp(p *UpdateVmNicIpParams) (*UpdateVmNicIpRespon
type UpdateVmNicIpResponse struct {
Account string `json:"account"`
Affinitygroup []UpdateVmNicIpResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -445,6 +454,7 @@ type UpdateVmNicIpResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -452,6 +462,7 @@ type UpdateVmNicIpResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []UpdateVmNicIpResponseSecuritygroup `json:"securitygroup"`
diff --git a/cloudstack/PoolService.go b/cloudstack/PoolService.go
index 0a90807..2b841c8 100644
--- a/cloudstack/PoolService.go
+++ b/cloudstack/PoolService.go
@@ -719,6 +719,9 @@ func (p *UpdateStoragePoolParams) toURLValues() url.Values {
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
+ if v, found := p.p["name"]; found {
+ u.Set("name", v.(string))
+ }
if v, found := p.p["tags"]; found {
vv := strings.Join(v.([]string), ",")
u.Set("tags", vv)
@@ -754,6 +757,13 @@ func (p *UpdateStoragePoolParams) SetId(v string) {
p.p["id"] = v
}
+func (p *UpdateStoragePoolParams) SetName(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["name"] = v
+}
+
func (p *UpdateStoragePoolParams) SetTags(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
diff --git a/cloudstack/ProjectService.go b/cloudstack/ProjectService.go
index d60c17d..c60b8a4 100644
--- a/cloudstack/ProjectService.go
+++ b/cloudstack/ProjectService.go
@@ -94,52 +94,52 @@ func (s *ProjectService) ActivateProject(p *ActivateProjectParams) (*ActivatePro
}
type ActivateProjectResponse struct {
- Account string `json:"account"`
- Cpuavailable string `json:"cpuavailable"`
- Cpulimit string `json:"cpulimit"`
- Cputotal int64 `json:"cputotal"`
- Displaytext string `json:"displaytext"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Id string `json:"id"`
- Ipavailable string `json:"ipavailable"`
- Iplimit string `json:"iplimit"`
- Iptotal int64 `json:"iptotal"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Memoryavailable string `json:"memoryavailable"`
- Memorylimit string `json:"memorylimit"`
- Memorytotal int64 `json:"memorytotal"`
- Name string `json:"name"`
- Networkavailable string `json:"networkavailable"`
- Networklimit string `json:"networklimit"`
- Networktotal int64 `json:"networktotal"`
- Primarystorageavailable string `json:"primarystorageavailable"`
- Primarystoragelimit string `json:"primarystoragelimit"`
- Primarystoragetotal int64 `json:"primarystoragetotal"`
- Projectaccountname string `json:"projectaccountname"`
- Secondarystorageavailable string `json:"secondarystorageavailable"`
- Secondarystoragelimit string `json:"secondarystoragelimit"`
- Secondarystoragetotal float64 `json:"secondarystoragetotal"`
- Snapshotavailable string `json:"snapshotavailable"`
- Snapshotlimit string `json:"snapshotlimit"`
- Snapshottotal int64 `json:"snapshottotal"`
- State string `json:"state"`
- Tags []Tags `json:"tags"`
- Templateavailable string `json:"templateavailable"`
- Templatelimit string `json:"templatelimit"`
- Templatetotal int64 `json:"templatetotal"`
- Vmavailable string `json:"vmavailable"`
- Vmlimit string `json:"vmlimit"`
- Vmrunning int `json:"vmrunning"`
- Vmstopped int `json:"vmstopped"`
- Vmtotal int64 `json:"vmtotal"`
- Volumeavailable string `json:"volumeavailable"`
- Volumelimit string `json:"volumelimit"`
- Volumetotal int64 `json:"volumetotal"`
- Vpcavailable string `json:"vpcavailable"`
- Vpclimit string `json:"vpclimit"`
- Vpctotal int64 `json:"vpctotal"`
+ Cpuavailable string `json:"cpuavailable"`
+ Cpulimit string `json:"cpulimit"`
+ Cputotal int64 `json:"cputotal"`
+ Displaytext string `json:"displaytext"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Id string `json:"id"`
+ Ipavailable string `json:"ipavailable"`
+ Iplimit string `json:"iplimit"`
+ Iptotal int64 `json:"iptotal"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Memoryavailable string `json:"memoryavailable"`
+ Memorylimit string `json:"memorylimit"`
+ Memorytotal int64 `json:"memorytotal"`
+ Name string `json:"name"`
+ Networkavailable string `json:"networkavailable"`
+ Networklimit string `json:"networklimit"`
+ Networktotal int64 `json:"networktotal"`
+ Owner []string `json:"owner"`
+ Primarystorageavailable string `json:"primarystorageavailable"`
+ Primarystoragelimit string `json:"primarystoragelimit"`
+ Primarystoragetotal int64 `json:"primarystoragetotal"`
+ Projectaccountname string `json:"projectaccountname"`
+ Secondarystorageavailable string `json:"secondarystorageavailable"`
+ Secondarystoragelimit string `json:"secondarystoragelimit"`
+ Secondarystoragetotal float64 `json:"secondarystoragetotal"`
+ Snapshotavailable string `json:"snapshotavailable"`
+ Snapshotlimit string `json:"snapshotlimit"`
+ Snapshottotal int64 `json:"snapshottotal"`
+ State string `json:"state"`
+ Tags []Tags `json:"tags"`
+ Templateavailable string `json:"templateavailable"`
+ Templatelimit string `json:"templatelimit"`
+ Templatetotal int64 `json:"templatetotal"`
+ Vmavailable string `json:"vmavailable"`
+ Vmlimit string `json:"vmlimit"`
+ Vmrunning int `json:"vmrunning"`
+ Vmstopped int `json:"vmstopped"`
+ Vmtotal int64 `json:"vmtotal"`
+ Volumeavailable string `json:"volumeavailable"`
+ Volumelimit string `json:"volumelimit"`
+ Volumetotal int64 `json:"volumetotal"`
+ Vpcavailable string `json:"vpcavailable"`
+ Vpclimit string `json:"vpclimit"`
+ Vpctotal int64 `json:"vpctotal"`
}
type CreateProjectParams struct {
@@ -154,6 +154,9 @@ func (p *CreateProjectParams) toURLValues() url.Values {
if v, found := p.p["account"]; found {
u.Set("account", v.(string))
}
+ if v, found := p.p["accountid"]; found {
+ u.Set("accountid", v.(string))
+ }
if v, found := p.p["displaytext"]; found {
u.Set("displaytext", v.(string))
}
@@ -163,6 +166,9 @@ func (p *CreateProjectParams) toURLValues() url.Values {
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
+ if v, found := p.p["userid"]; found {
+ u.Set("userid", v.(string))
+ }
return u
}
@@ -173,6 +179,13 @@ func (p *CreateProjectParams) SetAccount(v string) {
p.p["account"] = v
}
+func (p *CreateProjectParams) SetAccountid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["accountid"] = v
+}
+
func (p *CreateProjectParams) SetDisplaytext(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -194,6 +207,13 @@ func (p *CreateProjectParams) SetName(v string) {
p.p["name"] = v
}
+func (p *CreateProjectParams) SetUserid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["userid"] = v
+}
+
// You should always use this function to get a new CreateProjectParams instance,
// as then you are sure you have configured all required params
func (s *ProjectService) NewCreateProjectParams(displaytext string, name string) *CreateProjectParams {
@@ -240,52 +260,52 @@ func (s *ProjectService) CreateProject(p *CreateProjectParams) (*CreateProjectRe
}
type CreateProjectResponse struct {
- Account string `json:"account"`
- Cpuavailable string `json:"cpuavailable"`
- Cpulimit string `json:"cpulimit"`
- Cputotal int64 `json:"cputotal"`
- Displaytext string `json:"displaytext"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Id string `json:"id"`
- Ipavailable string `json:"ipavailable"`
- Iplimit string `json:"iplimit"`
- Iptotal int64 `json:"iptotal"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Memoryavailable string `json:"memoryavailable"`
- Memorylimit string `json:"memorylimit"`
- Memorytotal int64 `json:"memorytotal"`
- Name string `json:"name"`
- Networkavailable string `json:"networkavailable"`
- Networklimit string `json:"networklimit"`
- Networktotal int64 `json:"networktotal"`
- Primarystorageavailable string `json:"primarystorageavailable"`
- Primarystoragelimit string `json:"primarystoragelimit"`
- Primarystoragetotal int64 `json:"primarystoragetotal"`
- Projectaccountname string `json:"projectaccountname"`
- Secondarystorageavailable string `json:"secondarystorageavailable"`
- Secondarystoragelimit string `json:"secondarystoragelimit"`
- Secondarystoragetotal float64 `json:"secondarystoragetotal"`
- Snapshotavailable string `json:"snapshotavailable"`
- Snapshotlimit string `json:"snapshotlimit"`
- Snapshottotal int64 `json:"snapshottotal"`
- State string `json:"state"`
- Tags []Tags `json:"tags"`
- Templateavailable string `json:"templateavailable"`
- Templatelimit string `json:"templatelimit"`
- Templatetotal int64 `json:"templatetotal"`
- Vmavailable string `json:"vmavailable"`
- Vmlimit string `json:"vmlimit"`
- Vmrunning int `json:"vmrunning"`
- Vmstopped int `json:"vmstopped"`
- Vmtotal int64 `json:"vmtotal"`
- Volumeavailable string `json:"volumeavailable"`
- Volumelimit string `json:"volumelimit"`
- Volumetotal int64 `json:"volumetotal"`
- Vpcavailable string `json:"vpcavailable"`
- Vpclimit string `json:"vpclimit"`
- Vpctotal int64 `json:"vpctotal"`
+ Cpuavailable string `json:"cpuavailable"`
+ Cpulimit string `json:"cpulimit"`
+ Cputotal int64 `json:"cputotal"`
+ Displaytext string `json:"displaytext"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Id string `json:"id"`
+ Ipavailable string `json:"ipavailable"`
+ Iplimit string `json:"iplimit"`
+ Iptotal int64 `json:"iptotal"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Memoryavailable string `json:"memoryavailable"`
+ Memorylimit string `json:"memorylimit"`
+ Memorytotal int64 `json:"memorytotal"`
+ Name string `json:"name"`
+ Networkavailable string `json:"networkavailable"`
+ Networklimit string `json:"networklimit"`
+ Networktotal int64 `json:"networktotal"`
+ Owner []string `json:"owner"`
+ Primarystorageavailable string `json:"primarystorageavailable"`
+ Primarystoragelimit string `json:"primarystoragelimit"`
+ Primarystoragetotal int64 `json:"primarystoragetotal"`
+ Projectaccountname string `json:"projectaccountname"`
+ Secondarystorageavailable string `json:"secondarystorageavailable"`
+ Secondarystoragelimit string `json:"secondarystoragelimit"`
+ Secondarystoragetotal float64 `json:"secondarystoragetotal"`
+ Snapshotavailable string `json:"snapshotavailable"`
+ Snapshotlimit string `json:"snapshotlimit"`
+ Snapshottotal int64 `json:"snapshottotal"`
+ State string `json:"state"`
+ Tags []Tags `json:"tags"`
+ Templateavailable string `json:"templateavailable"`
+ Templatelimit string `json:"templatelimit"`
+ Templatetotal int64 `json:"templatetotal"`
+ Vmavailable string `json:"vmavailable"`
+ Vmlimit string `json:"vmlimit"`
+ Vmrunning int `json:"vmrunning"`
+ Vmstopped int `json:"vmstopped"`
+ Vmtotal int64 `json:"vmtotal"`
+ Volumeavailable string `json:"volumeavailable"`
+ Volumelimit string `json:"volumelimit"`
+ Volumetotal int64 `json:"volumetotal"`
+ Vpcavailable string `json:"vpcavailable"`
+ Vpclimit string `json:"vpclimit"`
+ Vpctotal int64 `json:"vpctotal"`
}
type DeleteProjectParams struct {
@@ -471,6 +491,9 @@ func (p *ListProjectInvitationsParams) toURLValues() url.Values {
if v, found := p.p["state"]; found {
u.Set("state", v.(string))
}
+ if v, found := p.p["userid"]; found {
+ u.Set("userid", v.(string))
+ }
return u
}
@@ -551,6 +574,13 @@ func (p *ListProjectInvitationsParams) SetState(v string) {
p.p["state"] = v
}
+func (p *ListProjectInvitationsParams) SetUserid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["userid"] = v
+}
+
// You should always use this function to get a new ListProjectInvitationsParams instance,
// as then you are sure you have configured all required params
func (s *ProjectService) NewListProjectInvitationsParams() *ListProjectInvitationsParams {
@@ -623,6 +653,7 @@ type ProjectInvitation struct {
Project string `json:"project"`
Projectid string `json:"projectid"`
State string `json:"state"`
+ Userid string `json:"userid"`
}
type ListProjectsParams struct {
@@ -637,6 +668,10 @@ func (p *ListProjectsParams) toURLValues() url.Values {
if v, found := p.p["account"]; found {
u.Set("account", v.(string))
}
+ if v, found := p.p["details"]; found {
+ vv := strings.Join(v.([]string), ",")
+ u.Set("details", vv)
+ }
if v, found := p.p["displaytext"]; found {
u.Set("displaytext", v.(string))
}
@@ -678,6 +713,9 @@ func (p *ListProjectsParams) toURLValues() url.Values {
u.Set(fmt.Sprintf("tags[%d].value", i), m[k])
}
}
+ if v, found := p.p["username"]; found {
+ u.Set("username", v.(string))
+ }
return u
}
@@ -688,6 +726,13 @@ func (p *ListProjectsParams) SetAccount(v string) {
p.p["account"] = v
}
+func (p *ListProjectsParams) SetDetails(v []string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["details"] = v
+}
+
func (p *ListProjectsParams) SetDisplaytext(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -765,6 +810,13 @@ func (p *ListProjectsParams) SetTags(v map[string]string) {
p.p["tags"] = v
}
+func (p *ListProjectsParams) SetUsername(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["username"] = v
+}
+
// You should always use this function to get a new ListProjectsParams instance,
// as then you are sure you have configured all required params
func (s *ProjectService) NewListProjectsParams() *ListProjectsParams {
@@ -877,52 +929,52 @@ type ListProjectsResponse struct {
}
type Project struct {
- Account string `json:"account"`
- Cpuavailable string `json:"cpuavailable"`
- Cpulimit string `json:"cpulimit"`
- Cputotal int64 `json:"cputotal"`
- Displaytext string `json:"displaytext"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Id string `json:"id"`
- Ipavailable string `json:"ipavailable"`
- Iplimit string `json:"iplimit"`
- Iptotal int64 `json:"iptotal"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Memoryavailable string `json:"memoryavailable"`
- Memorylimit string `json:"memorylimit"`
- Memorytotal int64 `json:"memorytotal"`
- Name string `json:"name"`
- Networkavailable string `json:"networkavailable"`
- Networklimit string `json:"networklimit"`
- Networktotal int64 `json:"networktotal"`
- Primarystorageavailable string `json:"primarystorageavailable"`
- Primarystoragelimit string `json:"primarystoragelimit"`
- Primarystoragetotal int64 `json:"primarystoragetotal"`
- Projectaccountname string `json:"projectaccountname"`
- Secondarystorageavailable string `json:"secondarystorageavailable"`
- Secondarystoragelimit string `json:"secondarystoragelimit"`
- Secondarystoragetotal float64 `json:"secondarystoragetotal"`
- Snapshotavailable string `json:"snapshotavailable"`
- Snapshotlimit string `json:"snapshotlimit"`
- Snapshottotal int64 `json:"snapshottotal"`
- State string `json:"state"`
- Tags []Tags `json:"tags"`
- Templateavailable string `json:"templateavailable"`
- Templatelimit string `json:"templatelimit"`
- Templatetotal int64 `json:"templatetotal"`
- Vmavailable string `json:"vmavailable"`
- Vmlimit string `json:"vmlimit"`
- Vmrunning int `json:"vmrunning"`
- Vmstopped int `json:"vmstopped"`
- Vmtotal int64 `json:"vmtotal"`
- Volumeavailable string `json:"volumeavailable"`
- Volumelimit string `json:"volumelimit"`
- Volumetotal int64 `json:"volumetotal"`
- Vpcavailable string `json:"vpcavailable"`
- Vpclimit string `json:"vpclimit"`
- Vpctotal int64 `json:"vpctotal"`
+ Cpuavailable string `json:"cpuavailable"`
+ Cpulimit string `json:"cpulimit"`
+ Cputotal int64 `json:"cputotal"`
+ Displaytext string `json:"displaytext"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Id string `json:"id"`
+ Ipavailable string `json:"ipavailable"`
+ Iplimit string `json:"iplimit"`
+ Iptotal int64 `json:"iptotal"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Memoryavailable string `json:"memoryavailable"`
+ Memorylimit string `json:"memorylimit"`
+ Memorytotal int64 `json:"memorytotal"`
+ Name string `json:"name"`
+ Networkavailable string `json:"networkavailable"`
+ Networklimit string `json:"networklimit"`
+ Networktotal int64 `json:"networktotal"`
+ Owner []string `json:"owner"`
+ Primarystorageavailable string `json:"primarystorageavailable"`
+ Primarystoragelimit string `json:"primarystoragelimit"`
+ Primarystoragetotal int64 `json:"primarystoragetotal"`
+ Projectaccountname string `json:"projectaccountname"`
+ Secondarystorageavailable string `json:"secondarystorageavailable"`
+ Secondarystoragelimit string `json:"secondarystoragelimit"`
+ Secondarystoragetotal float64 `json:"secondarystoragetotal"`
+ Snapshotavailable string `json:"snapshotavailable"`
+ Snapshotlimit string `json:"snapshotlimit"`
+ Snapshottotal int64 `json:"snapshottotal"`
+ State string `json:"state"`
+ Tags []Tags `json:"tags"`
+ Templateavailable string `json:"templateavailable"`
+ Templatelimit string `json:"templatelimit"`
+ Templatetotal int64 `json:"templatetotal"`
+ Vmavailable string `json:"vmavailable"`
+ Vmlimit string `json:"vmlimit"`
+ Vmrunning int `json:"vmrunning"`
+ Vmstopped int `json:"vmstopped"`
+ Vmtotal int64 `json:"vmtotal"`
+ Volumeavailable string `json:"volumeavailable"`
+ Volumelimit string `json:"volumelimit"`
+ Volumetotal int64 `json:"volumetotal"`
+ Vpcavailable string `json:"vpcavailable"`
+ Vpclimit string `json:"vpclimit"`
+ Vpctotal int64 `json:"vpctotal"`
}
type SuspendProjectParams struct {
@@ -992,52 +1044,52 @@ func (s *ProjectService) SuspendProject(p *SuspendProjectParams) (*SuspendProjec
}
type SuspendProjectResponse struct {
- Account string `json:"account"`
- Cpuavailable string `json:"cpuavailable"`
- Cpulimit string `json:"cpulimit"`
- Cputotal int64 `json:"cputotal"`
- Displaytext string `json:"displaytext"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Id string `json:"id"`
- Ipavailable string `json:"ipavailable"`
- Iplimit string `json:"iplimit"`
- Iptotal int64 `json:"iptotal"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Memoryavailable string `json:"memoryavailable"`
- Memorylimit string `json:"memorylimit"`
- Memorytotal int64 `json:"memorytotal"`
- Name string `json:"name"`
- Networkavailable string `json:"networkavailable"`
- Networklimit string `json:"networklimit"`
- Networktotal int64 `json:"networktotal"`
- Primarystorageavailable string `json:"primarystorageavailable"`
- Primarystoragelimit string `json:"primarystoragelimit"`
- Primarystoragetotal int64 `json:"primarystoragetotal"`
- Projectaccountname string `json:"projectaccountname"`
- Secondarystorageavailable string `json:"secondarystorageavailable"`
- Secondarystoragelimit string `json:"secondarystoragelimit"`
- Secondarystoragetotal float64 `json:"secondarystoragetotal"`
- Snapshotavailable string `json:"snapshotavailable"`
- Snapshotlimit string `json:"snapshotlimit"`
- Snapshottotal int64 `json:"snapshottotal"`
- State string `json:"state"`
- Tags []Tags `json:"tags"`
- Templateavailable string `json:"templateavailable"`
- Templatelimit string `json:"templatelimit"`
- Templatetotal int64 `json:"templatetotal"`
- Vmavailable string `json:"vmavailable"`
- Vmlimit string `json:"vmlimit"`
- Vmrunning int `json:"vmrunning"`
- Vmstopped int `json:"vmstopped"`
- Vmtotal int64 `json:"vmtotal"`
- Volumeavailable string `json:"volumeavailable"`
- Volumelimit string `json:"volumelimit"`
- Volumetotal int64 `json:"volumetotal"`
- Vpcavailable string `json:"vpcavailable"`
- Vpclimit string `json:"vpclimit"`
- Vpctotal int64 `json:"vpctotal"`
+ Cpuavailable string `json:"cpuavailable"`
+ Cpulimit string `json:"cpulimit"`
+ Cputotal int64 `json:"cputotal"`
+ Displaytext string `json:"displaytext"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Id string `json:"id"`
+ Ipavailable string `json:"ipavailable"`
+ Iplimit string `json:"iplimit"`
+ Iptotal int64 `json:"iptotal"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Memoryavailable string `json:"memoryavailable"`
+ Memorylimit string `json:"memorylimit"`
+ Memorytotal int64 `json:"memorytotal"`
+ Name string `json:"name"`
+ Networkavailable string `json:"networkavailable"`
+ Networklimit string `json:"networklimit"`
+ Networktotal int64 `json:"networktotal"`
+ Owner []string `json:"owner"`
+ Primarystorageavailable string `json:"primarystorageavailable"`
+ Primarystoragelimit string `json:"primarystoragelimit"`
+ Primarystoragetotal int64 `json:"primarystoragetotal"`
+ Projectaccountname string `json:"projectaccountname"`
+ Secondarystorageavailable string `json:"secondarystorageavailable"`
+ Secondarystoragelimit string `json:"secondarystoragelimit"`
+ Secondarystoragetotal float64 `json:"secondarystoragetotal"`
+ Snapshotavailable string `json:"snapshotavailable"`
+ Snapshotlimit string `json:"snapshotlimit"`
+ Snapshottotal int64 `json:"snapshottotal"`
+ State string `json:"state"`
+ Tags []Tags `json:"tags"`
+ Templateavailable string `json:"templateavailable"`
+ Templatelimit string `json:"templatelimit"`
+ Templatetotal int64 `json:"templatetotal"`
+ Vmavailable string `json:"vmavailable"`
+ Vmlimit string `json:"vmlimit"`
+ Vmrunning int `json:"vmrunning"`
+ Vmstopped int `json:"vmstopped"`
+ Vmtotal int64 `json:"vmtotal"`
+ Volumeavailable string `json:"volumeavailable"`
+ Volumelimit string `json:"volumelimit"`
+ Volumetotal int64 `json:"volumetotal"`
+ Vpcavailable string `json:"vpcavailable"`
+ Vpclimit string `json:"vpclimit"`
+ Vpctotal int64 `json:"vpctotal"`
}
type UpdateProjectParams struct {
@@ -1058,6 +1110,16 @@ func (p *UpdateProjectParams) toURLValues() url.Values {
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
+ if v, found := p.p["roletype"]; found {
+ u.Set("roletype", v.(string))
+ }
+ if v, found := p.p["swapowner"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("swapowner", vv)
+ }
+ if v, found := p.p["userid"]; found {
+ u.Set("userid", v.(string))
+ }
return u
}
@@ -1082,6 +1144,27 @@ func (p *UpdateProjectParams) SetId(v string) {
p.p["id"] = v
}
+func (p *UpdateProjectParams) SetRoletype(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["roletype"] = v
+}
+
+func (p *UpdateProjectParams) SetSwapowner(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["swapowner"] = v
+}
+
+func (p *UpdateProjectParams) SetUserid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["userid"] = v
+}
+
// You should always use this function to get a new UpdateProjectParams instance,
// as then you are sure you have configured all required params
func (s *ProjectService) NewUpdateProjectParams(id string) *UpdateProjectParams {
@@ -1127,52 +1210,52 @@ func (s *ProjectService) UpdateProject(p *UpdateProjectParams) (*UpdateProjectRe
}
type UpdateProjectResponse struct {
- Account string `json:"account"`
- Cpuavailable string `json:"cpuavailable"`
- Cpulimit string `json:"cpulimit"`
- Cputotal int64 `json:"cputotal"`
- Displaytext string `json:"displaytext"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Id string `json:"id"`
- Ipavailable string `json:"ipavailable"`
- Iplimit string `json:"iplimit"`
- Iptotal int64 `json:"iptotal"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Memoryavailable string `json:"memoryavailable"`
- Memorylimit string `json:"memorylimit"`
- Memorytotal int64 `json:"memorytotal"`
- Name string `json:"name"`
- Networkavailable string `json:"networkavailable"`
- Networklimit string `json:"networklimit"`
- Networktotal int64 `json:"networktotal"`
- Primarystorageavailable string `json:"primarystorageavailable"`
- Primarystoragelimit string `json:"primarystoragelimit"`
- Primarystoragetotal int64 `json:"primarystoragetotal"`
- Projectaccountname string `json:"projectaccountname"`
- Secondarystorageavailable string `json:"secondarystorageavailable"`
- Secondarystoragelimit string `json:"secondarystoragelimit"`
- Secondarystoragetotal float64 `json:"secondarystoragetotal"`
- Snapshotavailable string `json:"snapshotavailable"`
- Snapshotlimit string `json:"snapshotlimit"`
- Snapshottotal int64 `json:"snapshottotal"`
- State string `json:"state"`
- Tags []Tags `json:"tags"`
- Templateavailable string `json:"templateavailable"`
- Templatelimit string `json:"templatelimit"`
- Templatetotal int64 `json:"templatetotal"`
- Vmavailable string `json:"vmavailable"`
- Vmlimit string `json:"vmlimit"`
- Vmrunning int `json:"vmrunning"`
- Vmstopped int `json:"vmstopped"`
- Vmtotal int64 `json:"vmtotal"`
- Volumeavailable string `json:"volumeavailable"`
- Volumelimit string `json:"volumelimit"`
- Volumetotal int64 `json:"volumetotal"`
- Vpcavailable string `json:"vpcavailable"`
- Vpclimit string `json:"vpclimit"`
- Vpctotal int64 `json:"vpctotal"`
+ Cpuavailable string `json:"cpuavailable"`
+ Cpulimit string `json:"cpulimit"`
+ Cputotal int64 `json:"cputotal"`
+ Displaytext string `json:"displaytext"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Id string `json:"id"`
+ Ipavailable string `json:"ipavailable"`
+ Iplimit string `json:"iplimit"`
+ Iptotal int64 `json:"iptotal"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Memoryavailable string `json:"memoryavailable"`
+ Memorylimit string `json:"memorylimit"`
+ Memorytotal int64 `json:"memorytotal"`
+ Name string `json:"name"`
+ Networkavailable string `json:"networkavailable"`
+ Networklimit string `json:"networklimit"`
+ Networktotal int64 `json:"networktotal"`
+ Owner []string `json:"owner"`
+ Primarystorageavailable string `json:"primarystorageavailable"`
+ Primarystoragelimit string `json:"primarystoragelimit"`
+ Primarystoragetotal int64 `json:"primarystoragetotal"`
+ Projectaccountname string `json:"projectaccountname"`
+ Secondarystorageavailable string `json:"secondarystorageavailable"`
+ Secondarystoragelimit string `json:"secondarystoragelimit"`
+ Secondarystoragetotal float64 `json:"secondarystoragetotal"`
+ Snapshotavailable string `json:"snapshotavailable"`
+ Snapshotlimit string `json:"snapshotlimit"`
+ Snapshottotal int64 `json:"snapshottotal"`
+ State string `json:"state"`
+ Tags []Tags `json:"tags"`
+ Templateavailable string `json:"templateavailable"`
+ Templatelimit string `json:"templatelimit"`
+ Templatetotal int64 `json:"templatetotal"`
+ Vmavailable string `json:"vmavailable"`
+ Vmlimit string `json:"vmlimit"`
+ Vmrunning int `json:"vmrunning"`
+ Vmstopped int `json:"vmstopped"`
+ Vmtotal int64 `json:"vmtotal"`
+ Volumeavailable string `json:"volumeavailable"`
+ Volumelimit string `json:"volumelimit"`
+ Volumetotal int64 `json:"volumetotal"`
+ Vpcavailable string `json:"vpcavailable"`
+ Vpclimit string `json:"vpclimit"`
+ Vpctotal int64 `json:"vpctotal"`
}
type UpdateProjectInvitationParams struct {
@@ -1197,6 +1280,9 @@ func (p *UpdateProjectInvitationParams) toURLValues() url.Values {
if v, found := p.p["token"]; found {
u.Set("token", v.(string))
}
+ if v, found := p.p["userid"]; found {
+ u.Set("userid", v.(string))
+ }
return u
}
@@ -1228,6 +1314,13 @@ func (p *UpdateProjectInvitationParams) SetToken(v string) {
p.p["token"] = v
}
+func (p *UpdateProjectInvitationParams) SetUserid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["userid"] = v
+}
+
// You should always use this function to get a new UpdateProjectInvitationParams instance,
// as then you are sure you have configured all required params
func (s *ProjectService) NewUpdateProjectInvitationParams(projectid string) *UpdateProjectInvitationParams {
diff --git a/cloudstack/RoleService.go b/cloudstack/RoleService.go
index ca4f0b1..215f94a 100644
--- a/cloudstack/RoleService.go
+++ b/cloudstack/RoleService.go
@@ -42,6 +42,9 @@ func (p *CreateRoleParams) toURLValues() url.Values {
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
+ if v, found := p.p["roleid"]; found {
+ u.Set("roleid", v.(string))
+ }
if v, found := p.p["type"]; found {
u.Set("type", v.(string))
}
@@ -62,6 +65,13 @@ func (p *CreateRoleParams) SetName(v string) {
p.p["name"] = v
}
+func (p *CreateRoleParams) SetRoleid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["roleid"] = v
+}
+
func (p *CreateRoleParams) SetType(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -71,11 +81,10 @@ func (p *CreateRoleParams) SetType(v string) {
// You should always use this function to get a new CreateRoleParams instance,
// as then you are sure you have configured all required params
-func (s *RoleService) NewCreateRoleParams(name string, roleType string) *CreateRoleParams {
+func (s *RoleService) NewCreateRoleParams(name string) *CreateRoleParams {
p := &CreateRoleParams{}
p.p = make(map[string]interface{})
p.p["name"] = name
- p.p["type"] = roleType
return p
}
@@ -97,6 +106,7 @@ func (s *RoleService) CreateRole(p *CreateRoleParams) (*CreateRoleResponse, erro
type CreateRoleResponse struct {
Description string `json:"description"`
Id string `json:"id"`
+ Isdefault bool `json:"isdefault"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Name string `json:"name"`
@@ -166,7 +176,7 @@ func (s *RoleService) NewCreateRolePermissionParams(permission string, roleid st
return p
}
-// Adds a API permission to a role
+// Adds an API permission to a role
func (s *RoleService) CreateRolePermission(p *CreateRolePermissionParams) (*CreateRolePermissionResponse, error) {
resp, err := s.cs.newRequest("createRolePermission", p.toURLValues())
if err != nil {
@@ -425,9 +435,20 @@ func (p *ListRolesParams) toURLValues() url.Values {
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
+ if v, found := p.p["keyword"]; found {
+ u.Set("keyword", v.(string))
+ }
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
+ if v, found := p.p["page"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("page", vv)
+ }
+ if v, found := p.p["pagesize"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("pagesize", vv)
+ }
if v, found := p.p["type"]; found {
u.Set("type", v.(string))
}
@@ -441,6 +462,13 @@ func (p *ListRolesParams) SetId(v string) {
p.p["id"] = v
}
+func (p *ListRolesParams) SetKeyword(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["keyword"] = v
+}
+
func (p *ListRolesParams) SetName(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -448,6 +476,20 @@ func (p *ListRolesParams) SetName(v string) {
p.p["name"] = v
}
+func (p *ListRolesParams) SetPage(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["page"] = v
+}
+
+func (p *ListRolesParams) SetPagesize(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["pagesize"] = v
+}
+
func (p *ListRolesParams) SetType(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -569,6 +611,7 @@ type ListRolesResponse struct {
type Role struct {
Description string `json:"description"`
Id string `json:"id"`
+ Isdefault bool `json:"isdefault"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Name string `json:"name"`
@@ -587,6 +630,9 @@ func (p *UpdateRoleParams) toURLValues() url.Values {
if v, found := p.p["description"]; found {
u.Set("description", v.(string))
}
+ if v, found := p.p["description"]; found {
+ u.Set("description", v.(string))
+ }
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
@@ -654,6 +700,7 @@ func (s *RoleService) UpdateRole(p *UpdateRoleParams) (*UpdateRoleResponse, erro
type UpdateRoleResponse struct {
Description string `json:"description"`
Id string `json:"id"`
+ Isdefault bool `json:"isdefault"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Name string `json:"name"`
diff --git a/cloudstack/RouterService.go b/cloudstack/RouterService.go
index 4e6b2df..802286b 100644
--- a/cloudstack/RouterService.go
+++ b/cloudstack/RouterService.go
@@ -85,54 +85,66 @@ func (s *RouterService) ChangeServiceForRouter(p *ChangeServiceForRouterParams)
}
type ChangeServiceForRouterResponse struct {
- Account string `json:"account"`
- Created string `json:"created"`
- Dns1 string `json:"dns1"`
- Dns2 string `json:"dns2"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Gateway string `json:"gateway"`
- Guestipaddress string `json:"guestipaddress"`
- Guestmacaddress string `json:"guestmacaddress"`
- Guestnetmask string `json:"guestnetmask"`
- Guestnetworkid string `json:"guestnetworkid"`
- Guestnetworkname string `json:"guestnetworkname"`
- Hostid string `json:"hostid"`
- Hostname string `json:"hostname"`
- Hypervisor string `json:"hypervisor"`
- Id string `json:"id"`
- Ip6dns1 string `json:"ip6dns1"`
- Ip6dns2 string `json:"ip6dns2"`
- Isredundantrouter bool `json:"isredundantrouter"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Linklocalip string `json:"linklocalip"`
- Linklocalmacaddress string `json:"linklocalmacaddress"`
- Linklocalnetmask string `json:"linklocalnetmask"`
- Linklocalnetworkid string `json:"linklocalnetworkid"`
- Name string `json:"name"`
- Networkdomain string `json:"networkdomain"`
- Nic []Nic `json:"nic"`
- Podid string `json:"podid"`
- Project string `json:"project"`
- Projectid string `json:"projectid"`
- Publicip string `json:"publicip"`
- Publicmacaddress string `json:"publicmacaddress"`
- Publicnetmask string `json:"publicnetmask"`
- Publicnetworkid string `json:"publicnetworkid"`
- Redundantstate string `json:"redundantstate"`
- Requiresupgrade bool `json:"requiresupgrade"`
- Role string `json:"role"`
- Scriptsversion string `json:"scriptsversion"`
- Serviceofferingid string `json:"serviceofferingid"`
- Serviceofferingname string `json:"serviceofferingname"`
- State string `json:"state"`
- Templateid string `json:"templateid"`
- Version string `json:"version"`
- Vpcid string `json:"vpcid"`
- Vpcname string `json:"vpcname"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Account string `json:"account"`
+ Created string `json:"created"`
+ Dns1 string `json:"dns1"`
+ Dns2 string `json:"dns2"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Gateway string `json:"gateway"`
+ Guestipaddress string `json:"guestipaddress"`
+ Guestmacaddress string `json:"guestmacaddress"`
+ Guestnetmask string `json:"guestnetmask"`
+ Guestnetworkid string `json:"guestnetworkid"`
+ Guestnetworkname string `json:"guestnetworkname"`
+ Healthcheckresults []ChangeServiceForRouterResponseHealthcheckresults `json:"healthcheckresults"`
+ Healthchecksfailed bool `json:"healthchecksfailed"`
+ Hostid string `json:"hostid"`
+ Hostname string `json:"hostname"`
+ Hypervisor string `json:"hypervisor"`
+ Id string `json:"id"`
+ Ip6dns1 string `json:"ip6dns1"`
+ Ip6dns2 string `json:"ip6dns2"`
+ Isredundantrouter bool `json:"isredundantrouter"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Linklocalip string `json:"linklocalip"`
+ Linklocalmacaddress string `json:"linklocalmacaddress"`
+ Linklocalnetmask string `json:"linklocalnetmask"`
+ Linklocalnetworkid string `json:"linklocalnetworkid"`
+ Name string `json:"name"`
+ Networkdomain string `json:"networkdomain"`
+ Nic []Nic `json:"nic"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ Publicip string `json:"publicip"`
+ Publicmacaddress string `json:"publicmacaddress"`
+ Publicnetmask string `json:"publicnetmask"`
+ Publicnetworkid string `json:"publicnetworkid"`
+ Redundantstate string `json:"redundantstate"`
+ Requiresupgrade bool `json:"requiresupgrade"`
+ Role string `json:"role"`
+ Scriptsversion string `json:"scriptsversion"`
+ Serviceofferingid string `json:"serviceofferingid"`
+ Serviceofferingname string `json:"serviceofferingname"`
+ State string `json:"state"`
+ Templateid string `json:"templateid"`
+ Templatename string `json:"templatename"`
+ Version string `json:"version"`
+ Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+}
+
+type ChangeServiceForRouterResponseHealthcheckresults struct {
+ Checkname string `json:"checkname"`
+ Checktype string `json:"checktype"`
+ Details string `json:"details"`
+ Lastupdated string `json:"lastupdated"`
+ Success bool `json:"success"`
}
type ConfigureVirtualRouterElementParams struct {
@@ -382,54 +394,66 @@ func (s *RouterService) DestroyRouter(p *DestroyRouterParams) (*DestroyRouterRes
}
type DestroyRouterResponse struct {
- Account string `json:"account"`
- Created string `json:"created"`
- Dns1 string `json:"dns1"`
- Dns2 string `json:"dns2"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Gateway string `json:"gateway"`
- Guestipaddress string `json:"guestipaddress"`
- Guestmacaddress string `json:"guestmacaddress"`
- Guestnetmask string `json:"guestnetmask"`
- Guestnetworkid string `json:"guestnetworkid"`
- Guestnetworkname string `json:"guestnetworkname"`
- Hostid string `json:"hostid"`
- Hostname string `json:"hostname"`
- Hypervisor string `json:"hypervisor"`
- Id string `json:"id"`
- Ip6dns1 string `json:"ip6dns1"`
- Ip6dns2 string `json:"ip6dns2"`
- Isredundantrouter bool `json:"isredundantrouter"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Linklocalip string `json:"linklocalip"`
- Linklocalmacaddress string `json:"linklocalmacaddress"`
- Linklocalnetmask string `json:"linklocalnetmask"`
- Linklocalnetworkid string `json:"linklocalnetworkid"`
- Name string `json:"name"`
- Networkdomain string `json:"networkdomain"`
- Nic []Nic `json:"nic"`
- Podid string `json:"podid"`
- Project string `json:"project"`
- Projectid string `json:"projectid"`
- Publicip string `json:"publicip"`
- Publicmacaddress string `json:"publicmacaddress"`
- Publicnetmask string `json:"publicnetmask"`
- Publicnetworkid string `json:"publicnetworkid"`
- Redundantstate string `json:"redundantstate"`
- Requiresupgrade bool `json:"requiresupgrade"`
- Role string `json:"role"`
- Scriptsversion string `json:"scriptsversion"`
- Serviceofferingid string `json:"serviceofferingid"`
- Serviceofferingname string `json:"serviceofferingname"`
- State string `json:"state"`
- Templateid string `json:"templateid"`
- Version string `json:"version"`
- Vpcid string `json:"vpcid"`
- Vpcname string `json:"vpcname"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Account string `json:"account"`
+ Created string `json:"created"`
+ Dns1 string `json:"dns1"`
+ Dns2 string `json:"dns2"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Gateway string `json:"gateway"`
+ Guestipaddress string `json:"guestipaddress"`
+ Guestmacaddress string `json:"guestmacaddress"`
+ Guestnetmask string `json:"guestnetmask"`
+ Guestnetworkid string `json:"guestnetworkid"`
+ Guestnetworkname string `json:"guestnetworkname"`
+ Healthcheckresults []DestroyRouterResponseHealthcheckresults `json:"healthcheckresults"`
+ Healthchecksfailed bool `json:"healthchecksfailed"`
+ Hostid string `json:"hostid"`
+ Hostname string `json:"hostname"`
+ Hypervisor string `json:"hypervisor"`
+ Id string `json:"id"`
+ Ip6dns1 string `json:"ip6dns1"`
+ Ip6dns2 string `json:"ip6dns2"`
+ Isredundantrouter bool `json:"isredundantrouter"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Linklocalip string `json:"linklocalip"`
+ Linklocalmacaddress string `json:"linklocalmacaddress"`
+ Linklocalnetmask string `json:"linklocalnetmask"`
+ Linklocalnetworkid string `json:"linklocalnetworkid"`
+ Name string `json:"name"`
+ Networkdomain string `json:"networkdomain"`
+ Nic []Nic `json:"nic"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ Publicip string `json:"publicip"`
+ Publicmacaddress string `json:"publicmacaddress"`
+ Publicnetmask string `json:"publicnetmask"`
+ Publicnetworkid string `json:"publicnetworkid"`
+ Redundantstate string `json:"redundantstate"`
+ Requiresupgrade bool `json:"requiresupgrade"`
+ Role string `json:"role"`
+ Scriptsversion string `json:"scriptsversion"`
+ Serviceofferingid string `json:"serviceofferingid"`
+ Serviceofferingname string `json:"serviceofferingname"`
+ State string `json:"state"`
+ Templateid string `json:"templateid"`
+ Templatename string `json:"templatename"`
+ Version string `json:"version"`
+ Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+}
+
+type DestroyRouterResponseHealthcheckresults struct {
+ Checkname string `json:"checkname"`
+ Checktype string `json:"checktype"`
+ Details string `json:"details"`
+ Lastupdated string `json:"lastupdated"`
+ Success bool `json:"success"`
}
type ListRoutersParams struct {
@@ -450,6 +474,10 @@ func (p *ListRoutersParams) toURLValues() url.Values {
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
+ if v, found := p.p["fetchhealthcheckresults"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("fetchhealthcheckresults", vv)
+ }
if v, found := p.p["forvpc"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("forvpc", vv)
@@ -527,6 +555,13 @@ func (p *ListRoutersParams) SetDomainid(v string) {
p.p["domainid"] = v
}
+func (p *ListRoutersParams) SetFetchhealthcheckresults(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["fetchhealthcheckresults"] = v
+}
+
func (p *ListRoutersParams) SetForvpc(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -751,54 +786,66 @@ type ListRoutersResponse struct {
}
type Router struct {
- Account string `json:"account"`
- Created string `json:"created"`
- Dns1 string `json:"dns1"`
- Dns2 string `json:"dns2"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Gateway string `json:"gateway"`
- Guestipaddress string `json:"guestipaddress"`
- Guestmacaddress string `json:"guestmacaddress"`
- Guestnetmask string `json:"guestnetmask"`
- Guestnetworkid string `json:"guestnetworkid"`
- Guestnetworkname string `json:"guestnetworkname"`
- Hostid string `json:"hostid"`
- Hostname string `json:"hostname"`
- Hypervisor string `json:"hypervisor"`
- Id string `json:"id"`
- Ip6dns1 string `json:"ip6dns1"`
- Ip6dns2 string `json:"ip6dns2"`
- Isredundantrouter bool `json:"isredundantrouter"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Linklocalip string `json:"linklocalip"`
- Linklocalmacaddress string `json:"linklocalmacaddress"`
- Linklocalnetmask string `json:"linklocalnetmask"`
- Linklocalnetworkid string `json:"linklocalnetworkid"`
- Name string `json:"name"`
- Networkdomain string `json:"networkdomain"`
- Nic []Nic `json:"nic"`
- Podid string `json:"podid"`
- Project string `json:"project"`
- Projectid string `json:"projectid"`
- Publicip string `json:"publicip"`
- Publicmacaddress string `json:"publicmacaddress"`
- Publicnetmask string `json:"publicnetmask"`
- Publicnetworkid string `json:"publicnetworkid"`
- Redundantstate string `json:"redundantstate"`
- Requiresupgrade bool `json:"requiresupgrade"`
- Role string `json:"role"`
- Scriptsversion string `json:"scriptsversion"`
- Serviceofferingid string `json:"serviceofferingid"`
- Serviceofferingname string `json:"serviceofferingname"`
- State string `json:"state"`
- Templateid string `json:"templateid"`
- Version string `json:"version"`
- Vpcid string `json:"vpcid"`
- Vpcname string `json:"vpcname"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Account string `json:"account"`
+ Created string `json:"created"`
+ Dns1 string `json:"dns1"`
+ Dns2 string `json:"dns2"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Gateway string `json:"gateway"`
+ Guestipaddress string `json:"guestipaddress"`
+ Guestmacaddress string `json:"guestmacaddress"`
+ Guestnetmask string `json:"guestnetmask"`
+ Guestnetworkid string `json:"guestnetworkid"`
+ Guestnetworkname string `json:"guestnetworkname"`
+ Healthcheckresults []RouterHealthcheckresults `json:"healthcheckresults"`
+ Healthchecksfailed bool `json:"healthchecksfailed"`
+ Hostid string `json:"hostid"`
+ Hostname string `json:"hostname"`
+ Hypervisor string `json:"hypervisor"`
+ Id string `json:"id"`
+ Ip6dns1 string `json:"ip6dns1"`
+ Ip6dns2 string `json:"ip6dns2"`
+ Isredundantrouter bool `json:"isredundantrouter"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Linklocalip string `json:"linklocalip"`
+ Linklocalmacaddress string `json:"linklocalmacaddress"`
+ Linklocalnetmask string `json:"linklocalnetmask"`
+ Linklocalnetworkid string `json:"linklocalnetworkid"`
+ Name string `json:"name"`
+ Networkdomain string `json:"networkdomain"`
+ Nic []Nic `json:"nic"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ Publicip string `json:"publicip"`
+ Publicmacaddress string `json:"publicmacaddress"`
+ Publicnetmask string `json:"publicnetmask"`
+ Publicnetworkid string `json:"publicnetworkid"`
+ Redundantstate string `json:"redundantstate"`
+ Requiresupgrade bool `json:"requiresupgrade"`
+ Role string `json:"role"`
+ Scriptsversion string `json:"scriptsversion"`
+ Serviceofferingid string `json:"serviceofferingid"`
+ Serviceofferingname string `json:"serviceofferingname"`
+ State string `json:"state"`
+ Templateid string `json:"templateid"`
+ Templatename string `json:"templatename"`
+ Version string `json:"version"`
+ Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+}
+
+type RouterHealthcheckresults struct {
+ Checkname string `json:"checkname"`
+ Checktype string `json:"checktype"`
+ Details string `json:"details"`
+ Lastupdated string `json:"lastupdated"`
+ Success bool `json:"success"`
}
type ListVirtualRouterElementsParams struct {
@@ -1017,54 +1064,66 @@ func (s *RouterService) RebootRouter(p *RebootRouterParams) (*RebootRouterRespon
}
type RebootRouterResponse struct {
- Account string `json:"account"`
- Created string `json:"created"`
- Dns1 string `json:"dns1"`
- Dns2 string `json:"dns2"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Gateway string `json:"gateway"`
- Guestipaddress string `json:"guestipaddress"`
- Guestmacaddress string `json:"guestmacaddress"`
- Guestnetmask string `json:"guestnetmask"`
- Guestnetworkid string `json:"guestnetworkid"`
- Guestnetworkname string `json:"guestnetworkname"`
- Hostid string `json:"hostid"`
- Hostname string `json:"hostname"`
- Hypervisor string `json:"hypervisor"`
- Id string `json:"id"`
- Ip6dns1 string `json:"ip6dns1"`
- Ip6dns2 string `json:"ip6dns2"`
- Isredundantrouter bool `json:"isredundantrouter"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Linklocalip string `json:"linklocalip"`
- Linklocalmacaddress string `json:"linklocalmacaddress"`
- Linklocalnetmask string `json:"linklocalnetmask"`
- Linklocalnetworkid string `json:"linklocalnetworkid"`
- Name string `json:"name"`
- Networkdomain string `json:"networkdomain"`
- Nic []Nic `json:"nic"`
- Podid string `json:"podid"`
- Project string `json:"project"`
- Projectid string `json:"projectid"`
- Publicip string `json:"publicip"`
- Publicmacaddress string `json:"publicmacaddress"`
- Publicnetmask string `json:"publicnetmask"`
- Publicnetworkid string `json:"publicnetworkid"`
- Redundantstate string `json:"redundantstate"`
- Requiresupgrade bool `json:"requiresupgrade"`
- Role string `json:"role"`
- Scriptsversion string `json:"scriptsversion"`
- Serviceofferingid string `json:"serviceofferingid"`
- Serviceofferingname string `json:"serviceofferingname"`
- State string `json:"state"`
- Templateid string `json:"templateid"`
- Version string `json:"version"`
- Vpcid string `json:"vpcid"`
- Vpcname string `json:"vpcname"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Account string `json:"account"`
+ Created string `json:"created"`
+ Dns1 string `json:"dns1"`
+ Dns2 string `json:"dns2"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Gateway string `json:"gateway"`
+ Guestipaddress string `json:"guestipaddress"`
+ Guestmacaddress string `json:"guestmacaddress"`
+ Guestnetmask string `json:"guestnetmask"`
+ Guestnetworkid string `json:"guestnetworkid"`
+ Guestnetworkname string `json:"guestnetworkname"`
+ Healthcheckresults []RebootRouterResponseHealthcheckresults `json:"healthcheckresults"`
+ Healthchecksfailed bool `json:"healthchecksfailed"`
+ Hostid string `json:"hostid"`
+ Hostname string `json:"hostname"`
+ Hypervisor string `json:"hypervisor"`
+ Id string `json:"id"`
+ Ip6dns1 string `json:"ip6dns1"`
+ Ip6dns2 string `json:"ip6dns2"`
+ Isredundantrouter bool `json:"isredundantrouter"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Linklocalip string `json:"linklocalip"`
+ Linklocalmacaddress string `json:"linklocalmacaddress"`
+ Linklocalnetmask string `json:"linklocalnetmask"`
+ Linklocalnetworkid string `json:"linklocalnetworkid"`
+ Name string `json:"name"`
+ Networkdomain string `json:"networkdomain"`
+ Nic []Nic `json:"nic"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ Publicip string `json:"publicip"`
+ Publicmacaddress string `json:"publicmacaddress"`
+ Publicnetmask string `json:"publicnetmask"`
+ Publicnetworkid string `json:"publicnetworkid"`
+ Redundantstate string `json:"redundantstate"`
+ Requiresupgrade bool `json:"requiresupgrade"`
+ Role string `json:"role"`
+ Scriptsversion string `json:"scriptsversion"`
+ Serviceofferingid string `json:"serviceofferingid"`
+ Serviceofferingname string `json:"serviceofferingname"`
+ State string `json:"state"`
+ Templateid string `json:"templateid"`
+ Templatename string `json:"templatename"`
+ Version string `json:"version"`
+ Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+}
+
+type RebootRouterResponseHealthcheckresults struct {
+ Checkname string `json:"checkname"`
+ Checktype string `json:"checktype"`
+ Details string `json:"details"`
+ Lastupdated string `json:"lastupdated"`
+ Success bool `json:"success"`
}
type StartRouterParams struct {
@@ -1134,54 +1193,66 @@ func (s *RouterService) StartRouter(p *StartRouterParams) (*StartRouterResponse,
}
type StartRouterResponse struct {
- Account string `json:"account"`
- Created string `json:"created"`
- Dns1 string `json:"dns1"`
- Dns2 string `json:"dns2"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Gateway string `json:"gateway"`
- Guestipaddress string `json:"guestipaddress"`
- Guestmacaddress string `json:"guestmacaddress"`
- Guestnetmask string `json:"guestnetmask"`
- Guestnetworkid string `json:"guestnetworkid"`
- Guestnetworkname string `json:"guestnetworkname"`
- Hostid string `json:"hostid"`
- Hostname string `json:"hostname"`
- Hypervisor string `json:"hypervisor"`
- Id string `json:"id"`
- Ip6dns1 string `json:"ip6dns1"`
- Ip6dns2 string `json:"ip6dns2"`
- Isredundantrouter bool `json:"isredundantrouter"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Linklocalip string `json:"linklocalip"`
- Linklocalmacaddress string `json:"linklocalmacaddress"`
- Linklocalnetmask string `json:"linklocalnetmask"`
- Linklocalnetworkid string `json:"linklocalnetworkid"`
- Name string `json:"name"`
- Networkdomain string `json:"networkdomain"`
- Nic []Nic `json:"nic"`
- Podid string `json:"podid"`
- Project string `json:"project"`
- Projectid string `json:"projectid"`
- Publicip string `json:"publicip"`
- Publicmacaddress string `json:"publicmacaddress"`
- Publicnetmask string `json:"publicnetmask"`
- Publicnetworkid string `json:"publicnetworkid"`
- Redundantstate string `json:"redundantstate"`
- Requiresupgrade bool `json:"requiresupgrade"`
- Role string `json:"role"`
- Scriptsversion string `json:"scriptsversion"`
- Serviceofferingid string `json:"serviceofferingid"`
- Serviceofferingname string `json:"serviceofferingname"`
- State string `json:"state"`
- Templateid string `json:"templateid"`
- Version string `json:"version"`
- Vpcid string `json:"vpcid"`
- Vpcname string `json:"vpcname"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Account string `json:"account"`
+ Created string `json:"created"`
+ Dns1 string `json:"dns1"`
+ Dns2 string `json:"dns2"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Gateway string `json:"gateway"`
+ Guestipaddress string `json:"guestipaddress"`
+ Guestmacaddress string `json:"guestmacaddress"`
+ Guestnetmask string `json:"guestnetmask"`
+ Guestnetworkid string `json:"guestnetworkid"`
+ Guestnetworkname string `json:"guestnetworkname"`
+ Healthcheckresults []StartRouterResponseHealthcheckresults `json:"healthcheckresults"`
+ Healthchecksfailed bool `json:"healthchecksfailed"`
+ Hostid string `json:"hostid"`
+ Hostname string `json:"hostname"`
+ Hypervisor string `json:"hypervisor"`
+ Id string `json:"id"`
+ Ip6dns1 string `json:"ip6dns1"`
+ Ip6dns2 string `json:"ip6dns2"`
+ Isredundantrouter bool `json:"isredundantrouter"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Linklocalip string `json:"linklocalip"`
+ Linklocalmacaddress string `json:"linklocalmacaddress"`
+ Linklocalnetmask string `json:"linklocalnetmask"`
+ Linklocalnetworkid string `json:"linklocalnetworkid"`
+ Name string `json:"name"`
+ Networkdomain string `json:"networkdomain"`
+ Nic []Nic `json:"nic"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ Publicip string `json:"publicip"`
+ Publicmacaddress string `json:"publicmacaddress"`
+ Publicnetmask string `json:"publicnetmask"`
+ Publicnetworkid string `json:"publicnetworkid"`
+ Redundantstate string `json:"redundantstate"`
+ Requiresupgrade bool `json:"requiresupgrade"`
+ Role string `json:"role"`
+ Scriptsversion string `json:"scriptsversion"`
+ Serviceofferingid string `json:"serviceofferingid"`
+ Serviceofferingname string `json:"serviceofferingname"`
+ State string `json:"state"`
+ Templateid string `json:"templateid"`
+ Templatename string `json:"templatename"`
+ Version string `json:"version"`
+ Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+}
+
+type StartRouterResponseHealthcheckresults struct {
+ Checkname string `json:"checkname"`
+ Checktype string `json:"checktype"`
+ Details string `json:"details"`
+ Lastupdated string `json:"lastupdated"`
+ Success bool `json:"success"`
}
type StopRouterParams struct {
@@ -1262,52 +1333,64 @@ func (s *RouterService) StopRouter(p *StopRouterParams) (*StopRouterResponse, er
}
type StopRouterResponse struct {
- Account string `json:"account"`
- Created string `json:"created"`
- Dns1 string `json:"dns1"`
- Dns2 string `json:"dns2"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Gateway string `json:"gateway"`
- Guestipaddress string `json:"guestipaddress"`
- Guestmacaddress string `json:"guestmacaddress"`
- Guestnetmask string `json:"guestnetmask"`
- Guestnetworkid string `json:"guestnetworkid"`
- Guestnetworkname string `json:"guestnetworkname"`
- Hostid string `json:"hostid"`
- Hostname string `json:"hostname"`
- Hypervisor string `json:"hypervisor"`
- Id string `json:"id"`
- Ip6dns1 string `json:"ip6dns1"`
- Ip6dns2 string `json:"ip6dns2"`
- Isredundantrouter bool `json:"isredundantrouter"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Linklocalip string `json:"linklocalip"`
- Linklocalmacaddress string `json:"linklocalmacaddress"`
- Linklocalnetmask string `json:"linklocalnetmask"`
- Linklocalnetworkid string `json:"linklocalnetworkid"`
- Name string `json:"name"`
- Networkdomain string `json:"networkdomain"`
- Nic []Nic `json:"nic"`
- Podid string `json:"podid"`
- Project string `json:"project"`
- Projectid string `json:"projectid"`
- Publicip string `json:"publicip"`
- Publicmacaddress string `json:"publicmacaddress"`
- Publicnetmask string `json:"publicnetmask"`
- Publicnetworkid string `json:"publicnetworkid"`
- Redundantstate string `json:"redundantstate"`
- Requiresupgrade bool `json:"requiresupgrade"`
- Role string `json:"role"`
- Scriptsversion string `json:"scriptsversion"`
- Serviceofferingid string `json:"serviceofferingid"`
- Serviceofferingname string `json:"serviceofferingname"`
- State string `json:"state"`
- Templateid string `json:"templateid"`
- Version string `json:"version"`
- Vpcid string `json:"vpcid"`
- Vpcname string `json:"vpcname"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Account string `json:"account"`
+ Created string `json:"created"`
+ Dns1 string `json:"dns1"`
+ Dns2 string `json:"dns2"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Gateway string `json:"gateway"`
+ Guestipaddress string `json:"guestipaddress"`
+ Guestmacaddress string `json:"guestmacaddress"`
+ Guestnetmask string `json:"guestnetmask"`
+ Guestnetworkid string `json:"guestnetworkid"`
+ Guestnetworkname string `json:"guestnetworkname"`
+ Healthcheckresults []StopRouterResponseHealthcheckresults `json:"healthcheckresults"`
+ Healthchecksfailed bool `json:"healthchecksfailed"`
+ Hostid string `json:"hostid"`
+ Hostname string `json:"hostname"`
+ Hypervisor string `json:"hypervisor"`
+ Id string `json:"id"`
+ Ip6dns1 string `json:"ip6dns1"`
+ Ip6dns2 string `json:"ip6dns2"`
+ Isredundantrouter bool `json:"isredundantrouter"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Linklocalip string `json:"linklocalip"`
+ Linklocalmacaddress string `json:"linklocalmacaddress"`
+ Linklocalnetmask string `json:"linklocalnetmask"`
+ Linklocalnetworkid string `json:"linklocalnetworkid"`
+ Name string `json:"name"`
+ Networkdomain string `json:"networkdomain"`
+ Nic []Nic `json:"nic"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ Publicip string `json:"publicip"`
+ Publicmacaddress string `json:"publicmacaddress"`
+ Publicnetmask string `json:"publicnetmask"`
+ Publicnetworkid string `json:"publicnetworkid"`
+ Redundantstate string `json:"redundantstate"`
+ Requiresupgrade bool `json:"requiresupgrade"`
+ Role string `json:"role"`
+ Scriptsversion string `json:"scriptsversion"`
+ Serviceofferingid string `json:"serviceofferingid"`
+ Serviceofferingname string `json:"serviceofferingname"`
+ State string `json:"state"`
+ Templateid string `json:"templateid"`
+ Templatename string `json:"templatename"`
+ Version string `json:"version"`
+ Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+}
+
+type StopRouterResponseHealthcheckresults struct {
+ Checkname string `json:"checkname"`
+ Checktype string `json:"checktype"`
+ Details string `json:"details"`
+ Lastupdated string `json:"lastupdated"`
+ Success bool `json:"success"`
}
diff --git a/cloudstack/SSHService.go b/cloudstack/SSHService.go
index c10826e..7469c9f 100644
--- a/cloudstack/SSHService.go
+++ b/cloudstack/SSHService.go
@@ -591,6 +591,10 @@ func (s *SSHService) ResetSSHKeyForVirtualMachine(p *ResetSSHKeyForVirtualMachin
type ResetSSHKeyForVirtualMachineResponse struct {
Account string `json:"account"`
Affinitygroup []ResetSSHKeyForVirtualMachineResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -631,6 +635,7 @@ type ResetSSHKeyForVirtualMachineResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -638,6 +643,7 @@ type ResetSSHKeyForVirtualMachineResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []ResetSSHKeyForVirtualMachineResponseSecuritygroup `json:"securitygroup"`
diff --git a/cloudstack/ServiceOfferingService.go b/cloudstack/ServiceOfferingService.go
index c60ed30..d9abdd4 100644
--- a/cloudstack/ServiceOfferingService.go
+++ b/cloudstack/ServiceOfferingService.go
@@ -60,6 +60,9 @@ func (p *CreateServiceOfferingParams) toURLValues() url.Values {
vv := strconv.FormatInt(v.(int64), 10)
u.Set("byteswriteratemaxlength", vv)
}
+ if v, found := p.p["cachemode"]; found {
+ u.Set("cachemode", v.(string))
+ }
if v, found := p.p["cpunumber"]; found {
vv := strconv.Itoa(v.(int))
u.Set("cpunumber", vv)
@@ -68,6 +71,10 @@ func (p *CreateServiceOfferingParams) toURLValues() url.Values {
vv := strconv.Itoa(v.(int))
u.Set("cpuspeed", vv)
}
+ if v, found := p.p["customized"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("customized", vv)
+ }
if v, found := p.p["customizediops"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("customizediops", vv)
@@ -79,7 +86,8 @@ func (p *CreateServiceOfferingParams) toURLValues() url.Values {
u.Set("displaytext", v.(string))
}
if v, found := p.p["domainid"]; found {
- u.Set("domainid", v.(string))
+ vv := strings.Join(v.([]string), ",")
+ u.Set("domainid", vv)
}
if v, found := p.p["hosttags"]; found {
u.Set("hosttags", v.(string))
@@ -124,18 +132,34 @@ func (p *CreateServiceOfferingParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("limitcpuuse", vv)
}
+ if v, found := p.p["maxcpunumber"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("maxcpunumber", vv)
+ }
if v, found := p.p["maxiops"]; found {
vv := strconv.FormatInt(v.(int64), 10)
u.Set("maxiops", vv)
}
+ if v, found := p.p["maxmemory"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("maxmemory", vv)
+ }
if v, found := p.p["memory"]; found {
vv := strconv.Itoa(v.(int))
u.Set("memory", vv)
}
+ if v, found := p.p["mincpunumber"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("mincpunumber", vv)
+ }
if v, found := p.p["miniops"]; found {
vv := strconv.FormatInt(v.(int64), 10)
u.Set("miniops", vv)
}
+ if v, found := p.p["minmemory"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("minmemory", vv)
+ }
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
@@ -150,6 +174,10 @@ func (p *CreateServiceOfferingParams) toURLValues() url.Values {
if v, found := p.p["provisioningtype"]; found {
u.Set("provisioningtype", v.(string))
}
+ if v, found := p.p["rootdisksize"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("rootdisksize", vv)
+ }
if v, found := p.p["serviceofferingdetails"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
@@ -157,6 +185,9 @@ func (p *CreateServiceOfferingParams) toURLValues() url.Values {
u.Set(fmt.Sprintf("serviceofferingdetails[%d].value", i), m[k])
}
}
+ if v, found := p.p["storagepolicy"]; found {
+ u.Set("storagepolicy", v.(string))
+ }
if v, found := p.p["storagetype"]; found {
u.Set("storagetype", v.(string))
}
@@ -166,6 +197,10 @@ func (p *CreateServiceOfferingParams) toURLValues() url.Values {
if v, found := p.p["tags"]; found {
u.Set("tags", v.(string))
}
+ if v, found := p.p["zoneid"]; found {
+ vv := strings.Join(v.([]string), ",")
+ u.Set("zoneid", vv)
+ }
return u
}
@@ -211,6 +246,13 @@ func (p *CreateServiceOfferingParams) SetByteswriteratemaxlength(v int64) {
p.p["byteswriteratemaxlength"] = v
}
+func (p *CreateServiceOfferingParams) SetCachemode(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["cachemode"] = v
+}
+
func (p *CreateServiceOfferingParams) SetCpunumber(v int) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -225,6 +267,13 @@ func (p *CreateServiceOfferingParams) SetCpuspeed(v int) {
p.p["cpuspeed"] = v
}
+func (p *CreateServiceOfferingParams) SetCustomized(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["customized"] = v
+}
+
func (p *CreateServiceOfferingParams) SetCustomizediops(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -246,7 +295,7 @@ func (p *CreateServiceOfferingParams) SetDisplaytext(v string) {
p.p["displaytext"] = v
}
-func (p *CreateServiceOfferingParams) SetDomainid(v string) {
+func (p *CreateServiceOfferingParams) SetDomainid(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
@@ -330,6 +379,13 @@ func (p *CreateServiceOfferingParams) SetLimitcpuuse(v bool) {
p.p["limitcpuuse"] = v
}
+func (p *CreateServiceOfferingParams) SetMaxcpunumber(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["maxcpunumber"] = v
+}
+
func (p *CreateServiceOfferingParams) SetMaxiops(v int64) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -337,6 +393,13 @@ func (p *CreateServiceOfferingParams) SetMaxiops(v int64) {
p.p["maxiops"] = v
}
+func (p *CreateServiceOfferingParams) SetMaxmemory(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["maxmemory"] = v
+}
+
func (p *CreateServiceOfferingParams) SetMemory(v int) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -344,6 +407,13 @@ func (p *CreateServiceOfferingParams) SetMemory(v int) {
p.p["memory"] = v
}
+func (p *CreateServiceOfferingParams) SetMincpunumber(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["mincpunumber"] = v
+}
+
func (p *CreateServiceOfferingParams) SetMiniops(v int64) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -351,6 +421,13 @@ func (p *CreateServiceOfferingParams) SetMiniops(v int64) {
p.p["miniops"] = v
}
+func (p *CreateServiceOfferingParams) SetMinmemory(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["minmemory"] = v
+}
+
func (p *CreateServiceOfferingParams) SetName(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -379,6 +456,13 @@ func (p *CreateServiceOfferingParams) SetProvisioningtype(v string) {
p.p["provisioningtype"] = v
}
+func (p *CreateServiceOfferingParams) SetRootdisksize(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["rootdisksize"] = v
+}
+
func (p *CreateServiceOfferingParams) SetServiceofferingdetails(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -386,6 +470,13 @@ func (p *CreateServiceOfferingParams) SetServiceofferingdetails(v map[string]str
p.p["serviceofferingdetails"] = v
}
+func (p *CreateServiceOfferingParams) SetStoragepolicy(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storagepolicy"] = v
+}
+
func (p *CreateServiceOfferingParams) SetStoragetype(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -407,6 +498,13 @@ func (p *CreateServiceOfferingParams) SetTags(v string) {
p.p["tags"] = v
}
+func (p *CreateServiceOfferingParams) SetZoneid(v []string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["zoneid"] = v
+}
+
// You should always use this function to get a new CreateServiceOfferingParams instance,
// as then you are sure you have configured all required params
func (s *ServiceOfferingService) NewCreateServiceOfferingParams(displaytext string, name string) *CreateServiceOfferingParams {
@@ -437,6 +535,7 @@ func (s *ServiceOfferingService) CreateServiceOffering(p *CreateServiceOfferingP
}
type CreateServiceOfferingResponse struct {
+ CacheMode string `json:"cacheMode"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Created string `json:"created"`
@@ -474,10 +573,14 @@ type CreateServiceOfferingResponse struct {
Networkrate int `json:"networkrate"`
Offerha bool `json:"offerha"`
Provisioningtype string `json:"provisioningtype"`
+ Rootdisksize int64 `json:"rootdisksize"`
Serviceofferingdetails map[string]string `json:"serviceofferingdetails"`
Storagetype string `json:"storagetype"`
Systemvmtype string `json:"systemvmtype"`
Tags string `json:"tags"`
+ Vspherestoragepolicy string `json:"vspherestoragepolicy"`
+ Zone string `json:"zone"`
+ Zoneid string `json:"zoneid"`
}
type DeleteServiceOfferingParams struct {
@@ -569,6 +672,14 @@ func (p *ListServiceOfferingsParams) toURLValues() url.Values {
if p.p == nil {
return u
}
+ if v, found := p.p["cpunumber"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("cpunumber", vv)
+ }
+ if v, found := p.p["cpuspeed"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("cpuspeed", vv)
+ }
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
@@ -590,6 +701,10 @@ func (p *ListServiceOfferingsParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("listall", vv)
}
+ if v, found := p.p["memory"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("memory", vv)
+ }
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
@@ -607,9 +722,26 @@ func (p *ListServiceOfferingsParams) toURLValues() url.Values {
if v, found := p.p["virtualmachineid"]; found {
u.Set("virtualmachineid", v.(string))
}
+ if v, found := p.p["zoneid"]; found {
+ u.Set("zoneid", v.(string))
+ }
return u
}
+func (p *ListServiceOfferingsParams) SetCpunumber(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["cpunumber"] = v
+}
+
+func (p *ListServiceOfferingsParams) SetCpuspeed(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["cpuspeed"] = v
+}
+
func (p *ListServiceOfferingsParams) SetDomainid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -652,6 +784,13 @@ func (p *ListServiceOfferingsParams) SetListall(v bool) {
p.p["listall"] = v
}
+func (p *ListServiceOfferingsParams) SetMemory(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["memory"] = v
+}
+
func (p *ListServiceOfferingsParams) SetName(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -687,6 +826,13 @@ func (p *ListServiceOfferingsParams) SetVirtualmachineid(v string) {
p.p["virtualmachineid"] = v
}
+func (p *ListServiceOfferingsParams) SetZoneid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["zoneid"] = v
+}
+
// You should always use this function to get a new ListServiceOfferingsParams instance,
// as then you are sure you have configured all required params
func (s *ServiceOfferingService) NewListServiceOfferingsParams() *ListServiceOfferingsParams {
@@ -799,6 +945,7 @@ type ListServiceOfferingsResponse struct {
}
type ServiceOffering struct {
+ CacheMode string `json:"cacheMode"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Created string `json:"created"`
@@ -836,10 +983,14 @@ type ServiceOffering struct {
Networkrate int `json:"networkrate"`
Offerha bool `json:"offerha"`
Provisioningtype string `json:"provisioningtype"`
+ Rootdisksize int64 `json:"rootdisksize"`
Serviceofferingdetails map[string]string `json:"serviceofferingdetails"`
Storagetype string `json:"storagetype"`
Systemvmtype string `json:"systemvmtype"`
Tags string `json:"tags"`
+ Vspherestoragepolicy string `json:"vspherestoragepolicy"`
+ Zone string `json:"zone"`
+ Zoneid string `json:"zoneid"`
}
type UpdateServiceOfferingParams struct {
@@ -854,6 +1005,9 @@ func (p *UpdateServiceOfferingParams) toURLValues() url.Values {
if v, found := p.p["displaytext"]; found {
u.Set("displaytext", v.(string))
}
+ if v, found := p.p["domainid"]; found {
+ u.Set("domainid", v.(string))
+ }
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
@@ -864,6 +1018,9 @@ func (p *UpdateServiceOfferingParams) toURLValues() url.Values {
vv := strconv.Itoa(v.(int))
u.Set("sortkey", vv)
}
+ if v, found := p.p["zoneid"]; found {
+ u.Set("zoneid", v.(string))
+ }
return u
}
@@ -874,6 +1031,13 @@ func (p *UpdateServiceOfferingParams) SetDisplaytext(v string) {
p.p["displaytext"] = v
}
+func (p *UpdateServiceOfferingParams) SetDomainid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["domainid"] = v
+}
+
func (p *UpdateServiceOfferingParams) SetId(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -895,6 +1059,13 @@ func (p *UpdateServiceOfferingParams) SetSortkey(v int) {
p.p["sortkey"] = v
}
+func (p *UpdateServiceOfferingParams) SetZoneid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["zoneid"] = v
+}
+
// You should always use this function to get a new UpdateServiceOfferingParams instance,
// as then you are sure you have configured all required params
func (s *ServiceOfferingService) NewUpdateServiceOfferingParams(id string) *UpdateServiceOfferingParams {
@@ -920,6 +1091,7 @@ func (s *ServiceOfferingService) UpdateServiceOffering(p *UpdateServiceOfferingP
}
type UpdateServiceOfferingResponse struct {
+ CacheMode string `json:"cacheMode"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Created string `json:"created"`
@@ -957,8 +1129,12 @@ type UpdateServiceOfferingResponse struct {
Networkrate int `json:"networkrate"`
Offerha bool `json:"offerha"`
Provisioningtype string `json:"provisioningtype"`
+ Rootdisksize int64 `json:"rootdisksize"`
Serviceofferingdetails map[string]string `json:"serviceofferingdetails"`
Storagetype string `json:"storagetype"`
Systemvmtype string `json:"systemvmtype"`
Tags string `json:"tags"`
+ Vspherestoragepolicy string `json:"vspherestoragepolicy"`
+ Zone string `json:"zone"`
+ Zoneid string `json:"zoneid"`
}
diff --git a/cloudstack/SnapshotService.go b/cloudstack/SnapshotService.go
index 671334b..fb80361 100644
--- a/cloudstack/SnapshotService.go
+++ b/cloudstack/SnapshotService.go
@@ -59,6 +59,13 @@ func (p *CreateSnapshotParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("quiescevm", vv)
}
+ if v, found := p.p["tags"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("tags[%d].key", i), k)
+ u.Set(fmt.Sprintf("tags[%d].value", i), m[k])
+ }
+ }
if v, found := p.p["volumeid"]; found {
u.Set("volumeid", v.(string))
}
@@ -114,6 +121,13 @@ func (p *CreateSnapshotParams) SetQuiescevm(v bool) {
p.p["quiescevm"] = v
}
+func (p *CreateSnapshotParams) SetTags(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["tags"] = v
+}
+
func (p *CreateSnapshotParams) SetVolumeid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -242,6 +256,13 @@ func (p *CreateSnapshotPolicyParams) toURLValues() url.Values {
if v, found := p.p["schedule"]; found {
u.Set("schedule", v.(string))
}
+ if v, found := p.p["tags"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("tags[%d].key", i), k)
+ u.Set(fmt.Sprintf("tags[%d].value", i), m[k])
+ }
+ }
if v, found := p.p["timezone"]; found {
u.Set("timezone", v.(string))
}
@@ -279,6 +300,13 @@ func (p *CreateSnapshotPolicyParams) SetSchedule(v string) {
p.p["schedule"] = v
}
+func (p *CreateSnapshotPolicyParams) SetTags(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["tags"] = v
+}
+
func (p *CreateSnapshotPolicyParams) SetTimezone(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -329,6 +357,7 @@ type CreateSnapshotPolicyResponse struct {
Jobstatus int `json:"jobstatus"`
Maxsnaps int `json:"maxsnaps"`
Schedule string `json:"schedule"`
+ Tags []Tags `json:"tags"`
Timezone string `json:"timezone"`
Volumeid string `json:"volumeid"`
}
@@ -442,25 +471,29 @@ func (s *SnapshotService) CreateVMSnapshot(p *CreateVMSnapshotParams) (*CreateVM
}
type CreateVMSnapshotResponse struct {
- Account string `json:"account"`
- Created string `json:"created"`
- Current bool `json:"current"`
- Description string `json:"description"`
- Displayname string `json:"displayname"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Parent string `json:"parent"`
- ParentName string `json:"parentName"`
- Project string `json:"project"`
- Projectid string `json:"projectid"`
- State string `json:"state"`
- Type string `json:"type"`
- Virtualmachineid string `json:"virtualmachineid"`
- Zoneid string `json:"zoneid"`
+ Account string `json:"account"`
+ Created string `json:"created"`
+ Current bool `json:"current"`
+ Description string `json:"description"`
+ Displayname string `json:"displayname"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Hypervisor string `json:"hypervisor"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Parent string `json:"parent"`
+ ParentName string `json:"parentName"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ State string `json:"state"`
+ Tags []Tags `json:"tags"`
+ Type string `json:"type"`
+ Virtualmachineid string `json:"virtualmachineid"`
+ Virtualmachinename string `json:"virtualmachinename"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type DeleteSnapshotParams struct {
@@ -833,6 +866,7 @@ type SnapshotPolicy struct {
Jobstatus int `json:"jobstatus"`
Maxsnaps int `json:"maxsnaps"`
Schedule string `json:"schedule"`
+ Tags []Tags `json:"tags"`
Timezone string `json:"timezone"`
Volumeid string `json:"volumeid"`
}
@@ -1409,25 +1443,29 @@ type ListVMSnapshotResponse struct {
}
type VMSnapshot struct {
- Account string `json:"account"`
- Created string `json:"created"`
- Current bool `json:"current"`
- Description string `json:"description"`
- Displayname string `json:"displayname"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Parent string `json:"parent"`
- ParentName string `json:"parentName"`
- Project string `json:"project"`
- Projectid string `json:"projectid"`
- State string `json:"state"`
- Type string `json:"type"`
- Virtualmachineid string `json:"virtualmachineid"`
- Zoneid string `json:"zoneid"`
+ Account string `json:"account"`
+ Created string `json:"created"`
+ Current bool `json:"current"`
+ Description string `json:"description"`
+ Displayname string `json:"displayname"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Hypervisor string `json:"hypervisor"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Parent string `json:"parent"`
+ ParentName string `json:"parentName"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ State string `json:"state"`
+ Tags []Tags `json:"tags"`
+ Type string `json:"type"`
+ Virtualmachineid string `json:"virtualmachineid"`
+ Virtualmachinename string `json:"virtualmachinename"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type RevertSnapshotParams struct {
@@ -1619,6 +1657,10 @@ func (s *SnapshotService) RevertToVMSnapshot(p *RevertToVMSnapshotParams) (*Reve
type RevertToVMSnapshotResponse struct {
Account string `json:"account"`
Affinitygroup []RevertToVMSnapshotResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -1659,6 +1701,7 @@ type RevertToVMSnapshotResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -1666,6 +1709,7 @@ type RevertToVMSnapshotResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []RevertToVMSnapshotResponseSecuritygroup `json:"securitygroup"`
@@ -1847,6 +1891,7 @@ type UpdateSnapshotPolicyResponse struct {
Jobstatus int `json:"jobstatus"`
Maxsnaps int `json:"maxsnaps"`
Schedule string `json:"schedule"`
+ Tags []Tags `json:"tags"`
Timezone string `json:"timezone"`
Volumeid string `json:"volumeid"`
}
diff --git a/cloudstack/SwiftService.go b/cloudstack/SwiftService.go
index 8b659cd..92f6373 100644
--- a/cloudstack/SwiftService.go
+++ b/cloudstack/SwiftService.go
@@ -103,16 +103,19 @@ func (s *SwiftService) AddSwift(p *AddSwiftParams) (*AddSwiftResponse, error) {
}
type AddSwiftResponse struct {
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Protocol string `json:"protocol"`
- Providername string `json:"providername"`
- Scope string `json:"scope"`
- Url string `json:"url"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Disksizetotal int64 `json:"disksizetotal"`
+ Disksizeused int64 `json:"disksizeused"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Protocol string `json:"protocol"`
+ Providername string `json:"providername"`
+ Readonly bool `json:"readonly"`
+ Scope string `json:"scope"`
+ Url string `json:"url"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
type ListSwiftsParams struct {
@@ -235,14 +238,17 @@ type ListSwiftsResponse struct {
}
type Swift struct {
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Protocol string `json:"protocol"`
- Providername string `json:"providername"`
- Scope string `json:"scope"`
- Url string `json:"url"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Disksizetotal int64 `json:"disksizetotal"`
+ Disksizeused int64 `json:"disksizeused"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Protocol string `json:"protocol"`
+ Providername string `json:"providername"`
+ Readonly bool `json:"readonly"`
+ Scope string `json:"scope"`
+ Url string `json:"url"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
}
diff --git a/cloudstack/SystemVMService.go b/cloudstack/SystemVMService.go
index 7d58f36..895ef22 100644
--- a/cloudstack/SystemVMService.go
+++ b/cloudstack/SystemVMService.go
@@ -99,7 +99,9 @@ func (s *SystemVMService) ChangeServiceForSystemVm(p *ChangeServiceForSystemVmPa
type ChangeServiceForSystemVmResponse struct {
Activeviewersessions int `json:"activeviewersessions"`
+ Agentstate string `json:"agentstate"`
Created string `json:"created"`
+ Disconnected string `json:"disconnected"`
Dns1 string `json:"dns1"`
Dns2 string `json:"dns2"`
Gateway string `json:"gateway"`
@@ -116,6 +118,7 @@ type ChangeServiceForSystemVmResponse struct {
Name string `json:"name"`
Networkdomain string `json:"networkdomain"`
Podid string `json:"podid"`
+ Podname string `json:"podname"`
Privateip string `json:"privateip"`
Privatemacaddress string `json:"privatemacaddress"`
Privatenetmask string `json:"privatenetmask"`
@@ -126,6 +129,8 @@ type ChangeServiceForSystemVmResponse struct {
State string `json:"state"`
Systemvmtype string `json:"systemvmtype"`
Templateid string `json:"templateid"`
+ Templatename string `json:"templatename"`
+ Version string `json:"version"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -198,7 +203,9 @@ func (s *SystemVMService) DestroySystemVm(p *DestroySystemVmParams) (*DestroySys
type DestroySystemVmResponse struct {
Activeviewersessions int `json:"activeviewersessions"`
+ Agentstate string `json:"agentstate"`
Created string `json:"created"`
+ Disconnected string `json:"disconnected"`
Dns1 string `json:"dns1"`
Dns2 string `json:"dns2"`
Gateway string `json:"gateway"`
@@ -215,6 +222,7 @@ type DestroySystemVmResponse struct {
Name string `json:"name"`
Networkdomain string `json:"networkdomain"`
Podid string `json:"podid"`
+ Podname string `json:"podname"`
Privateip string `json:"privateip"`
Privatemacaddress string `json:"privatemacaddress"`
Privatenetmask string `json:"privatenetmask"`
@@ -225,6 +233,8 @@ type DestroySystemVmResponse struct {
State string `json:"state"`
Systemvmtype string `json:"systemvmtype"`
Templateid string `json:"templateid"`
+ Templatename string `json:"templatename"`
+ Version string `json:"version"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -466,7 +476,9 @@ type ListSystemVmsResponse struct {
type SystemVm struct {
Activeviewersessions int `json:"activeviewersessions"`
+ Agentstate string `json:"agentstate"`
Created string `json:"created"`
+ Disconnected string `json:"disconnected"`
Dns1 string `json:"dns1"`
Dns2 string `json:"dns2"`
Gateway string `json:"gateway"`
@@ -483,6 +495,7 @@ type SystemVm struct {
Name string `json:"name"`
Networkdomain string `json:"networkdomain"`
Podid string `json:"podid"`
+ Podname string `json:"podname"`
Privateip string `json:"privateip"`
Privatemacaddress string `json:"privatemacaddress"`
Privatenetmask string `json:"privatenetmask"`
@@ -493,6 +506,8 @@ type SystemVm struct {
State string `json:"state"`
Systemvmtype string `json:"systemvmtype"`
Templateid string `json:"templateid"`
+ Templatename string `json:"templatename"`
+ Version string `json:"version"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -576,7 +591,9 @@ func (s *SystemVMService) MigrateSystemVm(p *MigrateSystemVmParams) (*MigrateSys
type MigrateSystemVmResponse struct {
Activeviewersessions int `json:"activeviewersessions"`
+ Agentstate string `json:"agentstate"`
Created string `json:"created"`
+ Disconnected string `json:"disconnected"`
Dns1 string `json:"dns1"`
Dns2 string `json:"dns2"`
Gateway string `json:"gateway"`
@@ -593,6 +610,7 @@ type MigrateSystemVmResponse struct {
Name string `json:"name"`
Networkdomain string `json:"networkdomain"`
Podid string `json:"podid"`
+ Podname string `json:"podname"`
Privateip string `json:"privateip"`
Privatemacaddress string `json:"privatemacaddress"`
Privatenetmask string `json:"privatenetmask"`
@@ -603,6 +621,8 @@ type MigrateSystemVmResponse struct {
State string `json:"state"`
Systemvmtype string `json:"systemvmtype"`
Templateid string `json:"templateid"`
+ Templatename string `json:"templatename"`
+ Version string `json:"version"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -675,7 +695,9 @@ func (s *SystemVMService) RebootSystemVm(p *RebootSystemVmParams) (*RebootSystem
type RebootSystemVmResponse struct {
Activeviewersessions int `json:"activeviewersessions"`
+ Agentstate string `json:"agentstate"`
Created string `json:"created"`
+ Disconnected string `json:"disconnected"`
Dns1 string `json:"dns1"`
Dns2 string `json:"dns2"`
Gateway string `json:"gateway"`
@@ -692,6 +714,7 @@ type RebootSystemVmResponse struct {
Name string `json:"name"`
Networkdomain string `json:"networkdomain"`
Podid string `json:"podid"`
+ Podname string `json:"podname"`
Privateip string `json:"privateip"`
Privatemacaddress string `json:"privatemacaddress"`
Privatenetmask string `json:"privatenetmask"`
@@ -702,6 +725,8 @@ type RebootSystemVmResponse struct {
State string `json:"state"`
Systemvmtype string `json:"systemvmtype"`
Templateid string `json:"templateid"`
+ Templatename string `json:"templatename"`
+ Version string `json:"version"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -798,7 +823,9 @@ func (s *SystemVMService) ScaleSystemVm(p *ScaleSystemVmParams) (*ScaleSystemVmR
type ScaleSystemVmResponse struct {
Activeviewersessions int `json:"activeviewersessions"`
+ Agentstate string `json:"agentstate"`
Created string `json:"created"`
+ Disconnected string `json:"disconnected"`
Dns1 string `json:"dns1"`
Dns2 string `json:"dns2"`
Gateway string `json:"gateway"`
@@ -815,6 +842,7 @@ type ScaleSystemVmResponse struct {
Name string `json:"name"`
Networkdomain string `json:"networkdomain"`
Podid string `json:"podid"`
+ Podname string `json:"podname"`
Privateip string `json:"privateip"`
Privatemacaddress string `json:"privatemacaddress"`
Privatenetmask string `json:"privatenetmask"`
@@ -825,6 +853,8 @@ type ScaleSystemVmResponse struct {
State string `json:"state"`
Systemvmtype string `json:"systemvmtype"`
Templateid string `json:"templateid"`
+ Templatename string `json:"templatename"`
+ Version string `json:"version"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -897,7 +927,9 @@ func (s *SystemVMService) StartSystemVm(p *StartSystemVmParams) (*StartSystemVmR
type StartSystemVmResponse struct {
Activeviewersessions int `json:"activeviewersessions"`
+ Agentstate string `json:"agentstate"`
Created string `json:"created"`
+ Disconnected string `json:"disconnected"`
Dns1 string `json:"dns1"`
Dns2 string `json:"dns2"`
Gateway string `json:"gateway"`
@@ -914,6 +946,7 @@ type StartSystemVmResponse struct {
Name string `json:"name"`
Networkdomain string `json:"networkdomain"`
Podid string `json:"podid"`
+ Podname string `json:"podname"`
Privateip string `json:"privateip"`
Privatemacaddress string `json:"privatemacaddress"`
Privatenetmask string `json:"privatenetmask"`
@@ -924,6 +957,8 @@ type StartSystemVmResponse struct {
State string `json:"state"`
Systemvmtype string `json:"systemvmtype"`
Templateid string `json:"templateid"`
+ Templatename string `json:"templatename"`
+ Version string `json:"version"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -1007,7 +1042,9 @@ func (s *SystemVMService) StopSystemVm(p *StopSystemVmParams) (*StopSystemVmResp
type StopSystemVmResponse struct {
Activeviewersessions int `json:"activeviewersessions"`
+ Agentstate string `json:"agentstate"`
Created string `json:"created"`
+ Disconnected string `json:"disconnected"`
Dns1 string `json:"dns1"`
Dns2 string `json:"dns2"`
Gateway string `json:"gateway"`
@@ -1024,6 +1061,7 @@ type StopSystemVmResponse struct {
Name string `json:"name"`
Networkdomain string `json:"networkdomain"`
Podid string `json:"podid"`
+ Podname string `json:"podname"`
Privateip string `json:"privateip"`
Privatemacaddress string `json:"privatemacaddress"`
Privatenetmask string `json:"privatenetmask"`
@@ -1034,6 +1072,8 @@ type StopSystemVmResponse struct {
State string `json:"state"`
Systemvmtype string `json:"systemvmtype"`
Templateid string `json:"templateid"`
+ Templatename string `json:"templatename"`
+ Version string `json:"version"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
diff --git a/cloudstack/TemplateService.go b/cloudstack/TemplateService.go
index 4cf2057..30198aa 100644
--- a/cloudstack/TemplateService.go
+++ b/cloudstack/TemplateService.go
@@ -133,11 +133,14 @@ type CopyTemplateResponse struct {
Childtemplates []interface{} `json:"childtemplates"`
Created string `json:"created"`
CrossZones bool `json:"crossZones"`
+ Deployasis bool `json:"deployasis"`
+ Deployasisdetails map[string]string `json:"deployasisdetails"`
Details map[string]string `json:"details"`
Directdownload bool `json:"directdownload"`
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Downloaddetails []string `json:"downloaddetails"`
Format string `json:"format"`
Hostid string `json:"hostid"`
Hostname string `json:"hostname"`
@@ -167,6 +170,7 @@ type CopyTemplateResponse struct {
Tags []Tags `json:"tags"`
Templatetag string `json:"templatetag"`
Templatetype string `json:"templatetype"`
+ Url string `json:"url"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -445,11 +449,14 @@ type CreateTemplateResponse struct {
Childtemplates []interface{} `json:"childtemplates"`
Created string `json:"created"`
CrossZones bool `json:"crossZones"`
+ Deployasis bool `json:"deployasis"`
+ Deployasisdetails map[string]string `json:"deployasisdetails"`
Details map[string]string `json:"details"`
Directdownload bool `json:"directdownload"`
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Downloaddetails []string `json:"downloaddetails"`
Format string `json:"format"`
Hostid string `json:"hostid"`
Hostname string `json:"hostname"`
@@ -479,6 +486,7 @@ type CreateTemplateResponse struct {
Tags []Tags `json:"tags"`
Templatetag string `json:"templatetag"`
Templatetype string `json:"templatetype"`
+ Url string `json:"url"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -734,6 +742,10 @@ func (p *GetUploadParamsForTemplateParams) toURLValues() url.Values {
if v, found := p.p["checksum"]; found {
u.Set("checksum", v.(string))
}
+ if v, found := p.p["deployasis"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("deployasis", vv)
+ }
if v, found := p.p["details"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
@@ -823,6 +835,13 @@ func (p *GetUploadParamsForTemplateParams) SetChecksum(v string) {
p.p["checksum"] = v
}
+func (p *GetUploadParamsForTemplateParams) SetDeployasis(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["deployasis"] = v
+}
+
func (p *GetUploadParamsForTemplateParams) SetDetails(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -951,14 +970,13 @@ func (p *GetUploadParamsForTemplateParams) SetZoneid(v string) {
// You should always use this function to get a new GetUploadParamsForTemplateParams instance,
// as then you are sure you have configured all required params
-func (s *TemplateService) NewGetUploadParamsForTemplateParams(displaytext string, format string, hypervisor string, name string, ostypeid string, zoneid string) *GetUploadParamsForTemplateParams {
+func (s *TemplateService) NewGetUploadParamsForTemplateParams(displaytext string, format string, hypervisor string, name string, zoneid string) *GetUploadParamsForTemplateParams {
p := &GetUploadParamsForTemplateParams{}
p.p = make(map[string]interface{})
p.p["displaytext"] = displaytext
p.p["format"] = format
p.p["hypervisor"] = hypervisor
p.p["name"] = name
- p.p["ostypeid"] = ostypeid
p.p["zoneid"] = zoneid
return p
}
@@ -1094,6 +1112,10 @@ func (p *ListTemplatesParams) toURLValues() url.Values {
if v, found := p.p["account"]; found {
u.Set("account", v.(string))
}
+ if v, found := p.p["details"]; found {
+ vv := strings.Join(v.([]string), ",")
+ u.Set("details", vv)
+ }
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
@@ -1139,6 +1161,10 @@ func (p *ListTemplatesParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("showremoved", vv)
}
+ if v, found := p.p["showunique"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("showunique", vv)
+ }
if v, found := p.p["tags"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
@@ -1162,6 +1188,13 @@ func (p *ListTemplatesParams) SetAccount(v string) {
p.p["account"] = v
}
+func (p *ListTemplatesParams) SetDetails(v []string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["details"] = v
+}
+
func (p *ListTemplatesParams) SetDomainid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1253,6 +1286,13 @@ func (p *ListTemplatesParams) SetShowremoved(v bool) {
p.p["showremoved"] = v
}
+func (p *ListTemplatesParams) SetShowunique(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["showunique"] = v
+}
+
func (p *ListTemplatesParams) SetTags(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1398,11 +1438,14 @@ type Template struct {
Childtemplates []interface{} `json:"childtemplates"`
Created string `json:"created"`
CrossZones bool `json:"crossZones"`
+ Deployasis bool `json:"deployasis"`
+ Deployasisdetails map[string]string `json:"deployasisdetails"`
Details map[string]string `json:"details"`
Directdownload bool `json:"directdownload"`
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Downloaddetails []string `json:"downloaddetails"`
Format string `json:"format"`
Hostid string `json:"hostid"`
Hostname string `json:"hostname"`
@@ -1432,6 +1475,7 @@ type Template struct {
Tags []Tags `json:"tags"`
Templatetag string `json:"templatetag"`
Templatetype string `json:"templatetype"`
+ Url string `json:"url"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -1539,11 +1583,14 @@ type PrepareTemplateResponse struct {
Childtemplates []interface{} `json:"childtemplates"`
Created string `json:"created"`
CrossZones bool `json:"crossZones"`
+ Deployasis bool `json:"deployasis"`
+ Deployasisdetails map[string]string `json:"deployasisdetails"`
Details map[string]string `json:"details"`
Directdownload bool `json:"directdownload"`
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Downloaddetails []string `json:"downloaddetails"`
Format string `json:"format"`
Hostid string `json:"hostid"`
Hostname string `json:"hostname"`
@@ -1573,6 +1620,7 @@ type PrepareTemplateResponse struct {
Tags []Tags `json:"tags"`
Templatetag string `json:"templatetag"`
Templatetype string `json:"templatetype"`
+ Url string `json:"url"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -1623,6 +1671,10 @@ func (p *RegisterTemplateParams) toURLValues() url.Values {
if v, found := p.p["checksum"]; found {
u.Set("checksum", v.(string))
}
+ if v, found := p.p["deployasis"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("deployasis", vv)
+ }
if v, found := p.p["details"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
@@ -1723,6 +1775,13 @@ func (p *RegisterTemplateParams) SetChecksum(v string) {
p.p["checksum"] = v
}
+func (p *RegisterTemplateParams) SetDeployasis(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["deployasis"] = v
+}
+
func (p *RegisterTemplateParams) SetDetails(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1872,14 +1931,13 @@ func (p *RegisterTemplateParams) SetZoneids(v []string) {
// You should always use this function to get a new RegisterTemplateParams instance,
// as then you are sure you have configured all required params
-func (s *TemplateService) NewRegisterTemplateParams(displaytext string, format string, hypervisor string, name string, ostypeid string, url string) *RegisterTemplateParams {
+func (s *TemplateService) NewRegisterTemplateParams(displaytext string, format string, hypervisor string, name string, url string) *RegisterTemplateParams {
p := &RegisterTemplateParams{}
p.p = make(map[string]interface{})
p.p["displaytext"] = displaytext
p.p["format"] = format
p.p["hypervisor"] = hypervisor
p.p["name"] = name
- p.p["ostypeid"] = ostypeid
p.p["url"] = url
return p
}
@@ -1913,11 +1971,14 @@ type RegisterTemplate struct {
Childtemplates []interface{} `json:"childtemplates"`
Created string `json:"created"`
CrossZones bool `json:"crossZones"`
+ Deployasis bool `json:"deployasis"`
+ Deployasisdetails map[string]string `json:"deployasisdetails"`
Details map[string]string `json:"details"`
Directdownload bool `json:"directdownload"`
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Downloaddetails []string `json:"downloaddetails"`
Format string `json:"format"`
Hostid string `json:"hostid"`
Hostname string `json:"hostname"`
@@ -1947,6 +2008,7 @@ type RegisterTemplate struct {
Tags []Tags `json:"tags"`
Templatetag string `json:"templatetag"`
Templatetype string `json:"templatetype"`
+ Url string `json:"url"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -2040,6 +2102,9 @@ func (p *UpdateTemplateParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("sshkeyenabled", vv)
}
+ if v, found := p.p["templatetype"]; found {
+ u.Set("templatetype", v.(string))
+ }
return u
}
@@ -2141,6 +2206,13 @@ func (p *UpdateTemplateParams) SetSshkeyenabled(v bool) {
p.p["sshkeyenabled"] = v
}
+func (p *UpdateTemplateParams) SetTemplatetype(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["templatetype"] = v
+}
+
// You should always use this function to get a new UpdateTemplateParams instance,
// as then you are sure you have configured all required params
func (s *TemplateService) NewUpdateTemplateParams(id string) *UpdateTemplateParams {
@@ -2174,11 +2246,14 @@ type UpdateTemplateResponse struct {
Childtemplates []interface{} `json:"childtemplates"`
Created string `json:"created"`
CrossZones bool `json:"crossZones"`
+ Deployasis bool `json:"deployasis"`
+ Deployasisdetails map[string]string `json:"deployasisdetails"`
Details map[string]string `json:"details"`
Directdownload bool `json:"directdownload"`
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Downloaddetails []string `json:"downloaddetails"`
Format string `json:"format"`
Hostid string `json:"hostid"`
Hostname string `json:"hostname"`
@@ -2208,6 +2283,7 @@ type UpdateTemplateResponse struct {
Tags []Tags `json:"tags"`
Templatetag string `json:"templatetag"`
Templatetype string `json:"templatetype"`
+ Url string `json:"url"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
diff --git a/cloudstack/UsageService.go b/cloudstack/UsageService.go
index 57c7a9b..6a3748b 100644
--- a/cloudstack/UsageService.go
+++ b/cloudstack/UsageService.go
@@ -861,9 +861,17 @@ func (p *ListUsageRecordsParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("includetags", vv)
}
+ if v, found := p.p["isrecursive"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("isrecursive", vv)
+ }
if v, found := p.p["keyword"]; found {
u.Set("keyword", v.(string))
}
+ if v, found := p.p["oldformat"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("oldformat", vv)
+ }
if v, found := p.p["page"]; found {
vv := strconv.Itoa(v.(int))
u.Set("page", vv)
@@ -923,6 +931,13 @@ func (p *ListUsageRecordsParams) SetIncludetags(v bool) {
p.p["includetags"] = v
}
+func (p *ListUsageRecordsParams) SetIsrecursive(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["isrecursive"] = v
+}
+
func (p *ListUsageRecordsParams) SetKeyword(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -930,6 +945,13 @@ func (p *ListUsageRecordsParams) SetKeyword(v string) {
p.p["keyword"] = v
}
+func (p *ListUsageRecordsParams) SetOldformat(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["oldformat"] = v
+}
+
func (p *ListUsageRecordsParams) SetPage(v int) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1020,6 +1042,10 @@ type UsageRecord struct {
Name string `json:"name"`
Networkid string `json:"networkid"`
Offeringid string `json:"offeringid"`
+ Oscategoryid string `json:"oscategoryid"`
+ Oscategoryname string `json:"oscategoryname"`
+ Osdisplayname string `json:"osdisplayname"`
+ Ostypeid string `json:"ostypeid"`
Project string `json:"project"`
Projectid string `json:"projectid"`
Rawusage string `json:"rawusage"`
@@ -1033,9 +1059,37 @@ type UsageRecord struct {
Usagetype int `json:"usagetype"`
Virtualmachineid string `json:"virtualmachineid"`
Virtualsize int64 `json:"virtualsize"`
+ Vpcid string `json:"vpcid"`
Zoneid string `json:"zoneid"`
}
+func (r *UsageRecord) UnmarshalJSON(b []byte) error {
+ var m map[string]interface{}
+ err := json.Unmarshal(b, &m)
+ if err != nil {
+ return err
+ }
+
+ if success, ok := m["success"].(string); ok {
+ m["success"] = success == "true"
+ b, err = json.Marshal(m)
+ if err != nil {
+ return err
+ }
+ }
+
+ if ostypeid, ok := m["ostypeid"].(float64); ok {
+ m["ostypeid"] = strconv.Itoa(int(ostypeid))
+ b, err = json.Marshal(m)
+ if err != nil {
+ return err
+ }
+ }
+
+ type alias UsageRecord
+ return json.Unmarshal(b, (*alias)(r))
+}
+
type ListUsageTypesParams struct {
p map[string]interface{}
}
diff --git a/cloudstack/VPCService.go b/cloudstack/VPCService.go
index 178c03a..8418df6 100644
--- a/cloudstack/VPCService.go
+++ b/cloudstack/VPCService.go
@@ -39,6 +39,10 @@ func (p *CreatePrivateGatewayParams) toURLValues() url.Values {
if v, found := p.p["aclid"]; found {
u.Set("aclid", v.(string))
}
+ if v, found := p.p["bypassvlanoverlapcheck"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("bypassvlanoverlapcheck", vv)
+ }
if v, found := p.p["gateway"]; found {
u.Set("gateway", v.(string))
}
@@ -74,6 +78,13 @@ func (p *CreatePrivateGatewayParams) SetAclid(v string) {
p.p["aclid"] = v
}
+func (p *CreatePrivateGatewayParams) SetBypassvlanoverlapcheck(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["bypassvlanoverlapcheck"] = v
+}
+
func (p *CreatePrivateGatewayParams) SetGateway(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -181,6 +192,7 @@ func (s *VPCService) CreatePrivateGateway(p *CreatePrivateGatewayParams) (*Creat
type CreatePrivateGatewayResponse struct {
Account string `json:"account"`
Aclid string `json:"aclid"`
+ Aclname string `json:"aclname"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Gateway string `json:"gateway"`
@@ -196,6 +208,7 @@ type CreatePrivateGatewayResponse struct {
State string `json:"state"`
Vlan string `json:"vlan"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -489,6 +502,7 @@ type CreateVPCResponse struct {
State string `json:"state"`
Tags []Tags `json:"tags"`
Vpcofferingid string `json:"vpcofferingid"`
+ Vpcofferingname string `json:"vpcofferingname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -518,11 +532,13 @@ type CreateVPCResponseServiceCapability struct {
type CreateVPCResponseNetwork struct {
Account string `json:"account"`
Aclid string `json:"aclid"`
+ Aclname string `json:"aclname"`
Acltype string `json:"acltype"`
Broadcastdomaintype string `json:"broadcastdomaintype"`
Broadcasturi string `json:"broadcasturi"`
Canusefordeploy bool `json:"canusefordeploy"`
Cidr string `json:"cidr"`
+ Details map[string]string `json:"details"`
Displaynetwork bool `json:"displaynetwork"`
Displaytext string `json:"displaytext"`
Dns1 string `json:"dns1"`
@@ -563,6 +579,7 @@ type CreateVPCResponseNetwork struct {
Type string `json:"type"`
Vlan string `json:"vlan"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
Zonesnetworkspans []interface{} `json:"zonesnetworkspans"`
@@ -602,6 +619,10 @@ func (p *CreateVPCOfferingParams) toURLValues() url.Values {
if v, found := p.p["displaytext"]; found {
u.Set("displaytext", v.(string))
}
+ if v, found := p.p["domainid"]; found {
+ vv := strings.Join(v.([]string), ",")
+ u.Set("domainid", vv)
+ }
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
@@ -626,6 +647,10 @@ func (p *CreateVPCOfferingParams) toURLValues() url.Values {
vv := strings.Join(v.([]string), ",")
u.Set("supportedservices", vv)
}
+ if v, found := p.p["zoneid"]; found {
+ vv := strings.Join(v.([]string), ",")
+ u.Set("zoneid", vv)
+ }
return u
}
@@ -636,6 +661,13 @@ func (p *CreateVPCOfferingParams) SetDisplaytext(v string) {
p.p["displaytext"] = v
}
+func (p *CreateVPCOfferingParams) SetDomainid(v []string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["domainid"] = v
+}
+
func (p *CreateVPCOfferingParams) SetName(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -671,6 +703,13 @@ func (p *CreateVPCOfferingParams) SetSupportedservices(v []string) {
p.p["supportedservices"] = v
}
+func (p *CreateVPCOfferingParams) SetZoneid(v []string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["zoneid"] = v
+}
+
// You should always use this function to get a new CreateVPCOfferingParams instance,
// as then you are sure you have configured all required params
func (s *VPCService) NewCreateVPCOfferingParams(displaytext string, name string, supportedservices []string) *CreateVPCOfferingParams {
@@ -721,6 +760,8 @@ type CreateVPCOfferingResponse struct {
Created string `json:"created"`
Displaytext string `json:"displaytext"`
Distributedvpcrouter bool `json:"distributedvpcrouter"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
Id string `json:"id"`
Isdefault bool `json:"isdefault"`
JobID string `json:"jobid"`
@@ -729,6 +770,8 @@ type CreateVPCOfferingResponse struct {
Service []CreateVPCOfferingResponseService `json:"service"`
State string `json:"state"`
SupportsregionLevelvpc bool `json:"supportsregionLevelvpc"`
+ Zone string `json:"zone"`
+ Zoneid string `json:"zoneid"`
}
type CreateVPCOfferingResponseService struct {
@@ -1235,6 +1278,7 @@ type ListPrivateGatewaysResponse struct {
type PrivateGateway struct {
Account string `json:"account"`
Aclid string `json:"aclid"`
+ Aclname string `json:"aclname"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Gateway string `json:"gateway"`
@@ -1250,6 +1294,7 @@ type PrivateGateway struct {
State string `json:"state"`
Vlan string `json:"vlan"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -1297,6 +1342,9 @@ func (p *ListStaticRoutesParams) toURLValues() url.Values {
if v, found := p.p["projectid"]; found {
u.Set("projectid", v.(string))
}
+ if v, found := p.p["state"]; found {
+ u.Set("state", v.(string))
+ }
if v, found := p.p["tags"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
@@ -1380,6 +1428,13 @@ func (p *ListStaticRoutesParams) SetProjectid(v string) {
p.p["projectid"] = v
}
+func (p *ListStaticRoutesParams) SetState(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["state"] = v
+}
+
func (p *ListStaticRoutesParams) SetTags(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1511,6 +1566,9 @@ func (p *ListVPCOfferingsParams) toURLValues() url.Values {
vv := strings.Join(v.([]string), ",")
u.Set("supportedservices", vv)
}
+ if v, found := p.p["zoneid"]; found {
+ u.Set("zoneid", v.(string))
+ }
return u
}
@@ -1577,6 +1635,13 @@ func (p *ListVPCOfferingsParams) SetSupportedservices(v []string) {
p.p["supportedservices"] = v
}
+func (p *ListVPCOfferingsParams) SetZoneid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["zoneid"] = v
+}
+
// You should always use this function to get a new ListVPCOfferingsParams instance,
// as then you are sure you have configured all required params
func (s *VPCService) NewListVPCOfferingsParams() *ListVPCOfferingsParams {
@@ -1692,6 +1757,8 @@ type VPCOffering struct {
Created string `json:"created"`
Displaytext string `json:"displaytext"`
Distributedvpcrouter bool `json:"distributedvpcrouter"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
Id string `json:"id"`
Isdefault bool `json:"isdefault"`
JobID string `json:"jobid"`
@@ -1700,6 +1767,8 @@ type VPCOffering struct {
Service []VPCOfferingService `json:"service"`
State string `json:"state"`
SupportsregionLevelvpc bool `json:"supportsregionLevelvpc"`
+ Zone string `json:"zone"`
+ Zoneid string `json:"zoneid"`
}
type VPCOfferingService struct {
@@ -2072,6 +2141,7 @@ type VPC struct {
State string `json:"state"`
Tags []Tags `json:"tags"`
Vpcofferingid string `json:"vpcofferingid"`
+ Vpcofferingname string `json:"vpcofferingname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -2101,11 +2171,13 @@ type VPCServiceInternalCapability struct {
type VPCNetwork struct {
Account string `json:"account"`
Aclid string `json:"aclid"`
+ Aclname string `json:"aclname"`
Acltype string `json:"acltype"`
Broadcastdomaintype string `json:"broadcastdomaintype"`
Broadcasturi string `json:"broadcasturi"`
Canusefordeploy bool `json:"canusefordeploy"`
Cidr string `json:"cidr"`
+ Details map[string]string `json:"details"`
Displaynetwork bool `json:"displaynetwork"`
Displaytext string `json:"displaytext"`
Dns1 string `json:"dns1"`
@@ -2146,6 +2218,7 @@ type VPCNetwork struct {
Type string `json:"type"`
Vlan string `json:"vlan"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
Zonesnetworkspans []interface{} `json:"zonesnetworkspans"`
@@ -2285,6 +2358,7 @@ type RestartVPCResponse struct {
State string `json:"state"`
Tags []Tags `json:"tags"`
Vpcofferingid string `json:"vpcofferingid"`
+ Vpcofferingname string `json:"vpcofferingname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -2314,11 +2388,13 @@ type RestartVPCResponseServiceCapability struct {
type RestartVPCResponseNetwork struct {
Account string `json:"account"`
Aclid string `json:"aclid"`
+ Aclname string `json:"aclname"`
Acltype string `json:"acltype"`
Broadcastdomaintype string `json:"broadcastdomaintype"`
Broadcasturi string `json:"broadcasturi"`
Canusefordeploy bool `json:"canusefordeploy"`
Cidr string `json:"cidr"`
+ Details map[string]string `json:"details"`
Displaynetwork bool `json:"displaynetwork"`
Displaytext string `json:"displaytext"`
Dns1 string `json:"dns1"`
@@ -2359,6 +2435,7 @@ type RestartVPCResponseNetwork struct {
Type string `json:"type"`
Vlan string `json:"vlan"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
Zonesnetworkspans []interface{} `json:"zonesnetworkspans"`
@@ -2517,6 +2594,7 @@ type UpdateVPCResponse struct {
State string `json:"state"`
Tags []Tags `json:"tags"`
Vpcofferingid string `json:"vpcofferingid"`
+ Vpcofferingname string `json:"vpcofferingname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -2546,11 +2624,13 @@ type UpdateVPCResponseServiceCapability struct {
type UpdateVPCResponseNetwork struct {
Account string `json:"account"`
Aclid string `json:"aclid"`
+ Aclname string `json:"aclname"`
Acltype string `json:"acltype"`
Broadcastdomaintype string `json:"broadcastdomaintype"`
Broadcasturi string `json:"broadcasturi"`
Canusefordeploy bool `json:"canusefordeploy"`
Cidr string `json:"cidr"`
+ Details map[string]string `json:"details"`
Displaynetwork bool `json:"displaynetwork"`
Displaytext string `json:"displaytext"`
Dns1 string `json:"dns1"`
@@ -2591,6 +2671,7 @@ type UpdateVPCResponseNetwork struct {
Type string `json:"type"`
Vlan string `json:"vlan"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
Zonesnetworkspans []interface{} `json:"zonesnetworkspans"`
@@ -2630,15 +2711,25 @@ func (p *UpdateVPCOfferingParams) toURLValues() url.Values {
if v, found := p.p["displaytext"]; found {
u.Set("displaytext", v.(string))
}
+ if v, found := p.p["domainid"]; found {
+ u.Set("domainid", v.(string))
+ }
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
+ if v, found := p.p["sortkey"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("sortkey", vv)
+ }
if v, found := p.p["state"]; found {
u.Set("state", v.(string))
}
+ if v, found := p.p["zoneid"]; found {
+ u.Set("zoneid", v.(string))
+ }
return u
}
@@ -2649,6 +2740,13 @@ func (p *UpdateVPCOfferingParams) SetDisplaytext(v string) {
p.p["displaytext"] = v
}
+func (p *UpdateVPCOfferingParams) SetDomainid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["domainid"] = v
+}
+
func (p *UpdateVPCOfferingParams) SetId(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2663,6 +2761,13 @@ func (p *UpdateVPCOfferingParams) SetName(v string) {
p.p["name"] = v
}
+func (p *UpdateVPCOfferingParams) SetSortkey(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["sortkey"] = v
+}
+
func (p *UpdateVPCOfferingParams) SetState(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2670,6 +2775,13 @@ func (p *UpdateVPCOfferingParams) SetState(v string) {
p.p["state"] = v
}
+func (p *UpdateVPCOfferingParams) SetZoneid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["zoneid"] = v
+}
+
// You should always use this function to get a new UpdateVPCOfferingParams instance,
// as then you are sure you have configured all required params
func (s *VPCService) NewUpdateVPCOfferingParams(id string) *UpdateVPCOfferingParams {
@@ -2718,6 +2830,8 @@ type UpdateVPCOfferingResponse struct {
Created string `json:"created"`
Displaytext string `json:"displaytext"`
Distributedvpcrouter bool `json:"distributedvpcrouter"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
Id string `json:"id"`
Isdefault bool `json:"isdefault"`
JobID string `json:"jobid"`
@@ -2726,6 +2840,8 @@ type UpdateVPCOfferingResponse struct {
Service []UpdateVPCOfferingResponseService `json:"service"`
State string `json:"state"`
SupportsregionLevelvpc bool `json:"supportsregionLevelvpc"`
+ Zone string `json:"zone"`
+ Zoneid string `json:"zoneid"`
}
type UpdateVPCOfferingResponseService struct {
diff --git a/cloudstack/VPNService.go b/cloudstack/VPNService.go
index 147c00e..005c957 100644
--- a/cloudstack/VPNService.go
+++ b/cloudstack/VPNService.go
@@ -396,6 +396,7 @@ type CreateVpnConnectionResponse struct {
Id string `json:"id"`
Ikelifetime int64 `json:"ikelifetime"`
Ikepolicy string `json:"ikepolicy"`
+ Ikeversion string `json:"ikeversion"`
Ipsecpsk string `json:"ipsecpsk"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
@@ -406,6 +407,7 @@ type CreateVpnConnectionResponse struct {
Removed string `json:"removed"`
S2scustomergatewayid string `json:"s2scustomergatewayid"`
S2svpngatewayid string `json:"s2svpngatewayid"`
+ Splitconnections bool `json:"splitconnections"`
State string `json:"state"`
}
@@ -452,6 +454,9 @@ func (p *CreateVpnCustomerGatewayParams) toURLValues() url.Values {
if v, found := p.p["ikepolicy"]; found {
u.Set("ikepolicy", v.(string))
}
+ if v, found := p.p["ikeversion"]; found {
+ u.Set("ikeversion", v.(string))
+ }
if v, found := p.p["ipsecpsk"]; found {
u.Set("ipsecpsk", v.(string))
}
@@ -461,6 +466,10 @@ func (p *CreateVpnCustomerGatewayParams) toURLValues() url.Values {
if v, found := p.p["projectid"]; found {
u.Set("projectid", v.(string))
}
+ if v, found := p.p["splitconnections"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("splitconnections", vv)
+ }
return u
}
@@ -534,6 +543,13 @@ func (p *CreateVpnCustomerGatewayParams) SetIkepolicy(v string) {
p.p["ikepolicy"] = v
}
+func (p *CreateVpnCustomerGatewayParams) SetIkeversion(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["ikeversion"] = v
+}
+
func (p *CreateVpnCustomerGatewayParams) SetIpsecpsk(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -555,6 +571,13 @@ func (p *CreateVpnCustomerGatewayParams) SetProjectid(v string) {
p.p["projectid"] = v
}
+func (p *CreateVpnCustomerGatewayParams) SetSplitconnections(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["splitconnections"] = v
+}
+
// You should always use this function to get a new CreateVpnCustomerGatewayParams instance,
// as then you are sure you have configured all required params
func (s *VPNService) NewCreateVpnCustomerGatewayParams(cidrlist string, esppolicy string, gateway string, ikepolicy string, ipsecpsk string) *CreateVpnCustomerGatewayParams {
@@ -604,26 +627,28 @@ func (s *VPNService) CreateVpnCustomerGateway(p *CreateVpnCustomerGatewayParams)
}
type CreateVpnCustomerGatewayResponse struct {
- Account string `json:"account"`
- Cidrlist string `json:"cidrlist"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Dpd bool `json:"dpd"`
- Esplifetime int64 `json:"esplifetime"`
- Esppolicy string `json:"esppolicy"`
- Forceencap bool `json:"forceencap"`
- Gateway string `json:"gateway"`
- Id string `json:"id"`
- Ikelifetime int64 `json:"ikelifetime"`
- Ikepolicy string `json:"ikepolicy"`
- Ipaddress string `json:"ipaddress"`
- Ipsecpsk string `json:"ipsecpsk"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Project string `json:"project"`
- Projectid string `json:"projectid"`
- Removed string `json:"removed"`
+ Account string `json:"account"`
+ Cidrlist string `json:"cidrlist"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Dpd bool `json:"dpd"`
+ Esplifetime int64 `json:"esplifetime"`
+ Esppolicy string `json:"esppolicy"`
+ Forceencap bool `json:"forceencap"`
+ Gateway string `json:"gateway"`
+ Id string `json:"id"`
+ Ikelifetime int64 `json:"ikelifetime"`
+ Ikepolicy string `json:"ikepolicy"`
+ Ikeversion string `json:"ikeversion"`
+ Ipaddress string `json:"ipaddress"`
+ Ipsecpsk string `json:"ipsecpsk"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ Removed string `json:"removed"`
+ Splitconnections bool `json:"splitconnections"`
}
type CreateVpnGatewayParams struct {
@@ -716,6 +741,7 @@ type CreateVpnGatewayResponse struct {
Publicip string `json:"publicip"`
Removed string `json:"removed"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
}
type DeleteRemoteAccessVpnParams struct {
@@ -1408,6 +1434,7 @@ type VpnConnection struct {
Id string `json:"id"`
Ikelifetime int64 `json:"ikelifetime"`
Ikepolicy string `json:"ikepolicy"`
+ Ikeversion string `json:"ikeversion"`
Ipsecpsk string `json:"ipsecpsk"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
@@ -1418,6 +1445,7 @@ type VpnConnection struct {
Removed string `json:"removed"`
S2scustomergatewayid string `json:"s2scustomergatewayid"`
S2svpngatewayid string `json:"s2svpngatewayid"`
+ Splitconnections bool `json:"splitconnections"`
State string `json:"state"`
}
@@ -1639,26 +1667,28 @@ type ListVpnCustomerGatewaysResponse struct {
}
type VpnCustomerGateway struct {
- Account string `json:"account"`
- Cidrlist string `json:"cidrlist"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Dpd bool `json:"dpd"`
- Esplifetime int64 `json:"esplifetime"`
- Esppolicy string `json:"esppolicy"`
- Forceencap bool `json:"forceencap"`
- Gateway string `json:"gateway"`
- Id string `json:"id"`
- Ikelifetime int64 `json:"ikelifetime"`
- Ikepolicy string `json:"ikepolicy"`
- Ipaddress string `json:"ipaddress"`
- Ipsecpsk string `json:"ipsecpsk"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Project string `json:"project"`
- Projectid string `json:"projectid"`
- Removed string `json:"removed"`
+ Account string `json:"account"`
+ Cidrlist string `json:"cidrlist"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Dpd bool `json:"dpd"`
+ Esplifetime int64 `json:"esplifetime"`
+ Esppolicy string `json:"esppolicy"`
+ Forceencap bool `json:"forceencap"`
+ Gateway string `json:"gateway"`
+ Id string `json:"id"`
+ Ikelifetime int64 `json:"ikelifetime"`
+ Ikepolicy string `json:"ikepolicy"`
+ Ikeversion string `json:"ikeversion"`
+ Ipaddress string `json:"ipaddress"`
+ Ipsecpsk string `json:"ipsecpsk"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ Removed string `json:"removed"`
+ Splitconnections bool `json:"splitconnections"`
}
type ListVpnGatewaysParams struct {
@@ -1862,6 +1892,7 @@ type VpnGateway struct {
Publicip string `json:"publicip"`
Removed string `json:"removed"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
}
type ListVpnUsersParams struct {
@@ -2253,6 +2284,7 @@ type ResetVpnConnectionResponse struct {
Id string `json:"id"`
Ikelifetime int64 `json:"ikelifetime"`
Ikepolicy string `json:"ikepolicy"`
+ Ikeversion string `json:"ikeversion"`
Ipsecpsk string `json:"ipsecpsk"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
@@ -2263,6 +2295,7 @@ type ResetVpnConnectionResponse struct {
Removed string `json:"removed"`
S2scustomergatewayid string `json:"s2scustomergatewayid"`
S2svpngatewayid string `json:"s2svpngatewayid"`
+ Splitconnections bool `json:"splitconnections"`
State string `json:"state"`
}
@@ -2472,6 +2505,7 @@ type UpdateVpnConnectionResponse struct {
Id string `json:"id"`
Ikelifetime int64 `json:"ikelifetime"`
Ikepolicy string `json:"ikepolicy"`
+ Ikeversion string `json:"ikeversion"`
Ipsecpsk string `json:"ipsecpsk"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
@@ -2482,6 +2516,7 @@ type UpdateVpnConnectionResponse struct {
Removed string `json:"removed"`
S2scustomergatewayid string `json:"s2scustomergatewayid"`
S2svpngatewayid string `json:"s2svpngatewayid"`
+ Splitconnections bool `json:"splitconnections"`
State string `json:"state"`
}
@@ -2531,12 +2566,19 @@ func (p *UpdateVpnCustomerGatewayParams) toURLValues() url.Values {
if v, found := p.p["ikepolicy"]; found {
u.Set("ikepolicy", v.(string))
}
+ if v, found := p.p["ikeversion"]; found {
+ u.Set("ikeversion", v.(string))
+ }
if v, found := p.p["ipsecpsk"]; found {
u.Set("ipsecpsk", v.(string))
}
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
+ if v, found := p.p["splitconnections"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("splitconnections", vv)
+ }
return u
}
@@ -2617,6 +2659,13 @@ func (p *UpdateVpnCustomerGatewayParams) SetIkepolicy(v string) {
p.p["ikepolicy"] = v
}
+func (p *UpdateVpnCustomerGatewayParams) SetIkeversion(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["ikeversion"] = v
+}
+
func (p *UpdateVpnCustomerGatewayParams) SetIpsecpsk(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2631,6 +2680,13 @@ func (p *UpdateVpnCustomerGatewayParams) SetName(v string) {
p.p["name"] = v
}
+func (p *UpdateVpnCustomerGatewayParams) SetSplitconnections(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["splitconnections"] = v
+}
+
// You should always use this function to get a new UpdateVpnCustomerGatewayParams instance,
// as then you are sure you have configured all required params
func (s *VPNService) NewUpdateVpnCustomerGatewayParams(cidrlist string, esppolicy string, gateway string, id string, ikepolicy string, ipsecpsk string) *UpdateVpnCustomerGatewayParams {
@@ -2681,26 +2737,28 @@ func (s *VPNService) UpdateVpnCustomerGateway(p *UpdateVpnCustomerGatewayParams)
}
type UpdateVpnCustomerGatewayResponse struct {
- Account string `json:"account"`
- Cidrlist string `json:"cidrlist"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Dpd bool `json:"dpd"`
- Esplifetime int64 `json:"esplifetime"`
- Esppolicy string `json:"esppolicy"`
- Forceencap bool `json:"forceencap"`
- Gateway string `json:"gateway"`
- Id string `json:"id"`
- Ikelifetime int64 `json:"ikelifetime"`
- Ikepolicy string `json:"ikepolicy"`
- Ipaddress string `json:"ipaddress"`
- Ipsecpsk string `json:"ipsecpsk"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Project string `json:"project"`
- Projectid string `json:"projectid"`
- Removed string `json:"removed"`
+ Account string `json:"account"`
+ Cidrlist string `json:"cidrlist"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Dpd bool `json:"dpd"`
+ Esplifetime int64 `json:"esplifetime"`
+ Esppolicy string `json:"esppolicy"`
+ Forceencap bool `json:"forceencap"`
+ Gateway string `json:"gateway"`
+ Id string `json:"id"`
+ Ikelifetime int64 `json:"ikelifetime"`
+ Ikepolicy string `json:"ikepolicy"`
+ Ikeversion string `json:"ikeversion"`
+ Ipaddress string `json:"ipaddress"`
+ Ipsecpsk string `json:"ipsecpsk"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ Removed string `json:"removed"`
+ Splitconnections bool `json:"splitconnections"`
}
type UpdateVpnGatewayParams struct {
@@ -2803,4 +2861,5 @@ type UpdateVpnGatewayResponse struct {
Publicip string `json:"publicip"`
Removed string `json:"removed"`
Vpcid string `json:"vpcid"`
+ Vpcname string `json:"vpcname"`
}
diff --git a/cloudstack/VirtualMachineService.go b/cloudstack/VirtualMachineService.go
index d478294..600fe96 100644
--- a/cloudstack/VirtualMachineService.go
+++ b/cloudstack/VirtualMachineService.go
@@ -141,6 +141,10 @@ func (s *VirtualMachineService) AddNicToVirtualMachine(p *AddNicToVirtualMachine
type AddNicToVirtualMachineResponse struct {
Account string `json:"account"`
Affinitygroup []AddNicToVirtualMachineResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -181,6 +185,7 @@ type AddNicToVirtualMachineResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -188,6 +193,7 @@ type AddNicToVirtualMachineResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []AddNicToVirtualMachineResponseSecuritygroup `json:"securitygroup"`
@@ -376,6 +382,10 @@ func (s *VirtualMachineService) AssignVirtualMachine(p *AssignVirtualMachinePara
type AssignVirtualMachineResponse struct {
Account string `json:"account"`
Affinitygroup []AssignVirtualMachineResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -416,6 +426,7 @@ type AssignVirtualMachineResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -423,6 +434,7 @@ type AssignVirtualMachineResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []AssignVirtualMachineResponseSecuritygroup `json:"securitygroup"`
@@ -583,6 +595,10 @@ func (s *VirtualMachineService) ChangeServiceForVirtualMachine(p *ChangeServiceF
type ChangeServiceForVirtualMachineResponse struct {
Account string `json:"account"`
Affinitygroup []ChangeServiceForVirtualMachineResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -623,6 +639,7 @@ type ChangeServiceForVirtualMachineResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -630,6 +647,7 @@ type ChangeServiceForVirtualMachineResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []ChangeServiceForVirtualMachineResponseSecuritygroup `json:"securitygroup"`
@@ -794,6 +812,23 @@ func (p *DeployVirtualMachineParams) toURLValues() url.Values {
vv := strings.Join(v.([]string), ",")
u.Set("affinitygroupnames", vv)
}
+ if v, found := p.p["bootintosetup"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("bootintosetup", vv)
+ }
+ if v, found := p.p["bootmode"]; found {
+ u.Set("bootmode", v.(string))
+ }
+ if v, found := p.p["boottype"]; found {
+ u.Set("boottype", v.(string))
+ }
+ if v, found := p.p["clusterid"]; found {
+ u.Set("clusterid", v.(string))
+ }
+ if v, found := p.p["copyimagetags"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("copyimagetags", vv)
+ }
if v, found := p.p["customid"]; found {
u.Set("customid", v.(string))
}
@@ -874,9 +909,26 @@ func (p *DeployVirtualMachineParams) toURLValues() url.Values {
vv := strings.Join(v.([]string), ",")
u.Set("networkids", vv)
}
+ if v, found := p.p["nicnetworklist"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("nicnetworklist[%d].key", i), k)
+ u.Set(fmt.Sprintf("nicnetworklist[%d].value", i), m[k])
+ }
+ }
+ if v, found := p.p["podid"]; found {
+ u.Set("podid", v.(string))
+ }
if v, found := p.p["projectid"]; found {
u.Set("projectid", v.(string))
}
+ if v, found := p.p["properties"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("properties[%d].key", i), k)
+ u.Set(fmt.Sprintf("properties[%d].value", i), m[k])
+ }
+ }
if v, found := p.p["rootdisksize"]; found {
vv := strconv.FormatInt(v.(int64), 10)
u.Set("rootdisksize", vv)
@@ -933,6 +985,41 @@ func (p *DeployVirtualMachineParams) SetAffinitygroupnames(v []string) {
p.p["affinitygroupnames"] = v
}
+func (p *DeployVirtualMachineParams) SetBootintosetup(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["bootintosetup"] = v
+}
+
+func (p *DeployVirtualMachineParams) SetBootmode(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["bootmode"] = v
+}
+
+func (p *DeployVirtualMachineParams) SetBoottype(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["boottype"] = v
+}
+
+func (p *DeployVirtualMachineParams) SetClusterid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["clusterid"] = v
+}
+
+func (p *DeployVirtualMachineParams) SetCopyimagetags(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["copyimagetags"] = v
+}
+
func (p *DeployVirtualMachineParams) SetCustomid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1080,6 +1167,20 @@ func (p *DeployVirtualMachineParams) SetNetworkids(v []string) {
p.p["networkids"] = v
}
+func (p *DeployVirtualMachineParams) SetNicnetworklist(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["nicnetworklist"] = v
+}
+
+func (p *DeployVirtualMachineParams) SetPodid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["podid"] = v
+}
+
func (p *DeployVirtualMachineParams) SetProjectid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1087,6 +1188,13 @@ func (p *DeployVirtualMachineParams) SetProjectid(v string) {
p.p["projectid"] = v
}
+func (p *DeployVirtualMachineParams) SetProperties(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["properties"] = v
+}
+
func (p *DeployVirtualMachineParams) SetRootdisksize(v int64) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1199,6 +1307,10 @@ func (s *VirtualMachineService) DeployVirtualMachine(p *DeployVirtualMachinePara
type DeployVirtualMachineResponse struct {
Account string `json:"account"`
Affinitygroup []DeployVirtualMachineResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -1239,6 +1351,7 @@ type DeployVirtualMachineResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -1246,6 +1359,7 @@ type DeployVirtualMachineResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []DeployVirtualMachineResponseSecuritygroup `json:"securitygroup"`
@@ -1386,7 +1500,7 @@ func (s *VirtualMachineService) NewDestroyVirtualMachineParams(id string) *Destr
return p
}
-// Destroys a virtual machine.
+// Destroys a virtual machine. Once destroyed, only the administrator can recover it.
func (s *VirtualMachineService) DestroyVirtualMachine(p *DestroyVirtualMachineParams) (*DestroyVirtualMachineResponse, error) {
resp, err := s.cs.newRequest("destroyVirtualMachine", p.toURLValues())
if err != nil {
@@ -1424,6 +1538,10 @@ func (s *VirtualMachineService) DestroyVirtualMachine(p *DestroyVirtualMachinePa
type DestroyVirtualMachineResponse struct {
Account string `json:"account"`
Affinitygroup []DestroyVirtualMachineResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -1464,6 +1582,7 @@ type DestroyVirtualMachineResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -1471,6 +1590,7 @@ type DestroyVirtualMachineResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []DestroyVirtualMachineResponseSecuritygroup `json:"securitygroup"`
@@ -1711,6 +1831,13 @@ func (p *ListVirtualMachinesParams) toURLValues() url.Values {
if v, found := p.p["groupid"]; found {
u.Set("groupid", v.(string))
}
+ if v, found := p.p["haenable"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("haenable", vv)
+ }
+ if v, found := p.p["hostid"]; found {
+ u.Set("hostid", v.(string))
+ }
if v, found := p.p["hostid"]; found {
u.Set("hostid", v.(string))
}
@@ -1758,9 +1885,15 @@ func (p *ListVirtualMachinesParams) toURLValues() url.Values {
if v, found := p.p["podid"]; found {
u.Set("podid", v.(string))
}
+ if v, found := p.p["podid"]; found {
+ u.Set("podid", v.(string))
+ }
if v, found := p.p["projectid"]; found {
u.Set("projectid", v.(string))
}
+ if v, found := p.p["securitygroupid"]; found {
+ u.Set("securitygroupid", v.(string))
+ }
if v, found := p.p["serviceofferingid"]; found {
u.Set("serviceofferingid", v.(string))
}
@@ -1770,6 +1903,9 @@ func (p *ListVirtualMachinesParams) toURLValues() url.Values {
if v, found := p.p["storageid"]; found {
u.Set("storageid", v.(string))
}
+ if v, found := p.p["storageid"]; found {
+ u.Set("storageid", v.(string))
+ }
if v, found := p.p["tags"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
@@ -1841,6 +1977,13 @@ func (p *ListVirtualMachinesParams) SetGroupid(v string) {
p.p["groupid"] = v
}
+func (p *ListVirtualMachinesParams) SetHaenable(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["haenable"] = v
+}
+
func (p *ListVirtualMachinesParams) SetHostid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1946,6 +2089,13 @@ func (p *ListVirtualMachinesParams) SetProjectid(v string) {
p.p["projectid"] = v
}
+func (p *ListVirtualMachinesParams) SetSecuritygroupid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["securitygroupid"] = v
+}
+
func (p *ListVirtualMachinesParams) SetServiceofferingid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2116,6 +2266,10 @@ type ListVirtualMachinesResponse struct {
type VirtualMachine struct {
Account string `json:"account"`
Affinitygroup []VirtualMachineAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -2156,6 +2310,7 @@ type VirtualMachine struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -2163,6 +2318,7 @@ type VirtualMachine struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []VirtualMachineSecuritygroup `json:"securitygroup"`
@@ -2283,8 +2439,9 @@ func (p *ListVirtualMachinesMetricsParams) toURLValues() url.Values {
if v, found := p.p["groupid"]; found {
u.Set("groupid", v.(string))
}
- if v, found := p.p["hostid"]; found {
- u.Set("hostid", v.(string))
+ if v, found := p.p["haenable"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("haenable", vv)
}
if v, found := p.p["hostid"]; found {
u.Set("hostid", v.(string))
@@ -2333,12 +2490,12 @@ func (p *ListVirtualMachinesMetricsParams) toURLValues() url.Values {
if v, found := p.p["podid"]; found {
u.Set("podid", v.(string))
}
- if v, found := p.p["podid"]; found {
- u.Set("podid", v.(string))
- }
if v, found := p.p["projectid"]; found {
u.Set("projectid", v.(string))
}
+ if v, found := p.p["securitygroupid"]; found {
+ u.Set("securitygroupid", v.(string))
+ }
if v, found := p.p["serviceofferingid"]; found {
u.Set("serviceofferingid", v.(string))
}
@@ -2348,9 +2505,6 @@ func (p *ListVirtualMachinesMetricsParams) toURLValues() url.Values {
if v, found := p.p["storageid"]; found {
u.Set("storageid", v.(string))
}
- if v, found := p.p["storageid"]; found {
- u.Set("storageid", v.(string))
- }
if v, found := p.p["tags"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
@@ -2422,6 +2576,13 @@ func (p *ListVirtualMachinesMetricsParams) SetGroupid(v string) {
p.p["groupid"] = v
}
+func (p *ListVirtualMachinesMetricsParams) SetHaenable(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["haenable"] = v
+}
+
func (p *ListVirtualMachinesMetricsParams) SetHostid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2527,6 +2688,13 @@ func (p *ListVirtualMachinesMetricsParams) SetProjectid(v string) {
p.p["projectid"] = v
}
+func (p *ListVirtualMachinesMetricsParams) SetSecuritygroupid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["securitygroupid"] = v
+}
+
func (p *ListVirtualMachinesMetricsParams) SetServiceofferingid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2697,6 +2865,10 @@ type ListVirtualMachinesMetricsResponse struct {
type VirtualMachinesMetric struct {
Account string `json:"account"`
Affinitygroup []VirtualMachinesMetricAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cputotal string `json:"cputotal"`
@@ -2745,6 +2917,7 @@ type VirtualMachinesMetric struct {
Networkread string `json:"networkread"`
Networkwrite string `json:"networkwrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -2752,6 +2925,7 @@ type VirtualMachinesMetric struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []VirtualMachinesMetricSecuritygroup `json:"securitygroup"`
@@ -2928,6 +3102,10 @@ func (s *VirtualMachineService) MigrateVirtualMachine(p *MigrateVirtualMachinePa
type MigrateVirtualMachineResponse struct {
Account string `json:"account"`
Affinitygroup []MigrateVirtualMachineResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -2968,6 +3146,7 @@ type MigrateVirtualMachineResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -2975,6 +3154,7 @@ type MigrateVirtualMachineResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []MigrateVirtualMachineResponseSecuritygroup `json:"securitygroup"`
@@ -3156,6 +3336,10 @@ func (s *VirtualMachineService) MigrateVirtualMachineWithVolume(p *MigrateVirtua
type MigrateVirtualMachineWithVolumeResponse struct {
Account string `json:"account"`
Affinitygroup []MigrateVirtualMachineWithVolumeResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -3196,6 +3380,7 @@ type MigrateVirtualMachineWithVolumeResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -3203,6 +3388,7 @@ type MigrateVirtualMachineWithVolumeResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []MigrateVirtualMachineWithVolumeResponseSecuritygroup `json:"securitygroup"`
@@ -3299,12 +3485,23 @@ func (p *RebootVirtualMachineParams) toURLValues() url.Values {
if p.p == nil {
return u
}
+ if v, found := p.p["bootintosetup"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("bootintosetup", vv)
+ }
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
return u
}
+func (p *RebootVirtualMachineParams) SetBootintosetup(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["bootintosetup"] = v
+}
+
func (p *RebootVirtualMachineParams) SetId(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -3359,6 +3556,10 @@ func (s *VirtualMachineService) RebootVirtualMachine(p *RebootVirtualMachinePara
type RebootVirtualMachineResponse struct {
Account string `json:"account"`
Affinitygroup []RebootVirtualMachineResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -3399,6 +3600,7 @@ type RebootVirtualMachineResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -3406,6 +3608,7 @@ type RebootVirtualMachineResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []RebootVirtualMachineResponseSecuritygroup `json:"securitygroup"`
@@ -3542,6 +3745,10 @@ func (s *VirtualMachineService) RecoverVirtualMachine(p *RecoverVirtualMachinePa
type RecoverVirtualMachineResponse struct {
Account string `json:"account"`
Affinitygroup []RecoverVirtualMachineResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -3582,6 +3789,7 @@ type RecoverVirtualMachineResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -3589,6 +3797,7 @@ type RecoverVirtualMachineResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []RecoverVirtualMachineResponseSecuritygroup `json:"securitygroup"`
@@ -3756,6 +3965,10 @@ func (s *VirtualMachineService) RemoveNicFromVirtualMachine(p *RemoveNicFromVirt
type RemoveNicFromVirtualMachineResponse struct {
Account string `json:"account"`
Affinitygroup []RemoveNicFromVirtualMachineResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -3796,6 +4009,7 @@ type RemoveNicFromVirtualMachineResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -3803,6 +4017,7 @@ type RemoveNicFromVirtualMachineResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []RemoveNicFromVirtualMachineResponseSecuritygroup `json:"securitygroup"`
@@ -3959,6 +4174,10 @@ func (s *VirtualMachineService) ResetPasswordForVirtualMachine(p *ResetPasswordF
type ResetPasswordForVirtualMachineResponse struct {
Account string `json:"account"`
Affinitygroup []ResetPasswordForVirtualMachineResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -3999,6 +4218,7 @@ type ResetPasswordForVirtualMachineResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -4006,6 +4226,7 @@ type ResetPasswordForVirtualMachineResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []ResetPasswordForVirtualMachineResponseSecuritygroup `json:"securitygroup"`
@@ -4172,6 +4393,10 @@ func (s *VirtualMachineService) RestoreVirtualMachine(p *RestoreVirtualMachinePa
type RestoreVirtualMachineResponse struct {
Account string `json:"account"`
Affinitygroup []RestoreVirtualMachineResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -4212,6 +4437,7 @@ type RestoreVirtualMachineResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -4219,6 +4445,7 @@ type RestoreVirtualMachineResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []RestoreVirtualMachineResponseSecuritygroup `json:"securitygroup"`
@@ -4407,6 +4634,13 @@ func (p *StartVirtualMachineParams) toURLValues() url.Values {
if p.p == nil {
return u
}
+ if v, found := p.p["bootintosetup"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("bootintosetup", vv)
+ }
+ if v, found := p.p["clusterid"]; found {
+ u.Set("clusterid", v.(string))
+ }
if v, found := p.p["deploymentplanner"]; found {
u.Set("deploymentplanner", v.(string))
}
@@ -4416,9 +4650,26 @@ func (p *StartVirtualMachineParams) toURLValues() url.Values {
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
+ if v, found := p.p["podid"]; found {
+ u.Set("podid", v.(string))
+ }
return u
}
+func (p *StartVirtualMachineParams) SetBootintosetup(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["bootintosetup"] = v
+}
+
+func (p *StartVirtualMachineParams) SetClusterid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["clusterid"] = v
+}
+
func (p *StartVirtualMachineParams) SetDeploymentplanner(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -4440,6 +4691,13 @@ func (p *StartVirtualMachineParams) SetId(v string) {
p.p["id"] = v
}
+func (p *StartVirtualMachineParams) SetPodid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["podid"] = v
+}
+
// You should always use this function to get a new StartVirtualMachineParams instance,
// as then you are sure you have configured all required params
func (s *VirtualMachineService) NewStartVirtualMachineParams(id string) *StartVirtualMachineParams {
@@ -4487,6 +4745,10 @@ func (s *VirtualMachineService) StartVirtualMachine(p *StartVirtualMachineParams
type StartVirtualMachineResponse struct {
Account string `json:"account"`
Affinitygroup []StartVirtualMachineResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -4527,6 +4789,7 @@ type StartVirtualMachineResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -4534,6 +4797,7 @@ type StartVirtualMachineResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []StartVirtualMachineResponseSecuritygroup `json:"securitygroup"`
@@ -4701,6 +4965,10 @@ func (s *VirtualMachineService) StopVirtualMachine(p *StopVirtualMachineParams)
type StopVirtualMachineResponse struct {
Account string `json:"account"`
Affinitygroup []StopVirtualMachineResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -4741,6 +5009,7 @@ type StopVirtualMachineResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -4748,6 +5017,7 @@ type StopVirtualMachineResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []StopVirtualMachineResponseSecuritygroup `json:"securitygroup"`
@@ -4915,6 +5185,10 @@ func (s *VirtualMachineService) UpdateDefaultNicForVirtualMachine(p *UpdateDefau
type UpdateDefaultNicForVirtualMachineResponse struct {
Account string `json:"account"`
Affinitygroup []UpdateDefaultNicForVirtualMachineResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -4955,6 +5229,7 @@ type UpdateDefaultNicForVirtualMachineResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -4962,6 +5237,7 @@ type UpdateDefaultNicForVirtualMachineResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []UpdateDefaultNicForVirtualMachineResponseSecuritygroup `json:"securitygroup"`
@@ -5271,6 +5547,10 @@ func (s *VirtualMachineService) UpdateVirtualMachine(p *UpdateVirtualMachinePara
type UpdateVirtualMachineResponse struct {
Account string `json:"account"`
Affinitygroup []UpdateVirtualMachineResponseAffinitygroup `json:"affinitygroup"`
+ Backupofferingid string `json:"backupofferingid"`
+ Backupofferingname string `json:"backupofferingname"`
+ Bootmode string `json:"bootmode"`
+ Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
@@ -5311,6 +5591,7 @@ type UpdateVirtualMachineResponse struct {
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
+ Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
@@ -5318,6 +5599,7 @@ type UpdateVirtualMachineResponse struct {
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
+ Readonlyuidetails string `json:"readonlyuidetails"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []UpdateVirtualMachineResponseSecuritygroup `json:"securitygroup"`
diff --git a/cloudstack/VolumeService.go b/cloudstack/VolumeService.go
index 435dfd1..9298078 100644
--- a/cloudstack/VolumeService.go
+++ b/cloudstack/VolumeService.go
@@ -128,6 +128,10 @@ type AttachVolumeResponse struct {
DiskBytesWriteRate int64 `json:"diskBytesWriteRate"`
DiskIopsReadRate int64 `json:"diskIopsReadRate"`
DiskIopsWriteRate int64 `json:"diskIopsWriteRate"`
+ Diskioread int64 `json:"diskioread"`
+ Diskiowrite int64 `json:"diskiowrite"`
+ Diskkbsread int64 `json:"diskkbsread"`
+ Diskkbswrite int64 `json:"diskkbswrite"`
Diskofferingdisplaytext string `json:"diskofferingdisplaytext"`
Diskofferingid string `json:"diskofferingid"`
Diskofferingname string `json:"diskofferingname"`
@@ -380,6 +384,10 @@ type CreateVolumeResponse struct {
DiskBytesWriteRate int64 `json:"diskBytesWriteRate"`
DiskIopsReadRate int64 `json:"diskIopsReadRate"`
DiskIopsWriteRate int64 `json:"diskIopsWriteRate"`
+ Diskioread int64 `json:"diskioread"`
+ Diskiowrite int64 `json:"diskiowrite"`
+ Diskkbsread int64 `json:"diskkbsread"`
+ Diskkbswrite int64 `json:"diskkbswrite"`
Diskofferingdisplaytext string `json:"diskofferingdisplaytext"`
Diskofferingid string `json:"diskofferingid"`
Diskofferingname string `json:"diskofferingname"`
@@ -609,6 +617,10 @@ type DetachVolumeResponse struct {
DiskBytesWriteRate int64 `json:"diskBytesWriteRate"`
DiskIopsReadRate int64 `json:"diskIopsReadRate"`
DiskIopsWriteRate int64 `json:"diskIopsWriteRate"`
+ Diskioread int64 `json:"diskioread"`
+ Diskiowrite int64 `json:"diskiowrite"`
+ Diskkbsread int64 `json:"diskkbsread"`
+ Diskkbswrite int64 `json:"diskkbswrite"`
Diskofferingdisplaytext string `json:"diskofferingdisplaytext"`
Diskofferingid string `json:"diskofferingid"`
Diskofferingname string `json:"diskofferingname"`
@@ -1133,6 +1145,9 @@ func (p *ListVolumesParams) toURLValues() url.Values {
if v, found := p.p["projectid"]; found {
u.Set("projectid", v.(string))
}
+ if v, found := p.p["state"]; found {
+ u.Set("state", v.(string))
+ }
if v, found := p.p["storageid"]; found {
u.Set("storageid", v.(string))
}
@@ -1267,6 +1282,13 @@ func (p *ListVolumesParams) SetProjectid(v string) {
p.p["projectid"] = v
}
+func (p *ListVolumesParams) SetState(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["state"] = v
+}
+
func (p *ListVolumesParams) SetStorageid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1426,6 +1448,10 @@ type Volume struct {
DiskBytesWriteRate int64 `json:"diskBytesWriteRate"`
DiskIopsReadRate int64 `json:"diskIopsReadRate"`
DiskIopsWriteRate int64 `json:"diskIopsWriteRate"`
+ Diskioread int64 `json:"diskioread"`
+ Diskiowrite int64 `json:"diskiowrite"`
+ Diskkbsread int64 `json:"diskkbsread"`
+ Diskkbswrite int64 `json:"diskkbswrite"`
Diskofferingdisplaytext string `json:"diskofferingdisplaytext"`
Diskofferingid string `json:"diskofferingid"`
Diskofferingname string `json:"diskofferingname"`
@@ -1587,6 +1613,10 @@ type MigrateVolumeResponse struct {
DiskBytesWriteRate int64 `json:"diskBytesWriteRate"`
DiskIopsReadRate int64 `json:"diskIopsReadRate"`
DiskIopsWriteRate int64 `json:"diskIopsWriteRate"`
+ Diskioread int64 `json:"diskioread"`
+ Diskiowrite int64 `json:"diskiowrite"`
+ Diskkbsread int64 `json:"diskkbsread"`
+ Diskkbswrite int64 `json:"diskkbswrite"`
Diskofferingdisplaytext string `json:"diskofferingdisplaytext"`
Diskofferingid string `json:"diskofferingid"`
Diskofferingname string `json:"diskofferingname"`
@@ -1770,6 +1800,10 @@ type ResizeVolumeResponse struct {
DiskBytesWriteRate int64 `json:"diskBytesWriteRate"`
DiskIopsReadRate int64 `json:"diskIopsReadRate"`
DiskIopsWriteRate int64 `json:"diskIopsWriteRate"`
+ Diskioread int64 `json:"diskioread"`
+ Diskiowrite int64 `json:"diskiowrite"`
+ Diskkbsread int64 `json:"diskkbsread"`
+ Diskkbswrite int64 `json:"diskkbswrite"`
Diskofferingdisplaytext string `json:"diskofferingdisplaytext"`
Diskofferingid string `json:"diskofferingid"`
Diskofferingname string `json:"diskofferingname"`
@@ -1959,6 +1993,10 @@ type UpdateVolumeResponse struct {
DiskBytesWriteRate int64 `json:"diskBytesWriteRate"`
DiskIopsReadRate int64 `json:"diskIopsReadRate"`
DiskIopsWriteRate int64 `json:"diskIopsWriteRate"`
+ Diskioread int64 `json:"diskioread"`
+ Diskiowrite int64 `json:"diskiowrite"`
+ Diskkbsread int64 `json:"diskkbsread"`
+ Diskkbswrite int64 `json:"diskkbswrite"`
Diskofferingdisplaytext string `json:"diskofferingdisplaytext"`
Diskofferingid string `json:"diskofferingid"`
Diskofferingname string `json:"diskofferingname"`
@@ -2181,6 +2219,10 @@ type UploadVolumeResponse struct {
DiskBytesWriteRate int64 `json:"diskBytesWriteRate"`
DiskIopsReadRate int64 `json:"diskIopsReadRate"`
DiskIopsWriteRate int64 `json:"diskIopsWriteRate"`
+ Diskioread int64 `json:"diskioread"`
+ Diskiowrite int64 `json:"diskiowrite"`
+ Diskkbsread int64 `json:"diskkbsread"`
+ Diskkbswrite int64 `json:"diskkbswrite"`
Diskofferingdisplaytext string `json:"diskofferingdisplaytext"`
Diskofferingid string `json:"diskofferingid"`
Diskofferingname string `json:"diskofferingname"`
diff --git a/cloudstack/ZoneService.go b/cloudstack/ZoneService.go
index a121544..d0b2d59 100644
--- a/cloudstack/ZoneService.go
+++ b/cloudstack/ZoneService.go
@@ -1122,6 +1122,10 @@ func (p *UpdateZoneParams) toURLValues() url.Values {
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
+ if v, found := p.p["sortkey"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("sortkey", vv)
+ }
return u
}
@@ -1237,6 +1241,13 @@ func (p *UpdateZoneParams) SetName(v string) {
p.p["name"] = v
}
+func (p *UpdateZoneParams) SetSortkey(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["sortkey"] = v
+}
+
// You should always use this function to get a new UpdateZoneParams instance,
// as then you are sure you have configured all required params
func (s *ZoneService) NewUpdateZoneParams(id string) *UpdateZoneParams {
diff --git a/cloudstack/cloudstack.go b/cloudstack/cloudstack.go
index 6b98415..5b6b0ed 100644
--- a/cloudstack/cloudstack.go
+++ b/cloudstack/cloudstack.go
@@ -112,7 +112,6 @@ type CloudStackClient struct {
Network *NetworkService
Nic *NicService
NiciraNVP *NiciraNVPService
- NuageVSP *NuageVSPService
OutofbandManagement *OutofbandManagementService
OvsElement *OvsElementService
Pod *PodService
@@ -216,7 +215,6 @@ func newClient(apiurl string, apikey string, secret string, async bool, verifyss
cs.Network = NewNetworkService(cs)
cs.Nic = NewNicService(cs)
cs.NiciraNVP = NewNiciraNVPService(cs)
- cs.NuageVSP = NewNuageVSPService(cs)
cs.OutofbandManagement = NewOutofbandManagementService(cs)
cs.OvsElement = NewOvsElementService(cs)
cs.Pod = NewPodService(cs)
@@ -853,14 +851,6 @@ func NewNiciraNVPService(cs *CloudStackClient) *NiciraNVPService {
return &NiciraNVPService{cs: cs}
}
-type NuageVSPService struct {
- cs *CloudStackClient
-}
-
-func NewNuageVSPService(cs *CloudStackClient) *NuageVSPService {
- return &NuageVSPService{cs: cs}
-}
-
type OutofbandManagementService struct {
cs *CloudStackClient
}