You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by pe...@apache.org on 2025/09/22 20:26:16 UTC
(cloudstack-go) 01/01: Update listApis with 4.21 APIs
This is an automated email from the ASF dual-hosted git repository.
pearl11594 pushed a commit to branch release-4.21
in repository https://gitbox.apache.org/repos/asf/cloudstack-go.git
commit ee4d301d22466b8ce252ffeb7b1ca7943f504864
Author: Pearl Dsilva <pe...@gmail.com>
AuthorDate: Mon Sep 22 16:26:01 2025 -0400
Update listApis with 4.21 APIs
---
cloudstack/AccountService.go | 120 +
cloudstack/AddressService.go | 29 +
cloudstack/AffinityGroupService.go | 12 +
cloudstack/AsyncjobService.go | 70 +-
cloudstack/AuthenticationService.go | 74 +-
cloudstack/ClusterService.go | 287 +-
cloudstack/ConfigurationService.go | 5 +
cloudstack/DomainService.go | 75 +
cloudstack/EventService.go | 24 +
cloudstack/GuestOSService.go | 183 +-
cloudstack/HostService.go | 340 +
cloudstack/ISOService.go | 85 +
cloudstack/KubernetesService.go | 259 +
cloudstack/LDAPService.go | 15 +
cloudstack/ManagementService.go | 79 +-
cloudstack/ManagementService_mock.go | 8 +-
cloudstack/NetworkOfferingService.go | 24 +
cloudstack/NetworkService.go | 2 +-
cloudstack/NicService.go | 12 +
cloudstack/ObjectStoreService.go | 5 +-
cloudstack/ObjectStoreService_mock.go | 8 +-
cloudstack/PodService.go | 185 +-
cloudstack/PoolService.go | 58 +
cloudstack/ProjectService.go | 75 +
cloudstack/QuotaService.go | 13 +-
cloudstack/SSHService.go | 12 +
cloudstack/ServiceOfferingService.go | 264 +
cloudstack/SnapshotService.go | 171 +
cloudstack/StoragePoolService.go | 137 +-
cloudstack/TemplateService.go | 294 +
cloudstack/UserService.go | 26 +-
cloudstack/VLANService.go | 55 +-
cloudstack/VPCService.go | 162 +-
cloudstack/VPCService_mock.go | 8 +-
cloudstack/VPNService.go | 24 +
cloudstack/VirtualMachineService.go | 607 +-
cloudstack/VirtualMachineService_mock.go | 8 +-
cloudstack/VirtualNetworkFunctionsService.go | 490 +-
cloudstack/VirtualNetworkFunctionsService_mock.go | 8 +-
cloudstack/ZoneService.go | 89 +
generate/generate.go | 8 +
generate/listApis.json | 157709 ++++++++++---------
test/ManagementService_test.go | 2 +-
test/ObjectStoreService_test.go | 2 +-
test/VPCService_test.go | 2 +-
test/VirtualMachineService_test.go | 2 +-
test/VirtualNetworkFunctionsService_test.go | 2 +-
47 files changed, 89396 insertions(+), 72733 deletions(-)
diff --git a/cloudstack/AccountService.go b/cloudstack/AccountService.go
index 189aa3a..be33678 100644
--- a/cloudstack/AccountService.go
+++ b/cloudstack/AccountService.go
@@ -444,6 +444,15 @@ type CreateAccountResponse struct {
Accountdetails map[string]string `json:"accountdetails"`
Accounttype int `json:"accounttype"`
Apikeyaccess string `json:"apikeyaccess"`
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
@@ -452,6 +461,9 @@ type CreateAccountResponse struct {
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Groups []string `json:"groups"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
@@ -470,6 +482,9 @@ type CreateAccountResponse struct {
Networkdomain string `json:"networkdomain"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Primarystorageavailable string `json:"primarystorageavailable"`
Primarystoragelimit string `json:"primarystoragelimit"`
Primarystoragetotal int64 `json:"primarystoragetotal"`
@@ -773,6 +788,15 @@ type DisableAccountResponse struct {
Accountdetails map[string]string `json:"accountdetails"`
Accounttype int `json:"accounttype"`
Apikeyaccess string `json:"apikeyaccess"`
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
@@ -781,6 +805,9 @@ type DisableAccountResponse struct {
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Groups []string `json:"groups"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
@@ -799,6 +826,9 @@ type DisableAccountResponse struct {
Networkdomain string `json:"networkdomain"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Primarystorageavailable string `json:"primarystorageavailable"`
Primarystoragelimit string `json:"primarystoragelimit"`
Primarystoragetotal int64 `json:"primarystoragetotal"`
@@ -974,6 +1004,15 @@ type EnableAccountResponse struct {
Accountdetails map[string]string `json:"accountdetails"`
Accounttype int `json:"accounttype"`
Apikeyaccess string `json:"apikeyaccess"`
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
@@ -982,6 +1021,9 @@ type EnableAccountResponse struct {
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Groups []string `json:"groups"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
@@ -1000,6 +1042,9 @@ type EnableAccountResponse struct {
Networkdomain string `json:"networkdomain"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Primarystorageavailable string `json:"primarystorageavailable"`
Primarystoragelimit string `json:"primarystoragelimit"`
Primarystoragetotal int64 `json:"primarystoragetotal"`
@@ -1843,6 +1888,15 @@ type Account struct {
Accountdetails map[string]string `json:"accountdetails"`
Accounttype int `json:"accounttype"`
Apikeyaccess string `json:"apikeyaccess"`
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
@@ -1851,6 +1905,9 @@ type Account struct {
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Groups []string `json:"groups"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
@@ -1869,6 +1926,9 @@ type Account struct {
Networkdomain string `json:"networkdomain"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Primarystorageavailable string `json:"primarystorageavailable"`
Primarystoragelimit string `json:"primarystoragelimit"`
Primarystoragetotal int64 `json:"primarystoragetotal"`
@@ -2206,6 +2266,15 @@ type ListProjectAccountsResponse struct {
}
type ProjectAccount struct {
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
@@ -2213,6 +2282,9 @@ type ProjectAccount struct {
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
Ipavailable string `json:"ipavailable"`
@@ -2227,6 +2299,9 @@ type ProjectAccount struct {
Networkavailable string `json:"networkavailable"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Owner []map[string]string `json:"owner"`
Primarystorageavailable string `json:"primarystorageavailable"`
Primarystoragelimit string `json:"primarystoragelimit"`
@@ -2360,6 +2435,15 @@ type LockAccountResponse struct {
Accountdetails map[string]string `json:"accountdetails"`
Accounttype int `json:"accounttype"`
Apikeyaccess string `json:"apikeyaccess"`
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
@@ -2368,6 +2452,9 @@ type LockAccountResponse struct {
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Groups []string `json:"groups"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
@@ -2386,6 +2473,9 @@ type LockAccountResponse struct {
Networkdomain string `json:"networkdomain"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Primarystorageavailable string `json:"primarystorageavailable"`
Primarystoragelimit string `json:"primarystoragelimit"`
Primarystoragetotal int64 `json:"primarystoragetotal"`
@@ -2584,6 +2674,15 @@ type MarkDefaultZoneForAccountResponse struct {
Accountdetails map[string]string `json:"accountdetails"`
Accounttype int `json:"accounttype"`
Apikeyaccess string `json:"apikeyaccess"`
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
@@ -2592,6 +2691,9 @@ type MarkDefaultZoneForAccountResponse struct {
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Groups []string `json:"groups"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
@@ -2610,6 +2712,9 @@ type MarkDefaultZoneForAccountResponse struct {
Networkdomain string `json:"networkdomain"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Primarystorageavailable string `json:"primarystorageavailable"`
Primarystoragelimit string `json:"primarystoragelimit"`
Primarystoragetotal int64 `json:"primarystoragetotal"`
@@ -2908,6 +3013,15 @@ type UpdateAccountResponse struct {
Accountdetails map[string]string `json:"accountdetails"`
Accounttype int `json:"accounttype"`
Apikeyaccess string `json:"apikeyaccess"`
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
@@ -2916,6 +3030,9 @@ type UpdateAccountResponse struct {
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Groups []string `json:"groups"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
@@ -2934,6 +3051,9 @@ type UpdateAccountResponse struct {
Networkdomain string `json:"networkdomain"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Primarystorageavailable string `json:"primarystorageavailable"`
Primarystoragelimit string `json:"primarystoragelimit"`
Primarystoragetotal int64 `json:"primarystoragetotal"`
diff --git a/cloudstack/AddressService.go b/cloudstack/AddressService.go
index c17297b..98ce3aa 100644
--- a/cloudstack/AddressService.go
+++ b/cloudstack/AddressService.go
@@ -450,6 +450,7 @@ type AssociateIpAddressResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Fordisplay bool `json:"fordisplay"`
+ Forprovider bool `json:"forprovider"`
Forsystemvms bool `json:"forsystemvms"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
Hasannotations bool `json:"hasannotations"`
@@ -619,6 +620,10 @@ func (p *ListPublicIpAddressesParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("forloadbalancing", vv)
}
+ if v, found := p.p["forprovider"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("forprovider", vv)
+ }
if v, found := p.p["forsystemvms"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("forsystemvms", vv)
@@ -821,6 +826,27 @@ func (p *ListPublicIpAddressesParams) GetForloadbalancing() (bool, bool) {
return value, ok
}
+func (p *ListPublicIpAddressesParams) SetForprovider(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["forprovider"] = v
+}
+
+func (p *ListPublicIpAddressesParams) ResetForprovider() {
+ if p.p != nil && p.p["forprovider"] != nil {
+ delete(p.p, "forprovider")
+ }
+}
+
+func (p *ListPublicIpAddressesParams) GetForprovider() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["forprovider"].(bool)
+ return value, ok
+}
+
func (p *ListPublicIpAddressesParams) SetForsystemvms(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1311,6 +1337,7 @@ type PublicIpAddress struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Fordisplay bool `json:"fordisplay"`
+ Forprovider bool `json:"forprovider"`
Forsystemvms bool `json:"forsystemvms"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
Hasannotations bool `json:"hasannotations"`
@@ -1482,6 +1509,7 @@ type UpdateIpAddressResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Fordisplay bool `json:"fordisplay"`
+ Forprovider bool `json:"forprovider"`
Forsystemvms bool `json:"forsystemvms"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
Hasannotations bool `json:"hasannotations"`
@@ -1870,6 +1898,7 @@ type ReserveIpAddressResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Fordisplay bool `json:"fordisplay"`
+ Forprovider bool `json:"forprovider"`
Forsystemvms bool `json:"forsystemvms"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
Hasannotations bool `json:"hasannotations"`
diff --git a/cloudstack/AffinityGroupService.go b/cloudstack/AffinityGroupService.go
index 04dcc7a..afd1767 100644
--- a/cloudstack/AffinityGroupService.go
+++ b/cloudstack/AffinityGroupService.go
@@ -1156,6 +1156,9 @@ type UpdateVMAffinityGroupResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -1177,6 +1180,12 @@ type UpdateVMAffinityGroupResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -1218,6 +1227,9 @@ type UpdateVMAffinityGroupResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
diff --git a/cloudstack/AsyncjobService.go b/cloudstack/AsyncjobService.go
index 826b1e9..fe29bc4 100644
--- a/cloudstack/AsyncjobService.go
+++ b/cloudstack/AsyncjobService.go
@@ -294,23 +294,24 @@ type ListAsyncJobsResponse struct {
}
type AsyncJob struct {
- Account string `json:"account"`
- Accountid string `json:"accountid"`
- Cmd string `json:"cmd"`
- Completed string `json:"completed"`
- Created string `json:"created"`
- Domainid string `json:"domainid"`
- Domainpath string `json:"domainpath"`
- JobID string `json:"jobid"`
- Jobinstanceid string `json:"jobinstanceid"`
- Jobinstancetype string `json:"jobinstancetype"`
- Jobprocstatus int `json:"jobprocstatus"`
- Jobresult json.RawMessage `json:"jobresult"`
- Jobresultcode int `json:"jobresultcode"`
- Jobresulttype string `json:"jobresulttype"`
- Jobstatus int `json:"jobstatus"`
- Managementserverid UUID `json:"managementserverid"`
- Userid string `json:"userid"`
+ Account string `json:"account"`
+ Accountid string `json:"accountid"`
+ Cmd string `json:"cmd"`
+ Completed string `json:"completed"`
+ Created string `json:"created"`
+ Domainid string `json:"domainid"`
+ Domainpath string `json:"domainpath"`
+ JobID string `json:"jobid"`
+ Jobinstanceid string `json:"jobinstanceid"`
+ Jobinstancetype string `json:"jobinstancetype"`
+ Jobprocstatus int `json:"jobprocstatus"`
+ Jobresult json.RawMessage `json:"jobresult"`
+ Jobresultcode int `json:"jobresultcode"`
+ Jobresulttype string `json:"jobresulttype"`
+ Jobstatus int `json:"jobstatus"`
+ Managementserverid UUID `json:"managementserverid"`
+ Managementservername string `json:"managementservername"`
+ Userid string `json:"userid"`
}
type QueryAsyncJobResultParams struct {
@@ -384,21 +385,22 @@ func (s *AsyncjobService) QueryAsyncJobResult(p *QueryAsyncJobResultParams) (*Qu
}
type QueryAsyncJobResultResponse struct {
- Account string `json:"account"`
- Accountid string `json:"accountid"`
- Cmd string `json:"cmd"`
- Completed string `json:"completed"`
- Created string `json:"created"`
- Domainid string `json:"domainid"`
- Domainpath string `json:"domainpath"`
- JobID string `json:"jobid"`
- Jobinstanceid string `json:"jobinstanceid"`
- Jobinstancetype string `json:"jobinstancetype"`
- Jobprocstatus int `json:"jobprocstatus"`
- Jobresult json.RawMessage `json:"jobresult"`
- Jobresultcode int `json:"jobresultcode"`
- Jobresulttype string `json:"jobresulttype"`
- Jobstatus int `json:"jobstatus"`
- Managementserverid UUID `json:"managementserverid"`
- Userid string `json:"userid"`
+ Account string `json:"account"`
+ Accountid string `json:"accountid"`
+ Cmd string `json:"cmd"`
+ Completed string `json:"completed"`
+ Created string `json:"created"`
+ Domainid string `json:"domainid"`
+ Domainpath string `json:"domainpath"`
+ JobID string `json:"jobid"`
+ Jobinstanceid string `json:"jobinstanceid"`
+ Jobinstancetype string `json:"jobinstancetype"`
+ Jobprocstatus int `json:"jobprocstatus"`
+ Jobresult json.RawMessage `json:"jobresult"`
+ Jobresultcode int `json:"jobresultcode"`
+ Jobresulttype string `json:"jobresulttype"`
+ Jobstatus int `json:"jobstatus"`
+ Managementserverid UUID `json:"managementserverid"`
+ Managementservername string `json:"managementservername"`
+ Userid string `json:"userid"`
}
diff --git a/cloudstack/AuthenticationService.go b/cloudstack/AuthenticationService.go
index be0d3a6..bf12f55 100644
--- a/cloudstack/AuthenticationService.go
+++ b/cloudstack/AuthenticationService.go
@@ -169,24 +169,25 @@ func (s *AuthenticationService) Login(p *LoginParams) (*LoginResponse, error) {
}
type LoginResponse struct {
- Account string `json:"account"`
- Domainid string `json:"domainid"`
- Firstname string `json:"firstname"`
- Is2faenabled string `json:"is2faenabled"`
- Is2faverified string `json:"is2faverified"`
- Issuerfor2fa string `json:"issuerfor2fa"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Lastname string `json:"lastname"`
- Providerfor2fa string `json:"providerfor2fa"`
- Registered string `json:"registered"`
- Sessionkey string `json:"sessionkey"`
- Timeout int `json:"timeout"`
- Timezone string `json:"timezone"`
- Timezoneoffset string `json:"timezoneoffset"`
- Type string `json:"type"`
- Userid string `json:"userid"`
- Username string `json:"username"`
+ Account string `json:"account"`
+ Domainid string `json:"domainid"`
+ Firstname string `json:"firstname"`
+ Is2faenabled string `json:"is2faenabled"`
+ Is2faverified string `json:"is2faverified"`
+ Issuerfor2fa string `json:"issuerfor2fa"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Lastname string `json:"lastname"`
+ Managementserverid UUID `json:"managementserverid"`
+ Providerfor2fa string `json:"providerfor2fa"`
+ Registered string `json:"registered"`
+ Sessionkey string `json:"sessionkey"`
+ Timeout int `json:"timeout"`
+ Timezone string `json:"timezone"`
+ Timezoneoffset string `json:"timezoneoffset"`
+ Type string `json:"type"`
+ Userid string `json:"userid"`
+ Username string `json:"username"`
}
type LogoutParams struct {
@@ -389,22 +390,23 @@ func (s *AuthenticationService) Oauthlogin(p *OauthloginParams) (*OauthloginResp
}
type OauthloginResponse struct {
- Account string `json:"account"`
- Domainid string `json:"domainid"`
- Firstname string `json:"firstname"`
- Is2faenabled string `json:"is2faenabled"`
- Is2faverified string `json:"is2faverified"`
- Issuerfor2fa string `json:"issuerfor2fa"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Lastname string `json:"lastname"`
- Providerfor2fa string `json:"providerfor2fa"`
- Registered string `json:"registered"`
- Sessionkey string `json:"sessionkey"`
- Timeout int `json:"timeout"`
- Timezone string `json:"timezone"`
- Timezoneoffset string `json:"timezoneoffset"`
- Type string `json:"type"`
- Userid string `json:"userid"`
- Username string `json:"username"`
+ Account string `json:"account"`
+ Domainid string `json:"domainid"`
+ Firstname string `json:"firstname"`
+ Is2faenabled string `json:"is2faenabled"`
+ Is2faverified string `json:"is2faverified"`
+ Issuerfor2fa string `json:"issuerfor2fa"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Lastname string `json:"lastname"`
+ Managementserverid UUID `json:"managementserverid"`
+ Providerfor2fa string `json:"providerfor2fa"`
+ Registered string `json:"registered"`
+ Sessionkey string `json:"sessionkey"`
+ Timeout int `json:"timeout"`
+ Timezone string `json:"timezone"`
+ Timezoneoffset string `json:"timezoneoffset"`
+ Type string `json:"type"`
+ Userid string `json:"userid"`
+ Username string `json:"username"`
}
diff --git a/cloudstack/ClusterService.go b/cloudstack/ClusterService.go
index 4684382..1e10470 100644
--- a/cloudstack/ClusterService.go
+++ b/cloudstack/ClusterService.go
@@ -88,6 +88,16 @@ func (p *AddClusterParams) toURLValues() url.Values {
if v, found := p.p["clustertype"]; found {
u.Set("clustertype", v.(string))
}
+ if v, found := p.p["extensionid"]; found {
+ u.Set("extensionid", v.(string))
+ }
+ if v, found := p.p["externaldetails"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("externaldetails[%d].key", i), k)
+ u.Set(fmt.Sprintf("externaldetails[%d].value", i), m[k])
+ }
+ }
if v, found := p.p["guestvswitchname"]; found {
u.Set("guestvswitchname", v.(string))
}
@@ -118,6 +128,10 @@ func (p *AddClusterParams) toURLValues() url.Values {
if v, found := p.p["publicvswitchtype"]; found {
u.Set("publicvswitchtype", v.(string))
}
+ if v, found := p.p["storageaccessgroups"]; found {
+ vv := strings.Join(v.([]string), ",")
+ u.Set("storageaccessgroups", vv)
+ }
if v, found := p.p["url"]; found {
u.Set("url", v.(string))
}
@@ -223,6 +237,48 @@ func (p *AddClusterParams) GetClustertype() (string, bool) {
return value, ok
}
+func (p *AddClusterParams) SetExtensionid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["extensionid"] = v
+}
+
+func (p *AddClusterParams) ResetExtensionid() {
+ if p.p != nil && p.p["extensionid"] != nil {
+ delete(p.p, "extensionid")
+ }
+}
+
+func (p *AddClusterParams) GetExtensionid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["extensionid"].(string)
+ return value, ok
+}
+
+func (p *AddClusterParams) SetExternaldetails(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["externaldetails"] = v
+}
+
+func (p *AddClusterParams) ResetExternaldetails() {
+ if p.p != nil && p.p["externaldetails"] != nil {
+ delete(p.p, "externaldetails")
+ }
+}
+
+func (p *AddClusterParams) GetExternaldetails() (map[string]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["externaldetails"].(map[string]string)
+ return value, ok
+}
+
func (p *AddClusterParams) SetGuestvswitchname(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -433,6 +489,27 @@ func (p *AddClusterParams) GetPublicvswitchtype() (string, bool) {
return value, ok
}
+func (p *AddClusterParams) SetStorageaccessgroups(v []string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storageaccessgroups"] = v
+}
+
+func (p *AddClusterParams) ResetStorageaccessgroups() {
+ if p.p != nil && p.p["storageaccessgroups"] != nil {
+ delete(p.p, "storageaccessgroups")
+ }
+}
+
+func (p *AddClusterParams) GetStorageaccessgroups() ([]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["storageaccessgroups"].([]string)
+ return value, ok
+}
+
func (p *AddClusterParams) SetUrl(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -592,25 +669,30 @@ func (s *ClusterService) AddCluster(p *AddClusterParams) (*AddClusterResponse, e
}
type AddClusterResponse struct {
- Allocationstate string `json:"allocationstate"`
- Arch string `json:"arch"`
- Capacity []AddClusterResponseCapacity `json:"capacity"`
- Clustertype string `json:"clustertype"`
- Cpuovercommitratio string `json:"cpuovercommitratio"`
- Hasannotations bool `json:"hasannotations"`
- Hypervisortype string `json:"hypervisortype"`
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Managedstate string `json:"managedstate"`
- Memoryovercommitratio string `json:"memoryovercommitratio"`
- Name string `json:"name"`
- Ovm3vip string `json:"ovm3vip"`
- Podid string `json:"podid"`
- Podname string `json:"podname"`
- Resourcedetails map[string]string `json:"resourcedetails"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Allocationstate string `json:"allocationstate"`
+ Arch string `json:"arch"`
+ Capacity []AddClusterResponseCapacity `json:"capacity"`
+ Clustertype string `json:"clustertype"`
+ Cpuovercommitratio string `json:"cpuovercommitratio"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
+ Hasannotations bool `json:"hasannotations"`
+ Hypervisortype string `json:"hypervisortype"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Managedstate string `json:"managedstate"`
+ Memoryovercommitratio string `json:"memoryovercommitratio"`
+ Name string `json:"name"`
+ Ovm3vip string `json:"ovm3vip"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Podstorageaccessgroups string `json:"podstorageaccessgroups"`
+ Resourcedetails map[string]string `json:"resourcedetails"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type AddClusterResponseCapacity struct {
@@ -1482,6 +1564,9 @@ func (p *ListClustersParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("showcapacities", vv)
}
+ if v, found := p.p["storageaccessgroup"]; found {
+ u.Set("storageaccessgroup", v.(string))
+ }
if v, found := p.p["zoneid"]; found {
u.Set("zoneid", v.(string))
}
@@ -1740,6 +1825,27 @@ func (p *ListClustersParams) GetShowcapacities() (bool, bool) {
return value, ok
}
+func (p *ListClustersParams) SetStorageaccessgroup(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storageaccessgroup"] = v
+}
+
+func (p *ListClustersParams) ResetStorageaccessgroup() {
+ if p.p != nil && p.p["storageaccessgroup"] != nil {
+ delete(p.p, "storageaccessgroup")
+ }
+}
+
+func (p *ListClustersParams) GetStorageaccessgroup() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["storageaccessgroup"].(string)
+ return value, ok
+}
+
func (p *ListClustersParams) SetZoneid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1873,25 +1979,30 @@ type ListClustersResponse struct {
}
type Cluster struct {
- Allocationstate string `json:"allocationstate"`
- Arch string `json:"arch"`
- Capacity []ClusterCapacity `json:"capacity"`
- Clustertype string `json:"clustertype"`
- Cpuovercommitratio string `json:"cpuovercommitratio"`
- Hasannotations bool `json:"hasannotations"`
- Hypervisortype string `json:"hypervisortype"`
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Managedstate string `json:"managedstate"`
- Memoryovercommitratio string `json:"memoryovercommitratio"`
- Name string `json:"name"`
- Ovm3vip string `json:"ovm3vip"`
- Podid string `json:"podid"`
- Podname string `json:"podname"`
- Resourcedetails map[string]string `json:"resourcedetails"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Allocationstate string `json:"allocationstate"`
+ Arch string `json:"arch"`
+ Capacity []ClusterCapacity `json:"capacity"`
+ Clustertype string `json:"clustertype"`
+ Cpuovercommitratio string `json:"cpuovercommitratio"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
+ Hasannotations bool `json:"hasannotations"`
+ Hypervisortype string `json:"hypervisortype"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Managedstate string `json:"managedstate"`
+ Memoryovercommitratio string `json:"memoryovercommitratio"`
+ Name string `json:"name"`
+ Ovm3vip string `json:"ovm3vip"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Podstorageaccessgroups string `json:"podstorageaccessgroups"`
+ Resourcedetails map[string]string `json:"resourcedetails"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type ClusterCapacity struct {
@@ -2164,6 +2275,9 @@ func (p *ListClustersMetricsParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("showcapacities", vv)
}
+ if v, found := p.p["storageaccessgroup"]; found {
+ u.Set("storageaccessgroup", v.(string))
+ }
if v, found := p.p["zoneid"]; found {
u.Set("zoneid", v.(string))
}
@@ -2422,6 +2536,27 @@ func (p *ListClustersMetricsParams) GetShowcapacities() (bool, bool) {
return value, ok
}
+func (p *ListClustersMetricsParams) SetStorageaccessgroup(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storageaccessgroup"] = v
+}
+
+func (p *ListClustersMetricsParams) ResetStorageaccessgroup() {
+ if p.p != nil && p.p["storageaccessgroup"] != nil {
+ delete(p.p, "storageaccessgroup")
+ }
+}
+
+func (p *ListClustersMetricsParams) GetStorageaccessgroup() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["storageaccessgroup"].(string)
+ return value, ok
+}
+
func (p *ListClustersMetricsParams) SetZoneid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2569,6 +2704,8 @@ type ClustersMetric struct {
Cputotal string `json:"cputotal"`
Cpuused string `json:"cpuused"`
Drsimbalance string `json:"drsimbalance"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
Hasannotations bool `json:"hasannotations"`
Hosts string `json:"hosts"`
Hypervisortype string `json:"hypervisortype"`
@@ -2589,10 +2726,13 @@ type ClustersMetric struct {
Ovm3vip string `json:"ovm3vip"`
Podid string `json:"podid"`
Podname string `json:"podname"`
+ Podstorageaccessgroups string `json:"podstorageaccessgroups"`
Resourcedetails map[string]string `json:"resourcedetails"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type ClustersMetricCapacity struct {
@@ -2935,6 +3075,13 @@ func (p *UpdateClusterParams) toURLValues() url.Values {
if v, found := p.p["clustertype"]; found {
u.Set("clustertype", v.(string))
}
+ if v, found := p.p["externaldetails"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("externaldetails[%d].key", i), k)
+ u.Set(fmt.Sprintf("externaldetails[%d].value", i), m[k])
+ }
+ }
if v, found := p.p["hypervisor"]; found {
u.Set("hypervisor", v.(string))
}
@@ -3031,6 +3178,27 @@ func (p *UpdateClusterParams) GetClustertype() (string, bool) {
return value, ok
}
+func (p *UpdateClusterParams) SetExternaldetails(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["externaldetails"] = v
+}
+
+func (p *UpdateClusterParams) ResetExternaldetails() {
+ if p.p != nil && p.p["externaldetails"] != nil {
+ delete(p.p, "externaldetails")
+ }
+}
+
+func (p *UpdateClusterParams) GetExternaldetails() (map[string]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["externaldetails"].(map[string]string)
+ return value, ok
+}
+
func (p *UpdateClusterParams) SetHypervisor(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -3123,25 +3291,30 @@ func (s *ClusterService) UpdateCluster(p *UpdateClusterParams) (*UpdateClusterRe
}
type UpdateClusterResponse struct {
- Allocationstate string `json:"allocationstate"`
- Arch string `json:"arch"`
- Capacity []UpdateClusterResponseCapacity `json:"capacity"`
- Clustertype string `json:"clustertype"`
- Cpuovercommitratio string `json:"cpuovercommitratio"`
- Hasannotations bool `json:"hasannotations"`
- Hypervisortype string `json:"hypervisortype"`
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Managedstate string `json:"managedstate"`
- Memoryovercommitratio string `json:"memoryovercommitratio"`
- Name string `json:"name"`
- Ovm3vip string `json:"ovm3vip"`
- Podid string `json:"podid"`
- Podname string `json:"podname"`
- Resourcedetails map[string]string `json:"resourcedetails"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Allocationstate string `json:"allocationstate"`
+ Arch string `json:"arch"`
+ Capacity []UpdateClusterResponseCapacity `json:"capacity"`
+ Clustertype string `json:"clustertype"`
+ Cpuovercommitratio string `json:"cpuovercommitratio"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
+ Hasannotations bool `json:"hasannotations"`
+ Hypervisortype string `json:"hypervisortype"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Managedstate string `json:"managedstate"`
+ Memoryovercommitratio string `json:"memoryovercommitratio"`
+ Name string `json:"name"`
+ Ovm3vip string `json:"ovm3vip"`
+ Podid string `json:"podid"`
+ Podname string `json:"podname"`
+ Podstorageaccessgroups string `json:"podstorageaccessgroups"`
+ Resourcedetails map[string]string `json:"resourcedetails"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type UpdateClusterResponseCapacity struct {
diff --git a/cloudstack/ConfigurationService.go b/cloudstack/ConfigurationService.go
index 1978a45..e5275c0 100644
--- a/cloudstack/ConfigurationService.go
+++ b/cloudstack/ConfigurationService.go
@@ -96,6 +96,9 @@ type Capability struct {
Customhypervisordisplayname string `json:"customhypervisordisplayname"`
Defaultuipagesize int64 `json:"defaultuipagesize"`
Dynamicrolesenabled bool `json:"dynamicrolesenabled"`
+ Dynamicscalingenabled bool `json:"dynamicscalingenabled"`
+ Extensionspath string `json:"extensionspath"`
+ Instanceleaseenabled bool `json:"instanceleaseenabled"`
Instancesdisksstatsretentionenabled bool `json:"instancesdisksstatsretentionenabled"`
Instancesdisksstatsretentiontime int `json:"instancesdisksstatsretentiontime"`
Instancesstatsretentiontime int `json:"instancesstatsretentiontime"`
@@ -1326,6 +1329,7 @@ type UpdateStorageCapabilitiesResponse struct {
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
Created string `json:"created"`
+ Details map[string]string `json:"details"`
Disksizeallocated int64 `json:"disksizeallocated"`
Disksizetotal int64 `json:"disksizetotal"`
Disksizeused int64 `json:"disksizeused"`
@@ -1346,6 +1350,7 @@ type UpdateStorageCapabilitiesResponse struct {
Provider string `json:"provider"`
Scope string `json:"scope"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Storagecapabilities map[string]string `json:"storagecapabilities"`
Storagecustomstats map[string]string `json:"storagecustomstats"`
Suitableformigration bool `json:"suitableformigration"`
diff --git a/cloudstack/DomainService.go b/cloudstack/DomainService.go
index 1433118..473a219 100644
--- a/cloudstack/DomainService.go
+++ b/cloudstack/DomainService.go
@@ -185,11 +185,23 @@ func (s *DomainService) CreateDomain(p *CreateDomainParams) (*CreateDomainRespon
}
type CreateDomainResponse struct {
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
Created string `json:"created"`
Domaindetails map[string]string `json:"domaindetails"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Hasannotations bool `json:"hasannotations"`
Haschild bool `json:"haschild"`
Icon interface{} `json:"icon"`
@@ -208,6 +220,9 @@ type CreateDomainResponse struct {
Networkdomain string `json:"networkdomain"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Parentdomainid string `json:"parentdomainid"`
Parentdomainname string `json:"parentdomainname"`
Path string `json:"path"`
@@ -667,11 +682,23 @@ type ListDomainChildrenResponse struct {
}
type DomainChildren struct {
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
Created string `json:"created"`
Domaindetails map[string]string `json:"domaindetails"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Hasannotations bool `json:"hasannotations"`
Haschild bool `json:"haschild"`
Icon interface{} `json:"icon"`
@@ -690,6 +717,9 @@ type DomainChildren struct {
Networkdomain string `json:"networkdomain"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Parentdomainid string `json:"parentdomainid"`
Parentdomainname string `json:"parentdomainname"`
Path string `json:"path"`
@@ -1091,11 +1121,23 @@ type ListDomainsResponse struct {
}
type Domain struct {
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
Created string `json:"created"`
Domaindetails map[string]string `json:"domaindetails"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Hasannotations bool `json:"hasannotations"`
Haschild bool `json:"haschild"`
Icon interface{} `json:"icon"`
@@ -1114,6 +1156,9 @@ type Domain struct {
Networkdomain string `json:"networkdomain"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Parentdomainid string `json:"parentdomainid"`
Parentdomainname string `json:"parentdomainname"`
Path string `json:"path"`
@@ -1231,11 +1276,23 @@ func (s *DomainService) MoveDomain(p *MoveDomainParams) (*MoveDomainResponse, er
}
type MoveDomainResponse struct {
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
Created string `json:"created"`
Domaindetails map[string]string `json:"domaindetails"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Hasannotations bool `json:"hasannotations"`
Haschild bool `json:"haschild"`
Icon interface{} `json:"icon"`
@@ -1254,6 +1311,9 @@ type MoveDomainResponse struct {
Networkdomain string `json:"networkdomain"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Parentdomainid string `json:"parentdomainid"`
Parentdomainname string `json:"parentdomainname"`
Path string `json:"path"`
@@ -1398,11 +1458,23 @@ func (s *DomainService) UpdateDomain(p *UpdateDomainParams) (*UpdateDomainRespon
}
type UpdateDomainResponse struct {
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
Created string `json:"created"`
Domaindetails map[string]string `json:"domaindetails"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Hasannotations bool `json:"hasannotations"`
Haschild bool `json:"haschild"`
Icon interface{} `json:"icon"`
@@ -1421,6 +1493,9 @@ type UpdateDomainResponse struct {
Networkdomain string `json:"networkdomain"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Parentdomainid string `json:"parentdomainid"`
Parentdomainname string `json:"parentdomainname"`
Path string `json:"path"`
diff --git a/cloudstack/EventService.go b/cloudstack/EventService.go
index 288edea..bdf8365 100644
--- a/cloudstack/EventService.go
+++ b/cloudstack/EventService.go
@@ -487,6 +487,9 @@ func (p *ListEventsParams) toURLValues() url.Values {
if v, found := p.p["startid"]; found {
u.Set("startid", v.(string))
}
+ if v, found := p.p["state"]; found {
+ u.Set("state", v.(string))
+ }
if v, found := p.p["type"]; found {
u.Set("type", v.(string))
}
@@ -871,6 +874,27 @@ func (p *ListEventsParams) GetStartid() (string, bool) {
return value, ok
}
+func (p *ListEventsParams) SetState(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["state"] = v
+}
+
+func (p *ListEventsParams) ResetState() {
+ if p.p != nil && p.p["state"] != nil {
+ delete(p.p, "state")
+ }
+}
+
+func (p *ListEventsParams) GetState() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["state"].(string)
+ return value, ok
+}
+
func (p *ListEventsParams) SetType(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
diff --git a/cloudstack/GuestOSService.go b/cloudstack/GuestOSService.go
index a39a576..f7dd0c0 100644
--- a/cloudstack/GuestOSService.go
+++ b/cloudstack/GuestOSService.go
@@ -857,9 +857,24 @@ func (p *ListOsCategoriesParams) toURLValues() url.Values {
if p.p == nil {
return u
}
+ if v, found := p.p["arch"]; found {
+ u.Set("arch", v.(string))
+ }
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
+ if v, found := p.p["isfeatured"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("isfeatured", vv)
+ }
+ if v, found := p.p["isiso"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("isiso", vv)
+ }
+ if v, found := p.p["isvnf"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("isvnf", vv)
+ }
if v, found := p.p["keyword"]; found {
u.Set("keyword", v.(string))
}
@@ -874,9 +889,37 @@ func (p *ListOsCategoriesParams) toURLValues() url.Values {
vv := strconv.Itoa(v.(int))
u.Set("pagesize", vv)
}
+ if v, found := p.p["showicon"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("showicon", vv)
+ }
+ if v, found := p.p["zoneid"]; found {
+ u.Set("zoneid", v.(string))
+ }
return u
}
+func (p *ListOsCategoriesParams) SetArch(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["arch"] = v
+}
+
+func (p *ListOsCategoriesParams) ResetArch() {
+ if p.p != nil && p.p["arch"] != nil {
+ delete(p.p, "arch")
+ }
+}
+
+func (p *ListOsCategoriesParams) GetArch() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["arch"].(string)
+ return value, ok
+}
+
func (p *ListOsCategoriesParams) SetId(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -898,6 +941,69 @@ func (p *ListOsCategoriesParams) GetId() (string, bool) {
return value, ok
}
+func (p *ListOsCategoriesParams) SetIsfeatured(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["isfeatured"] = v
+}
+
+func (p *ListOsCategoriesParams) ResetIsfeatured() {
+ if p.p != nil && p.p["isfeatured"] != nil {
+ delete(p.p, "isfeatured")
+ }
+}
+
+func (p *ListOsCategoriesParams) GetIsfeatured() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["isfeatured"].(bool)
+ return value, ok
+}
+
+func (p *ListOsCategoriesParams) SetIsiso(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["isiso"] = v
+}
+
+func (p *ListOsCategoriesParams) ResetIsiso() {
+ if p.p != nil && p.p["isiso"] != nil {
+ delete(p.p, "isiso")
+ }
+}
+
+func (p *ListOsCategoriesParams) GetIsiso() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["isiso"].(bool)
+ return value, ok
+}
+
+func (p *ListOsCategoriesParams) SetIsvnf(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["isvnf"] = v
+}
+
+func (p *ListOsCategoriesParams) ResetIsvnf() {
+ if p.p != nil && p.p["isvnf"] != nil {
+ delete(p.p, "isvnf")
+ }
+}
+
+func (p *ListOsCategoriesParams) GetIsvnf() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["isvnf"].(bool)
+ return value, ok
+}
+
func (p *ListOsCategoriesParams) SetKeyword(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -982,6 +1088,48 @@ func (p *ListOsCategoriesParams) GetPagesize() (int, bool) {
return value, ok
}
+func (p *ListOsCategoriesParams) SetShowicon(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["showicon"] = v
+}
+
+func (p *ListOsCategoriesParams) ResetShowicon() {
+ if p.p != nil && p.p["showicon"] != nil {
+ delete(p.p, "showicon")
+ }
+}
+
+func (p *ListOsCategoriesParams) GetShowicon() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["showicon"].(bool)
+ return value, ok
+}
+
+func (p *ListOsCategoriesParams) SetZoneid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["zoneid"] = v
+}
+
+func (p *ListOsCategoriesParams) ResetZoneid() {
+ if p.p != nil && p.p["zoneid"] != nil {
+ delete(p.p, "zoneid")
+ }
+}
+
+func (p *ListOsCategoriesParams) GetZoneid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["zoneid"].(string)
+ return value, ok
+}
+
// You should always use this function to get a new ListOsCategoriesParams instance,
// as then you are sure you have configured all required params
func (s *GuestOSService) NewListOsCategoriesParams() *ListOsCategoriesParams {
@@ -1094,10 +1242,13 @@ type ListOsCategoriesResponse struct {
}
type OsCategory struct {
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
+ Created string `json:"created"`
+ Icon interface{} `json:"icon"`
+ Id string `json:"id"`
+ Isfeatured bool `json:"isfeatured"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
}
type ListOsTypesParams struct {
@@ -1593,6 +1744,9 @@ func (p *UpdateGuestOsParams) toURLValues() url.Values {
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
+ if v, found := p.p["oscategoryid"]; found {
+ u.Set("oscategoryid", v.(string))
+ }
if v, found := p.p["osdisplayname"]; found {
u.Set("osdisplayname", v.(string))
}
@@ -1662,6 +1816,27 @@ func (p *UpdateGuestOsParams) GetId() (string, bool) {
return value, ok
}
+func (p *UpdateGuestOsParams) SetOscategoryid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["oscategoryid"] = v
+}
+
+func (p *UpdateGuestOsParams) ResetOscategoryid() {
+ if p.p != nil && p.p["oscategoryid"] != nil {
+ delete(p.p, "oscategoryid")
+ }
+}
+
+func (p *UpdateGuestOsParams) GetOscategoryid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["oscategoryid"].(string)
+ return value, ok
+}
+
func (p *UpdateGuestOsParams) SetOsdisplayname(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
diff --git a/cloudstack/HostService.go b/cloudstack/HostService.go
index d16aed5..78774b2 100644
--- a/cloudstack/HostService.go
+++ b/cloudstack/HostService.go
@@ -120,6 +120,13 @@ func (p *AddBaremetalHostParams) toURLValues() url.Values {
if v, found := p.p["clustername"]; found {
u.Set("clustername", v.(string))
}
+ if v, found := p.p["externaldetails"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("externaldetails[%d].key", i), k)
+ u.Set(fmt.Sprintf("externaldetails[%d].value", i), m[k])
+ }
+ }
if v, found := p.p["hosttags"]; found {
vv := strings.Join(v.([]string), ",")
u.Set("hosttags", vv)
@@ -136,6 +143,10 @@ func (p *AddBaremetalHostParams) toURLValues() url.Values {
if v, found := p.p["podid"]; found {
u.Set("podid", v.(string))
}
+ if v, found := p.p["storageaccessgroups"]; found {
+ vv := strings.Join(v.([]string), ",")
+ u.Set("storageaccessgroups", vv)
+ }
if v, found := p.p["url"]; found {
u.Set("url", v.(string))
}
@@ -211,6 +222,27 @@ func (p *AddBaremetalHostParams) GetClustername() (string, bool) {
return value, ok
}
+func (p *AddBaremetalHostParams) SetExternaldetails(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["externaldetails"] = v
+}
+
+func (p *AddBaremetalHostParams) ResetExternaldetails() {
+ if p.p != nil && p.p["externaldetails"] != nil {
+ delete(p.p, "externaldetails")
+ }
+}
+
+func (p *AddBaremetalHostParams) GetExternaldetails() (map[string]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["externaldetails"].(map[string]string)
+ return value, ok
+}
+
func (p *AddBaremetalHostParams) SetHosttags(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -316,6 +348,27 @@ func (p *AddBaremetalHostParams) GetPodid() (string, bool) {
return value, ok
}
+func (p *AddBaremetalHostParams) SetStorageaccessgroups(v []string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storageaccessgroups"] = v
+}
+
+func (p *AddBaremetalHostParams) ResetStorageaccessgroups() {
+ if p.p != nil && p.p["storageaccessgroups"] != nil {
+ delete(p.p, "storageaccessgroups")
+ }
+}
+
+func (p *AddBaremetalHostParams) GetStorageaccessgroups() ([]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["storageaccessgroups"].([]string)
+ return value, ok
+}
+
func (p *AddBaremetalHostParams) SetUrl(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -412,6 +465,7 @@ type AddBaremetalHostResponse struct {
Capabilities string `json:"capabilities"`
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
+ Clusterstorageaccessgroups string `json:"clusterstorageaccessgroups"`
Clustertype string `json:"clustertype"`
Cpuallocated string `json:"cpuallocated"`
Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
@@ -431,7 +485,11 @@ type AddBaremetalHostResponse struct {
Encryptionsupported bool `json:"encryptionsupported"`
Events string `json:"events"`
Explicithosttags string `json:"explicithosttags"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
Gpugroup []AddBaremetalHostResponseGpugroup `json:"gpugroup"`
+ Gputotal int64 `json:"gputotal"`
+ Gpuused int64 `json:"gpuused"`
Hahost bool `json:"hahost"`
Hasannotations bool `json:"hasannotations"`
Hasenoughcapacity bool `json:"hasenoughcapacity"`
@@ -450,6 +508,7 @@ type AddBaremetalHostResponse struct {
Lastannotated string `json:"lastannotated"`
Lastpinged string `json:"lastpinged"`
Managementserverid UUID `json:"managementserverid"`
+ Managementservername string `json:"managementservername"`
Memoryallocated int64 `json:"memoryallocated"`
Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
@@ -464,16 +523,20 @@ type AddBaremetalHostResponse struct {
Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
Podid string `json:"podid"`
Podname string `json:"podname"`
+ Podstorageaccessgroups string `json:"podstorageaccessgroups"`
Removed string `json:"removed"`
Resourcestate string `json:"resourcestate"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Suitableformigration bool `json:"suitableformigration"`
Type string `json:"type"`
Ueficapability bool `json:"ueficapability"`
Username string `json:"username"`
Version string `json:"version"`
+ Virtualmachineid string `json:"virtualmachineid"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type AddBaremetalHostResponseGpugroup struct {
@@ -667,6 +730,13 @@ func (p *AddHostParams) toURLValues() url.Values {
if v, found := p.p["clustername"]; found {
u.Set("clustername", v.(string))
}
+ if v, found := p.p["externaldetails"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("externaldetails[%d].key", i), k)
+ u.Set(fmt.Sprintf("externaldetails[%d].value", i), m[k])
+ }
+ }
if v, found := p.p["hosttags"]; found {
vv := strings.Join(v.([]string), ",")
u.Set("hosttags", vv)
@@ -680,6 +750,10 @@ func (p *AddHostParams) toURLValues() url.Values {
if v, found := p.p["podid"]; found {
u.Set("podid", v.(string))
}
+ if v, found := p.p["storageaccessgroups"]; found {
+ vv := strings.Join(v.([]string), ",")
+ u.Set("storageaccessgroups", vv)
+ }
if v, found := p.p["url"]; found {
u.Set("url", v.(string))
}
@@ -755,6 +829,27 @@ func (p *AddHostParams) GetClustername() (string, bool) {
return value, ok
}
+func (p *AddHostParams) SetExternaldetails(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["externaldetails"] = v
+}
+
+func (p *AddHostParams) ResetExternaldetails() {
+ if p.p != nil && p.p["externaldetails"] != nil {
+ delete(p.p, "externaldetails")
+ }
+}
+
+func (p *AddHostParams) GetExternaldetails() (map[string]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["externaldetails"].(map[string]string)
+ return value, ok
+}
+
func (p *AddHostParams) SetHosttags(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -839,6 +934,27 @@ func (p *AddHostParams) GetPodid() (string, bool) {
return value, ok
}
+func (p *AddHostParams) SetStorageaccessgroups(v []string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storageaccessgroups"] = v
+}
+
+func (p *AddHostParams) ResetStorageaccessgroups() {
+ if p.p != nil && p.p["storageaccessgroups"] != nil {
+ delete(p.p, "storageaccessgroups")
+ }
+}
+
+func (p *AddHostParams) GetStorageaccessgroups() ([]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["storageaccessgroups"].([]string)
+ return value, ok
+}
+
func (p *AddHostParams) SetUrl(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -939,6 +1055,7 @@ type AddHostResponse struct {
Capabilities string `json:"capabilities"`
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
+ Clusterstorageaccessgroups string `json:"clusterstorageaccessgroups"`
Clustertype string `json:"clustertype"`
Cpuallocated string `json:"cpuallocated"`
Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
@@ -958,7 +1075,11 @@ type AddHostResponse struct {
Encryptionsupported bool `json:"encryptionsupported"`
Events string `json:"events"`
Explicithosttags string `json:"explicithosttags"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
Gpugroup []AddHostResponseGpugroup `json:"gpugroup"`
+ Gputotal int64 `json:"gputotal"`
+ Gpuused int64 `json:"gpuused"`
Hahost bool `json:"hahost"`
Hasannotations bool `json:"hasannotations"`
Hasenoughcapacity bool `json:"hasenoughcapacity"`
@@ -977,6 +1098,7 @@ type AddHostResponse struct {
Lastannotated string `json:"lastannotated"`
Lastpinged string `json:"lastpinged"`
Managementserverid UUID `json:"managementserverid"`
+ Managementservername string `json:"managementservername"`
Memoryallocated int64 `json:"memoryallocated"`
Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
@@ -991,16 +1113,20 @@ type AddHostResponse struct {
Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
Podid string `json:"podid"`
Podname string `json:"podname"`
+ Podstorageaccessgroups string `json:"podstorageaccessgroups"`
Removed string `json:"removed"`
Resourcestate string `json:"resourcestate"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Suitableformigration bool `json:"suitableformigration"`
Type string `json:"type"`
Ueficapability bool `json:"ueficapability"`
Username string `json:"username"`
Version string `json:"version"`
+ Virtualmachineid string `json:"virtualmachineid"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type AddHostResponseGpugroup struct {
@@ -1206,6 +1332,7 @@ type CancelHostMaintenanceResponse struct {
Capabilities string `json:"capabilities"`
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
+ Clusterstorageaccessgroups string `json:"clusterstorageaccessgroups"`
Clustertype string `json:"clustertype"`
Cpuallocated string `json:"cpuallocated"`
Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
@@ -1225,7 +1352,11 @@ type CancelHostMaintenanceResponse struct {
Encryptionsupported bool `json:"encryptionsupported"`
Events string `json:"events"`
Explicithosttags string `json:"explicithosttags"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
Gpugroup []CancelHostMaintenanceResponseGpugroup `json:"gpugroup"`
+ Gputotal int64 `json:"gputotal"`
+ Gpuused int64 `json:"gpuused"`
Hahost bool `json:"hahost"`
Hasannotations bool `json:"hasannotations"`
Hasenoughcapacity bool `json:"hasenoughcapacity"`
@@ -1244,6 +1375,7 @@ type CancelHostMaintenanceResponse struct {
Lastannotated string `json:"lastannotated"`
Lastpinged string `json:"lastpinged"`
Managementserverid UUID `json:"managementserverid"`
+ Managementservername string `json:"managementservername"`
Memoryallocated int64 `json:"memoryallocated"`
Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
@@ -1258,16 +1390,20 @@ type CancelHostMaintenanceResponse struct {
Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
Podid string `json:"podid"`
Podname string `json:"podname"`
+ Podstorageaccessgroups string `json:"podstorageaccessgroups"`
Removed string `json:"removed"`
Resourcestate string `json:"resourcestate"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Suitableformigration bool `json:"suitableformigration"`
Type string `json:"type"`
Ueficapability bool `json:"ueficapability"`
Username string `json:"username"`
Version string `json:"version"`
+ Virtualmachineid string `json:"virtualmachineid"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type CancelHostMaintenanceResponseGpugroup struct {
@@ -2202,6 +2338,7 @@ type HostForMigration struct {
Capabilities string `json:"capabilities"`
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
+ Clusterstorageaccessgroups string `json:"clusterstorageaccessgroups"`
Clustertype string `json:"clustertype"`
Cpuallocated string `json:"cpuallocated"`
Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
@@ -2221,7 +2358,11 @@ type HostForMigration struct {
Encryptionsupported bool `json:"encryptionsupported"`
Events string `json:"events"`
Explicithosttags string `json:"explicithosttags"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
Gpugroup []HostForMigrationGpugroup `json:"gpugroup"`
+ Gputotal int64 `json:"gputotal"`
+ Gpuused int64 `json:"gpuused"`
Hahost bool `json:"hahost"`
Hasannotations bool `json:"hasannotations"`
Hasenoughcapacity bool `json:"hasenoughcapacity"`
@@ -2240,6 +2381,7 @@ type HostForMigration struct {
Lastannotated string `json:"lastannotated"`
Lastpinged string `json:"lastpinged"`
Managementserverid UUID `json:"managementserverid"`
+ Managementservername string `json:"managementservername"`
Memoryallocated int64 `json:"memoryallocated"`
Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
@@ -2254,17 +2396,21 @@ type HostForMigration struct {
Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
Podid string `json:"podid"`
Podname string `json:"podname"`
+ Podstorageaccessgroups string `json:"podstorageaccessgroups"`
Removed string `json:"removed"`
RequiresStorageMotion bool `json:"requiresStorageMotion"`
Resourcestate string `json:"resourcestate"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Suitableformigration bool `json:"suitableformigration"`
Type string `json:"type"`
Ueficapability bool `json:"ueficapability"`
Username string `json:"username"`
Version string `json:"version"`
+ Virtualmachineid string `json:"virtualmachineid"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type HostForMigrationGpugroup struct {
@@ -2695,6 +2841,9 @@ func (p *ListHostsParams) toURLValues() url.Values {
if v, found := p.p["keyword"]; found {
u.Set("keyword", v.(string))
}
+ if v, found := p.p["managementserverid"]; found {
+ u.Set("managementserverid", v.(string))
+ }
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
@@ -2722,6 +2871,9 @@ func (p *ListHostsParams) toURLValues() url.Values {
if v, found := p.p["state"]; found {
u.Set("state", v.(string))
}
+ if v, found := p.p["storageaccessgroup"]; found {
+ u.Set("storageaccessgroup", v.(string))
+ }
if v, found := p.p["type"]; found {
u.Set("type", v.(string))
}
@@ -2881,6 +3033,27 @@ func (p *ListHostsParams) GetKeyword() (string, bool) {
return value, ok
}
+func (p *ListHostsParams) SetManagementserverid(v UUID) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["managementserverid"] = v
+}
+
+func (p *ListHostsParams) ResetManagementserverid() {
+ if p.p != nil && p.p["managementserverid"] != nil {
+ delete(p.p, "managementserverid")
+ }
+}
+
+func (p *ListHostsParams) GetManagementserverid() (UUID, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["managementserverid"].(UUID)
+ return value, ok
+}
+
func (p *ListHostsParams) SetName(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -3049,6 +3222,27 @@ func (p *ListHostsParams) GetState() (string, bool) {
return value, ok
}
+func (p *ListHostsParams) SetStorageaccessgroup(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storageaccessgroup"] = v
+}
+
+func (p *ListHostsParams) ResetStorageaccessgroup() {
+ if p.p != nil && p.p["storageaccessgroup"] != nil {
+ delete(p.p, "storageaccessgroup")
+ }
+}
+
+func (p *ListHostsParams) GetStorageaccessgroup() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["storageaccessgroup"].(string)
+ return value, ok
+}
+
func (p *ListHostsParams) SetType(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -3229,6 +3423,7 @@ type Host struct {
Capabilities string `json:"capabilities"`
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
+ Clusterstorageaccessgroups string `json:"clusterstorageaccessgroups"`
Clustertype string `json:"clustertype"`
Cpuallocated string `json:"cpuallocated"`
Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
@@ -3248,7 +3443,11 @@ type Host struct {
Encryptionsupported bool `json:"encryptionsupported"`
Events string `json:"events"`
Explicithosttags string `json:"explicithosttags"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
Gpugroup []HostGpugroup `json:"gpugroup"`
+ Gputotal int64 `json:"gputotal"`
+ Gpuused int64 `json:"gpuused"`
Hahost bool `json:"hahost"`
Hasannotations bool `json:"hasannotations"`
Hasenoughcapacity bool `json:"hasenoughcapacity"`
@@ -3267,6 +3466,7 @@ type Host struct {
Lastannotated string `json:"lastannotated"`
Lastpinged string `json:"lastpinged"`
Managementserverid UUID `json:"managementserverid"`
+ Managementservername string `json:"managementservername"`
Memoryallocated int64 `json:"memoryallocated"`
Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
@@ -3281,16 +3481,20 @@ type Host struct {
Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
Podid string `json:"podid"`
Podname string `json:"podname"`
+ Podstorageaccessgroups string `json:"podstorageaccessgroups"`
Removed string `json:"removed"`
Resourcestate string `json:"resourcestate"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Suitableformigration bool `json:"suitableformigration"`
Type string `json:"type"`
Ueficapability bool `json:"ueficapability"`
Username string `json:"username"`
Version string `json:"version"`
+ Virtualmachineid string `json:"virtualmachineid"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type HostGpugroup struct {
@@ -3341,6 +3545,9 @@ func (p *ListHostsMetricsParams) toURLValues() url.Values {
if v, found := p.p["keyword"]; found {
u.Set("keyword", v.(string))
}
+ if v, found := p.p["managementserverid"]; found {
+ u.Set("managementserverid", v.(string))
+ }
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
@@ -3368,6 +3575,9 @@ func (p *ListHostsMetricsParams) toURLValues() url.Values {
if v, found := p.p["state"]; found {
u.Set("state", v.(string))
}
+ if v, found := p.p["storageaccessgroup"]; found {
+ u.Set("storageaccessgroup", v.(string))
+ }
if v, found := p.p["type"]; found {
u.Set("type", v.(string))
}
@@ -3527,6 +3737,27 @@ func (p *ListHostsMetricsParams) GetKeyword() (string, bool) {
return value, ok
}
+func (p *ListHostsMetricsParams) SetManagementserverid(v UUID) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["managementserverid"] = v
+}
+
+func (p *ListHostsMetricsParams) ResetManagementserverid() {
+ if p.p != nil && p.p["managementserverid"] != nil {
+ delete(p.p, "managementserverid")
+ }
+}
+
+func (p *ListHostsMetricsParams) GetManagementserverid() (UUID, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["managementserverid"].(UUID)
+ return value, ok
+}
+
func (p *ListHostsMetricsParams) SetName(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -3695,6 +3926,27 @@ func (p *ListHostsMetricsParams) GetState() (string, bool) {
return value, ok
}
+func (p *ListHostsMetricsParams) SetStorageaccessgroup(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storageaccessgroup"] = v
+}
+
+func (p *ListHostsMetricsParams) ResetStorageaccessgroup() {
+ if p.p != nil && p.p["storageaccessgroup"] != nil {
+ delete(p.p, "storageaccessgroup")
+ }
+}
+
+func (p *ListHostsMetricsParams) GetStorageaccessgroup() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["storageaccessgroup"].(string)
+ return value, ok
+}
+
func (p *ListHostsMetricsParams) SetType(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -3875,6 +4127,7 @@ type HostsMetric struct {
Capabilities string `json:"capabilities"`
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
+ Clusterstorageaccessgroups string `json:"clusterstorageaccessgroups"`
Clustertype string `json:"clustertype"`
Cpuallocated string `json:"cpuallocated"`
Cpuallocateddisablethreshold bool `json:"cpuallocateddisablethreshold"`
@@ -3901,7 +4154,11 @@ type HostsMetric struct {
Encryptionsupported bool `json:"encryptionsupported"`
Events string `json:"events"`
Explicithosttags string `json:"explicithosttags"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
Gpugroup []HostsMetricGpugroup `json:"gpugroup"`
+ Gputotal int64 `json:"gputotal"`
+ Gpuused int64 `json:"gpuused"`
Hahost bool `json:"hahost"`
Hasannotations bool `json:"hasannotations"`
Hasenoughcapacity bool `json:"hasenoughcapacity"`
@@ -3921,6 +4178,7 @@ type HostsMetric struct {
Lastannotated string `json:"lastannotated"`
Lastpinged string `json:"lastpinged"`
Managementserverid UUID `json:"managementserverid"`
+ Managementservername string `json:"managementservername"`
Memoryallocated int64 `json:"memoryallocated"`
Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
Memoryallocateddisablethreshold bool `json:"memoryallocateddisablethreshold"`
@@ -3944,18 +4202,22 @@ type HostsMetric struct {
Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
Podid string `json:"podid"`
Podname string `json:"podname"`
+ Podstorageaccessgroups string `json:"podstorageaccessgroups"`
Powerstate string `json:"powerstate"`
Removed string `json:"removed"`
Resourcestate string `json:"resourcestate"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Suitableformigration bool `json:"suitableformigration"`
Systeminstances string `json:"systeminstances"`
Type string `json:"type"`
Ueficapability bool `json:"ueficapability"`
Username string `json:"username"`
Version string `json:"version"`
+ Virtualmachineid string `json:"virtualmachineid"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type HostsMetricGpugroup struct {
@@ -4060,6 +4322,7 @@ type PrepareHostForMaintenanceResponse struct {
Capabilities string `json:"capabilities"`
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
+ Clusterstorageaccessgroups string `json:"clusterstorageaccessgroups"`
Clustertype string `json:"clustertype"`
Cpuallocated string `json:"cpuallocated"`
Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
@@ -4079,7 +4342,11 @@ type PrepareHostForMaintenanceResponse struct {
Encryptionsupported bool `json:"encryptionsupported"`
Events string `json:"events"`
Explicithosttags string `json:"explicithosttags"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
Gpugroup []PrepareHostForMaintenanceResponseGpugroup `json:"gpugroup"`
+ Gputotal int64 `json:"gputotal"`
+ Gpuused int64 `json:"gpuused"`
Hahost bool `json:"hahost"`
Hasannotations bool `json:"hasannotations"`
Hasenoughcapacity bool `json:"hasenoughcapacity"`
@@ -4098,6 +4365,7 @@ type PrepareHostForMaintenanceResponse struct {
Lastannotated string `json:"lastannotated"`
Lastpinged string `json:"lastpinged"`
Managementserverid UUID `json:"managementserverid"`
+ Managementservername string `json:"managementservername"`
Memoryallocated int64 `json:"memoryallocated"`
Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
@@ -4112,16 +4380,20 @@ type PrepareHostForMaintenanceResponse struct {
Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
Podid string `json:"podid"`
Podname string `json:"podname"`
+ Podstorageaccessgroups string `json:"podstorageaccessgroups"`
Removed string `json:"removed"`
Resourcestate string `json:"resourcestate"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Suitableformigration bool `json:"suitableformigration"`
Type string `json:"type"`
Ueficapability bool `json:"ueficapability"`
Username string `json:"username"`
Version string `json:"version"`
+ Virtualmachineid string `json:"virtualmachineid"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type PrepareHostForMaintenanceResponseGpugroup struct {
@@ -4226,6 +4498,7 @@ type ReconnectHostResponse struct {
Capabilities string `json:"capabilities"`
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
+ Clusterstorageaccessgroups string `json:"clusterstorageaccessgroups"`
Clustertype string `json:"clustertype"`
Cpuallocated string `json:"cpuallocated"`
Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
@@ -4245,7 +4518,11 @@ type ReconnectHostResponse struct {
Encryptionsupported bool `json:"encryptionsupported"`
Events string `json:"events"`
Explicithosttags string `json:"explicithosttags"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
Gpugroup []ReconnectHostResponseGpugroup `json:"gpugroup"`
+ Gputotal int64 `json:"gputotal"`
+ Gpuused int64 `json:"gpuused"`
Hahost bool `json:"hahost"`
Hasannotations bool `json:"hasannotations"`
Hasenoughcapacity bool `json:"hasenoughcapacity"`
@@ -4264,6 +4541,7 @@ type ReconnectHostResponse struct {
Lastannotated string `json:"lastannotated"`
Lastpinged string `json:"lastpinged"`
Managementserverid UUID `json:"managementserverid"`
+ Managementservername string `json:"managementservername"`
Memoryallocated int64 `json:"memoryallocated"`
Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
@@ -4278,16 +4556,20 @@ type ReconnectHostResponse struct {
Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
Podid string `json:"podid"`
Podname string `json:"podname"`
+ Podstorageaccessgroups string `json:"podstorageaccessgroups"`
Removed string `json:"removed"`
Resourcestate string `json:"resourcestate"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Suitableformigration bool `json:"suitableformigration"`
Type string `json:"type"`
Ueficapability bool `json:"ueficapability"`
Username string `json:"username"`
Version string `json:"version"`
+ Virtualmachineid string `json:"virtualmachineid"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type ReconnectHostResponseGpugroup struct {
@@ -4485,6 +4767,13 @@ func (p *UpdateHostParams) toURLValues() url.Values {
if v, found := p.p["annotation"]; found {
u.Set("annotation", v.(string))
}
+ if v, found := p.p["externaldetails"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("externaldetails[%d].key", i), k)
+ u.Set(fmt.Sprintf("externaldetails[%d].value", i), m[k])
+ }
+ }
if v, found := p.p["hosttags"]; found {
vv := strings.Join(v.([]string), ",")
u.Set("hosttags", vv)
@@ -4550,6 +4839,27 @@ func (p *UpdateHostParams) GetAnnotation() (string, bool) {
return value, ok
}
+func (p *UpdateHostParams) SetExternaldetails(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["externaldetails"] = v
+}
+
+func (p *UpdateHostParams) ResetExternaldetails() {
+ if p.p != nil && p.p["externaldetails"] != nil {
+ delete(p.p, "externaldetails")
+ }
+}
+
+func (p *UpdateHostParams) GetExternaldetails() (map[string]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["externaldetails"].(map[string]string)
+ return value, ok
+}
+
func (p *UpdateHostParams) SetHosttags(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -4706,6 +5016,7 @@ type UpdateHostResponse struct {
Capabilities string `json:"capabilities"`
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
+ Clusterstorageaccessgroups string `json:"clusterstorageaccessgroups"`
Clustertype string `json:"clustertype"`
Cpuallocated string `json:"cpuallocated"`
Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
@@ -4725,7 +5036,11 @@ type UpdateHostResponse struct {
Encryptionsupported bool `json:"encryptionsupported"`
Events string `json:"events"`
Explicithosttags string `json:"explicithosttags"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
Gpugroup []UpdateHostResponseGpugroup `json:"gpugroup"`
+ Gputotal int64 `json:"gputotal"`
+ Gpuused int64 `json:"gpuused"`
Hahost bool `json:"hahost"`
Hasannotations bool `json:"hasannotations"`
Hasenoughcapacity bool `json:"hasenoughcapacity"`
@@ -4744,6 +5059,7 @@ type UpdateHostResponse struct {
Lastannotated string `json:"lastannotated"`
Lastpinged string `json:"lastpinged"`
Managementserverid UUID `json:"managementserverid"`
+ Managementservername string `json:"managementservername"`
Memoryallocated int64 `json:"memoryallocated"`
Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
@@ -4758,16 +5074,20 @@ type UpdateHostResponse struct {
Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
Podid string `json:"podid"`
Podname string `json:"podname"`
+ Podstorageaccessgroups string `json:"podstorageaccessgroups"`
Removed string `json:"removed"`
Resourcestate string `json:"resourcestate"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Suitableformigration bool `json:"suitableformigration"`
Type string `json:"type"`
Ueficapability bool `json:"ueficapability"`
Username string `json:"username"`
Version string `json:"version"`
+ Virtualmachineid string `json:"virtualmachineid"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type UpdateHostResponseGpugroup struct {
@@ -5202,6 +5522,7 @@ type CancelHostAsDegradedResponse struct {
Capabilities string `json:"capabilities"`
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
+ Clusterstorageaccessgroups string `json:"clusterstorageaccessgroups"`
Clustertype string `json:"clustertype"`
Cpuallocated string `json:"cpuallocated"`
Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
@@ -5221,7 +5542,11 @@ type CancelHostAsDegradedResponse struct {
Encryptionsupported bool `json:"encryptionsupported"`
Events string `json:"events"`
Explicithosttags string `json:"explicithosttags"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
Gpugroup []CancelHostAsDegradedResponseGpugroup `json:"gpugroup"`
+ Gputotal int64 `json:"gputotal"`
+ Gpuused int64 `json:"gpuused"`
Hahost bool `json:"hahost"`
Hasannotations bool `json:"hasannotations"`
Hasenoughcapacity bool `json:"hasenoughcapacity"`
@@ -5240,6 +5565,7 @@ type CancelHostAsDegradedResponse struct {
Lastannotated string `json:"lastannotated"`
Lastpinged string `json:"lastpinged"`
Managementserverid UUID `json:"managementserverid"`
+ Managementservername string `json:"managementservername"`
Memoryallocated int64 `json:"memoryallocated"`
Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
@@ -5254,16 +5580,20 @@ type CancelHostAsDegradedResponse struct {
Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
Podid string `json:"podid"`
Podname string `json:"podname"`
+ Podstorageaccessgroups string `json:"podstorageaccessgroups"`
Removed string `json:"removed"`
Resourcestate string `json:"resourcestate"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Suitableformigration bool `json:"suitableformigration"`
Type string `json:"type"`
Ueficapability bool `json:"ueficapability"`
Username string `json:"username"`
Version string `json:"version"`
+ Virtualmachineid string `json:"virtualmachineid"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type CancelHostAsDegradedResponseGpugroup struct {
@@ -6025,6 +6355,7 @@ type DeclareHostAsDegradedResponse struct {
Capabilities string `json:"capabilities"`
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
+ Clusterstorageaccessgroups string `json:"clusterstorageaccessgroups"`
Clustertype string `json:"clustertype"`
Cpuallocated string `json:"cpuallocated"`
Cpuallocatedpercentage string `json:"cpuallocatedpercentage"`
@@ -6044,7 +6375,11 @@ type DeclareHostAsDegradedResponse struct {
Encryptionsupported bool `json:"encryptionsupported"`
Events string `json:"events"`
Explicithosttags string `json:"explicithosttags"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
Gpugroup []DeclareHostAsDegradedResponseGpugroup `json:"gpugroup"`
+ Gputotal int64 `json:"gputotal"`
+ Gpuused int64 `json:"gpuused"`
Hahost bool `json:"hahost"`
Hasannotations bool `json:"hasannotations"`
Hasenoughcapacity bool `json:"hasenoughcapacity"`
@@ -6063,6 +6398,7 @@ type DeclareHostAsDegradedResponse struct {
Lastannotated string `json:"lastannotated"`
Lastpinged string `json:"lastpinged"`
Managementserverid UUID `json:"managementserverid"`
+ Managementservername string `json:"managementservername"`
Memoryallocated int64 `json:"memoryallocated"`
Memoryallocatedbytes int64 `json:"memoryallocatedbytes"`
Memoryallocatedpercentage string `json:"memoryallocatedpercentage"`
@@ -6077,16 +6413,20 @@ type DeclareHostAsDegradedResponse struct {
Outofbandmanagement OutOfBandManagementResponse `json:"outofbandmanagement"`
Podid string `json:"podid"`
Podname string `json:"podname"`
+ Podstorageaccessgroups string `json:"podstorageaccessgroups"`
Removed string `json:"removed"`
Resourcestate string `json:"resourcestate"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Suitableformigration bool `json:"suitableformigration"`
Type string `json:"type"`
Ueficapability bool `json:"ueficapability"`
Username string `json:"username"`
Version string `json:"version"`
+ Virtualmachineid string `json:"virtualmachineid"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type DeclareHostAsDegradedResponseGpugroup struct {
diff --git a/cloudstack/ISOService.go b/cloudstack/ISOService.go
index 1ceb395..5000bc5 100644
--- a/cloudstack/ISOService.go
+++ b/cloudstack/ISOService.go
@@ -214,6 +214,9 @@ type AttachIsoResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -235,6 +238,12 @@ type AttachIsoResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -276,6 +285,9 @@ type AttachIsoResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -527,6 +539,9 @@ type CopyIsoResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Downloaddetails []map[string]string `json:"downloaddetails"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
+ Forcks bool `json:"forcks"`
Format string `json:"format"`
Hasannotations bool `json:"hasannotations"`
Hostid string `json:"hostid"`
@@ -833,6 +848,9 @@ type DetachIsoResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -854,6 +872,12 @@ type DetachIsoResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -895,6 +919,9 @@ type DetachIsoResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -1674,6 +1701,9 @@ func (p *ListIsosParams) toURLValues() url.Values {
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
+ if v, found := p.p["oscategoryid"]; found {
+ u.Set("oscategoryid", v.(string))
+ }
if v, found := p.p["page"]; found {
vv := strconv.Itoa(v.(int))
u.Set("page", vv)
@@ -2007,6 +2037,27 @@ func (p *ListIsosParams) GetName() (string, bool) {
return value, ok
}
+func (p *ListIsosParams) SetOscategoryid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["oscategoryid"] = v
+}
+
+func (p *ListIsosParams) ResetOscategoryid() {
+ if p.p != nil && p.p["oscategoryid"] != nil {
+ delete(p.p, "oscategoryid")
+ }
+}
+
+func (p *ListIsosParams) GetOscategoryid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["oscategoryid"].(string)
+ return value, ok
+}
+
func (p *ListIsosParams) SetPage(v int) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2328,6 +2379,9 @@ type Iso struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Downloaddetails []map[string]string `json:"downloaddetails"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
+ Forcks bool `json:"forcks"`
Format string `json:"format"`
Hasannotations bool `json:"hasannotations"`
Hostid string `json:"hostid"`
@@ -2896,6 +2950,9 @@ type RegisterIsoResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Downloaddetails []map[string]string `json:"downloaddetails"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
+ Forcks bool `json:"forcks"`
Format string `json:"format"`
Hasannotations bool `json:"hasannotations"`
Hostid string `json:"hostid"`
@@ -2992,6 +3049,10 @@ func (p *UpdateIsoParams) toURLValues() url.Values {
if v, found := p.p["displaytext"]; found {
u.Set("displaytext", v.(string))
}
+ if v, found := p.p["forceupdateostype"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("forceupdateostype", vv)
+ }
if v, found := p.p["format"]; found {
u.Set("format", v.(string))
}
@@ -3136,6 +3197,27 @@ func (p *UpdateIsoParams) GetDisplaytext() (string, bool) {
return value, ok
}
+func (p *UpdateIsoParams) SetForceupdateostype(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["forceupdateostype"] = v
+}
+
+func (p *UpdateIsoParams) ResetForceupdateostype() {
+ if p.p != nil && p.p["forceupdateostype"] != nil {
+ delete(p.p, "forceupdateostype")
+ }
+}
+
+func (p *UpdateIsoParams) GetForceupdateostype() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["forceupdateostype"].(bool)
+ return value, ok
+}
+
func (p *UpdateIsoParams) SetFormat(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -3389,6 +3471,9 @@ type UpdateIsoResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Downloaddetails []map[string]string `json:"downloaddetails"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
+ Forcks bool `json:"forcks"`
Format string `json:"format"`
Hasannotations bool `json:"hasannotations"`
Hostid string `json:"hostid"`
diff --git a/cloudstack/KubernetesService.go b/cloudstack/KubernetesService.go
index 426d410..35064e2 100644
--- a/cloudstack/KubernetesService.go
+++ b/cloudstack/KubernetesService.go
@@ -358,9 +358,22 @@ func (p *CreateKubernetesClusterParams) toURLValues() url.Values {
if v, found := p.p["account"]; found {
u.Set("account", v.(string))
}
+ if v, found := p.p["asnumber"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("asnumber", vv)
+ }
if v, found := p.p["clustertype"]; found {
u.Set("clustertype", v.(string))
}
+ if v, found := p.p["cniconfigdetails"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("cniconfigdetails[%d].%s", i, k), m[k])
+ }
+ }
+ if v, found := p.p["cniconfigurationid"]; found {
+ u.Set("cniconfigurationid", v.(string))
+ }
if v, found := p.p["controlnodes"]; found {
vv := strconv.FormatInt(v.(int64), 10)
u.Set("controlnodes", vv)
@@ -380,9 +393,16 @@ func (p *CreateKubernetesClusterParams) toURLValues() url.Values {
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
+ if v, found := p.p["etcdnodes"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("etcdnodes", vv)
+ }
if v, found := p.p["externalloadbalanceripaddress"]; found {
u.Set("externalloadbalanceripaddress", v.(string))
}
+ if v, found := p.p["hypervisor"]; found {
+ u.Set("hypervisor", v.(string))
+ }
if v, found := p.p["keypair"]; found {
u.Set("keypair", v.(string))
}
@@ -399,10 +419,24 @@ func (p *CreateKubernetesClusterParams) toURLValues() url.Values {
if v, found := p.p["networkid"]; found {
u.Set("networkid", v.(string))
}
+ if v, found := p.p["nodeofferings"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("nodeofferings[%d].node", i), k)
+ u.Set(fmt.Sprintf("nodeofferings[%d].offering", i), m[k])
+ }
+ }
if v, found := p.p["noderootdisksize"]; found {
vv := strconv.FormatInt(v.(int64), 10)
u.Set("noderootdisksize", vv)
}
+ if v, found := p.p["nodetemplates"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("nodetemplates[%d].node", i), k)
+ u.Set(fmt.Sprintf("nodetemplates[%d].template", i), m[k])
+ }
+ }
if v, found := p.p["projectid"]; found {
u.Set("projectid", v.(string))
}
@@ -440,6 +474,27 @@ func (p *CreateKubernetesClusterParams) GetAccount() (string, bool) {
return value, ok
}
+func (p *CreateKubernetesClusterParams) SetAsnumber(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["asnumber"] = v
+}
+
+func (p *CreateKubernetesClusterParams) ResetAsnumber() {
+ if p.p != nil && p.p["asnumber"] != nil {
+ delete(p.p, "asnumber")
+ }
+}
+
+func (p *CreateKubernetesClusterParams) GetAsnumber() (int64, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["asnumber"].(int64)
+ return value, ok
+}
+
func (p *CreateKubernetesClusterParams) SetClustertype(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -461,6 +516,48 @@ func (p *CreateKubernetesClusterParams) GetClustertype() (string, bool) {
return value, ok
}
+func (p *CreateKubernetesClusterParams) SetCniconfigdetails(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["cniconfigdetails"] = v
+}
+
+func (p *CreateKubernetesClusterParams) ResetCniconfigdetails() {
+ if p.p != nil && p.p["cniconfigdetails"] != nil {
+ delete(p.p, "cniconfigdetails")
+ }
+}
+
+func (p *CreateKubernetesClusterParams) GetCniconfigdetails() (map[string]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["cniconfigdetails"].(map[string]string)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetCniconfigurationid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["cniconfigurationid"] = v
+}
+
+func (p *CreateKubernetesClusterParams) ResetCniconfigurationid() {
+ if p.p != nil && p.p["cniconfigurationid"] != nil {
+ delete(p.p, "cniconfigurationid")
+ }
+}
+
+func (p *CreateKubernetesClusterParams) GetCniconfigurationid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["cniconfigurationid"].(string)
+ return value, ok
+}
+
func (p *CreateKubernetesClusterParams) SetControlnodes(v int64) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -587,6 +684,27 @@ func (p *CreateKubernetesClusterParams) GetDomainid() (string, bool) {
return value, ok
}
+func (p *CreateKubernetesClusterParams) SetEtcdnodes(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["etcdnodes"] = v
+}
+
+func (p *CreateKubernetesClusterParams) ResetEtcdnodes() {
+ if p.p != nil && p.p["etcdnodes"] != nil {
+ delete(p.p, "etcdnodes")
+ }
+}
+
+func (p *CreateKubernetesClusterParams) GetEtcdnodes() (int64, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["etcdnodes"].(int64)
+ return value, ok
+}
+
func (p *CreateKubernetesClusterParams) SetExternalloadbalanceripaddress(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -608,6 +726,27 @@ func (p *CreateKubernetesClusterParams) GetExternalloadbalanceripaddress() (stri
return value, ok
}
+func (p *CreateKubernetesClusterParams) SetHypervisor(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["hypervisor"] = v
+}
+
+func (p *CreateKubernetesClusterParams) ResetHypervisor() {
+ if p.p != nil && p.p["hypervisor"] != nil {
+ delete(p.p, "hypervisor")
+ }
+}
+
+func (p *CreateKubernetesClusterParams) GetHypervisor() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["hypervisor"].(string)
+ return value, ok
+}
+
func (p *CreateKubernetesClusterParams) SetKeypair(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -713,6 +852,27 @@ func (p *CreateKubernetesClusterParams) GetNetworkid() (string, bool) {
return value, ok
}
+func (p *CreateKubernetesClusterParams) SetNodeofferings(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["nodeofferings"] = v
+}
+
+func (p *CreateKubernetesClusterParams) ResetNodeofferings() {
+ if p.p != nil && p.p["nodeofferings"] != nil {
+ delete(p.p, "nodeofferings")
+ }
+}
+
+func (p *CreateKubernetesClusterParams) GetNodeofferings() (map[string]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["nodeofferings"].(map[string]string)
+ return value, ok
+}
+
func (p *CreateKubernetesClusterParams) SetNoderootdisksize(v int64) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -734,6 +894,27 @@ func (p *CreateKubernetesClusterParams) GetNoderootdisksize() (int64, bool) {
return value, ok
}
+func (p *CreateKubernetesClusterParams) SetNodetemplates(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["nodetemplates"] = v
+}
+
+func (p *CreateKubernetesClusterParams) ResetNodetemplates() {
+ if p.p != nil && p.p["nodetemplates"] != nil {
+ delete(p.p, "nodetemplates")
+ }
+}
+
+func (p *CreateKubernetesClusterParams) GetNodetemplates() (map[string]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["nodetemplates"].(map[string]string)
+ return value, ok
+}
+
func (p *CreateKubernetesClusterParams) SetProjectid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -872,8 +1053,12 @@ type CreateKubernetesClusterResponse struct {
Associatednetworkname string `json:"associatednetworkname"`
Autoscalingenabled bool `json:"autoscalingenabled"`
Clustertype string `json:"clustertype"`
+ Cniconfigname string `json:"cniconfigname"`
+ Cniconfigurationid string `json:"cniconfigurationid"`
Consoleendpoint string `json:"consoleendpoint"`
Controlnodes int64 `json:"controlnodes"`
+ Controlofferingid string `json:"controlofferingid"`
+ Controlofferingname string `json:"controlofferingname"`
Cpunumber string `json:"cpunumber"`
Created string `json:"created"`
Description string `json:"description"`
@@ -881,6 +1066,10 @@ type CreateKubernetesClusterResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Endpoint string `json:"endpoint"`
+ Etcdips map[string]string `json:"etcdips"`
+ Etcdnodes int64 `json:"etcdnodes"`
+ Etcdofferingid string `json:"etcdofferingid"`
+ Etcdofferingname string `json:"etcdofferingname"`
Hasannotations bool `json:"hasannotations"`
Id string `json:"id"`
Ipaddress string `json:"ipaddress"`
@@ -904,6 +1093,8 @@ type CreateKubernetesClusterResponse struct {
State string `json:"state"`
Templateid string `json:"templateid"`
Virtualmachines []*VirtualMachine `json:"virtualmachines"`
+ Workerofferingid string `json:"workerofferingid"`
+ Workerofferingname string `json:"workerofferingname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -1612,8 +1803,12 @@ type KubernetesCluster struct {
Associatednetworkname string `json:"associatednetworkname"`
Autoscalingenabled bool `json:"autoscalingenabled"`
Clustertype string `json:"clustertype"`
+ Cniconfigname string `json:"cniconfigname"`
+ Cniconfigurationid string `json:"cniconfigurationid"`
Consoleendpoint string `json:"consoleendpoint"`
Controlnodes int64 `json:"controlnodes"`
+ Controlofferingid string `json:"controlofferingid"`
+ Controlofferingname string `json:"controlofferingname"`
Cpunumber string `json:"cpunumber"`
Created string `json:"created"`
Description string `json:"description"`
@@ -1621,6 +1816,10 @@ type KubernetesCluster struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Endpoint string `json:"endpoint"`
+ Etcdips map[string]string `json:"etcdips"`
+ Etcdnodes int64 `json:"etcdnodes"`
+ Etcdofferingid string `json:"etcdofferingid"`
+ Etcdofferingname string `json:"etcdofferingname"`
Hasannotations bool `json:"hasannotations"`
Id string `json:"id"`
Ipaddress string `json:"ipaddress"`
@@ -1644,6 +1843,8 @@ type KubernetesCluster struct {
State string `json:"state"`
Templateid string `json:"templateid"`
Virtualmachines []*VirtualMachine `json:"virtualmachines"`
+ Workerofferingid string `json:"workerofferingid"`
+ Workerofferingname string `json:"workerofferingname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -2014,6 +2215,13 @@ func (p *ScaleKubernetesClusterParams) toURLValues() url.Values {
vv := strings.Join(v.([]string), ",")
u.Set("nodeids", vv)
}
+ if v, found := p.p["nodeofferings"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("nodeofferings[%d].node", i), k)
+ u.Set(fmt.Sprintf("nodeofferings[%d].offering", i), m[k])
+ }
+ }
if v, found := p.p["serviceofferingid"]; found {
u.Set("serviceofferingid", v.(string))
}
@@ -2129,6 +2337,27 @@ func (p *ScaleKubernetesClusterParams) GetNodeids() ([]string, bool) {
return value, ok
}
+func (p *ScaleKubernetesClusterParams) SetNodeofferings(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["nodeofferings"] = v
+}
+
+func (p *ScaleKubernetesClusterParams) ResetNodeofferings() {
+ if p.p != nil && p.p["nodeofferings"] != nil {
+ delete(p.p, "nodeofferings")
+ }
+}
+
+func (p *ScaleKubernetesClusterParams) GetNodeofferings() (map[string]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["nodeofferings"].(map[string]string)
+ return value, ok
+}
+
func (p *ScaleKubernetesClusterParams) SetServiceofferingid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2220,8 +2449,12 @@ type ScaleKubernetesClusterResponse struct {
Associatednetworkname string `json:"associatednetworkname"`
Autoscalingenabled bool `json:"autoscalingenabled"`
Clustertype string `json:"clustertype"`
+ Cniconfigname string `json:"cniconfigname"`
+ Cniconfigurationid string `json:"cniconfigurationid"`
Consoleendpoint string `json:"consoleendpoint"`
Controlnodes int64 `json:"controlnodes"`
+ Controlofferingid string `json:"controlofferingid"`
+ Controlofferingname string `json:"controlofferingname"`
Cpunumber string `json:"cpunumber"`
Created string `json:"created"`
Description string `json:"description"`
@@ -2229,6 +2462,10 @@ type ScaleKubernetesClusterResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Endpoint string `json:"endpoint"`
+ Etcdips map[string]string `json:"etcdips"`
+ Etcdnodes int64 `json:"etcdnodes"`
+ Etcdofferingid string `json:"etcdofferingid"`
+ Etcdofferingname string `json:"etcdofferingname"`
Hasannotations bool `json:"hasannotations"`
Id string `json:"id"`
Ipaddress string `json:"ipaddress"`
@@ -2252,6 +2489,8 @@ type ScaleKubernetesClusterResponse struct {
State string `json:"state"`
Templateid string `json:"templateid"`
Virtualmachines []*VirtualMachine `json:"virtualmachines"`
+ Workerofferingid string `json:"workerofferingid"`
+ Workerofferingname string `json:"workerofferingname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -2341,8 +2580,12 @@ type StartKubernetesClusterResponse struct {
Associatednetworkname string `json:"associatednetworkname"`
Autoscalingenabled bool `json:"autoscalingenabled"`
Clustertype string `json:"clustertype"`
+ Cniconfigname string `json:"cniconfigname"`
+ Cniconfigurationid string `json:"cniconfigurationid"`
Consoleendpoint string `json:"consoleendpoint"`
Controlnodes int64 `json:"controlnodes"`
+ Controlofferingid string `json:"controlofferingid"`
+ Controlofferingname string `json:"controlofferingname"`
Cpunumber string `json:"cpunumber"`
Created string `json:"created"`
Description string `json:"description"`
@@ -2350,6 +2593,10 @@ type StartKubernetesClusterResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Endpoint string `json:"endpoint"`
+ Etcdips map[string]string `json:"etcdips"`
+ Etcdnodes int64 `json:"etcdnodes"`
+ Etcdofferingid string `json:"etcdofferingid"`
+ Etcdofferingname string `json:"etcdofferingname"`
Hasannotations bool `json:"hasannotations"`
Id string `json:"id"`
Ipaddress string `json:"ipaddress"`
@@ -2373,6 +2620,8 @@ type StartKubernetesClusterResponse struct {
State string `json:"state"`
Templateid string `json:"templateid"`
Virtualmachines []*VirtualMachine `json:"virtualmachines"`
+ Workerofferingid string `json:"workerofferingid"`
+ Workerofferingname string `json:"workerofferingname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
@@ -2675,8 +2924,12 @@ type UpgradeKubernetesClusterResponse struct {
Associatednetworkname string `json:"associatednetworkname"`
Autoscalingenabled bool `json:"autoscalingenabled"`
Clustertype string `json:"clustertype"`
+ Cniconfigname string `json:"cniconfigname"`
+ Cniconfigurationid string `json:"cniconfigurationid"`
Consoleendpoint string `json:"consoleendpoint"`
Controlnodes int64 `json:"controlnodes"`
+ Controlofferingid string `json:"controlofferingid"`
+ Controlofferingname string `json:"controlofferingname"`
Cpunumber string `json:"cpunumber"`
Created string `json:"created"`
Description string `json:"description"`
@@ -2684,6 +2937,10 @@ type UpgradeKubernetesClusterResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Endpoint string `json:"endpoint"`
+ Etcdips map[string]string `json:"etcdips"`
+ Etcdnodes int64 `json:"etcdnodes"`
+ Etcdofferingid string `json:"etcdofferingid"`
+ Etcdofferingname string `json:"etcdofferingname"`
Hasannotations bool `json:"hasannotations"`
Id string `json:"id"`
Ipaddress string `json:"ipaddress"`
@@ -2707,6 +2964,8 @@ type UpgradeKubernetesClusterResponse struct {
State string `json:"state"`
Templateid string `json:"templateid"`
Virtualmachines []*VirtualMachine `json:"virtualmachines"`
+ Workerofferingid string `json:"workerofferingid"`
+ Workerofferingname string `json:"workerofferingname"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
diff --git a/cloudstack/LDAPService.go b/cloudstack/LDAPService.go
index 5bfe100..cc8af48 100644
--- a/cloudstack/LDAPService.go
+++ b/cloudstack/LDAPService.go
@@ -1153,6 +1153,15 @@ type LdapCreateAccountResponse struct {
Accountdetails map[string]string `json:"accountdetails"`
Accounttype int `json:"accounttype"`
Apikeyaccess string `json:"apikeyaccess"`
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
@@ -1161,6 +1170,9 @@ type LdapCreateAccountResponse struct {
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Groups []string `json:"groups"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
@@ -1179,6 +1191,9 @@ type LdapCreateAccountResponse struct {
Networkdomain string `json:"networkdomain"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Primarystorageavailable string `json:"primarystorageavailable"`
Primarystoragelimit string `json:"primarystoragelimit"`
Primarystoragetotal int64 `json:"primarystoragetotal"`
diff --git a/cloudstack/ManagementService.go b/cloudstack/ManagementService.go
index 3619c0f..a8370f2 100644
--- a/cloudstack/ManagementService.go
+++ b/cloudstack/ManagementService.go
@@ -43,7 +43,7 @@ type ManagementServiceIface interface {
PrepareForShutdown(p *PrepareForShutdownParams) (*PrepareForShutdownResponse, error)
NewPrepareForShutdownParams(managementserverid UUID) *PrepareForShutdownParams
ReadyForShutdown(p *ReadyForShutdownParams) (*ReadyForShutdownResponse, error)
- NewReadyForShutdownParams() *ReadyForShutdownParams
+ NewReadyForShutdownParams(managementserverid UUID) *ReadyForShutdownParams
TriggerShutdown(p *TriggerShutdownParams) (*TriggerShutdownResponse, error)
NewTriggerShutdownParams(managementserverid UUID) *TriggerShutdownParams
}
@@ -109,12 +109,16 @@ func (s *ManagementService) CancelShutdown(p *CancelShutdownParams) (*CancelShut
}
type CancelShutdownResponse struct {
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Managementserverid UUID `json:"managementserverid"`
- Pendingjobscount int64 `json:"pendingjobscount"`
- Readyforshutdown bool `json:"readyforshutdown"`
- Shutdowntriggered bool `json:"shutdowntriggered"`
+ Agents []string `json:"agents"`
+ Agentscount int64 `json:"agentscount"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Maintenanceinitiated bool `json:"maintenanceinitiated"`
+ Managementserverid UUID `json:"managementserverid"`
+ Pendingjobscount int64 `json:"pendingjobscount"`
+ Readyforshutdown bool `json:"readyforshutdown"`
+ Shutdowntriggered bool `json:"shutdowntriggered"`
+ State string `json:"state"`
}
type ListManagementServersParams struct {
@@ -388,6 +392,8 @@ type ListManagementServersResponse struct {
}
type ManagementServer struct {
+ Agents []string `json:"agents"`
+ Agentscount int64 `json:"agentscount"`
Id string `json:"id"`
Ipaddress string `json:"ipaddress"`
Javadistribution string `json:"javadistribution"`
@@ -395,12 +401,14 @@ type ManagementServer struct {
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Kernelversion string `json:"kernelversion"`
+ Lastagents []string `json:"lastagents"`
Lastboottime string `json:"lastboottime"`
Lastserverstart string `json:"lastserverstart"`
Lastserverstop string `json:"lastserverstop"`
Name string `json:"name"`
Osdistribution string `json:"osdistribution"`
Peers []string `json:"peers"`
+ Pendingjobscount int64 `json:"pendingjobscount"`
Serviceip string `json:"serviceip"`
State string `json:"state"`
Version string `json:"version"`
@@ -703,6 +711,8 @@ type ListManagementServersMetricsResponse struct {
type ManagementServersMetric struct {
Agentcount int `json:"agentcount"`
+ Agents []string `json:"agents"`
+ Agentscount int64 `json:"agentscount"`
Availableprocessors int `json:"availableprocessors"`
Collectiontime string `json:"collectiontime"`
Cpuload string `json:"cpuload"`
@@ -716,6 +726,7 @@ type ManagementServersMetric struct {
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Kernelversion string `json:"kernelversion"`
+ Lastagents []string `json:"lastagents"`
Lastboottime string `json:"lastboottime"`
Lastserverstart string `json:"lastserverstart"`
Lastserverstop string `json:"lastserverstop"`
@@ -723,6 +734,7 @@ type ManagementServersMetric struct {
Name string `json:"name"`
Osdistribution string `json:"osdistribution"`
Peers []string `json:"peers"`
+ Pendingjobscount int64 `json:"pendingjobscount"`
Serviceip string `json:"serviceip"`
Sessions int64 `json:"sessions"`
State string `json:"state"`
@@ -804,12 +816,16 @@ func (s *ManagementService) PrepareForShutdown(p *PrepareForShutdownParams) (*Pr
}
type PrepareForShutdownResponse struct {
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Managementserverid UUID `json:"managementserverid"`
- Pendingjobscount int64 `json:"pendingjobscount"`
- Readyforshutdown bool `json:"readyforshutdown"`
- Shutdowntriggered bool `json:"shutdowntriggered"`
+ Agents []string `json:"agents"`
+ Agentscount int64 `json:"agentscount"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Maintenanceinitiated bool `json:"maintenanceinitiated"`
+ Managementserverid UUID `json:"managementserverid"`
+ Pendingjobscount int64 `json:"pendingjobscount"`
+ Readyforshutdown bool `json:"readyforshutdown"`
+ Shutdowntriggered bool `json:"shutdowntriggered"`
+ State string `json:"state"`
}
type ReadyForShutdownParams struct {
@@ -850,9 +866,10 @@ func (p *ReadyForShutdownParams) GetManagementserverid() (UUID, bool) {
// You should always use this function to get a new ReadyForShutdownParams instance,
// as then you are sure you have configured all required params
-func (s *ManagementService) NewReadyForShutdownParams() *ReadyForShutdownParams {
+func (s *ManagementService) NewReadyForShutdownParams(managementserverid UUID) *ReadyForShutdownParams {
p := &ReadyForShutdownParams{}
p.p = make(map[string]interface{})
+ p.p["managementserverid"] = managementserverid
return p
}
@@ -875,12 +892,16 @@ func (s *ManagementService) ReadyForShutdown(p *ReadyForShutdownParams) (*ReadyF
}
type ReadyForShutdownResponse struct {
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Managementserverid UUID `json:"managementserverid"`
- Pendingjobscount int64 `json:"pendingjobscount"`
- Readyforshutdown bool `json:"readyforshutdown"`
- Shutdowntriggered bool `json:"shutdowntriggered"`
+ Agents []string `json:"agents"`
+ Agentscount int64 `json:"agentscount"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Maintenanceinitiated bool `json:"maintenanceinitiated"`
+ Managementserverid UUID `json:"managementserverid"`
+ Pendingjobscount int64 `json:"pendingjobscount"`
+ Readyforshutdown bool `json:"readyforshutdown"`
+ Shutdowntriggered bool `json:"shutdowntriggered"`
+ State string `json:"state"`
}
type TriggerShutdownParams struct {
@@ -928,7 +949,7 @@ func (s *ManagementService) NewTriggerShutdownParams(managementserverid UUID) *T
return p
}
-// Triggers an automatic safe shutdown of CloudStack by not accepting new jobs and shutting down when all pending jobbs have been completed. Triggers an immediate shutdown if forced
+// Triggers an automatic safe shutdown of CloudStack by not accepting new jobs and shutting down when all pending jobs have been completed.
func (s *ManagementService) TriggerShutdown(p *TriggerShutdownParams) (*TriggerShutdownResponse, error) {
resp, err := s.cs.newPostRequest("triggerShutdown", p.toURLValues())
if err != nil {
@@ -944,10 +965,14 @@ func (s *ManagementService) TriggerShutdown(p *TriggerShutdownParams) (*TriggerS
}
type TriggerShutdownResponse struct {
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Managementserverid UUID `json:"managementserverid"`
- Pendingjobscount int64 `json:"pendingjobscount"`
- Readyforshutdown bool `json:"readyforshutdown"`
- Shutdowntriggered bool `json:"shutdowntriggered"`
+ Agents []string `json:"agents"`
+ Agentscount int64 `json:"agentscount"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Maintenanceinitiated bool `json:"maintenanceinitiated"`
+ Managementserverid UUID `json:"managementserverid"`
+ Pendingjobscount int64 `json:"pendingjobscount"`
+ Readyforshutdown bool `json:"readyforshutdown"`
+ Shutdowntriggered bool `json:"shutdowntriggered"`
+ State string `json:"state"`
}
diff --git a/cloudstack/ManagementService_mock.go b/cloudstack/ManagementService_mock.go
index 5a57d57..cf4bb98 100644
--- a/cloudstack/ManagementService_mock.go
+++ b/cloudstack/ManagementService_mock.go
@@ -286,17 +286,17 @@ func (mr *MockManagementServiceIfaceMockRecorder) NewPrepareForShutdownParams(ma
}
// NewReadyForShutdownParams mocks base method.
-func (m *MockManagementServiceIface) NewReadyForShutdownParams() *ReadyForShutdownParams {
+func (m *MockManagementServiceIface) NewReadyForShutdownParams(managementserverid UUID) *ReadyForShutdownParams {
m.ctrl.T.Helper()
- ret := m.ctrl.Call(m, "NewReadyForShutdownParams")
+ ret := m.ctrl.Call(m, "NewReadyForShutdownParams", managementserverid)
ret0, _ := ret[0].(*ReadyForShutdownParams)
return ret0
}
// NewReadyForShutdownParams indicates an expected call of NewReadyForShutdownParams.
-func (mr *MockManagementServiceIfaceMockRecorder) NewReadyForShutdownParams() *gomock.Call {
+func (mr *MockManagementServiceIfaceMockRecorder) NewReadyForShutdownParams(managementserverid any) *gomock.Call {
mr.mock.ctrl.T.Helper()
- return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewReadyForShutdownParams", reflect.TypeOf((*MockManagementServiceIface)(nil).NewReadyForShutdownParams))
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewReadyForShutdownParams", reflect.TypeOf((*MockManagementServiceIface)(nil).NewReadyForShutdownParams), managementserverid)
}
// NewTriggerShutdownParams mocks base method.
diff --git a/cloudstack/NetworkOfferingService.go b/cloudstack/NetworkOfferingService.go
index 9fa2148..2d670bd 100644
--- a/cloudstack/NetworkOfferingService.go
+++ b/cloudstack/NetworkOfferingService.go
@@ -126,6 +126,9 @@ func (p *CreateNetworkOfferingParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("nsxsupportsinternallb", vv)
}
+ if v, found := p.p["provider"]; found {
+ u.Set("provider", v.(string))
+ }
if v, found := p.p["routingmode"]; found {
u.Set("routingmode", v.(string))
}
@@ -595,6 +598,27 @@ func (p *CreateNetworkOfferingParams) GetNsxsupportsinternallb() (bool, bool) {
return value, ok
}
+func (p *CreateNetworkOfferingParams) SetProvider(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["provider"] = v
+}
+
+func (p *CreateNetworkOfferingParams) ResetProvider() {
+ if p.p != nil && p.p["provider"] != nil {
+ delete(p.p, "provider")
+ }
+}
+
+func (p *CreateNetworkOfferingParams) GetProvider() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["provider"].(string)
+ return value, ok
+}
+
func (p *CreateNetworkOfferingParams) SetRoutingmode(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
diff --git a/cloudstack/NetworkService.go b/cloudstack/NetworkService.go
index 924f1f6..10b35bf 100644
--- a/cloudstack/NetworkService.go
+++ b/cloudstack/NetworkService.go
@@ -2807,7 +2807,6 @@ type DedicatePublicIpRangeResponse struct {
Domainpath string `json:"domainpath"`
Endip string `json:"endip"`
Endipv6 string `json:"endipv6"`
- Fornsx bool `json:"fornsx"`
Forsystemvms bool `json:"forsystemvms"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
Gateway string `json:"gateway"`
@@ -2823,6 +2822,7 @@ type DedicatePublicIpRangeResponse struct {
Podname string `json:"podname"`
Project string `json:"project"`
Projectid string `json:"projectid"`
+ Provider string `json:"provider"`
Startip string `json:"startip"`
Startipv6 string `json:"startipv6"`
Vlan string `json:"vlan"`
diff --git a/cloudstack/NicService.go b/cloudstack/NicService.go
index 5c384fd..3fe8f33 100644
--- a/cloudstack/NicService.go
+++ b/cloudstack/NicService.go
@@ -619,6 +619,9 @@ type UpdateVmNicIpResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -640,6 +643,12 @@ type UpdateVmNicIpResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -681,6 +690,9 @@ type UpdateVmNicIpResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
diff --git a/cloudstack/ObjectStoreService.go b/cloudstack/ObjectStoreService.go
index a881797..2422e00 100644
--- a/cloudstack/ObjectStoreService.go
+++ b/cloudstack/ObjectStoreService.go
@@ -29,7 +29,7 @@ import (
type ObjectStoreServiceIface interface {
CreateBucket(p *CreateBucketParams) (*CreateBucketResponse, error)
- NewCreateBucketParams(name string, objectstorageid string) *CreateBucketParams
+ NewCreateBucketParams(name string, objectstorageid string, quota int) *CreateBucketParams
DeleteBucket(p *DeleteBucketParams) (*DeleteBucketResponse, error)
NewDeleteBucketParams(id string) *DeleteBucketParams
UpdateBucket(p *UpdateBucketParams) (*UpdateBucketResponse, error)
@@ -299,11 +299,12 @@ func (p *CreateBucketParams) GetVersioning() (bool, bool) {
// You should always use this function to get a new CreateBucketParams instance,
// as then you are sure you have configured all required params
-func (s *ObjectStoreService) NewCreateBucketParams(name string, objectstorageid string) *CreateBucketParams {
+func (s *ObjectStoreService) NewCreateBucketParams(name string, objectstorageid string, quota int) *CreateBucketParams {
p := &CreateBucketParams{}
p.p = make(map[string]interface{})
p.p["name"] = name
p.p["objectstorageid"] = objectstorageid
+ p.p["quota"] = quota
return p
}
diff --git a/cloudstack/ObjectStoreService_mock.go b/cloudstack/ObjectStoreService_mock.go
index 41dfa4b..10dbaf6 100644
--- a/cloudstack/ObjectStoreService_mock.go
+++ b/cloudstack/ObjectStoreService_mock.go
@@ -167,17 +167,17 @@ func (mr *MockObjectStoreServiceIfaceMockRecorder) ListBuckets(p any) *gomock.Ca
}
// NewCreateBucketParams mocks base method.
-func (m *MockObjectStoreServiceIface) NewCreateBucketParams(name, objectstorageid string) *CreateBucketParams {
+func (m *MockObjectStoreServiceIface) NewCreateBucketParams(name, objectstorageid string, quota int) *CreateBucketParams {
m.ctrl.T.Helper()
- ret := m.ctrl.Call(m, "NewCreateBucketParams", name, objectstorageid)
+ ret := m.ctrl.Call(m, "NewCreateBucketParams", name, objectstorageid, quota)
ret0, _ := ret[0].(*CreateBucketParams)
return ret0
}
// NewCreateBucketParams indicates an expected call of NewCreateBucketParams.
-func (mr *MockObjectStoreServiceIfaceMockRecorder) NewCreateBucketParams(name, objectstorageid any) *gomock.Call {
+func (mr *MockObjectStoreServiceIfaceMockRecorder) NewCreateBucketParams(name, objectstorageid, quota any) *gomock.Call {
mr.mock.ctrl.T.Helper()
- return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewCreateBucketParams", reflect.TypeOf((*MockObjectStoreServiceIface)(nil).NewCreateBucketParams), name, objectstorageid)
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewCreateBucketParams", reflect.TypeOf((*MockObjectStoreServiceIface)(nil).NewCreateBucketParams), name, objectstorageid, quota)
}
// NewDeleteBucketParams mocks base method.
diff --git a/cloudstack/PodService.go b/cloudstack/PodService.go
index b1cbaa3..9bf7fb7 100644
--- a/cloudstack/PodService.go
+++ b/cloudstack/PodService.go
@@ -282,22 +282,24 @@ func (s *PodService) CreateManagementNetworkIpRange(p *CreateManagementNetworkIp
}
type CreateManagementNetworkIpRangeResponse struct {
- Allocationstate string `json:"allocationstate"`
- Capacity []CreateManagementNetworkIpRangeResponseCapacity `json:"capacity"`
- Endip []string `json:"endip"`
- Forsystemvms []string `json:"forsystemvms"`
- Gateway string `json:"gateway"`
- Hasannotations bool `json:"hasannotations"`
- Id string `json:"id"`
- Ipranges []CreateManagementNetworkIpRangeResponseIpranges `json:"ipranges"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Netmask string `json:"netmask"`
- Startip []string `json:"startip"`
- Vlanid []string `json:"vlanid"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Allocationstate string `json:"allocationstate"`
+ Capacity []CreateManagementNetworkIpRangeResponseCapacity `json:"capacity"`
+ Endip []string `json:"endip"`
+ Forsystemvms []string `json:"forsystemvms"`
+ Gateway string `json:"gateway"`
+ Hasannotations bool `json:"hasannotations"`
+ Id string `json:"id"`
+ Ipranges []CreateManagementNetworkIpRangeResponseIpranges `json:"ipranges"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Netmask string `json:"netmask"`
+ Startip []string `json:"startip"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
+ Vlanid []string `json:"vlanid"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type CreateManagementNetworkIpRangeResponseIpranges struct {
@@ -352,6 +354,10 @@ func (p *CreatePodParams) toURLValues() url.Values {
if v, found := p.p["startip"]; found {
u.Set("startip", v.(string))
}
+ if v, found := p.p["storageaccessgroups"]; found {
+ vv := strings.Join(v.([]string), ",")
+ u.Set("storageaccessgroups", vv)
+ }
if v, found := p.p["zoneid"]; found {
u.Set("zoneid", v.(string))
}
@@ -484,6 +490,27 @@ func (p *CreatePodParams) GetStartip() (string, bool) {
return value, ok
}
+func (p *CreatePodParams) SetStorageaccessgroups(v []string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storageaccessgroups"] = v
+}
+
+func (p *CreatePodParams) ResetStorageaccessgroups() {
+ if p.p != nil && p.p["storageaccessgroups"] != nil {
+ delete(p.p, "storageaccessgroups")
+ }
+}
+
+func (p *CreatePodParams) GetStorageaccessgroups() ([]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["storageaccessgroups"].([]string)
+ return value, ok
+}
+
func (p *CreatePodParams) SetZoneid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -535,22 +562,24 @@ func (s *PodService) CreatePod(p *CreatePodParams) (*CreatePodResponse, error) {
}
type CreatePodResponse struct {
- Allocationstate string `json:"allocationstate"`
- Capacity []CreatePodResponseCapacity `json:"capacity"`
- Endip []string `json:"endip"`
- Forsystemvms []string `json:"forsystemvms"`
- Gateway string `json:"gateway"`
- Hasannotations bool `json:"hasannotations"`
- Id string `json:"id"`
- Ipranges []CreatePodResponseIpranges `json:"ipranges"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Netmask string `json:"netmask"`
- Startip []string `json:"startip"`
- Vlanid []string `json:"vlanid"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Allocationstate string `json:"allocationstate"`
+ Capacity []CreatePodResponseCapacity `json:"capacity"`
+ Endip []string `json:"endip"`
+ Forsystemvms []string `json:"forsystemvms"`
+ Gateway string `json:"gateway"`
+ Hasannotations bool `json:"hasannotations"`
+ Id string `json:"id"`
+ Ipranges []CreatePodResponseIpranges `json:"ipranges"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Netmask string `json:"netmask"`
+ Startip []string `json:"startip"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
+ Vlanid []string `json:"vlanid"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type CreatePodResponseIpranges struct {
@@ -1223,6 +1252,9 @@ func (p *ListPodsParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("showcapacities", vv)
}
+ if v, found := p.p["storageaccessgroup"]; found {
+ u.Set("storageaccessgroup", v.(string))
+ }
if v, found := p.p["zoneid"]; found {
u.Set("zoneid", v.(string))
}
@@ -1376,6 +1408,27 @@ func (p *ListPodsParams) GetShowcapacities() (bool, bool) {
return value, ok
}
+func (p *ListPodsParams) SetStorageaccessgroup(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storageaccessgroup"] = v
+}
+
+func (p *ListPodsParams) ResetStorageaccessgroup() {
+ if p.p != nil && p.p["storageaccessgroup"] != nil {
+ delete(p.p, "storageaccessgroup")
+ }
+}
+
+func (p *ListPodsParams) GetStorageaccessgroup() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["storageaccessgroup"].(string)
+ return value, ok
+}
+
func (p *ListPodsParams) SetZoneid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1509,22 +1562,24 @@ type ListPodsResponse struct {
}
type Pod struct {
- Allocationstate string `json:"allocationstate"`
- Capacity []PodCapacity `json:"capacity"`
- Endip []string `json:"endip"`
- Forsystemvms []string `json:"forsystemvms"`
- Gateway string `json:"gateway"`
- Hasannotations bool `json:"hasannotations"`
- Id string `json:"id"`
- Ipranges []PodIpranges `json:"ipranges"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Netmask string `json:"netmask"`
- Startip []string `json:"startip"`
- Vlanid []string `json:"vlanid"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Allocationstate string `json:"allocationstate"`
+ Capacity []PodCapacity `json:"capacity"`
+ Endip []string `json:"endip"`
+ Forsystemvms []string `json:"forsystemvms"`
+ Gateway string `json:"gateway"`
+ Hasannotations bool `json:"hasannotations"`
+ Id string `json:"id"`
+ Ipranges []PodIpranges `json:"ipranges"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Netmask string `json:"netmask"`
+ Startip []string `json:"startip"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
+ Vlanid []string `json:"vlanid"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type PodIpranges struct {
@@ -1843,22 +1898,24 @@ func (s *PodService) UpdatePod(p *UpdatePodParams) (*UpdatePodResponse, error) {
}
type UpdatePodResponse struct {
- Allocationstate string `json:"allocationstate"`
- Capacity []UpdatePodResponseCapacity `json:"capacity"`
- Endip []string `json:"endip"`
- Forsystemvms []string `json:"forsystemvms"`
- Gateway string `json:"gateway"`
- Hasannotations bool `json:"hasannotations"`
- Id string `json:"id"`
- Ipranges []UpdatePodResponseIpranges `json:"ipranges"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Netmask string `json:"netmask"`
- Startip []string `json:"startip"`
- Vlanid []string `json:"vlanid"`
- Zoneid string `json:"zoneid"`
- Zonename string `json:"zonename"`
+ Allocationstate string `json:"allocationstate"`
+ Capacity []UpdatePodResponseCapacity `json:"capacity"`
+ Endip []string `json:"endip"`
+ Forsystemvms []string `json:"forsystemvms"`
+ Gateway string `json:"gateway"`
+ Hasannotations bool `json:"hasannotations"`
+ Id string `json:"id"`
+ Ipranges []UpdatePodResponseIpranges `json:"ipranges"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Netmask string `json:"netmask"`
+ Startip []string `json:"startip"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
+ Vlanid []string `json:"vlanid"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+ Zonestorageaccessgroups string `json:"zonestorageaccessgroups"`
}
type UpdatePodResponseIpranges struct {
diff --git a/cloudstack/PoolService.go b/cloudstack/PoolService.go
index d074b04..885a44c 100644
--- a/cloudstack/PoolService.go
+++ b/cloudstack/PoolService.go
@@ -96,6 +96,9 @@ func (p *CreateStoragePoolParams) toURLValues() url.Values {
if v, found := p.p["scope"]; found {
u.Set("scope", v.(string))
}
+ if v, found := p.p["storageaccessgroups"]; found {
+ u.Set("storageaccessgroups", v.(string))
+ }
if v, found := p.p["tags"]; found {
u.Set("tags", v.(string))
}
@@ -339,6 +342,27 @@ func (p *CreateStoragePoolParams) GetScope() (string, bool) {
return value, ok
}
+func (p *CreateStoragePoolParams) SetStorageaccessgroups(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storageaccessgroups"] = v
+}
+
+func (p *CreateStoragePoolParams) ResetStorageaccessgroups() {
+ if p.p != nil && p.p["storageaccessgroups"] != nil {
+ delete(p.p, "storageaccessgroups")
+ }
+}
+
+func (p *CreateStoragePoolParams) GetStorageaccessgroups() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["storageaccessgroups"].(string)
+ return value, ok
+}
+
func (p *CreateStoragePoolParams) SetTags(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -438,6 +462,7 @@ type CreateStoragePoolResponse struct {
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
Created string `json:"created"`
+ Details map[string]string `json:"details"`
Disksizeallocated int64 `json:"disksizeallocated"`
Disksizetotal int64 `json:"disksizetotal"`
Disksizeused int64 `json:"disksizeused"`
@@ -458,6 +483,7 @@ type CreateStoragePoolResponse struct {
Provider string `json:"provider"`
Scope string `json:"scope"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Storagecapabilities map[string]string `json:"storagecapabilities"`
Storagecustomstats map[string]string `json:"storagecustomstats"`
Suitableformigration bool `json:"suitableformigration"`
@@ -727,6 +753,7 @@ type FindStoragePoolsForMigrationResponse struct {
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
Created string `json:"created"`
+ Details map[string]string `json:"details"`
Disksizeallocated int64 `json:"disksizeallocated"`
Disksizetotal int64 `json:"disksizetotal"`
Disksizeused int64 `json:"disksizeused"`
@@ -747,6 +774,7 @@ type FindStoragePoolsForMigrationResponse struct {
Provider string `json:"provider"`
Scope string `json:"scope"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Storagecapabilities map[string]string `json:"storagecapabilities"`
Storagecustomstats map[string]string `json:"storagecustomstats"`
Suitableformigration bool `json:"suitableformigration"`
@@ -881,6 +909,9 @@ func (p *ListStoragePoolsParams) toURLValues() url.Values {
if v, found := p.p["status"]; found {
u.Set("status", v.(string))
}
+ if v, found := p.p["storageaccessgroup"]; found {
+ u.Set("storageaccessgroup", v.(string))
+ }
if v, found := p.p["storagecustomstats"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("storagecustomstats", vv)
@@ -1143,6 +1174,27 @@ func (p *ListStoragePoolsParams) GetStatus() (string, bool) {
return value, ok
}
+func (p *ListStoragePoolsParams) SetStorageaccessgroup(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storageaccessgroup"] = v
+}
+
+func (p *ListStoragePoolsParams) ResetStorageaccessgroup() {
+ if p.p != nil && p.p["storageaccessgroup"] != nil {
+ delete(p.p, "storageaccessgroup")
+ }
+}
+
+func (p *ListStoragePoolsParams) GetStorageaccessgroup() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["storageaccessgroup"].(string)
+ return value, ok
+}
+
func (p *ListStoragePoolsParams) SetStoragecustomstats(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1302,6 +1354,7 @@ type StoragePool struct {
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
Created string `json:"created"`
+ Details map[string]string `json:"details"`
Disksizeallocated int64 `json:"disksizeallocated"`
Disksizetotal int64 `json:"disksizetotal"`
Disksizeused int64 `json:"disksizeused"`
@@ -1322,6 +1375,7 @@ type StoragePool struct {
Provider string `json:"provider"`
Scope string `json:"scope"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Storagecapabilities map[string]string `json:"storagecapabilities"`
Storagecustomstats map[string]string `json:"storagecustomstats"`
Suitableformigration bool `json:"suitableformigration"`
@@ -1418,6 +1472,7 @@ type SyncStoragePoolResponse struct {
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
Created string `json:"created"`
+ Details map[string]string `json:"details"`
Disksizeallocated int64 `json:"disksizeallocated"`
Disksizetotal int64 `json:"disksizetotal"`
Disksizeused int64 `json:"disksizeused"`
@@ -1438,6 +1493,7 @@ type SyncStoragePoolResponse struct {
Provider string `json:"provider"`
Scope string `json:"scope"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Storagecapabilities map[string]string `json:"storagecapabilities"`
Storagecustomstats map[string]string `json:"storagecustomstats"`
Suitableformigration bool `json:"suitableformigration"`
@@ -1714,6 +1770,7 @@ type UpdateStoragePoolResponse struct {
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
Created string `json:"created"`
+ Details map[string]string `json:"details"`
Disksizeallocated int64 `json:"disksizeallocated"`
Disksizetotal int64 `json:"disksizetotal"`
Disksizeused int64 `json:"disksizeused"`
@@ -1734,6 +1791,7 @@ type UpdateStoragePoolResponse struct {
Provider string `json:"provider"`
Scope string `json:"scope"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Storagecapabilities map[string]string `json:"storagecapabilities"`
Storagecustomstats map[string]string `json:"storagecustomstats"`
Suitableformigration bool `json:"suitableformigration"`
diff --git a/cloudstack/ProjectService.go b/cloudstack/ProjectService.go
index 8b2c75a..bbafee4 100644
--- a/cloudstack/ProjectService.go
+++ b/cloudstack/ProjectService.go
@@ -155,6 +155,15 @@ func (s *ProjectService) ActivateProject(p *ActivateProjectParams) (*ActivatePro
}
type ActivateProjectResponse struct {
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
@@ -162,6 +171,9 @@ type ActivateProjectResponse struct {
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
Ipavailable string `json:"ipavailable"`
@@ -176,6 +188,9 @@ type ActivateProjectResponse struct {
Networkavailable string `json:"networkavailable"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Owner []map[string]string `json:"owner"`
Primarystorageavailable string `json:"primarystorageavailable"`
Primarystoragelimit string `json:"primarystoragelimit"`
@@ -765,6 +780,15 @@ func (s *ProjectService) CreateProject(p *CreateProjectParams) (*CreateProjectRe
}
type CreateProjectResponse struct {
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
@@ -772,6 +796,9 @@ type CreateProjectResponse struct {
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
Ipavailable string `json:"ipavailable"`
@@ -786,6 +813,9 @@ type CreateProjectResponse struct {
Networkavailable string `json:"networkavailable"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Owner []map[string]string `json:"owner"`
Primarystorageavailable string `json:"primarystorageavailable"`
Primarystoragelimit string `json:"primarystoragelimit"`
@@ -2094,6 +2124,15 @@ type ListProjectsResponse struct {
}
type Project struct {
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
@@ -2101,6 +2140,9 @@ type Project struct {
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
Ipavailable string `json:"ipavailable"`
@@ -2115,6 +2157,9 @@ type Project struct {
Networkavailable string `json:"networkavailable"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Owner []map[string]string `json:"owner"`
Primarystorageavailable string `json:"primarystorageavailable"`
Primarystoragelimit string `json:"primarystoragelimit"`
@@ -2226,6 +2271,15 @@ func (s *ProjectService) SuspendProject(p *SuspendProjectParams) (*SuspendProjec
}
type SuspendProjectResponse struct {
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
@@ -2233,6 +2287,9 @@ type SuspendProjectResponse struct {
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
Ipavailable string `json:"ipavailable"`
@@ -2247,6 +2304,9 @@ type SuspendProjectResponse struct {
Networkavailable string `json:"networkavailable"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Owner []map[string]string `json:"owner"`
Primarystorageavailable string `json:"primarystorageavailable"`
Primarystoragelimit string `json:"primarystoragelimit"`
@@ -2503,6 +2563,15 @@ func (s *ProjectService) UpdateProject(p *UpdateProjectParams) (*UpdateProjectRe
}
type UpdateProjectResponse struct {
+ Backupavailable string `json:"backupavailable"`
+ Backuplimit string `json:"backuplimit"`
+ Backupstorageavailable string `json:"backupstorageavailable"`
+ Backupstoragelimit string `json:"backupstoragelimit"`
+ Backupstoragetotal int64 `json:"backupstoragetotal"`
+ Backuptotal int64 `json:"backuptotal"`
+ Bucketavailable string `json:"bucketavailable"`
+ Bucketlimit string `json:"bucketlimit"`
+ Buckettotal int64 `json:"buckettotal"`
Cpuavailable string `json:"cpuavailable"`
Cpulimit string `json:"cpulimit"`
Cputotal int64 `json:"cputotal"`
@@ -2510,6 +2579,9 @@ type UpdateProjectResponse struct {
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
+ Gpuavailable string `json:"gpuavailable"`
+ Gpulimit string `json:"gpulimit"`
+ Gputotal int64 `json:"gputotal"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
Ipavailable string `json:"ipavailable"`
@@ -2524,6 +2596,9 @@ type UpdateProjectResponse struct {
Networkavailable string `json:"networkavailable"`
Networklimit string `json:"networklimit"`
Networktotal int64 `json:"networktotal"`
+ Objectstorageavailable string `json:"objectstorageavailable"`
+ Objectstoragelimit string `json:"objectstoragelimit"`
+ Objectstoragetotal int64 `json:"objectstoragetotal"`
Owner []map[string]string `json:"owner"`
Primarystorageavailable string `json:"primarystorageavailable"`
Primarystoragelimit string `json:"primarystoragelimit"`
diff --git a/cloudstack/QuotaService.go b/cloudstack/QuotaService.go
index fa4ba77..ac50a38 100644
--- a/cloudstack/QuotaService.go
+++ b/cloudstack/QuotaService.go
@@ -378,12 +378,13 @@ func (s *QuotaService) QuotaCredits(p *QuotaCreditsParams) (*QuotaCreditsRespons
}
type QuotaCreditsResponse struct {
- Credits float64 `json:"credits"`
- Currency string `json:"currency"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Updated_by string `json:"updated_by"`
- Updated_on string `json:"updated_on"`
+ Credit float64 `json:"credit"`
+ Creditedon string `json:"creditedon"`
+ Creditoruserid string `json:"creditoruserid"`
+ Creditorusername string `json:"creditorusername"`
+ Currency string `json:"currency"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
}
type QuotaIsEnabledParams struct {
diff --git a/cloudstack/SSHService.go b/cloudstack/SSHService.go
index 03c2ec8..30038d4 100644
--- a/cloudstack/SSHService.go
+++ b/cloudstack/SSHService.go
@@ -1169,6 +1169,9 @@ type ResetSSHKeyForVirtualMachineResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -1190,6 +1193,12 @@ type ResetSSHKeyForVirtualMachineResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -1231,6 +1240,9 @@ type ResetSSHKeyForVirtualMachineResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
diff --git a/cloudstack/ServiceOfferingService.go b/cloudstack/ServiceOfferingService.go
index d55a688..61238ab 100644
--- a/cloudstack/ServiceOfferingService.go
+++ b/cloudstack/ServiceOfferingService.go
@@ -118,6 +118,21 @@ func (p *CreateServiceOfferingParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("encryptroot", vv)
}
+ if v, found := p.p["externaldetails"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("externaldetails[%d].key", i), k)
+ u.Set(fmt.Sprintf("externaldetails[%d].value", i), m[k])
+ }
+ }
+ if v, found := p.p["gpucount"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("gpucount", vv)
+ }
+ if v, found := p.p["gpudisplay"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("gpudisplay", vv)
+ }
if v, found := p.p["hosttags"]; found {
u.Set("hosttags", v.(string))
}
@@ -157,6 +172,13 @@ func (p *CreateServiceOfferingParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("isvolatile", vv)
}
+ if v, found := p.p["leaseduration"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("leaseduration", vv)
+ }
+ if v, found := p.p["leaseexpiryaction"]; found {
+ u.Set("leaseexpiryaction", v.(string))
+ }
if v, found := p.p["limitcpuuse"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("limitcpuuse", vv)
@@ -230,6 +252,9 @@ func (p *CreateServiceOfferingParams) toURLValues() url.Values {
if v, found := p.p["tags"]; found {
u.Set("tags", v.(string))
}
+ if v, found := p.p["vgpuprofileid"]; found {
+ u.Set("vgpuprofileid", v.(string))
+ }
if v, found := p.p["zoneid"]; found {
vv := strings.Join(v.([]string), ",")
u.Set("zoneid", vv)
@@ -615,6 +640,69 @@ func (p *CreateServiceOfferingParams) GetEncryptroot() (bool, bool) {
return value, ok
}
+func (p *CreateServiceOfferingParams) SetExternaldetails(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["externaldetails"] = v
+}
+
+func (p *CreateServiceOfferingParams) ResetExternaldetails() {
+ if p.p != nil && p.p["externaldetails"] != nil {
+ delete(p.p, "externaldetails")
+ }
+}
+
+func (p *CreateServiceOfferingParams) GetExternaldetails() (map[string]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["externaldetails"].(map[string]string)
+ return value, ok
+}
+
+func (p *CreateServiceOfferingParams) SetGpucount(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["gpucount"] = v
+}
+
+func (p *CreateServiceOfferingParams) ResetGpucount() {
+ if p.p != nil && p.p["gpucount"] != nil {
+ delete(p.p, "gpucount")
+ }
+}
+
+func (p *CreateServiceOfferingParams) GetGpucount() (int, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["gpucount"].(int)
+ return value, ok
+}
+
+func (p *CreateServiceOfferingParams) SetGpudisplay(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["gpudisplay"] = v
+}
+
+func (p *CreateServiceOfferingParams) ResetGpudisplay() {
+ if p.p != nil && p.p["gpudisplay"] != nil {
+ delete(p.p, "gpudisplay")
+ }
+}
+
+func (p *CreateServiceOfferingParams) GetGpudisplay() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["gpudisplay"].(bool)
+ return value, ok
+}
+
func (p *CreateServiceOfferingParams) SetHosttags(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -825,6 +913,48 @@ func (p *CreateServiceOfferingParams) GetIsvolatile() (bool, bool) {
return value, ok
}
+func (p *CreateServiceOfferingParams) SetLeaseduration(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["leaseduration"] = v
+}
+
+func (p *CreateServiceOfferingParams) ResetLeaseduration() {
+ if p.p != nil && p.p["leaseduration"] != nil {
+ delete(p.p, "leaseduration")
+ }
+}
+
+func (p *CreateServiceOfferingParams) GetLeaseduration() (int, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["leaseduration"].(int)
+ return value, ok
+}
+
+func (p *CreateServiceOfferingParams) SetLeaseexpiryaction(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["leaseexpiryaction"] = v
+}
+
+func (p *CreateServiceOfferingParams) ResetLeaseexpiryaction() {
+ if p.p != nil && p.p["leaseexpiryaction"] != nil {
+ delete(p.p, "leaseexpiryaction")
+ }
+}
+
+func (p *CreateServiceOfferingParams) GetLeaseexpiryaction() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["leaseexpiryaction"].(string)
+ return value, ok
+}
+
func (p *CreateServiceOfferingParams) SetLimitcpuuse(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1224,6 +1354,27 @@ func (p *CreateServiceOfferingParams) GetTags() (string, bool) {
return value, ok
}
+func (p *CreateServiceOfferingParams) SetVgpuprofileid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["vgpuprofileid"] = v
+}
+
+func (p *CreateServiceOfferingParams) ResetVgpuprofileid() {
+ if p.p != nil && p.p["vgpuprofileid"] != nil {
+ delete(p.p, "vgpuprofileid")
+ }
+}
+
+func (p *CreateServiceOfferingParams) GetVgpuprofileid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["vgpuprofileid"].(string)
+ return value, ok
+}
+
func (p *CreateServiceOfferingParams) SetZoneid(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1302,6 +1453,10 @@ type CreateServiceOfferingResponse struct {
Domainid string `json:"domainid"`
Dynamicscalingenabled bool `json:"dynamicscalingenabled"`
Encryptroot bool `json:"encryptroot"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
+ Gpudisplay bool `json:"gpudisplay"`
Hasannotations bool `json:"hasannotations"`
Hosttags string `json:"hosttags"`
Hypervisorsnapshotreserve int `json:"hypervisorsnapshotreserve"`
@@ -1312,8 +1467,13 @@ type CreateServiceOfferingResponse struct {
Isvolatile bool `json:"isvolatile"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
Limitcpuuse bool `json:"limitcpuuse"`
+ Maxheads int64 `json:"maxheads"`
Maxiops int64 `json:"maxiops"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Miniops int64 `json:"miniops"`
Name string `json:"name"`
@@ -1327,6 +1487,9 @@ type CreateServiceOfferingResponse struct {
Storagetags string `json:"storagetags"`
Storagetype string `json:"storagetype"`
Systemvmtype string `json:"systemvmtype"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vspherestoragepolicy string `json:"vspherestoragepolicy"`
Zone string `json:"zone"`
Zoneid string `json:"zoneid"`
@@ -1453,6 +1616,10 @@ func (p *ListServiceOfferingsParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("encryptroot", vv)
}
+ if v, found := p.p["gpuenabled"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("gpuenabled", vv)
+ }
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
@@ -1501,6 +1668,9 @@ func (p *ListServiceOfferingsParams) toURLValues() url.Values {
if v, found := p.p["templateid"]; found {
u.Set("templateid", v.(string))
}
+ if v, found := p.p["vgpuprofileid"]; found {
+ u.Set("vgpuprofileid", v.(string))
+ }
if v, found := p.p["virtualmachineid"]; found {
u.Set("virtualmachineid", v.(string))
}
@@ -1615,6 +1785,27 @@ func (p *ListServiceOfferingsParams) GetEncryptroot() (bool, bool) {
return value, ok
}
+func (p *ListServiceOfferingsParams) SetGpuenabled(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["gpuenabled"] = v
+}
+
+func (p *ListServiceOfferingsParams) ResetGpuenabled() {
+ if p.p != nil && p.p["gpuenabled"] != nil {
+ delete(p.p, "gpuenabled")
+ }
+}
+
+func (p *ListServiceOfferingsParams) GetGpuenabled() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["gpuenabled"].(bool)
+ return value, ok
+}
+
func (p *ListServiceOfferingsParams) SetId(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1909,6 +2100,27 @@ func (p *ListServiceOfferingsParams) GetTemplateid() (string, bool) {
return value, ok
}
+func (p *ListServiceOfferingsParams) SetVgpuprofileid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["vgpuprofileid"] = v
+}
+
+func (p *ListServiceOfferingsParams) ResetVgpuprofileid() {
+ if p.p != nil && p.p["vgpuprofileid"] != nil {
+ delete(p.p, "vgpuprofileid")
+ }
+}
+
+func (p *ListServiceOfferingsParams) GetVgpuprofileid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["vgpuprofileid"].(string)
+ return value, ok
+}
+
func (p *ListServiceOfferingsParams) SetVirtualmachineid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2090,6 +2302,10 @@ type ServiceOffering struct {
Domainid string `json:"domainid"`
Dynamicscalingenabled bool `json:"dynamicscalingenabled"`
Encryptroot bool `json:"encryptroot"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
+ Gpudisplay bool `json:"gpudisplay"`
Hasannotations bool `json:"hasannotations"`
Hosttags string `json:"hosttags"`
Hypervisorsnapshotreserve int `json:"hypervisorsnapshotreserve"`
@@ -2100,8 +2316,13 @@ type ServiceOffering struct {
Isvolatile bool `json:"isvolatile"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
Limitcpuuse bool `json:"limitcpuuse"`
+ Maxheads int64 `json:"maxheads"`
Maxiops int64 `json:"maxiops"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Miniops int64 `json:"miniops"`
Name string `json:"name"`
@@ -2115,6 +2336,9 @@ type ServiceOffering struct {
Storagetags string `json:"storagetags"`
Storagetype string `json:"storagetype"`
Systemvmtype string `json:"systemvmtype"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vspherestoragepolicy string `json:"vspherestoragepolicy"`
Zone string `json:"zone"`
Zoneid string `json:"zoneid"`
@@ -2135,6 +2359,13 @@ func (p *UpdateServiceOfferingParams) toURLValues() url.Values {
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
+ if v, found := p.p["externaldetails"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("externaldetails[%d].key", i), k)
+ u.Set(fmt.Sprintf("externaldetails[%d].value", i), m[k])
+ }
+ }
if v, found := p.p["hosttags"]; found {
u.Set("hosttags", v.(string))
}
@@ -2206,6 +2437,27 @@ func (p *UpdateServiceOfferingParams) GetDomainid() (string, bool) {
return value, ok
}
+func (p *UpdateServiceOfferingParams) SetExternaldetails(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["externaldetails"] = v
+}
+
+func (p *UpdateServiceOfferingParams) ResetExternaldetails() {
+ if p.p != nil && p.p["externaldetails"] != nil {
+ delete(p.p, "externaldetails")
+ }
+}
+
+func (p *UpdateServiceOfferingParams) GetExternaldetails() (map[string]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["externaldetails"].(map[string]string)
+ return value, ok
+}
+
func (p *UpdateServiceOfferingParams) SetHosttags(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2430,6 +2682,10 @@ type UpdateServiceOfferingResponse struct {
Domainid string `json:"domainid"`
Dynamicscalingenabled bool `json:"dynamicscalingenabled"`
Encryptroot bool `json:"encryptroot"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
+ Gpudisplay bool `json:"gpudisplay"`
Hasannotations bool `json:"hasannotations"`
Hosttags string `json:"hosttags"`
Hypervisorsnapshotreserve int `json:"hypervisorsnapshotreserve"`
@@ -2440,8 +2696,13 @@ type UpdateServiceOfferingResponse struct {
Isvolatile bool `json:"isvolatile"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
Limitcpuuse bool `json:"limitcpuuse"`
+ Maxheads int64 `json:"maxheads"`
Maxiops int64 `json:"maxiops"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Miniops int64 `json:"miniops"`
Name string `json:"name"`
@@ -2455,6 +2716,9 @@ type UpdateServiceOfferingResponse struct {
Storagetags string `json:"storagetags"`
Storagetype string `json:"storagetype"`
Systemvmtype string `json:"systemvmtype"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vspherestoragepolicy string `json:"vspherestoragepolicy"`
Zone string `json:"zone"`
Zoneid string `json:"zoneid"`
diff --git a/cloudstack/SnapshotService.go b/cloudstack/SnapshotService.go
index 5c0102d..b1a148a 100644
--- a/cloudstack/SnapshotService.go
+++ b/cloudstack/SnapshotService.go
@@ -149,6 +149,7 @@ func (s *SnapshotService) ArchiveSnapshot(p *ArchiveSnapshotParams) (*ArchiveSna
type ArchiveSnapshotResponse struct {
Account string `json:"account"`
+ Chainsize int64 `json:"chainsize"`
Created string `json:"created"`
Datastoreid string `json:"datastoreid"`
Datastorename string `json:"datastorename"`
@@ -233,6 +234,14 @@ func (p *CopySnapshotParams) toURLValues() url.Values {
if v, found := p.p["sourcezoneid"]; found {
u.Set("sourcezoneid", v.(string))
}
+ if v, found := p.p["storageids"]; found {
+ vv := strings.Join(v.([]string), ",")
+ u.Set("storageids", vv)
+ }
+ if v, found := p.p["usestoragereplication"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("usestoragereplication", vv)
+ }
return u
}
@@ -320,6 +329,48 @@ func (p *CopySnapshotParams) GetSourcezoneid() (string, bool) {
return value, ok
}
+func (p *CopySnapshotParams) SetStorageids(v []string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storageids"] = v
+}
+
+func (p *CopySnapshotParams) ResetStorageids() {
+ if p.p != nil && p.p["storageids"] != nil {
+ delete(p.p, "storageids")
+ }
+}
+
+func (p *CopySnapshotParams) GetStorageids() ([]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["storageids"].([]string)
+ return value, ok
+}
+
+func (p *CopySnapshotParams) SetUsestoragereplication(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["usestoragereplication"] = v
+}
+
+func (p *CopySnapshotParams) ResetUsestoragereplication() {
+ if p.p != nil && p.p["usestoragereplication"] != nil {
+ delete(p.p, "usestoragereplication")
+ }
+}
+
+func (p *CopySnapshotParams) GetUsestoragereplication() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["usestoragereplication"].(bool)
+ return value, ok
+}
+
// You should always use this function to get a new CopySnapshotParams instance,
// as then you are sure you have configured all required params
func (s *SnapshotService) NewCopySnapshotParams(id string) *CopySnapshotParams {
@@ -366,6 +417,7 @@ func (s *SnapshotService) CopySnapshot(p *CopySnapshotParams) (*CopySnapshotResp
type CopySnapshotResponse struct {
Account string `json:"account"`
+ Chainsize int64 `json:"chainsize"`
Created string `json:"created"`
Datastoreid string `json:"datastoreid"`
Datastorename string `json:"datastorename"`
@@ -460,6 +512,10 @@ func (p *CreateSnapshotParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("quiescevm", vv)
}
+ if v, found := p.p["storageids"]; found {
+ vv := strings.Join(v.([]string), ",")
+ u.Set("storageids", vv)
+ }
if v, found := p.p["tags"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
@@ -467,6 +523,10 @@ func (p *CreateSnapshotParams) toURLValues() url.Values {
u.Set(fmt.Sprintf("tags[%d].value", i), m[k])
}
}
+ if v, found := p.p["usestoragereplication"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("usestoragereplication", vv)
+ }
if v, found := p.p["volumeid"]; found {
u.Set("volumeid", v.(string))
}
@@ -624,6 +684,27 @@ func (p *CreateSnapshotParams) GetQuiescevm() (bool, bool) {
return value, ok
}
+func (p *CreateSnapshotParams) SetStorageids(v []string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storageids"] = v
+}
+
+func (p *CreateSnapshotParams) ResetStorageids() {
+ if p.p != nil && p.p["storageids"] != nil {
+ delete(p.p, "storageids")
+ }
+}
+
+func (p *CreateSnapshotParams) GetStorageids() ([]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["storageids"].([]string)
+ return value, ok
+}
+
func (p *CreateSnapshotParams) SetTags(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -645,6 +726,27 @@ func (p *CreateSnapshotParams) GetTags() (map[string]string, bool) {
return value, ok
}
+func (p *CreateSnapshotParams) SetUsestoragereplication(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["usestoragereplication"] = v
+}
+
+func (p *CreateSnapshotParams) ResetUsestoragereplication() {
+ if p.p != nil && p.p["usestoragereplication"] != nil {
+ delete(p.p, "usestoragereplication")
+ }
+}
+
+func (p *CreateSnapshotParams) GetUsestoragereplication() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["usestoragereplication"].(bool)
+ return value, ok
+}
+
func (p *CreateSnapshotParams) SetVolumeid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -733,6 +835,7 @@ func (s *SnapshotService) CreateSnapshot(p *CreateSnapshotParams) (*CreateSnapsh
type CreateSnapshotResponse struct {
Account string `json:"account"`
+ Chainsize int64 `json:"chainsize"`
Created string `json:"created"`
Datastoreid string `json:"datastoreid"`
Datastorename string `json:"datastorename"`
@@ -926,6 +1029,7 @@ func (s *SnapshotService) CreateSnapshotFromVMSnapshot(p *CreateSnapshotFromVMSn
type CreateSnapshotFromVMSnapshotResponse struct {
Account string `json:"account"`
+ Chainsize int64 `json:"chainsize"`
Created string `json:"created"`
Datastoreid string `json:"datastoreid"`
Datastorename string `json:"datastorename"`
@@ -1011,6 +1115,10 @@ func (p *CreateSnapshotPolicyParams) toURLValues() url.Values {
if v, found := p.p["schedule"]; found {
u.Set("schedule", v.(string))
}
+ if v, found := p.p["storageids"]; found {
+ vv := strings.Join(v.([]string), ",")
+ u.Set("storageids", vv)
+ }
if v, found := p.p["tags"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
@@ -1021,6 +1129,10 @@ func (p *CreateSnapshotPolicyParams) toURLValues() url.Values {
if v, found := p.p["timezone"]; found {
u.Set("timezone", v.(string))
}
+ if v, found := p.p["usestoragereplication"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("usestoragereplication", vv)
+ }
if v, found := p.p["volumeid"]; found {
u.Set("volumeid", v.(string))
}
@@ -1115,6 +1227,27 @@ func (p *CreateSnapshotPolicyParams) GetSchedule() (string, bool) {
return value, ok
}
+func (p *CreateSnapshotPolicyParams) SetStorageids(v []string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storageids"] = v
+}
+
+func (p *CreateSnapshotPolicyParams) ResetStorageids() {
+ if p.p != nil && p.p["storageids"] != nil {
+ delete(p.p, "storageids")
+ }
+}
+
+func (p *CreateSnapshotPolicyParams) GetStorageids() ([]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["storageids"].([]string)
+ return value, ok
+}
+
func (p *CreateSnapshotPolicyParams) SetTags(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1157,6 +1290,27 @@ func (p *CreateSnapshotPolicyParams) GetTimezone() (string, bool) {
return value, ok
}
+func (p *CreateSnapshotPolicyParams) SetUsestoragereplication(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["usestoragereplication"] = v
+}
+
+func (p *CreateSnapshotPolicyParams) ResetUsestoragereplication() {
+ if p.p != nil && p.p["usestoragereplication"] != nil {
+ delete(p.p, "usestoragereplication")
+ }
+}
+
+func (p *CreateSnapshotPolicyParams) GetUsestoragereplication() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["usestoragereplication"].(bool)
+ return value, ok
+}
+
func (p *CreateSnapshotPolicyParams) SetVolumeid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1236,6 +1390,7 @@ type CreateSnapshotPolicyResponse struct {
Jobstatus int `json:"jobstatus"`
Maxsnaps int `json:"maxsnaps"`
Schedule string `json:"schedule"`
+ Storage []interface{} `json:"storage"`
Tags []Tags `json:"tags"`
Timezone string `json:"timezone"`
Volumeid string `json:"volumeid"`
@@ -2107,6 +2262,7 @@ type SnapshotPolicy struct {
Jobstatus int `json:"jobstatus"`
Maxsnaps int `json:"maxsnaps"`
Schedule string `json:"schedule"`
+ Storage []interface{} `json:"storage"`
Tags []Tags `json:"tags"`
Timezone string `json:"timezone"`
Volumeid string `json:"volumeid"`
@@ -2728,6 +2884,7 @@ type ListSnapshotsResponse struct {
type Snapshot struct {
Account string `json:"account"`
+ Chainsize int64 `json:"chainsize"`
Created string `json:"created"`
Datastoreid string `json:"datastoreid"`
Datastorename string `json:"datastorename"`
@@ -3321,6 +3478,7 @@ func (s *SnapshotService) RevertSnapshot(p *RevertSnapshotParams) (*RevertSnapsh
type RevertSnapshotResponse struct {
Account string `json:"account"`
+ Chainsize int64 `json:"chainsize"`
Created string `json:"created"`
Datastoreid string `json:"datastoreid"`
Datastorename string `json:"datastorename"`
@@ -3491,6 +3649,9 @@ type RevertToVMSnapshotResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -3512,6 +3673,12 @@ type RevertToVMSnapshotResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -3553,6 +3720,9 @@ type RevertToVMSnapshotResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -3769,6 +3939,7 @@ type UpdateSnapshotPolicyResponse struct {
Jobstatus int `json:"jobstatus"`
Maxsnaps int `json:"maxsnaps"`
Schedule string `json:"schedule"`
+ Storage []interface{} `json:"storage"`
Tags []Tags `json:"tags"`
Timezone string `json:"timezone"`
Volumeid string `json:"volumeid"`
diff --git a/cloudstack/StoragePoolService.go b/cloudstack/StoragePoolService.go
index 5150934..ea964ad 100644
--- a/cloudstack/StoragePoolService.go
+++ b/cloudstack/StoragePoolService.go
@@ -146,6 +146,7 @@ type CancelStorageMaintenanceResponse struct {
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
Created string `json:"created"`
+ Details map[string]string `json:"details"`
Disksizeallocated int64 `json:"disksizeallocated"`
Disksizetotal int64 `json:"disksizetotal"`
Disksizeused int64 `json:"disksizeused"`
@@ -166,6 +167,7 @@ type CancelStorageMaintenanceResponse struct {
Provider string `json:"provider"`
Scope string `json:"scope"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Storagecapabilities map[string]string `json:"storagecapabilities"`
Storagecustomstats map[string]string `json:"storagecustomstats"`
Suitableformigration bool `json:"suitableformigration"`
@@ -393,6 +395,7 @@ type EnableStorageMaintenanceResponse struct {
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
Created string `json:"created"`
+ Details map[string]string `json:"details"`
Disksizeallocated int64 `json:"disksizeallocated"`
Disksizetotal int64 `json:"disksizetotal"`
Disksizeused int64 `json:"disksizeused"`
@@ -413,6 +416,7 @@ type EnableStorageMaintenanceResponse struct {
Provider string `json:"provider"`
Scope string `json:"scope"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Storagecapabilities map[string]string `json:"storagecapabilities"`
Storagecustomstats map[string]string `json:"storagecustomstats"`
Suitableformigration bool `json:"suitableformigration"`
@@ -1053,15 +1057,16 @@ type ListObjectStoragePoolsResponse struct {
}
type ObjectStoragePool struct {
- Hasannotations bool `json:"hasannotations"`
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Providername string `json:"providername"`
- Storagetotal int64 `json:"storagetotal"`
- Storageused int64 `json:"storageused"`
- Url string `json:"url"`
+ Hasannotations bool `json:"hasannotations"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Providername string `json:"providername"`
+ Storageallocated int64 `json:"storageallocated"`
+ Storagetotal int64 `json:"storagetotal"`
+ Storageused int64 `json:"storageused"`
+ Url string `json:"url"`
}
type ListStoragePoolObjectsParams struct {
@@ -1291,6 +1296,10 @@ func (p *UpdateObjectStoragePoolParams) toURLValues() url.Values {
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
+ if v, found := p.p["size"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("size", vv)
+ }
if v, found := p.p["url"]; found {
u.Set("url", v.(string))
}
@@ -1339,6 +1348,27 @@ func (p *UpdateObjectStoragePoolParams) GetName() (string, bool) {
return value, ok
}
+func (p *UpdateObjectStoragePoolParams) SetSize(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["size"] = v
+}
+
+func (p *UpdateObjectStoragePoolParams) ResetSize() {
+ if p.p != nil && p.p["size"] != nil {
+ delete(p.p, "size")
+ }
+}
+
+func (p *UpdateObjectStoragePoolParams) GetSize() (int64, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["size"].(int64)
+ return value, ok
+}
+
func (p *UpdateObjectStoragePoolParams) SetUrl(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1388,15 +1418,16 @@ func (s *StoragePoolService) UpdateObjectStoragePool(p *UpdateObjectStoragePoolP
}
type UpdateObjectStoragePoolResponse struct {
- Hasannotations bool `json:"hasannotations"`
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Providername string `json:"providername"`
- Storagetotal int64 `json:"storagetotal"`
- Storageused int64 `json:"storageused"`
- Url string `json:"url"`
+ Hasannotations bool `json:"hasannotations"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Providername string `json:"providername"`
+ Storageallocated int64 `json:"storageallocated"`
+ Storagetotal int64 `json:"storagetotal"`
+ Storageused int64 `json:"storageused"`
+ Url string `json:"url"`
}
type AddObjectStoragePoolParams struct {
@@ -1421,6 +1452,10 @@ func (p *AddObjectStoragePoolParams) toURLValues() url.Values {
if v, found := p.p["provider"]; found {
u.Set("provider", v.(string))
}
+ if v, found := p.p["size"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("size", vv)
+ }
if v, found := p.p["tags"]; found {
u.Set("tags", v.(string))
}
@@ -1493,6 +1528,27 @@ func (p *AddObjectStoragePoolParams) GetProvider() (string, bool) {
return value, ok
}
+func (p *AddObjectStoragePoolParams) SetSize(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["size"] = v
+}
+
+func (p *AddObjectStoragePoolParams) ResetSize() {
+ if p.p != nil && p.p["size"] != nil {
+ delete(p.p, "size")
+ }
+}
+
+func (p *AddObjectStoragePoolParams) GetSize() (int64, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["size"].(int64)
+ return value, ok
+}
+
func (p *AddObjectStoragePoolParams) SetTags(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1565,15 +1621,16 @@ func (s *StoragePoolService) AddObjectStoragePool(p *AddObjectStoragePoolParams)
}
type AddObjectStoragePoolResponse struct {
- Hasannotations bool `json:"hasannotations"`
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Name string `json:"name"`
- Providername string `json:"providername"`
- Storagetotal int64 `json:"storagetotal"`
- Storageused int64 `json:"storageused"`
- Url string `json:"url"`
+ Hasannotations bool `json:"hasannotations"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+ Providername string `json:"providername"`
+ Storageallocated int64 `json:"storageallocated"`
+ Storagetotal int64 `json:"storagetotal"`
+ Storageused int64 `json:"storageused"`
+ Url string `json:"url"`
}
type DeleteObjectStoragePoolParams struct {
@@ -1717,6 +1774,9 @@ func (p *ListStoragePoolsMetricsParams) toURLValues() url.Values {
if v, found := p.p["status"]; found {
u.Set("status", v.(string))
}
+ if v, found := p.p["storageaccessgroup"]; found {
+ u.Set("storageaccessgroup", v.(string))
+ }
if v, found := p.p["storagecustomstats"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("storagecustomstats", vv)
@@ -1979,6 +2039,27 @@ func (p *ListStoragePoolsMetricsParams) GetStatus() (string, bool) {
return value, ok
}
+func (p *ListStoragePoolsMetricsParams) SetStorageaccessgroup(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storageaccessgroup"] = v
+}
+
+func (p *ListStoragePoolsMetricsParams) ResetStorageaccessgroup() {
+ if p.p != nil && p.p["storageaccessgroup"] != nil {
+ delete(p.p, "storageaccessgroup")
+ }
+}
+
+func (p *ListStoragePoolsMetricsParams) GetStorageaccessgroup() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["storageaccessgroup"].(string)
+ return value, ok
+}
+
func (p *ListStoragePoolsMetricsParams) SetStoragecustomstats(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2138,6 +2219,7 @@ type StoragePoolsMetric struct {
Clusterid string `json:"clusterid"`
Clustername string `json:"clustername"`
Created string `json:"created"`
+ Details map[string]string `json:"details"`
Disksizeallocated int64 `json:"disksizeallocated"`
Disksizeallocatedgb string `json:"disksizeallocatedgb"`
Disksizetotal int64 `json:"disksizetotal"`
@@ -2162,6 +2244,7 @@ type StoragePoolsMetric struct {
Provider string `json:"provider"`
Scope string `json:"scope"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Storageallocateddisablethreshold bool `json:"storageallocateddisablethreshold"`
Storageallocatedthreshold bool `json:"storageallocatedthreshold"`
Storagecapabilities map[string]string `json:"storagecapabilities"`
diff --git a/cloudstack/TemplateService.go b/cloudstack/TemplateService.go
index d2cf6b1..9a1c490 100644
--- a/cloudstack/TemplateService.go
+++ b/cloudstack/TemplateService.go
@@ -232,6 +232,9 @@ type CopyTemplateResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Downloaddetails []map[string]string `json:"downloaddetails"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
+ Forcks bool `json:"forcks"`
Format string `json:"format"`
Hasannotations bool `json:"hasannotations"`
Hostid string `json:"hostid"`
@@ -311,6 +314,9 @@ func (p *CreateTemplateParams) toURLValues() url.Values {
if v, found := p.p["account"]; found {
u.Set("account", v.(string))
}
+ if v, found := p.p["arch"]; found {
+ u.Set("arch", v.(string))
+ }
if v, found := p.p["bits"]; found {
vv := strconv.Itoa(v.(int))
u.Set("bits", vv)
@@ -402,6 +408,27 @@ func (p *CreateTemplateParams) GetAccount() (string, bool) {
return value, ok
}
+func (p *CreateTemplateParams) SetArch(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["arch"] = v
+}
+
+func (p *CreateTemplateParams) ResetArch() {
+ if p.p != nil && p.p["arch"] != nil {
+ delete(p.p, "arch")
+ }
+}
+
+func (p *CreateTemplateParams) GetArch() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["arch"].(string)
+ return value, ok
+}
+
func (p *CreateTemplateParams) SetBits(v int) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -866,6 +893,9 @@ type CreateTemplateResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Downloaddetails []map[string]string `json:"downloaddetails"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
+ Forcks bool `json:"forcks"`
Format string `json:"format"`
Hasannotations bool `json:"hasannotations"`
Hostid string `json:"hostid"`
@@ -1299,6 +1329,10 @@ func (p *GetUploadParamsForTemplateParams) toURLValues() url.Values {
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
+ if v, found := p.p["forcks"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("forcks", vv)
+ }
if v, found := p.p["format"]; found {
u.Set("format", v.(string))
}
@@ -1523,6 +1557,27 @@ func (p *GetUploadParamsForTemplateParams) GetDomainid() (string, bool) {
return value, ok
}
+func (p *GetUploadParamsForTemplateParams) SetForcks(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["forcks"] = v
+}
+
+func (p *GetUploadParamsForTemplateParams) ResetForcks() {
+ if p.p != nil && p.p["forcks"] != nil {
+ delete(p.p, "forcks")
+ }
+}
+
+func (p *GetUploadParamsForTemplateParams) GetForcks() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["forcks"].(bool)
+ return value, ok
+}
+
func (p *GetUploadParamsForTemplateParams) SetFormat(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2009,6 +2064,13 @@ func (p *ListTemplatesParams) toURLValues() url.Values {
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
+ if v, found := p.p["extensionid"]; found {
+ u.Set("extensionid", v.(string))
+ }
+ if v, found := p.p["forcks"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("forcks", vv)
+ }
if v, found := p.p["hypervisor"]; found {
u.Set("hypervisor", v.(string))
}
@@ -2022,6 +2084,10 @@ func (p *ListTemplatesParams) toURLValues() url.Values {
if v, found := p.p["imagestoreid"]; found {
u.Set("imagestoreid", v.(string))
}
+ if v, found := p.p["isready"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("isready", vv)
+ }
if v, found := p.p["isrecursive"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("isrecursive", vv)
@@ -2040,6 +2106,9 @@ func (p *ListTemplatesParams) toURLValues() url.Values {
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
+ if v, found := p.p["oscategoryid"]; found {
+ u.Set("oscategoryid", v.(string))
+ }
if v, found := p.p["page"]; found {
vv := strconv.Itoa(v.(int))
u.Set("page", vv)
@@ -2172,6 +2241,48 @@ func (p *ListTemplatesParams) GetDomainid() (string, bool) {
return value, ok
}
+func (p *ListTemplatesParams) SetExtensionid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["extensionid"] = v
+}
+
+func (p *ListTemplatesParams) ResetExtensionid() {
+ if p.p != nil && p.p["extensionid"] != nil {
+ delete(p.p, "extensionid")
+ }
+}
+
+func (p *ListTemplatesParams) GetExtensionid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["extensionid"].(string)
+ return value, ok
+}
+
+func (p *ListTemplatesParams) SetForcks(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["forcks"] = v
+}
+
+func (p *ListTemplatesParams) ResetForcks() {
+ if p.p != nil && p.p["forcks"] != nil {
+ delete(p.p, "forcks")
+ }
+}
+
+func (p *ListTemplatesParams) GetForcks() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["forcks"].(bool)
+ return value, ok
+}
+
func (p *ListTemplatesParams) SetHypervisor(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2256,6 +2367,27 @@ func (p *ListTemplatesParams) GetImagestoreid() (string, bool) {
return value, ok
}
+func (p *ListTemplatesParams) SetIsready(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["isready"] = v
+}
+
+func (p *ListTemplatesParams) ResetIsready() {
+ if p.p != nil && p.p["isready"] != nil {
+ delete(p.p, "isready")
+ }
+}
+
+func (p *ListTemplatesParams) GetIsready() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["isready"].(bool)
+ return value, ok
+}
+
func (p *ListTemplatesParams) SetIsrecursive(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2361,6 +2493,27 @@ func (p *ListTemplatesParams) GetName() (string, bool) {
return value, ok
}
+func (p *ListTemplatesParams) SetOscategoryid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["oscategoryid"] = v
+}
+
+func (p *ListTemplatesParams) ResetOscategoryid() {
+ if p.p != nil && p.p["oscategoryid"] != nil {
+ delete(p.p, "oscategoryid")
+ }
+}
+
+func (p *ListTemplatesParams) GetOscategoryid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["oscategoryid"].(string)
+ return value, ok
+}
+
func (p *ListTemplatesParams) SetPage(v int) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2747,6 +2900,9 @@ type Template struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Downloaddetails []map[string]string `json:"downloaddetails"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
+ Forcks bool `json:"forcks"`
Format string `json:"format"`
Hasannotations bool `json:"hasannotations"`
Hostid string `json:"hostid"`
@@ -2942,6 +3098,9 @@ type PrepareTemplateResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Downloaddetails []map[string]string `json:"downloaddetails"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
+ Forcks bool `json:"forcks"`
Format string `json:"format"`
Hasannotations bool `json:"hasannotations"`
Hostid string `json:"hostid"`
@@ -3051,6 +3210,19 @@ func (p *RegisterTemplateParams) toURLValues() url.Values {
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
+ if v, found := p.p["extensionid"]; found {
+ u.Set("extensionid", v.(string))
+ }
+ if v, found := p.p["externaldetails"]; found {
+ m := v.(map[string]string)
+ for _, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("externaldetails[0].%s", k), m[k])
+ }
+ }
+ if v, found := p.p["forcks"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("forcks", vv)
+ }
if v, found := p.p["format"]; found {
u.Set("format", v.(string))
}
@@ -3306,6 +3478,69 @@ func (p *RegisterTemplateParams) GetDomainid() (string, bool) {
return value, ok
}
+func (p *RegisterTemplateParams) SetExtensionid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["extensionid"] = v
+}
+
+func (p *RegisterTemplateParams) ResetExtensionid() {
+ if p.p != nil && p.p["extensionid"] != nil {
+ delete(p.p, "extensionid")
+ }
+}
+
+func (p *RegisterTemplateParams) GetExtensionid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["extensionid"].(string)
+ return value, ok
+}
+
+func (p *RegisterTemplateParams) SetExternaldetails(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["externaldetails"] = v
+}
+
+func (p *RegisterTemplateParams) ResetExternaldetails() {
+ if p.p != nil && p.p["externaldetails"] != nil {
+ delete(p.p, "externaldetails")
+ }
+}
+
+func (p *RegisterTemplateParams) GetExternaldetails() (map[string]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["externaldetails"].(map[string]string)
+ return value, ok
+}
+
+func (p *RegisterTemplateParams) SetForcks(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["forcks"] = v
+}
+
+func (p *RegisterTemplateParams) ResetForcks() {
+ if p.p != nil && p.p["forcks"] != nil {
+ delete(p.p, "forcks")
+ }
+}
+
+func (p *RegisterTemplateParams) GetForcks() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["forcks"].(bool)
+ return value, ok
+}
+
func (p *RegisterTemplateParams) SetFormat(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -3736,6 +3971,9 @@ type RegisterTemplate struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Downloaddetails []map[string]string `json:"downloaddetails"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
+ Forcks bool `json:"forcks"`
Format string `json:"format"`
Hasannotations bool `json:"hasannotations"`
Hostid string `json:"hostid"`
@@ -3832,6 +4070,14 @@ func (p *UpdateTemplateParams) toURLValues() url.Values {
if v, found := p.p["displaytext"]; found {
u.Set("displaytext", v.(string))
}
+ if v, found := p.p["forceupdateostype"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("forceupdateostype", vv)
+ }
+ if v, found := p.p["forcks"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("forcks", vv)
+ }
if v, found := p.p["format"]; found {
u.Set("format", v.(string))
}
@@ -3982,6 +4228,48 @@ func (p *UpdateTemplateParams) GetDisplaytext() (string, bool) {
return value, ok
}
+func (p *UpdateTemplateParams) SetForceupdateostype(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["forceupdateostype"] = v
+}
+
+func (p *UpdateTemplateParams) ResetForceupdateostype() {
+ if p.p != nil && p.p["forceupdateostype"] != nil {
+ delete(p.p, "forceupdateostype")
+ }
+}
+
+func (p *UpdateTemplateParams) GetForceupdateostype() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["forceupdateostype"].(bool)
+ return value, ok
+}
+
+func (p *UpdateTemplateParams) SetForcks(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["forcks"] = v
+}
+
+func (p *UpdateTemplateParams) ResetForcks() {
+ if p.p != nil && p.p["forcks"] != nil {
+ delete(p.p, "forcks")
+ }
+}
+
+func (p *UpdateTemplateParams) GetForcks() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["forcks"].(bool)
+ return value, ok
+}
+
func (p *UpdateTemplateParams) SetFormat(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -4277,6 +4565,9 @@ type UpdateTemplateResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Downloaddetails []map[string]string `json:"downloaddetails"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
+ Forcks bool `json:"forcks"`
Format string `json:"format"`
Hasannotations bool `json:"hasannotations"`
Hostid string `json:"hostid"`
@@ -4924,6 +5215,9 @@ type LinkUserDataToTemplateResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Downloaddetails []map[string]string `json:"downloaddetails"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
+ Forcks bool `json:"forcks"`
Format string `json:"format"`
Hasannotations bool `json:"hasannotations"`
Hostid string `json:"hostid"`
diff --git a/cloudstack/UserService.go b/cloudstack/UserService.go
index 1939ad4..1b46c0b 100644
--- a/cloudstack/UserService.go
+++ b/cloudstack/UserService.go
@@ -1019,6 +1019,9 @@ func (p *ListUsersParams) toURLValues() url.Values {
if v, found := p.p["username"]; found {
u.Set("username", v.(string))
}
+ if v, found := p.p["usersource"]; found {
+ u.Set("usersource", v.(string))
+ }
return u
}
@@ -1295,6 +1298,27 @@ func (p *ListUsersParams) GetUsername() (string, bool) {
return value, ok
}
+func (p *ListUsersParams) SetUsersource(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["usersource"] = v
+}
+
+func (p *ListUsersParams) ResetUsersource() {
+ if p.p != nil && p.p["usersource"] != nil {
+ delete(p.p, "usersource")
+ }
+}
+
+func (p *ListUsersParams) GetUsersource() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["usersource"].(string)
+ return value, ok
+}
+
// You should always use this function to get a new ListUsersParams instance,
// as then you are sure you have configured all required params
func (s *UserService) NewListUsersParams() *ListUsersParams {
@@ -2623,7 +2647,7 @@ func (s *UserService) NewRegisterUserDataParams(name string, userdata string) *R
return p
}
-// Register a new userdata.
+// Register a new User Data.
func (s *UserService) RegisterUserData(p *RegisterUserDataParams) (*RegisterUserDataResponse, error) {
resp, err := s.cs.newPostRequest("registerUserData", p.toURLValues())
if err != nil {
diff --git a/cloudstack/VLANService.go b/cloudstack/VLANService.go
index 55f4e4c..68b0a31 100644
--- a/cloudstack/VLANService.go
+++ b/cloudstack/VLANService.go
@@ -69,10 +69,6 @@ func (p *CreateVlanIpRangeParams) toURLValues() url.Values {
if v, found := p.p["endipv6"]; found {
u.Set("endipv6", v.(string))
}
- if v, found := p.p["fornsx"]; found {
- vv := strconv.FormatBool(v.(bool))
- u.Set("fornsx", vv)
- }
if v, found := p.p["forsystemvms"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("forsystemvms", vv)
@@ -105,6 +101,9 @@ func (p *CreateVlanIpRangeParams) toURLValues() url.Values {
if v, found := p.p["projectid"]; found {
u.Set("projectid", v.(string))
}
+ if v, found := p.p["provider"]; found {
+ u.Set("provider", v.(string))
+ }
if v, found := p.p["startip"]; found {
u.Set("startip", v.(string))
}
@@ -204,27 +203,6 @@ func (p *CreateVlanIpRangeParams) GetEndipv6() (string, bool) {
return value, ok
}
-func (p *CreateVlanIpRangeParams) SetFornsx(v bool) {
- if p.p == nil {
- p.p = make(map[string]interface{})
- }
- p.p["fornsx"] = v
-}
-
-func (p *CreateVlanIpRangeParams) ResetFornsx() {
- if p.p != nil && p.p["fornsx"] != nil {
- delete(p.p, "fornsx")
- }
-}
-
-func (p *CreateVlanIpRangeParams) GetFornsx() (bool, bool) {
- if p.p == nil {
- p.p = make(map[string]interface{})
- }
- value, ok := p.p["fornsx"].(bool)
- return value, ok
-}
-
func (p *CreateVlanIpRangeParams) SetForsystemvms(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -435,6 +413,27 @@ func (p *CreateVlanIpRangeParams) GetProjectid() (string, bool) {
return value, ok
}
+func (p *CreateVlanIpRangeParams) SetProvider(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["provider"] = v
+}
+
+func (p *CreateVlanIpRangeParams) ResetProvider() {
+ if p.p != nil && p.p["provider"] != nil {
+ delete(p.p, "provider")
+ }
+}
+
+func (p *CreateVlanIpRangeParams) GetProvider() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["provider"].(string)
+ return value, ok
+}
+
func (p *CreateVlanIpRangeParams) SetStartip(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -555,7 +554,6 @@ type CreateVlanIpRangeResponse struct {
Domainpath string `json:"domainpath"`
Endip string `json:"endip"`
Endipv6 string `json:"endipv6"`
- Fornsx bool `json:"fornsx"`
Forsystemvms bool `json:"forsystemvms"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
Gateway string `json:"gateway"`
@@ -571,6 +569,7 @@ type CreateVlanIpRangeResponse struct {
Podname string `json:"podname"`
Project string `json:"project"`
Projectid string `json:"projectid"`
+ Provider string `json:"provider"`
Startip string `json:"startip"`
Startipv6 string `json:"startipv6"`
Vlan string `json:"vlan"`
@@ -1574,7 +1573,6 @@ type VlanIpRange struct {
Domainpath string `json:"domainpath"`
Endip string `json:"endip"`
Endipv6 string `json:"endipv6"`
- Fornsx bool `json:"fornsx"`
Forsystemvms bool `json:"forsystemvms"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
Gateway string `json:"gateway"`
@@ -1590,6 +1588,7 @@ type VlanIpRange struct {
Podname string `json:"podname"`
Project string `json:"project"`
Projectid string `json:"projectid"`
+ Provider string `json:"provider"`
Startip string `json:"startip"`
Startipv6 string `json:"startipv6"`
Vlan string `json:"vlan"`
@@ -2225,7 +2224,6 @@ type UpdateVlanIpRangeResponse struct {
Domainpath string `json:"domainpath"`
Endip string `json:"endip"`
Endipv6 string `json:"endipv6"`
- Fornsx bool `json:"fornsx"`
Forsystemvms bool `json:"forsystemvms"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
Gateway string `json:"gateway"`
@@ -2241,6 +2239,7 @@ type UpdateVlanIpRangeResponse struct {
Podname string `json:"podname"`
Project string `json:"project"`
Projectid string `json:"projectid"`
+ Provider string `json:"provider"`
Startip string `json:"startip"`
Startipv6 string `json:"startipv6"`
Vlan string `json:"vlan"`
diff --git a/cloudstack/VPCService.go b/cloudstack/VPCService.go
index ad32996..d5f67d0 100644
--- a/cloudstack/VPCService.go
+++ b/cloudstack/VPCService.go
@@ -31,7 +31,7 @@ type VPCServiceIface interface {
CreatePrivateGateway(p *CreatePrivateGatewayParams) (*CreatePrivateGatewayResponse, error)
NewCreatePrivateGatewayParams(gateway string, ipaddress string, netmask string, vpcid string) *CreatePrivateGatewayParams
CreateStaticRoute(p *CreateStaticRouteParams) (*CreateStaticRouteResponse, error)
- NewCreateStaticRouteParams(cidr string, gatewayid string) *CreateStaticRouteParams
+ NewCreateStaticRouteParams(cidr string) *CreateStaticRouteParams
CreateVPC(p *CreateVPCParams) (*CreateVPCResponse, error)
NewCreateVPCParams(cidr string, displaytext string, name string, vpcofferingid string, zoneid string) *CreateVPCParams
CreateVPCOffering(p *CreateVPCOfferingParams) (*CreateVPCOfferingResponse, error)
@@ -438,6 +438,12 @@ func (p *CreateStaticRouteParams) toURLValues() url.Values {
if v, found := p.p["gatewayid"]; found {
u.Set("gatewayid", v.(string))
}
+ if v, found := p.p["nexthop"]; found {
+ u.Set("nexthop", v.(string))
+ }
+ if v, found := p.p["vpcid"]; found {
+ u.Set("vpcid", v.(string))
+ }
return u
}
@@ -483,13 +489,54 @@ func (p *CreateStaticRouteParams) GetGatewayid() (string, bool) {
return value, ok
}
+func (p *CreateStaticRouteParams) SetNexthop(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["nexthop"] = v
+}
+
+func (p *CreateStaticRouteParams) ResetNexthop() {
+ if p.p != nil && p.p["nexthop"] != nil {
+ delete(p.p, "nexthop")
+ }
+}
+
+func (p *CreateStaticRouteParams) GetNexthop() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["nexthop"].(string)
+ return value, ok
+}
+
+func (p *CreateStaticRouteParams) SetVpcid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["vpcid"] = v
+}
+
+func (p *CreateStaticRouteParams) ResetVpcid() {
+ if p.p != nil && p.p["vpcid"] != nil {
+ delete(p.p, "vpcid")
+ }
+}
+
+func (p *CreateStaticRouteParams) GetVpcid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["vpcid"].(string)
+ return value, ok
+}
+
// You should always use this function to get a new CreateStaticRouteParams instance,
// as then you are sure you have configured all required params
-func (s *VPCService) NewCreateStaticRouteParams(cidr string, gatewayid string) *CreateStaticRouteParams {
+func (s *VPCService) NewCreateStaticRouteParams(cidr string) *CreateStaticRouteParams {
p := &CreateStaticRouteParams{}
p.p = make(map[string]interface{})
p.p["cidr"] = cidr
- p.p["gatewayid"] = gatewayid
return p
}
@@ -529,20 +576,22 @@ func (s *VPCService) CreateStaticRoute(p *CreateStaticRouteParams) (*CreateStati
}
type CreateStaticRouteResponse struct {
- Account string `json:"account"`
- Cidr string `json:"cidr"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Domainpath string `json:"domainpath"`
- Gatewayid string `json:"gatewayid"`
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Project string `json:"project"`
- Projectid string `json:"projectid"`
- State string `json:"state"`
- Tags []Tags `json:"tags"`
- Vpcid string `json:"vpcid"`
+ Account string `json:"account"`
+ Cidr string `json:"cidr"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Domainpath string `json:"domainpath"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Nexthop string `json:"nexthop"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ State string `json:"state"`
+ Tags []Tags `json:"tags"`
+ Vpcgatewayid string `json:"vpcgatewayid"`
+ Vpcgatewayip string `json:"vpcgatewayip"`
+ Vpcid string `json:"vpcid"`
}
type CreateVPCParams struct {
@@ -614,6 +663,10 @@ func (p *CreateVPCParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("start", vv)
}
+ if v, found := p.p["userouteripresolver"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("userouteripresolver", vv)
+ }
if v, found := p.p["vpcofferingid"]; found {
u.Set("vpcofferingid", v.(string))
}
@@ -1001,6 +1054,27 @@ func (p *CreateVPCParams) GetStart() (bool, bool) {
return value, ok
}
+func (p *CreateVPCParams) SetUserouteripresolver(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["userouteripresolver"] = v
+}
+
+func (p *CreateVPCParams) ResetUserouteripresolver() {
+ if p.p != nil && p.p["userouteripresolver"] != nil {
+ delete(p.p, "userouteripresolver")
+ }
+}
+
+func (p *CreateVPCParams) GetUserouteripresolver() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["userouteripresolver"].(bool)
+ return value, ok
+}
+
func (p *CreateVPCParams) SetVpcofferingid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1193,6 +1267,9 @@ func (p *CreateVPCOfferingParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("nsxsupportlb", vv)
}
+ if v, found := p.p["provider"]; found {
+ u.Set("provider", v.(string))
+ }
if v, found := p.p["routingmode"]; found {
u.Set("routingmode", v.(string))
}
@@ -1396,6 +1473,27 @@ func (p *CreateVPCOfferingParams) GetNsxsupportlb() (bool, bool) {
return value, ok
}
+func (p *CreateVPCOfferingParams) SetProvider(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["provider"] = v
+}
+
+func (p *CreateVPCOfferingParams) ResetProvider() {
+ if p.p != nil && p.p["provider"] != nil {
+ delete(p.p, "provider")
+ }
+}
+
+func (p *CreateVPCOfferingParams) GetProvider() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["provider"].(string)
+ return value, ok
+}
+
func (p *CreateVPCOfferingParams) SetRoutingmode(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2772,20 +2870,22 @@ type ListStaticRoutesResponse struct {
}
type StaticRoute struct {
- Account string `json:"account"`
- Cidr string `json:"cidr"`
- Domain string `json:"domain"`
- Domainid string `json:"domainid"`
- Domainpath string `json:"domainpath"`
- Gatewayid string `json:"gatewayid"`
- Id string `json:"id"`
- JobID string `json:"jobid"`
- Jobstatus int `json:"jobstatus"`
- Project string `json:"project"`
- Projectid string `json:"projectid"`
- State string `json:"state"`
- Tags []Tags `json:"tags"`
- Vpcid string `json:"vpcid"`
+ Account string `json:"account"`
+ Cidr string `json:"cidr"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Domainpath string `json:"domainpath"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Nexthop string `json:"nexthop"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ State string `json:"state"`
+ Tags []Tags `json:"tags"`
+ Vpcgatewayid string `json:"vpcgatewayid"`
+ Vpcgatewayip string `json:"vpcgatewayip"`
+ Vpcid string `json:"vpcid"`
}
type ListVPCOfferingsParams struct {
diff --git a/cloudstack/VPCService_mock.go b/cloudstack/VPCService_mock.go
index c5513a0..7431292 100644
--- a/cloudstack/VPCService_mock.go
+++ b/cloudstack/VPCService_mock.go
@@ -436,17 +436,17 @@ func (mr *MockVPCServiceIfaceMockRecorder) NewCreatePrivateGatewayParams(gateway
}
// NewCreateStaticRouteParams mocks base method.
-func (m *MockVPCServiceIface) NewCreateStaticRouteParams(cidr, gatewayid string) *CreateStaticRouteParams {
+func (m *MockVPCServiceIface) NewCreateStaticRouteParams(cidr string) *CreateStaticRouteParams {
m.ctrl.T.Helper()
- ret := m.ctrl.Call(m, "NewCreateStaticRouteParams", cidr, gatewayid)
+ ret := m.ctrl.Call(m, "NewCreateStaticRouteParams", cidr)
ret0, _ := ret[0].(*CreateStaticRouteParams)
return ret0
}
// NewCreateStaticRouteParams indicates an expected call of NewCreateStaticRouteParams.
-func (mr *MockVPCServiceIfaceMockRecorder) NewCreateStaticRouteParams(cidr, gatewayid any) *gomock.Call {
+func (mr *MockVPCServiceIfaceMockRecorder) NewCreateStaticRouteParams(cidr any) *gomock.Call {
mr.mock.ctrl.T.Helper()
- return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewCreateStaticRouteParams", reflect.TypeOf((*MockVPCServiceIface)(nil).NewCreateStaticRouteParams), cidr, gatewayid)
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewCreateStaticRouteParams", reflect.TypeOf((*MockVPCServiceIface)(nil).NewCreateStaticRouteParams), cidr)
}
// NewCreateVPCOfferingParams mocks base method.
diff --git a/cloudstack/VPNService.go b/cloudstack/VPNService.go
index 5a77d5c..785c1cd 100644
--- a/cloudstack/VPNService.go
+++ b/cloudstack/VPNService.go
@@ -1139,6 +1139,9 @@ func (p *CreateVpnGatewayParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("fordisplay", vv)
}
+ if v, found := p.p["ipaddressid"]; found {
+ u.Set("ipaddressid", v.(string))
+ }
if v, found := p.p["vpcid"]; found {
u.Set("vpcid", v.(string))
}
@@ -1166,6 +1169,27 @@ func (p *CreateVpnGatewayParams) GetFordisplay() (bool, bool) {
return value, ok
}
+func (p *CreateVpnGatewayParams) SetIpaddressid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["ipaddressid"] = v
+}
+
+func (p *CreateVpnGatewayParams) ResetIpaddressid() {
+ if p.p != nil && p.p["ipaddressid"] != nil {
+ delete(p.p, "ipaddressid")
+ }
+}
+
+func (p *CreateVpnGatewayParams) GetIpaddressid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["ipaddressid"].(string)
+ return value, ok
+}
+
func (p *CreateVpnGatewayParams) SetVpcid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
diff --git a/cloudstack/VirtualMachineService.go b/cloudstack/VirtualMachineService.go
index 8a9166c..27c5eb9 100644
--- a/cloudstack/VirtualMachineService.go
+++ b/cloudstack/VirtualMachineService.go
@@ -37,7 +37,7 @@ type VirtualMachineServiceIface interface {
CleanVMReservations(p *CleanVMReservationsParams) (*CleanVMReservationsResponse, error)
NewCleanVMReservationsParams() *CleanVMReservationsParams
DeployVirtualMachine(p *DeployVirtualMachineParams) (*DeployVirtualMachineResponse, error)
- NewDeployVirtualMachineParams(serviceofferingid string, templateid string, zoneid string) *DeployVirtualMachineParams
+ NewDeployVirtualMachineParams(serviceofferingid string, zoneid string) *DeployVirtualMachineParams
DestroyVirtualMachine(p *DestroyVirtualMachineParams) (*DestroyVirtualMachineResponse, error)
NewDestroyVirtualMachineParams(id string) *DestroyVirtualMachineParams
ExpungeVirtualMachine(p *ExpungeVirtualMachineParams) (*ExpungeVirtualMachineResponse, error)
@@ -315,6 +315,9 @@ type AddNicToVirtualMachineResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -336,6 +339,12 @@ type AddNicToVirtualMachineResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -377,6 +386,9 @@ type AddNicToVirtualMachineResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -666,6 +678,9 @@ type AssignVirtualMachineResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -687,6 +702,12 @@ type AssignVirtualMachineResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -728,6 +749,9 @@ type AssignVirtualMachineResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -1047,6 +1071,9 @@ type ChangeServiceForVirtualMachineResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -1068,6 +1095,12 @@ type ChangeServiceForVirtualMachineResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -1109,6 +1142,9 @@ type ChangeServiceForVirtualMachineResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -1292,6 +1328,13 @@ func (p *DeployVirtualMachineParams) toURLValues() url.Values {
u.Set(fmt.Sprintf("datadiskofferinglist[%d].diskOffering", i), m[k])
}
}
+ if v, found := p.p["datadisksdetails"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("datadisksdetails[%d].key", i), k)
+ u.Set(fmt.Sprintf("datadisksdetails[%d].value", i), m[k])
+ }
+ }
if v, found := p.p["deploymentplanner"]; found {
u.Set("deploymentplanner", v.(string))
}
@@ -1326,6 +1369,13 @@ func (p *DeployVirtualMachineParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("dynamicscalingenabled", vv)
}
+ if v, found := p.p["externaldetails"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("externaldetails[%d].key", i), k)
+ u.Set(fmt.Sprintf("externaldetails[%d].value", i), m[k])
+ }
+ }
if v, found := p.p["extraconfig"]; found {
u.Set("extraconfig", v.(string))
}
@@ -1369,6 +1419,13 @@ func (p *DeployVirtualMachineParams) toURLValues() url.Values {
vv := strings.Join(v.([]string), ",")
u.Set("keypairs", vv)
}
+ if v, found := p.p["leaseduration"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("leaseduration", vv)
+ }
+ if v, found := p.p["leaseexpiryaction"]; found {
+ u.Set("leaseexpiryaction", v.(string))
+ }
if v, found := p.p["macaddress"]; found {
u.Set("macaddress", v.(string))
}
@@ -1433,6 +1490,9 @@ func (p *DeployVirtualMachineParams) toURLValues() url.Values {
vv := strconv.FormatInt(v.(int64), 10)
u.Set("size", vv)
}
+ if v, found := p.p["snapshotid"]; found {
+ u.Set("snapshotid", v.(string))
+ }
if v, found := p.p["startvm"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("startvm", vv)
@@ -1453,6 +1513,9 @@ func (p *DeployVirtualMachineParams) toURLValues() url.Values {
if v, found := p.p["userdataid"]; found {
u.Set("userdataid", v.(string))
}
+ if v, found := p.p["volumeid"]; found {
+ u.Set("volumeid", v.(string))
+ }
if v, found := p.p["zoneid"]; found {
u.Set("zoneid", v.(string))
}
@@ -1669,6 +1732,27 @@ func (p *DeployVirtualMachineParams) GetDatadiskofferinglist() (map[string]strin
return value, ok
}
+func (p *DeployVirtualMachineParams) SetDatadisksdetails(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["datadisksdetails"] = v
+}
+
+func (p *DeployVirtualMachineParams) ResetDatadisksdetails() {
+ if p.p != nil && p.p["datadisksdetails"] != nil {
+ delete(p.p, "datadisksdetails")
+ }
+}
+
+func (p *DeployVirtualMachineParams) GetDatadisksdetails() (map[string]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["datadisksdetails"].(map[string]string)
+ return value, ok
+}
+
func (p *DeployVirtualMachineParams) SetDeploymentplanner(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1851,6 +1935,27 @@ func (p *DeployVirtualMachineParams) GetDynamicscalingenabled() (bool, bool) {
return value, ok
}
+func (p *DeployVirtualMachineParams) SetExternaldetails(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["externaldetails"] = v
+}
+
+func (p *DeployVirtualMachineParams) ResetExternaldetails() {
+ if p.p != nil && p.p["externaldetails"] != nil {
+ delete(p.p, "externaldetails")
+ }
+}
+
+func (p *DeployVirtualMachineParams) GetExternaldetails() (map[string]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["externaldetails"].(map[string]string)
+ return value, ok
+}
+
func (p *DeployVirtualMachineParams) SetExtraconfig(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2117,6 +2222,48 @@ func (p *DeployVirtualMachineParams) GetKeypairs() ([]string, bool) {
return value, ok
}
+func (p *DeployVirtualMachineParams) SetLeaseduration(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["leaseduration"] = v
+}
+
+func (p *DeployVirtualMachineParams) ResetLeaseduration() {
+ if p.p != nil && p.p["leaseduration"] != nil {
+ delete(p.p, "leaseduration")
+ }
+}
+
+func (p *DeployVirtualMachineParams) GetLeaseduration() (int, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["leaseduration"].(int)
+ return value, ok
+}
+
+func (p *DeployVirtualMachineParams) SetLeaseexpiryaction(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["leaseexpiryaction"] = v
+}
+
+func (p *DeployVirtualMachineParams) ResetLeaseexpiryaction() {
+ if p.p != nil && p.p["leaseexpiryaction"] != nil {
+ delete(p.p, "leaseexpiryaction")
+ }
+}
+
+func (p *DeployVirtualMachineParams) GetLeaseexpiryaction() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["leaseexpiryaction"].(string)
+ return value, ok
+}
+
func (p *DeployVirtualMachineParams) SetMacaddress(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2467,6 +2614,27 @@ func (p *DeployVirtualMachineParams) GetSize() (int64, bool) {
return value, ok
}
+func (p *DeployVirtualMachineParams) SetSnapshotid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["snapshotid"] = v
+}
+
+func (p *DeployVirtualMachineParams) ResetSnapshotid() {
+ if p.p != nil && p.p["snapshotid"] != nil {
+ delete(p.p, "snapshotid")
+ }
+}
+
+func (p *DeployVirtualMachineParams) GetSnapshotid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["snapshotid"].(string)
+ return value, ok
+}
+
func (p *DeployVirtualMachineParams) SetStartvm(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2572,6 +2740,27 @@ func (p *DeployVirtualMachineParams) GetUserdataid() (string, bool) {
return value, ok
}
+func (p *DeployVirtualMachineParams) SetVolumeid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["volumeid"] = v
+}
+
+func (p *DeployVirtualMachineParams) ResetVolumeid() {
+ if p.p != nil && p.p["volumeid"] != nil {
+ delete(p.p, "volumeid")
+ }
+}
+
+func (p *DeployVirtualMachineParams) GetVolumeid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["volumeid"].(string)
+ return value, ok
+}
+
func (p *DeployVirtualMachineParams) SetZoneid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2595,11 +2784,10 @@ func (p *DeployVirtualMachineParams) GetZoneid() (string, bool) {
// You should always use this function to get a new DeployVirtualMachineParams instance,
// as then you are sure you have configured all required params
-func (s *VirtualMachineService) NewDeployVirtualMachineParams(serviceofferingid string, templateid string, zoneid string) *DeployVirtualMachineParams {
+func (s *VirtualMachineService) NewDeployVirtualMachineParams(serviceofferingid string, zoneid string) *DeployVirtualMachineParams {
p := &DeployVirtualMachineParams{}
p.p = make(map[string]interface{})
p.p["serviceofferingid"] = serviceofferingid
- p.p["templateid"] = templateid
p.p["zoneid"] = zoneid
return p
}
@@ -2667,6 +2855,9 @@ type DeployVirtualMachineResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -2688,6 +2879,12 @@ type DeployVirtualMachineResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -2729,6 +2926,9 @@ type DeployVirtualMachineResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -2966,6 +3166,9 @@ type DestroyVirtualMachineResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -2987,6 +3190,12 @@ type DestroyVirtualMachineResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -3028,6 +3237,9 @@ type DestroyVirtualMachineResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -3297,10 +3509,17 @@ func (p *ListVirtualMachinesParams) toURLValues() url.Values {
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
+ if v, found := p.p["extensionid"]; found {
+ u.Set("extensionid", v.(string))
+ }
if v, found := p.p["forvirtualnetwork"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("forvirtualnetwork", vv)
}
+ if v, found := p.p["gpuenabled"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("gpuenabled", vv)
+ }
if v, found := p.p["groupid"]; found {
u.Set("groupid", v.(string))
}
@@ -3338,6 +3557,10 @@ func (p *ListVirtualMachinesParams) toURLValues() url.Values {
if v, found := p.p["keyword"]; found {
u.Set("keyword", v.(string))
}
+ if v, found := p.p["leased"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("leased", vv)
+ }
if v, found := p.p["listall"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("listall", vv)
@@ -3621,6 +3844,27 @@ func (p *ListVirtualMachinesParams) GetDomainid() (string, bool) {
return value, ok
}
+func (p *ListVirtualMachinesParams) SetExtensionid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["extensionid"] = v
+}
+
+func (p *ListVirtualMachinesParams) ResetExtensionid() {
+ if p.p != nil && p.p["extensionid"] != nil {
+ delete(p.p, "extensionid")
+ }
+}
+
+func (p *ListVirtualMachinesParams) GetExtensionid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["extensionid"].(string)
+ return value, ok
+}
+
func (p *ListVirtualMachinesParams) SetForvirtualnetwork(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -3642,6 +3886,27 @@ func (p *ListVirtualMachinesParams) GetForvirtualnetwork() (bool, bool) {
return value, ok
}
+func (p *ListVirtualMachinesParams) SetGpuenabled(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["gpuenabled"] = v
+}
+
+func (p *ListVirtualMachinesParams) ResetGpuenabled() {
+ if p.p != nil && p.p["gpuenabled"] != nil {
+ delete(p.p, "gpuenabled")
+ }
+}
+
+func (p *ListVirtualMachinesParams) GetGpuenabled() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["gpuenabled"].(bool)
+ return value, ok
+}
+
func (p *ListVirtualMachinesParams) SetGroupid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -3873,6 +4138,27 @@ func (p *ListVirtualMachinesParams) GetKeyword() (string, bool) {
return value, ok
}
+func (p *ListVirtualMachinesParams) SetLeased(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["leased"] = v
+}
+
+func (p *ListVirtualMachinesParams) ResetLeased() {
+ if p.p != nil && p.p["leased"] != nil {
+ delete(p.p, "leased")
+ }
+}
+
+func (p *ListVirtualMachinesParams) GetLeased() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["leased"].(bool)
+ return value, ok
+}
+
func (p *ListVirtualMachinesParams) SetListall(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -4432,6 +4718,9 @@ type VirtualMachine struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -4453,6 +4742,12 @@ type VirtualMachine struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -4494,6 +4789,9 @@ type VirtualMachine struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -4615,10 +4913,17 @@ func (p *ListVirtualMachinesMetricsParams) toURLValues() url.Values {
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
+ if v, found := p.p["extensionid"]; found {
+ u.Set("extensionid", v.(string))
+ }
if v, found := p.p["forvirtualnetwork"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("forvirtualnetwork", vv)
}
+ if v, found := p.p["gpuenabled"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("gpuenabled", vv)
+ }
if v, found := p.p["groupid"]; found {
u.Set("groupid", v.(string))
}
@@ -4656,6 +4961,10 @@ func (p *ListVirtualMachinesMetricsParams) toURLValues() url.Values {
if v, found := p.p["keyword"]; found {
u.Set("keyword", v.(string))
}
+ if v, found := p.p["leased"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("leased", vv)
+ }
if v, found := p.p["listall"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("listall", vv)
@@ -4939,6 +5248,27 @@ func (p *ListVirtualMachinesMetricsParams) GetDomainid() (string, bool) {
return value, ok
}
+func (p *ListVirtualMachinesMetricsParams) SetExtensionid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["extensionid"] = v
+}
+
+func (p *ListVirtualMachinesMetricsParams) ResetExtensionid() {
+ if p.p != nil && p.p["extensionid"] != nil {
+ delete(p.p, "extensionid")
+ }
+}
+
+func (p *ListVirtualMachinesMetricsParams) GetExtensionid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["extensionid"].(string)
+ return value, ok
+}
+
func (p *ListVirtualMachinesMetricsParams) SetForvirtualnetwork(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -4960,6 +5290,27 @@ func (p *ListVirtualMachinesMetricsParams) GetForvirtualnetwork() (bool, bool) {
return value, ok
}
+func (p *ListVirtualMachinesMetricsParams) SetGpuenabled(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["gpuenabled"] = v
+}
+
+func (p *ListVirtualMachinesMetricsParams) ResetGpuenabled() {
+ if p.p != nil && p.p["gpuenabled"] != nil {
+ delete(p.p, "gpuenabled")
+ }
+}
+
+func (p *ListVirtualMachinesMetricsParams) GetGpuenabled() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["gpuenabled"].(bool)
+ return value, ok
+}
+
func (p *ListVirtualMachinesMetricsParams) SetGroupid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -5191,6 +5542,27 @@ func (p *ListVirtualMachinesMetricsParams) GetKeyword() (string, bool) {
return value, ok
}
+func (p *ListVirtualMachinesMetricsParams) SetLeased(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["leased"] = v
+}
+
+func (p *ListVirtualMachinesMetricsParams) ResetLeased() {
+ if p.p != nil && p.p["leased"] != nil {
+ delete(p.p, "leased")
+ }
+}
+
+func (p *ListVirtualMachinesMetricsParams) GetLeased() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["leased"].(bool)
+ return value, ok
+}
+
func (p *ListVirtualMachinesMetricsParams) SetListall(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -5754,6 +6126,9 @@ type VirtualMachinesMetric struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -5775,6 +6150,12 @@ type VirtualMachinesMetric struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -5819,6 +6200,9 @@ type VirtualMachinesMetric struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -6351,6 +6735,9 @@ type MigrateVirtualMachineResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -6372,6 +6759,12 @@ type MigrateVirtualMachineResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -6413,6 +6806,9 @@ type MigrateVirtualMachineResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -6692,6 +7088,9 @@ type MigrateVirtualMachineWithVolumeResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -6713,6 +7112,12 @@ type MigrateVirtualMachineWithVolumeResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -6754,6 +7159,9 @@ type MigrateVirtualMachineWithVolumeResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -6991,6 +7399,9 @@ type RebootVirtualMachineResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -7012,6 +7423,12 @@ type RebootVirtualMachineResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -7053,6 +7470,9 @@ type RebootVirtualMachineResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -7220,6 +7640,9 @@ type RecoverVirtualMachineResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -7241,6 +7664,12 @@ type RecoverVirtualMachineResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -7282,6 +7711,9 @@ type RecoverVirtualMachineResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -7494,6 +7926,9 @@ type RemoveNicFromVirtualMachineResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -7515,6 +7950,12 @@ type RemoveNicFromVirtualMachineResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -7556,6 +7997,9 @@ type RemoveNicFromVirtualMachineResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -7767,6 +8211,9 @@ type ResetPasswordForVirtualMachineResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -7788,6 +8235,12 @@ type ResetPasswordForVirtualMachineResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -7829,6 +8282,9 @@ type ResetPasswordForVirtualMachineResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -8144,6 +8600,9 @@ type ResetUserDataForVirtualMachineResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -8165,6 +8624,12 @@ type ResetUserDataForVirtualMachineResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -8206,6 +8671,9 @@ type ResetUserDataForVirtualMachineResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -8518,6 +8986,9 @@ type RestoreVirtualMachineResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -8539,6 +9010,12 @@ type RestoreVirtualMachineResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -8580,6 +9057,9 @@ type RestoreVirtualMachineResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -9147,6 +9627,9 @@ type StartVirtualMachineResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -9168,6 +9651,12 @@ type StartVirtualMachineResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -9209,6 +9698,9 @@ type StartVirtualMachineResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -9421,6 +9913,9 @@ type StopVirtualMachineResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -9442,6 +9937,12 @@ type StopVirtualMachineResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -9483,6 +9984,9 @@ type StopVirtualMachineResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -9695,6 +10199,9 @@ type UpdateDefaultNicForVirtualMachineResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -9716,6 +10223,12 @@ type UpdateDefaultNicForVirtualMachineResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -9757,6 +10270,9 @@ type UpdateDefaultNicForVirtualMachineResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -9897,6 +10413,13 @@ func (p *UpdateVirtualMachineParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("isdynamicallyscalable", vv)
}
+ if v, found := p.p["leaseduration"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("leaseduration", vv)
+ }
+ if v, found := p.p["leaseexpiryaction"]; found {
+ u.Set("leaseexpiryaction", v.(string))
+ }
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
@@ -10214,6 +10737,48 @@ func (p *UpdateVirtualMachineParams) GetIsdynamicallyscalable() (bool, bool) {
return value, ok
}
+func (p *UpdateVirtualMachineParams) SetLeaseduration(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["leaseduration"] = v
+}
+
+func (p *UpdateVirtualMachineParams) ResetLeaseduration() {
+ if p.p != nil && p.p["leaseduration"] != nil {
+ delete(p.p, "leaseduration")
+ }
+}
+
+func (p *UpdateVirtualMachineParams) GetLeaseduration() (int, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["leaseduration"].(int)
+ return value, ok
+}
+
+func (p *UpdateVirtualMachineParams) SetLeaseexpiryaction(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["leaseexpiryaction"] = v
+}
+
+func (p *UpdateVirtualMachineParams) ResetLeaseexpiryaction() {
+ if p.p != nil && p.p["leaseexpiryaction"] != nil {
+ delete(p.p, "leaseexpiryaction")
+ }
+}
+
+func (p *UpdateVirtualMachineParams) GetLeaseexpiryaction() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["leaseexpiryaction"].(string)
+ return value, ok
+}
+
func (p *UpdateVirtualMachineParams) SetName(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -10413,6 +10978,9 @@ type UpdateVirtualMachineResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -10434,6 +11002,12 @@ type UpdateVirtualMachineResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -10475,6 +11049,9 @@ type UpdateVirtualMachineResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -11858,6 +12435,9 @@ type ImportVmResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -11879,6 +12459,12 @@ type ImportVmResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -11920,6 +12506,9 @@ type ImportVmResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -12747,6 +13336,9 @@ type ImportUnmanagedInstanceResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -12768,6 +13360,12 @@ type ImportUnmanagedInstanceResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -12809,6 +13407,9 @@ type ImportUnmanagedInstanceResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
diff --git a/cloudstack/VirtualMachineService_mock.go b/cloudstack/VirtualMachineService_mock.go
index 75c6e86..bc2f2b3 100644
--- a/cloudstack/VirtualMachineService_mock.go
+++ b/cloudstack/VirtualMachineService_mock.go
@@ -653,17 +653,17 @@ func (mr *MockVirtualMachineServiceIfaceMockRecorder) NewDeleteVMScheduleParams(
}
// NewDeployVirtualMachineParams mocks base method.
-func (m *MockVirtualMachineServiceIface) NewDeployVirtualMachineParams(serviceofferingid, templateid, zoneid string) *DeployVirtualMachineParams {
+func (m *MockVirtualMachineServiceIface) NewDeployVirtualMachineParams(serviceofferingid, zoneid string) *DeployVirtualMachineParams {
m.ctrl.T.Helper()
- ret := m.ctrl.Call(m, "NewDeployVirtualMachineParams", serviceofferingid, templateid, zoneid)
+ ret := m.ctrl.Call(m, "NewDeployVirtualMachineParams", serviceofferingid, zoneid)
ret0, _ := ret[0].(*DeployVirtualMachineParams)
return ret0
}
// NewDeployVirtualMachineParams indicates an expected call of NewDeployVirtualMachineParams.
-func (mr *MockVirtualMachineServiceIfaceMockRecorder) NewDeployVirtualMachineParams(serviceofferingid, templateid, zoneid any) *gomock.Call {
+func (mr *MockVirtualMachineServiceIfaceMockRecorder) NewDeployVirtualMachineParams(serviceofferingid, zoneid any) *gomock.Call {
mr.mock.ctrl.T.Helper()
- return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewDeployVirtualMachineParams", reflect.TypeOf((*MockVirtualMachineServiceIface)(nil).NewDeployVirtualMachineParams), serviceofferingid, templateid, zoneid)
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewDeployVirtualMachineParams", reflect.TypeOf((*MockVirtualMachineServiceIface)(nil).NewDeployVirtualMachineParams), serviceofferingid, zoneid)
}
// NewDestroyVirtualMachineParams mocks base method.
diff --git a/cloudstack/VirtualNetworkFunctionsService.go b/cloudstack/VirtualNetworkFunctionsService.go
index 9e73da6..ab34838 100644
--- a/cloudstack/VirtualNetworkFunctionsService.go
+++ b/cloudstack/VirtualNetworkFunctionsService.go
@@ -31,7 +31,7 @@ type VirtualNetworkFunctionsServiceIface interface {
DeleteVnfTemplate(p *DeleteVnfTemplateParams) (*DeleteVnfTemplateResponse, error)
NewDeleteVnfTemplateParams(id string) *DeleteVnfTemplateParams
DeployVnfAppliance(p *DeployVnfApplianceParams) (*DeployVnfApplianceResponse, error)
- NewDeployVnfApplianceParams(serviceofferingid string, templateid string, zoneid string) *DeployVnfApplianceParams
+ NewDeployVnfApplianceParams(serviceofferingid string, zoneid string) *DeployVnfApplianceParams
ListVnfAppliances(p *ListVnfAppliancesParams) (*ListVnfAppliancesResponse, error)
NewListVnfAppliancesParams() *ListVnfAppliancesParams
GetVnfApplianceID(name string, opts ...OptionFunc) (string, int, error)
@@ -248,6 +248,13 @@ func (p *DeployVnfApplianceParams) toURLValues() url.Values {
u.Set(fmt.Sprintf("datadiskofferinglist[%d].diskOffering", i), m[k])
}
}
+ if v, found := p.p["datadisksdetails"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("datadisksdetails[%d].key", i), k)
+ u.Set(fmt.Sprintf("datadisksdetails[%d].value", i), m[k])
+ }
+ }
if v, found := p.p["deploymentplanner"]; found {
u.Set("deploymentplanner", v.(string))
}
@@ -281,6 +288,13 @@ func (p *DeployVnfApplianceParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("dynamicscalingenabled", vv)
}
+ if v, found := p.p["externaldetails"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("externaldetails[%d].key", i), k)
+ u.Set(fmt.Sprintf("externaldetails[%d].value", i), m[k])
+ }
+ }
if v, found := p.p["extraconfig"]; found {
u.Set("extraconfig", v.(string))
}
@@ -323,6 +337,13 @@ func (p *DeployVnfApplianceParams) toURLValues() url.Values {
vv := strings.Join(v.([]string), ",")
u.Set("keypairs", vv)
}
+ if v, found := p.p["leaseduration"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("leaseduration", vv)
+ }
+ if v, found := p.p["leaseexpiryaction"]; found {
+ u.Set("leaseexpiryaction", v.(string))
+ }
if v, found := p.p["macaddress"]; found {
u.Set("macaddress", v.(string))
}
@@ -383,6 +404,9 @@ func (p *DeployVnfApplianceParams) toURLValues() url.Values {
vv := strconv.FormatInt(v.(int64), 10)
u.Set("size", vv)
}
+ if v, found := p.p["snapshotid"]; found {
+ u.Set("snapshotid", v.(string))
+ }
if v, found := p.p["startvm"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("startvm", vv)
@@ -411,6 +435,9 @@ func (p *DeployVnfApplianceParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("vnfconfiguremanagement", vv)
}
+ if v, found := p.p["volumeid"]; found {
+ u.Set("volumeid", v.(string))
+ }
if v, found := p.p["zoneid"]; found {
u.Set("zoneid", v.(string))
}
@@ -606,6 +633,27 @@ func (p *DeployVnfApplianceParams) GetDatadiskofferinglist() (map[string]string,
return value, ok
}
+func (p *DeployVnfApplianceParams) SetDatadisksdetails(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["datadisksdetails"] = v
+}
+
+func (p *DeployVnfApplianceParams) ResetDatadisksdetails() {
+ if p.p != nil && p.p["datadisksdetails"] != nil {
+ delete(p.p, "datadisksdetails")
+ }
+}
+
+func (p *DeployVnfApplianceParams) GetDatadisksdetails() (map[string]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["datadisksdetails"].(map[string]string)
+ return value, ok
+}
+
func (p *DeployVnfApplianceParams) SetDeploymentplanner(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -774,6 +822,27 @@ func (p *DeployVnfApplianceParams) GetDynamicscalingenabled() (bool, bool) {
return value, ok
}
+func (p *DeployVnfApplianceParams) SetExternaldetails(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["externaldetails"] = v
+}
+
+func (p *DeployVnfApplianceParams) ResetExternaldetails() {
+ if p.p != nil && p.p["externaldetails"] != nil {
+ delete(p.p, "externaldetails")
+ }
+}
+
+func (p *DeployVnfApplianceParams) GetExternaldetails() (map[string]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["externaldetails"].(map[string]string)
+ return value, ok
+}
+
func (p *DeployVnfApplianceParams) SetExtraconfig(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1026,6 +1095,48 @@ func (p *DeployVnfApplianceParams) GetKeypairs() ([]string, bool) {
return value, ok
}
+func (p *DeployVnfApplianceParams) SetLeaseduration(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["leaseduration"] = v
+}
+
+func (p *DeployVnfApplianceParams) ResetLeaseduration() {
+ if p.p != nil && p.p["leaseduration"] != nil {
+ delete(p.p, "leaseduration")
+ }
+}
+
+func (p *DeployVnfApplianceParams) GetLeaseduration() (int, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["leaseduration"].(int)
+ return value, ok
+}
+
+func (p *DeployVnfApplianceParams) SetLeaseexpiryaction(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["leaseexpiryaction"] = v
+}
+
+func (p *DeployVnfApplianceParams) ResetLeaseexpiryaction() {
+ if p.p != nil && p.p["leaseexpiryaction"] != nil {
+ delete(p.p, "leaseexpiryaction")
+ }
+}
+
+func (p *DeployVnfApplianceParams) GetLeaseexpiryaction() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["leaseexpiryaction"].(string)
+ return value, ok
+}
+
func (p *DeployVnfApplianceParams) SetMacaddress(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1341,6 +1452,27 @@ func (p *DeployVnfApplianceParams) GetSize() (int64, bool) {
return value, ok
}
+func (p *DeployVnfApplianceParams) SetSnapshotid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["snapshotid"] = v
+}
+
+func (p *DeployVnfApplianceParams) ResetSnapshotid() {
+ if p.p != nil && p.p["snapshotid"] != nil {
+ delete(p.p, "snapshotid")
+ }
+}
+
+func (p *DeployVnfApplianceParams) GetSnapshotid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["snapshotid"].(string)
+ return value, ok
+}
+
func (p *DeployVnfApplianceParams) SetStartvm(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1488,6 +1620,27 @@ func (p *DeployVnfApplianceParams) GetVnfconfiguremanagement() (bool, bool) {
return value, ok
}
+func (p *DeployVnfApplianceParams) SetVolumeid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["volumeid"] = v
+}
+
+func (p *DeployVnfApplianceParams) ResetVolumeid() {
+ if p.p != nil && p.p["volumeid"] != nil {
+ delete(p.p, "volumeid")
+ }
+}
+
+func (p *DeployVnfApplianceParams) GetVolumeid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["volumeid"].(string)
+ return value, ok
+}
+
func (p *DeployVnfApplianceParams) SetZoneid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -1511,11 +1664,10 @@ func (p *DeployVnfApplianceParams) GetZoneid() (string, bool) {
// You should always use this function to get a new DeployVnfApplianceParams instance,
// as then you are sure you have configured all required params
-func (s *VirtualNetworkFunctionsService) NewDeployVnfApplianceParams(serviceofferingid string, templateid string, zoneid string) *DeployVnfApplianceParams {
+func (s *VirtualNetworkFunctionsService) NewDeployVnfApplianceParams(serviceofferingid string, zoneid string) *DeployVnfApplianceParams {
p := &DeployVnfApplianceParams{}
p.p = make(map[string]interface{})
p.p["serviceofferingid"] = serviceofferingid
- p.p["templateid"] = templateid
p.p["zoneid"] = zoneid
return p
}
@@ -1583,6 +1735,9 @@ type DeployVnfApplianceResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -1604,6 +1759,12 @@ type DeployVnfApplianceResponse struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -1645,6 +1806,9 @@ type DeployVnfApplianceResponse struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -1763,10 +1927,17 @@ func (p *ListVnfAppliancesParams) toURLValues() url.Values {
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
+ if v, found := p.p["extensionid"]; found {
+ u.Set("extensionid", v.(string))
+ }
if v, found := p.p["forvirtualnetwork"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("forvirtualnetwork", vv)
}
+ if v, found := p.p["gpuenabled"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("gpuenabled", vv)
+ }
if v, found := p.p["groupid"]; found {
u.Set("groupid", v.(string))
}
@@ -1801,6 +1972,10 @@ func (p *ListVnfAppliancesParams) toURLValues() url.Values {
if v, found := p.p["keyword"]; found {
u.Set("keyword", v.(string))
}
+ if v, found := p.p["leased"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("leased", vv)
+ }
if v, found := p.p["listall"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("listall", vv)
@@ -2057,6 +2232,27 @@ func (p *ListVnfAppliancesParams) GetDomainid() (string, bool) {
return value, ok
}
+func (p *ListVnfAppliancesParams) SetExtensionid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["extensionid"] = v
+}
+
+func (p *ListVnfAppliancesParams) ResetExtensionid() {
+ if p.p != nil && p.p["extensionid"] != nil {
+ delete(p.p, "extensionid")
+ }
+}
+
+func (p *ListVnfAppliancesParams) GetExtensionid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["extensionid"].(string)
+ return value, ok
+}
+
func (p *ListVnfAppliancesParams) SetForvirtualnetwork(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2078,6 +2274,27 @@ func (p *ListVnfAppliancesParams) GetForvirtualnetwork() (bool, bool) {
return value, ok
}
+func (p *ListVnfAppliancesParams) SetGpuenabled(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["gpuenabled"] = v
+}
+
+func (p *ListVnfAppliancesParams) ResetGpuenabled() {
+ if p.p != nil && p.p["gpuenabled"] != nil {
+ delete(p.p, "gpuenabled")
+ }
+}
+
+func (p *ListVnfAppliancesParams) GetGpuenabled() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["gpuenabled"].(bool)
+ return value, ok
+}
+
func (p *ListVnfAppliancesParams) SetGroupid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2288,6 +2505,27 @@ func (p *ListVnfAppliancesParams) GetKeyword() (string, bool) {
return value, ok
}
+func (p *ListVnfAppliancesParams) SetLeased(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["leased"] = v
+}
+
+func (p *ListVnfAppliancesParams) ResetLeased() {
+ if p.p != nil && p.p["leased"] != nil {
+ delete(p.p, "leased")
+ }
+}
+
+func (p *ListVnfAppliancesParams) GetLeased() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["leased"].(bool)
+ return value, ok
+}
+
func (p *ListVnfAppliancesParams) SetListall(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2805,6 +3043,9 @@ type VnfAppliance struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
+ Gpucardid string `json:"gpucardid"`
+ Gpucardname string `json:"gpucardname"`
+ Gpucount int `json:"gpucount"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
@@ -2826,6 +3067,12 @@ type VnfAppliance struct {
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
+ Leaseduration int `json:"leaseduration"`
+ Leaseexpiryaction string `json:"leaseexpiryaction"`
+ Leaseexpirydate string `json:"leaseexpirydate"`
+ Maxheads int64 `json:"maxheads"`
+ Maxresolutionx int64 `json:"maxresolutionx"`
+ Maxresolutiony int64 `json:"maxresolutiony"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
@@ -2867,6 +3114,9 @@ type VnfAppliance struct {
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
+ Vgpuprofileid string `json:"vgpuprofileid"`
+ Vgpuprofilename string `json:"vgpuprofilename"`
+ Videoram int64 `json:"videoram"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
@@ -2968,6 +3218,13 @@ func (p *ListVnfTemplatesParams) toURLValues() url.Values {
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
+ if v, found := p.p["extensionid"]; found {
+ u.Set("extensionid", v.(string))
+ }
+ if v, found := p.p["forcks"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("forcks", vv)
+ }
if v, found := p.p["hypervisor"]; found {
u.Set("hypervisor", v.(string))
}
@@ -2978,6 +3235,10 @@ func (p *ListVnfTemplatesParams) toURLValues() url.Values {
vv := strings.Join(v.([]string), ",")
u.Set("ids", vv)
}
+ if v, found := p.p["isready"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("isready", vv)
+ }
if v, found := p.p["isrecursive"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("isrecursive", vv)
@@ -2996,6 +3257,9 @@ func (p *ListVnfTemplatesParams) toURLValues() url.Values {
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
+ if v, found := p.p["oscategoryid"]; found {
+ u.Set("oscategoryid", v.(string))
+ }
if v, found := p.p["page"]; found {
vv := strconv.Itoa(v.(int))
u.Set("page", vv)
@@ -3125,6 +3389,48 @@ func (p *ListVnfTemplatesParams) GetDomainid() (string, bool) {
return value, ok
}
+func (p *ListVnfTemplatesParams) SetExtensionid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["extensionid"] = v
+}
+
+func (p *ListVnfTemplatesParams) ResetExtensionid() {
+ if p.p != nil && p.p["extensionid"] != nil {
+ delete(p.p, "extensionid")
+ }
+}
+
+func (p *ListVnfTemplatesParams) GetExtensionid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["extensionid"].(string)
+ return value, ok
+}
+
+func (p *ListVnfTemplatesParams) SetForcks(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["forcks"] = v
+}
+
+func (p *ListVnfTemplatesParams) ResetForcks() {
+ if p.p != nil && p.p["forcks"] != nil {
+ delete(p.p, "forcks")
+ }
+}
+
+func (p *ListVnfTemplatesParams) GetForcks() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["forcks"].(bool)
+ return value, ok
+}
+
func (p *ListVnfTemplatesParams) SetHypervisor(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -3188,6 +3494,27 @@ func (p *ListVnfTemplatesParams) GetIds() ([]string, bool) {
return value, ok
}
+func (p *ListVnfTemplatesParams) SetIsready(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["isready"] = v
+}
+
+func (p *ListVnfTemplatesParams) ResetIsready() {
+ if p.p != nil && p.p["isready"] != nil {
+ delete(p.p, "isready")
+ }
+}
+
+func (p *ListVnfTemplatesParams) GetIsready() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["isready"].(bool)
+ return value, ok
+}
+
func (p *ListVnfTemplatesParams) SetIsrecursive(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -3293,6 +3620,27 @@ func (p *ListVnfTemplatesParams) GetName() (string, bool) {
return value, ok
}
+func (p *ListVnfTemplatesParams) SetOscategoryid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["oscategoryid"] = v
+}
+
+func (p *ListVnfTemplatesParams) ResetOscategoryid() {
+ if p.p != nil && p.p["oscategoryid"] != nil {
+ delete(p.p, "oscategoryid")
+ }
+}
+
+func (p *ListVnfTemplatesParams) GetOscategoryid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["oscategoryid"].(string)
+ return value, ok
+}
+
func (p *ListVnfTemplatesParams) SetPage(v int) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -3657,6 +4005,9 @@ type VnfTemplate struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Downloaddetails []map[string]string `json:"downloaddetails"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
+ Forcks bool `json:"forcks"`
Format string `json:"format"`
Hasannotations bool `json:"hasannotations"`
Hostid string `json:"hostid"`
@@ -3766,6 +4117,20 @@ func (p *RegisterVnfTemplateParams) toURLValues() url.Values {
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
+ if v, found := p.p["extensionid"]; found {
+ u.Set("extensionid", v.(string))
+ }
+ if v, found := p.p["externaldetails"]; found {
+ m := v.(map[string]string)
+ for i, k := range getSortedKeysFromMap(m) {
+ u.Set(fmt.Sprintf("externaldetails[%d].key", i), k)
+ u.Set(fmt.Sprintf("externaldetails[%d].value", i), m[k])
+ }
+ }
+ if v, found := p.p["forcks"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("forcks", vv)
+ }
if v, found := p.p["format"]; found {
u.Set("format", v.(string))
}
@@ -4035,6 +4400,69 @@ func (p *RegisterVnfTemplateParams) GetDomainid() (string, bool) {
return value, ok
}
+func (p *RegisterVnfTemplateParams) SetExtensionid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["extensionid"] = v
+}
+
+func (p *RegisterVnfTemplateParams) ResetExtensionid() {
+ if p.p != nil && p.p["extensionid"] != nil {
+ delete(p.p, "extensionid")
+ }
+}
+
+func (p *RegisterVnfTemplateParams) GetExtensionid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["extensionid"].(string)
+ return value, ok
+}
+
+func (p *RegisterVnfTemplateParams) SetExternaldetails(v map[string]string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["externaldetails"] = v
+}
+
+func (p *RegisterVnfTemplateParams) ResetExternaldetails() {
+ if p.p != nil && p.p["externaldetails"] != nil {
+ delete(p.p, "externaldetails")
+ }
+}
+
+func (p *RegisterVnfTemplateParams) GetExternaldetails() (map[string]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["externaldetails"].(map[string]string)
+ return value, ok
+}
+
+func (p *RegisterVnfTemplateParams) SetForcks(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["forcks"] = v
+}
+
+func (p *RegisterVnfTemplateParams) ResetForcks() {
+ if p.p != nil && p.p["forcks"] != nil {
+ delete(p.p, "forcks")
+ }
+}
+
+func (p *RegisterVnfTemplateParams) GetForcks() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["forcks"].(bool)
+ return value, ok
+}
+
func (p *RegisterVnfTemplateParams) SetFormat(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -4501,6 +4929,9 @@ type RegisterVnfTemplateResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Downloaddetails []map[string]string `json:"downloaddetails"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
+ Forcks bool `json:"forcks"`
Format string `json:"format"`
Hasannotations bool `json:"hasannotations"`
Hostid string `json:"hostid"`
@@ -4605,6 +5036,14 @@ func (p *UpdateVnfTemplateParams) toURLValues() url.Values {
if v, found := p.p["displaytext"]; found {
u.Set("displaytext", v.(string))
}
+ if v, found := p.p["forceupdateostype"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("forceupdateostype", vv)
+ }
+ if v, found := p.p["forcks"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("forcks", vv)
+ }
if v, found := p.p["format"]; found {
u.Set("format", v.(string))
}
@@ -4811,6 +5250,48 @@ func (p *UpdateVnfTemplateParams) GetDisplaytext() (string, bool) {
return value, ok
}
+func (p *UpdateVnfTemplateParams) SetForceupdateostype(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["forceupdateostype"] = v
+}
+
+func (p *UpdateVnfTemplateParams) ResetForceupdateostype() {
+ if p.p != nil && p.p["forceupdateostype"] != nil {
+ delete(p.p, "forceupdateostype")
+ }
+}
+
+func (p *UpdateVnfTemplateParams) GetForceupdateostype() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["forceupdateostype"].(bool)
+ return value, ok
+}
+
+func (p *UpdateVnfTemplateParams) SetForcks(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["forcks"] = v
+}
+
+func (p *UpdateVnfTemplateParams) ResetForcks() {
+ if p.p != nil && p.p["forcks"] != nil {
+ delete(p.p, "forcks")
+ }
+}
+
+func (p *UpdateVnfTemplateParams) GetForcks() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["forcks"].(bool)
+ return value, ok
+}
+
func (p *UpdateVnfTemplateParams) SetFormat(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -5148,6 +5629,9 @@ type UpdateVnfTemplateResponse struct {
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Downloaddetails []map[string]string `json:"downloaddetails"`
+ Extensionid string `json:"extensionid"`
+ Extensionname string `json:"extensionname"`
+ Forcks bool `json:"forcks"`
Format string `json:"format"`
Hasannotations bool `json:"hasannotations"`
Hostid string `json:"hostid"`
diff --git a/cloudstack/VirtualNetworkFunctionsService_mock.go b/cloudstack/VirtualNetworkFunctionsService_mock.go
index fe286d8..f9622d3 100644
--- a/cloudstack/VirtualNetworkFunctionsService_mock.go
+++ b/cloudstack/VirtualNetworkFunctionsService_mock.go
@@ -259,17 +259,17 @@ func (mr *MockVirtualNetworkFunctionsServiceIfaceMockRecorder) NewDeleteVnfTempl
}
// NewDeployVnfApplianceParams mocks base method.
-func (m *MockVirtualNetworkFunctionsServiceIface) NewDeployVnfApplianceParams(serviceofferingid, templateid, zoneid string) *DeployVnfApplianceParams {
+func (m *MockVirtualNetworkFunctionsServiceIface) NewDeployVnfApplianceParams(serviceofferingid, zoneid string) *DeployVnfApplianceParams {
m.ctrl.T.Helper()
- ret := m.ctrl.Call(m, "NewDeployVnfApplianceParams", serviceofferingid, templateid, zoneid)
+ ret := m.ctrl.Call(m, "NewDeployVnfApplianceParams", serviceofferingid, zoneid)
ret0, _ := ret[0].(*DeployVnfApplianceParams)
return ret0
}
// NewDeployVnfApplianceParams indicates an expected call of NewDeployVnfApplianceParams.
-func (mr *MockVirtualNetworkFunctionsServiceIfaceMockRecorder) NewDeployVnfApplianceParams(serviceofferingid, templateid, zoneid any) *gomock.Call {
+func (mr *MockVirtualNetworkFunctionsServiceIfaceMockRecorder) NewDeployVnfApplianceParams(serviceofferingid, zoneid any) *gomock.Call {
mr.mock.ctrl.T.Helper()
- return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewDeployVnfApplianceParams", reflect.TypeOf((*MockVirtualNetworkFunctionsServiceIface)(nil).NewDeployVnfApplianceParams), serviceofferingid, templateid, zoneid)
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewDeployVnfApplianceParams", reflect.TypeOf((*MockVirtualNetworkFunctionsServiceIface)(nil).NewDeployVnfApplianceParams), serviceofferingid, zoneid)
}
// NewListVnfAppliancesParams mocks base method.
diff --git a/cloudstack/ZoneService.go b/cloudstack/ZoneService.go
index 7e428e5..8ae1e10 100644
--- a/cloudstack/ZoneService.go
+++ b/cloudstack/ZoneService.go
@@ -333,6 +333,10 @@ func (p *CreateZoneParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("securitygroupenabled", vv)
}
+ if v, found := p.p["storageaccessgroups"]; found {
+ vv := strings.Join(v.([]string), ",")
+ u.Set("storageaccessgroups", vv)
+ }
return u
}
@@ -651,6 +655,27 @@ func (p *CreateZoneParams) GetSecuritygroupenabled() (bool, bool) {
return value, ok
}
+func (p *CreateZoneParams) SetStorageaccessgroups(v []string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storageaccessgroups"] = v
+}
+
+func (p *CreateZoneParams) ResetStorageaccessgroups() {
+ if p.p != nil && p.p["storageaccessgroups"] != nil {
+ delete(p.p, "storageaccessgroups")
+ }
+}
+
+func (p *CreateZoneParams) GetStorageaccessgroups() ([]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["storageaccessgroups"].([]string)
+ return value, ok
+}
+
// You should always use this function to get a new CreateZoneParams instance,
// as then you are sure you have configured all required params
func (s *ZoneService) NewCreateZoneParams(dns1 string, internaldns1 string, name string, networktype string) *CreateZoneParams {
@@ -695,6 +720,8 @@ type CreateZoneResponse struct {
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainname string `json:"domainname"`
+ Gputotal int64 `json:"gputotal"`
+ Gpuused int64 `json:"gpuused"`
Guestcidraddress string `json:"guestcidraddress"`
Hasannotations bool `json:"hasannotations"`
Icon interface{} `json:"icon"`
@@ -710,11 +737,13 @@ type CreateZoneResponse struct {
Localstorageenabled bool `json:"localstorageenabled"`
Name string `json:"name"`
Networktype string `json:"networktype"`
+ Provider string `json:"provider"`
Resourcedetails map[string]string `json:"resourcedetails"`
Routedmodeenabled bool `json:"routedmodeenabled"`
Routerprivateinterfacemaxmtu int `json:"routerprivateinterfacemaxmtu"`
Routerpublicinterfacemaxmtu int `json:"routerpublicinterfacemaxmtu"`
Securitygroupsenabled bool `json:"securitygroupsenabled"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Tags []Tags `json:"tags"`
Type string `json:"type"`
Zonetoken string `json:"zonetoken"`
@@ -2150,6 +2179,9 @@ func (p *ListZonesParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("showicon", vv)
}
+ if v, found := p.p["storageaccessgroup"]; found {
+ u.Set("storageaccessgroup", v.(string))
+ }
if v, found := p.p["tags"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
@@ -2391,6 +2423,27 @@ func (p *ListZonesParams) GetShowicon() (bool, bool) {
return value, ok
}
+func (p *ListZonesParams) SetStorageaccessgroup(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storageaccessgroup"] = v
+}
+
+func (p *ListZonesParams) ResetStorageaccessgroup() {
+ if p.p != nil && p.p["storageaccessgroup"] != nil {
+ delete(p.p, "storageaccessgroup")
+ }
+}
+
+func (p *ListZonesParams) GetStorageaccessgroup() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["storageaccessgroup"].(string)
+ return value, ok
+}
+
func (p *ListZonesParams) SetTags(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -2536,6 +2589,8 @@ type Zone struct {
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainname string `json:"domainname"`
+ Gputotal int64 `json:"gputotal"`
+ Gpuused int64 `json:"gpuused"`
Guestcidraddress string `json:"guestcidraddress"`
Hasannotations bool `json:"hasannotations"`
Icon interface{} `json:"icon"`
@@ -2551,11 +2606,13 @@ type Zone struct {
Localstorageenabled bool `json:"localstorageenabled"`
Name string `json:"name"`
Networktype string `json:"networktype"`
+ Provider string `json:"provider"`
Resourcedetails map[string]string `json:"resourcedetails"`
Routedmodeenabled bool `json:"routedmodeenabled"`
Routerprivateinterfacemaxmtu int `json:"routerprivateinterfacemaxmtu"`
Routerpublicinterfacemaxmtu int `json:"routerpublicinterfacemaxmtu"`
Securitygroupsenabled bool `json:"securitygroupsenabled"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Tags []Tags `json:"tags"`
Type string `json:"type"`
Zonetoken string `json:"zonetoken"`
@@ -2625,6 +2682,9 @@ func (p *ListZonesMetricsParams) toURLValues() url.Values {
vv := strconv.FormatBool(v.(bool))
u.Set("showicon", vv)
}
+ if v, found := p.p["storageaccessgroup"]; found {
+ u.Set("storageaccessgroup", v.(string))
+ }
if v, found := p.p["tags"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
@@ -2866,6 +2926,27 @@ func (p *ListZonesMetricsParams) GetShowicon() (bool, bool) {
return value, ok
}
+func (p *ListZonesMetricsParams) SetStorageaccessgroup(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["storageaccessgroup"] = v
+}
+
+func (p *ListZonesMetricsParams) ResetStorageaccessgroup() {
+ if p.p != nil && p.p["storageaccessgroup"] != nil {
+ delete(p.p, "storageaccessgroup")
+ }
+}
+
+func (p *ListZonesMetricsParams) GetStorageaccessgroup() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["storageaccessgroup"].(string)
+ return value, ok
+}
+
func (p *ListZonesMetricsParams) SetTags(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
@@ -3020,6 +3101,8 @@ type ZonesMetric struct {
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainname string `json:"domainname"`
+ Gputotal int64 `json:"gputotal"`
+ Gpuused int64 `json:"gpuused"`
Guestcidraddress string `json:"guestcidraddress"`
Hasannotations bool `json:"hasannotations"`
Icon interface{} `json:"icon"`
@@ -3043,12 +3126,14 @@ type ZonesMetric struct {
Memoryused string `json:"memoryused"`
Name string `json:"name"`
Networktype string `json:"networktype"`
+ Provider string `json:"provider"`
Resourcedetails map[string]string `json:"resourcedetails"`
Routedmodeenabled bool `json:"routedmodeenabled"`
Routerprivateinterfacemaxmtu int `json:"routerprivateinterfacemaxmtu"`
Routerpublicinterfacemaxmtu int `json:"routerpublicinterfacemaxmtu"`
Securitygroupsenabled bool `json:"securitygroupsenabled"`
State string `json:"state"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Tags []Tags `json:"tags"`
Type string `json:"type"`
Zonetoken string `json:"zonetoken"`
@@ -3716,6 +3801,8 @@ type UpdateZoneResponse struct {
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainname string `json:"domainname"`
+ Gputotal int64 `json:"gputotal"`
+ Gpuused int64 `json:"gpuused"`
Guestcidraddress string `json:"guestcidraddress"`
Hasannotations bool `json:"hasannotations"`
Icon interface{} `json:"icon"`
@@ -3731,11 +3818,13 @@ type UpdateZoneResponse struct {
Localstorageenabled bool `json:"localstorageenabled"`
Name string `json:"name"`
Networktype string `json:"networktype"`
+ Provider string `json:"provider"`
Resourcedetails map[string]string `json:"resourcedetails"`
Routedmodeenabled bool `json:"routedmodeenabled"`
Routerprivateinterfacemaxmtu int `json:"routerprivateinterfacemaxmtu"`
Routerpublicinterfacemaxmtu int `json:"routerpublicinterfacemaxmtu"`
Securitygroupsenabled bool `json:"securitygroupsenabled"`
+ Storageaccessgroups string `json:"storageaccessgroups"`
Tags []Tags `json:"tags"`
Type string `json:"type"`
Zonetoken string `json:"zonetoken"`
diff --git a/generate/generate.go b/generate/generate.go
index d65be25..0a5d5ec 100644
--- a/generate/generate.go
+++ b/generate/generate.go
@@ -1424,6 +1424,14 @@ func (s *service) generateConvertCode(cmd, name, typ string) {
case "otherdeployparams":
pn(" u.Set(fmt.Sprintf(\"%s[%%d].name\", i), k)", name)
pn(" u.Set(fmt.Sprintf(\"%s[%%d].value\", i), m[k])", name)
+ case "nodeofferings":
+ pn(" u.Set(fmt.Sprintf(\"%s[%%d].node\", i), k)", name)
+ pn(" u.Set(fmt.Sprintf(\"%s[%%d].offering\", i), m[k])", name)
+ case "nodetemplates":
+ pn(" u.Set(fmt.Sprintf(\"%s[%%d].node\", i), k)", name)
+ pn(" u.Set(fmt.Sprintf(\"%s[%%d].template\", i), m[k])", name)
+ case "cniconfigdetails":
+ pn(" u.Set(fmt.Sprintf(\"%s[%%d].%%s\", i, k), m[k])", name)
default:
if shouldUseStaticZeroIndex && !detailsRequireKeyValue[cmd] {
pn(" u.Set(fmt.Sprintf(\"%s[0].%%s\", k), m[k])", name)
diff --git a/generate/listApis.json b/generate/listApis.json
index 790365c..017bfea 100644
--- a/generate/listApis.json
+++ b/generate/listApis.json
@@ -6,26 +6,11 @@
"name": "createVPCOffering",
"params": [
{
- "description": "The internet protocol of the offering. Options are ipv4 and dualstack. Default is ipv4. dualstack will create an offering that supports both IPv4 and IPv6",
- "length": 255,
- "name": "internetprotocol",
- "required": false,
- "since": "4.17.0",
- "type": "string"
- },
- {
- "description": "set to true if the offering is to be enabled during creation. Default is false",
- "length": 255,
- "name": "enable",
- "required": false,
- "since": "4.16",
- "type": "boolean"
- },
- {
- "description": "provider to service mapping. If not specified, the provider for the service will be mapped to the default provider on the physical network",
+ "description": "desired service capabilities as part of vpc offering",
"length": 255,
- "name": "serviceproviderlist",
+ "name": "servicecapabilitylist",
"required": false,
+ "since": "4.4",
"type": "map"
},
{
@@ -36,6 +21,13 @@
"since": "4.20.0",
"type": "string"
},
+ {
+ "description": "the display text of the vpc offering, defaults to the 'name'",
+ "length": 255,
+ "name": "displaytext",
+ "required": false,
+ "type": "string"
+ },
{
"description": "true if the VPC offering supports choosing AS number",
"length": 255,
@@ -45,12 +37,11 @@
"type": "boolean"
},
{
- "description": "Indicates the mode with which the network will operate. Valid option: NATTED or ROUTED",
+ "description": "provider to service mapping. If not specified, the provider for the service will be mapped to the default provider on the physical network",
"length": 255,
- "name": "networkmode",
+ "name": "serviceproviderlist",
"required": false,
- "since": "4.20.0",
- "type": "string"
+ "type": "map"
},
{
"description": "the name of the vpc offering",
@@ -60,11 +51,19 @@
"type": "string"
},
{
- "description": "true if network offering is meant to be used for NSX, false otherwise.",
+ "description": "The internet protocol of the offering. Options are ipv4 and dualstack. Default is ipv4. dualstack will create an offering that supports both IPv4 and IPv6",
"length": 255,
- "name": "fornsx",
+ "name": "internetprotocol",
"required": false,
- "since": "4.20.0",
+ "since": "4.17.0",
+ "type": "string"
+ },
+ {
+ "description": "set to true if the offering is to be enabled during creation. Default is false",
+ "length": 255,
+ "name": "enable",
+ "required": false,
+ "since": "4.16",
"type": "boolean"
},
{
@@ -76,10 +75,18 @@
"type": "uuid"
},
{
- "description": "the display text of the vpc offering, defaults to the 'name'",
+ "description": "services supported by the vpc offering",
"length": 255,
- "name": "displaytext",
+ "name": "supportedservices",
+ "required": false,
+ "type": "list"
+ },
+ {
+ "description": "Indicates the mode with which the network will operate. Valid option: NATTED or ROUTED",
+ "length": 255,
+ "name": "networkmode",
"required": false,
+ "since": "4.20.0",
"type": "string"
},
{
@@ -92,19 +99,20 @@
"type": "list"
},
{
- "description": "true if network offering for NSX VPC offering supports Load balancer service.",
+ "description": "Name of the provider providing the service",
"length": 255,
- "name": "nsxsupportlb",
+ "name": "provider",
"required": false,
- "since": "4.20.0",
- "type": "boolean"
+ "since": "4.21.0",
+ "type": "string"
},
{
- "description": "services supported by the vpc offering",
+ "description": "true if network offering is meant to be used for NSX, false otherwise.",
"length": 255,
- "name": "supportedservices",
+ "name": "fornsx",
"required": false,
- "type": "list"
+ "since": "4.20.0",
+ "type": "boolean"
},
{
"description": "the ID of the containing domain(s), null for public offerings",
@@ -115,98 +123,62 @@
"type": "list"
},
{
- "description": "desired service capabilities as part of vpc offering",
+ "description": "true if network offering for NSX VPC offering supports Load balancer service.",
"length": 255,
- "name": "servicecapabilitylist",
+ "name": "nsxsupportlb",
"required": false,
- "since": "4.4",
- "type": "map"
+ "since": "4.20.0",
+ "type": "boolean"
}
],
"related": "updateVPCOffering,listVPCOfferings",
"response": [
{
- "description": "the date this vpc offering was created",
- "name": "created",
- "type": "date"
- },
- {},
- {
- "description": "Mode in which the network will operate. The valid values are NATTED and ROUTED",
- "name": "networkmode",
- "type": "string"
- },
- {
- "description": "the name of the vpc offering",
- "name": "name",
+ "description": "the domain ID(s) this disk offering belongs to. Ignore this information as it is not currently applicable.",
+ "name": "domainid",
"type": "string"
},
{
- "description": "state of the vpc offering. Can be Disabled/Enabled",
- "name": "state",
- "type": "string"
+ "description": "true if network offering supports choosing AS numbers",
+ "name": "specifyasnumber",
+ "type": "boolean"
},
{
- "description": "an alternate display text of the vpc offering.",
- "name": "displaytext",
+ "description": "the routing mode for the network offering, supported types are Static or Dynamic.",
+ "name": "routingmode",
"type": "string"
},
{
- "description": "the domain ID(s) this disk offering belongs to. Ignore this information as it is not currently applicable.",
- "name": "domainid",
- "type": "string"
+ "description": "the current status of the latest async job acting on this object",
+ "name": "jobstatus",
+ "type": "integer"
},
{
"description": "the domain name(s) this disk offering belongs to. Ignore this information as it is not currently applicable.",
"name": "domain",
"type": "string"
},
- {
- "description": "true if vpc offering is default, false otherwise",
- "name": "isdefault",
- "type": "boolean"
- },
{},
{
- "description": "the internet protocol of the vpc offering",
- "name": "internetprotocol",
- "type": "string"
- },
- {
- "description": "the routing mode for the network offering, supported types are Static or Dynamic.",
- "name": "routingmode",
+ "description": "the name of the vpc offering",
+ "name": "name",
"type": "string"
},
{
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
+ "description": "the zone name(s) this disk offering belongs to. Ignore this information as it is not currently applicable.",
+ "name": "zone",
"type": "string"
},
{
- "description": "true if network offering supports choosing AS numbers",
- "name": "specifyasnumber",
+ "description": "indicated if the offering can support region level vpc",
+ "name": "supportsregionLevelvpc",
"type": "boolean"
},
{
- "description": "the id of the vpc offering",
- "name": "id",
- "type": "string"
- },
- {
- "description": "the zone ID(s) this disk offering belongs to. Ignore this information as it is not currently applicable.",
- "name": "zoneid",
+ "description": "an alternate display text of the vpc offering.",
+ "name": "displaytext",
"type": "string"
},
- {
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
- "type": "integer"
- },
- {
- "description": " indicates if the vpc offering supports distributed router for one-hop forwarding",
- "name": "distributedvpcrouter",
- "type": "boolean"
- },
{
"description": "the list of supported services",
"name": "service",
@@ -216,23 +188,23 @@
"name": "provider",
"response": [
{
- "description": "the physical network this belongs to",
- "name": "physicalnetworkid",
- "type": "string"
+ "description": "services for this provider",
+ "name": "servicelist",
+ "type": "list"
},
{
- "description": "the provider name",
- "name": "name",
+ "description": "the destination physical network",
+ "name": "destinationphysicalnetworkid",
"type": "string"
},
{
- "description": "the destination physical network",
- "name": "destinationphysicalnetworkid",
+ "description": "the physical network this belongs to",
+ "name": "physicalnetworkid",
"type": "string"
},
{
- "description": "uuid of the network provider",
- "name": "id",
+ "description": "the provider name",
+ "name": "name",
"type": "string"
},
{
@@ -240,36 +212,31 @@
"name": "canenableindividualservice",
"type": "boolean"
},
- {
- "description": "services for this provider",
- "name": "servicelist",
- "type": "list"
- },
{
"description": "state of the network provider",
"name": "state",
"type": "string"
+ },
+ {
+ "description": "uuid of the network provider",
+ "name": "id",
+ "type": "string"
}
],
"type": "list"
},
- {
- "description": "the service name",
- "name": "name",
- "type": "string"
- },
{
"description": "the list of capabilities",
"name": "capability",
"response": [
{
- "description": "the capability value",
- "name": "value",
+ "description": "the capability name",
+ "name": "name",
"type": "string"
},
{
- "description": "the capability name",
- "name": "name",
+ "description": "the capability value",
+ "name": "value",
"type": "string"
},
{
@@ -279,24 +246,65 @@
}
],
"type": "list"
+ },
+ {
+ "description": "the service name",
+ "name": "name",
+ "type": "string"
}
],
"type": "list"
},
+ {
+ "description": "Mode in which the network will operate. The valid values are NATTED and ROUTED",
+ "name": "networkmode",
+ "type": "string"
+ },
{
"description": "true if vpc offering can be used by NSX networks only",
"name": "fornsx",
"type": "boolean"
},
{
- "description": "the zone name(s) this disk offering belongs to. Ignore this information as it is not currently applicable.",
- "name": "zone",
+ "description": "the zone ID(s) this disk offering belongs to. Ignore this information as it is not currently applicable.",
+ "name": "zoneid",
"type": "string"
},
{
- "description": "indicated if the offering can support region level vpc",
- "name": "supportsregionLevelvpc",
+ "description": " indicates if the vpc offering supports distributed router for one-hop forwarding",
+ "name": "distributedvpcrouter",
+ "type": "boolean"
+ },
+ {
+ "description": "the date this vpc offering was created",
+ "name": "created",
+ "type": "date"
+ },
+ {
+ "description": "true if vpc offering is default, false otherwise",
+ "name": "isdefault",
"type": "boolean"
+ },
+ {
+ "description": "state of the vpc offering. Can be Disabled/Enabled",
+ "name": "state",
+ "type": "string"
+ },
+ {
+ "description": "the UUID of the latest async job acting on this object",
+ "name": "jobid",
+ "type": "string"
+ },
+ {
+ "description": "the id of the vpc offering",
+ "name": "id",
+ "type": "string"
+ },
+ {},
+ {
+ "description": "the internet protocol of the vpc offering",
+ "name": "internetprotocol",
+ "type": "string"
}
]
},
@@ -305,29 +313,6 @@
"isasync": false,
"name": "ldapCreateAccount",
"params": [
- {
- "description": "Creates the account under the specified role.",
- "length": 255,
- "name": "roleid",
- "related": "createRole,importRole,listRoles,updateRole",
- "required": false,
- "type": "uuid"
- },
- {
- "description": "details for account used to store specific parameters",
- "length": 255,
- "name": "accountdetails",
- "required": false,
- "type": "map"
- },
- {
- "description": "Creates the user under the specified domain.",
- "length": 255,
- "name": "domainid",
- "related": "createDomain,listDomainChildren,listDomains,listDomains,updateDomain,moveDomain",
- "required": false,
- "type": "uuid"
- },
{
"description": "Creates the user under the specified account. If no account is specified, the username will be used as the account name.",
"length": 255,
@@ -350,11 +335,11 @@
"type": "string"
},
{
- "description": "Network domain for the account's networks",
+ "description": "details for account used to store specific parameters",
"length": 255,
- "name": "networkdomain",
+ "name": "accountdetails",
"required": false,
- "type": "string"
+ "type": "map"
},
{
"description": "Type of the account. Specify 0 for user, 1 for root admin, and 2 for domain admin",
@@ -363,6 +348,21 @@
"required": false,
"type": "integer"
},
+ {
+ "description": "Network domain for the account's networks",
+ "length": 255,
+ "name": "networkdomain",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "description": "Creates the user under the specified domain.",
+ "length": 255,
+ "name": "domainid",
+ "related": "createDomain,listDomainChildren,listDomains,listDomains,updateDomain,moveDomain",
+ "required": false,
+ "type": "uuid"
+ },
{
"description": "Specifies a timezone for this command. For more information on the timezone parameter, see Time Zone Format.",
"length": 255,
@@ -376,13 +376,37 @@
"name": "accountid",
"required": false,
"type": "string"
+ },
+ {
+ "description": "Creates the account under the specified role.",
+ "length": 255,
+ "name": "roleid",
+ "related": "createRole,importRole,listRoles,updateRole",
+ "required": false,
+ "type": "uuid"
}
],
"related": "createAccount,disableAccount,enableAccount,lockAccount,updateAccount,markDefaultZoneForAccount,listAccounts,listAccounts",
"response": [
+ {},
{
- "description": "the total number of virtual machines that can be deployed by this account",
- "name": "vmlimit",
+ "description": "the total number of backups which can be stored by this account",
+ "name": "backuplimit",
+ "type": "string"
+ },
+ {
+ "description": "the total number of cpu cores the account can own",
+ "name": "cpulimit",
+ "type": "string"
+ },
+ {
+ "description": "the total memory (in MB) the account can own",
+ "name": "memorylimit",
+ "type": "string"
+ },
+ {
+ "description": "the type of the role (Admin, ResourceAdmin, DomainAdmin, User)",
+ "name": "roletype",
"type": "string"
},
{
@@ -391,92 +415,212 @@
"type": "string"
},
{
- "description": "the total number of networks owned by account",
- "name": "networktotal",
- "type": "long"
+ "description": "The tagged resource limit and count for the account",
+ "name": "taggedresources",
+ "type": "list"
},
{
- "description": "the total number of vpcs owned by account",
- "name": "vpctotal",
- "type": "long"
+ "description": "the total number of projects the account can own",
+ "name": "projectlimit",
+ "type": "string"
},
{
- "description": "the total primary storage space (in GiB) owned by account",
- "name": "primarystoragetotal",
+ "description": "the total number of buckets stored by this account",
+ "name": "buckettotal",
"type": "long"
},
{
- "description": "the total number of networks available to be created for this account",
- "name": "networkavailable",
+ "description": "the total primary storage space (in GiB) available to be used for this account",
+ "name": "primarystorageavailable",
"type": "string"
},
{
- "description": "the list of acl groups that account belongs to",
- "name": "groups",
- "type": "list"
+ "description": "the total number of backups available to this account",
+ "name": "backupavailable",
+ "type": "string"
},
{
- "description": "the total primary storage space (in GiB) available to be used for this account",
- "name": "primarystorageavailable",
+ "description": "the total object storage space (in GiB) available to the account",
+ "name": "objectstorageavailable",
"type": "string"
},
{
- "description": "the state of the account",
- "name": "state",
+ "description": "the total number of gpus available to be created for this account",
+ "name": "gpuavailable",
+ "type": "string"
+ },
+ {
+ "description": "true if the account requires cleanup",
+ "name": "iscleanuprequired",
+ "type": "boolean"
+ },
+ {
+ "description": "the total number of vpcs available to be created for this account",
+ "name": "vpcavailable",
+ "type": "string"
+ },
+ {
+ "description": "the total secondary storage space (in GiB) available to be used for this account",
+ "name": "secondarystorageavailable",
"type": "string"
},
+ {
+ "description": "the total number of gpus owned by account",
+ "name": "gputotal",
+ "type": "long"
+ },
{
"description": "the ID of the role",
"name": "roleid",
"type": "string"
},
+ {
+ "description": "the total primary storage space (in GiB) the account can own",
+ "name": "primarystoragelimit",
+ "type": "string"
+ },
{
"description": "details for the account",
"name": "accountdetails",
"type": "map"
},
+ {
+ "description": "the total object storage space (in GiB) owned by the account",
+ "name": "objectstoragetotal",
+ "type": "long"
+ },
+ {
+ "description": "the total number of snapshots which can be stored by this account",
+ "name": "snapshotlimit",
+ "type": "string"
+ },
+ {
+ "description": "name of the Domain the account belongs to",
+ "name": "domain",
+ "type": "string"
+ },
{
"description": "the total number of networks the account can own",
"name": "networklimit",
"type": "string"
},
+ {
+ "description": "the total number of gpus the account can own",
+ "name": "gpulimit",
+ "type": "string"
+ },
+ {
+ "description": "the total number of vpcs the account can own",
+ "name": "vpclimit",
+ "type": "string"
+ },
+ {
+ "description": "the total volume available for this account",
+ "name": "volumeavailable",
+ "type": "string"
+ },
+ {
+ "description": "the UUID of the latest async job acting on this object",
+ "name": "jobid",
+ "type": "string"
+ },
+ {
+ "description": "the total memory (in MB) owned by account",
+ "name": "memorytotal",
+ "type": "long"
+ },
+ {
+ "description": "the total number of virtual machines deployed by this account",
+ "name": "vmtotal",
+ "type": "long"
+ },
+ {
+ "description": "the total number of snapshots available for this account",
+ "name": "snapshotavailable",
+ "type": "string"
+ },
+ {
+ "description": "the total number of templates available to be created by this account",
+ "name": "templateavailable",
+ "type": "string"
+ },
+ {
+ "description": "the total number of network traffic bytes received",
+ "name": "receivedbytes",
+ "type": "long"
+ },
+ {
+ "description": "the current status of the latest async job acting on this object",
+ "name": "jobstatus",
+ "type": "integer"
+ },
{
"description": "account type (admin, domain-admin, user)",
"name": "accounttype",
"type": "integer"
},
+ {
+ "description": "the total primary storage space (in GiB) owned by account",
+ "name": "primarystoragetotal",
+ "type": "long"
+ },
+ {
+ "description": "the name of the role",
+ "name": "rolename",
+ "type": "string"
+ },
+ {
+ "description": "the total number of cpu cores owned by account",
+ "name": "cputotal",
+ "type": "long"
+ },
+ {
+ "description": "the network domain",
+ "name": "networkdomain",
+ "type": "string"
+ },
+ {
+ "description": "the default zone of the account",
+ "name": "defaultzoneid",
+ "type": "string"
+ },
+ {
+ "description": "the total number of virtual machines stopped for this account",
+ "name": "vmstopped",
+ "type": "integer"
+ },
+ {
+ "description": "the total memory (in MB) available to be created for this account",
+ "name": "memoryavailable",
+ "type": "string"
+ },
{
"description": "the list of users associated with account",
"name": "user",
"response": [
{
- "description": "the date and time the user account was created",
- "name": "created",
- "type": "date"
- },
- {
- "description": "the user state",
- "name": "state",
+ "description": "the source type of the user in lowercase, such as native, ldap, saml2",
+ "name": "usersource",
"type": "string"
},
{
- "description": "the account ID of the user",
- "name": "accountid",
+ "description": "the user email address",
+ "name": "email",
"type": "string"
},
{
- "description": "the type of the role",
- "name": "roletype",
+ "description": "the account name of the user",
+ "name": "account",
"type": "string"
},
{
- "description": "the api key of the user",
- "name": "apikey",
+ "description": "the user state",
+ "name": "state",
"type": "string"
},
{
- "description": "the secret key of the user",
- "name": "secretkey",
+ "description": "the type of the role",
+ "name": "roletype",
"type": "string"
},
{
@@ -484,24 +628,29 @@
"name": "firstname",
"type": "string"
},
+ {
+ "description": "the user lastname",
+ "name": "lastname",
+ "type": "string"
+ },
{
"description": "the timezone user was created in",
"name": "timezone",
"type": "string"
},
{
- "description": "the user name",
- "name": "username",
+ "description": "the user ID",
+ "name": "id",
"type": "string"
},
{
- "description": "the ID of the role",
- "name": "roleid",
- "type": "string"
+ "description": "the boolean value representing if the updating target is in caller's child domain",
+ "name": "iscallerchilddomain",
+ "type": "boolean"
},
{
- "description": "the domain ID of the user",
- "name": "domainid",
+ "description": "the domain name of the user",
+ "name": "domain",
"type": "string"
},
{
@@ -515,58 +664,58 @@
"type": "resourceiconresponse"
},
{
- "description": "whether api key access is Enabled, Disabled or set to Inherit (it inherits the value from the parent)",
- "name": "apikeyaccess",
- "type": "apikeyaccess"
+ "description": "the name of the role",
+ "name": "rolename",
+ "type": "string"
},
{
- "description": "the user ID",
- "name": "id",
+ "description": "the user name",
+ "name": "username",
"type": "string"
},
{
- "description": "the boolean value representing if the updating target is in caller's child domain",
- "name": "iscallerchilddomain",
+ "description": "true if user has two factor authentication is mandated",
+ "name": "is2famandated",
"type": "boolean"
},
{
- "description": "the domain name of the user",
- "name": "domain",
- "type": "string"
- },
- {
- "description": "the account name of the user",
- "name": "account",
- "type": "string"
+ "description": "the date and time the user account was created",
+ "name": "created",
+ "type": "date"
},
{
- "description": "the name of the role",
- "name": "rolename",
+ "description": "the account ID of the user",
+ "name": "accountid",
"type": "string"
},
- {
- "description": "true if user has two factor authentication is mandated",
- "name": "is2famandated",
- "type": "boolean"
- },
{
"description": "true if user has two factor authentication enabled",
"name": "is2faenabled",
"type": "boolean"
},
{
- "description": "the source type of the user in lowercase, such as native, ldap, saml2",
- "name": "usersource",
+ "description": "the secret key of the user",
+ "name": "secretkey",
"type": "string"
},
{
- "description": "the user lastname",
- "name": "lastname",
+ "description": "the api key of the user",
+ "name": "apikey",
"type": "string"
},
{
- "description": "the user email address",
- "name": "email",
+ "description": "whether api key access is Enabled, Disabled or set to Inherit (it inherits the value from the parent)",
+ "name": "apikeyaccess",
+ "type": "apikeyaccess"
+ },
+ {
+ "description": "the ID of the role",
+ "name": "roleid",
+ "type": "string"
+ },
+ {
+ "description": "the domain ID of the user",
+ "name": "domainid",
"type": "string"
},
{
@@ -578,68 +727,43 @@
"type": "list"
},
{
- "description": "the total secondary storage space (in GiB) owned by account",
- "name": "secondarystoragetotal",
- "type": "float"
- },
- {
- "description": "the total number of public ip addresses this account can acquire",
- "name": "iplimit",
- "type": "string"
- },
- {
- "description": "the total number of templates available to be created by this account",
- "name": "templateavailable",
+ "description": "the total number of networks available to be created for this account",
+ "name": "networkavailable",
"type": "string"
},
{
- "description": "the total number of vpcs the account can own",
- "name": "vpclimit",
- "type": "string"
+ "description": "the total number of backups stored by this account",
+ "name": "backuptotal",
+ "type": "long"
},
{
- "description": "the total secondary storage space (in GiB) the account can own",
- "name": "secondarystoragelimit",
- "type": "string"
+ "description": "the total backup storage space (in GiB) owned by the account",
+ "name": "backupstoragetotal",
+ "type": "long"
},
{
- "description": "the total secondary storage space (in GiB) available to be used for this account",
- "name": "secondarystorageavailable",
+ "description": "the total number of projects available for administration by this account",
+ "name": "projectavailable",
"type": "string"
},
{
- "description": "the date when this account was created",
- "name": "created",
- "type": "date"
- },
- {
- "description": "true if account is default, false otherwise",
- "name": "isdefault",
- "type": "boolean"
- },
- {
- "description": "the name of the role",
- "name": "rolename",
- "type": "string"
+ "description": "the total secondary storage space (in GiB) owned by account",
+ "name": "secondarystoragetotal",
+ "type": "float"
},
{
- "description": "the network domain",
- "name": "networkdomain",
+ "description": "the total backup storage space (in GiB) available to the account",
+ "name": "backupstorageavailable",
"type": "string"
},
{
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
+ "description": "the total number of virtual machines running for this account",
+ "name": "vmrunning",
"type": "integer"
},
{
- "description": "the total number of projects available for administration by this account",
- "name": "projectavailable",
- "type": "string"
- },
- {
- "description": "the total number of cpu cores the account can own",
- "name": "cpulimit",
+ "description": "the total backup storage space (in GiB) the account can own",
+ "name": "backupstoragelimit",
"type": "string"
},
{
@@ -648,180 +772,139 @@
"type": "string"
},
{
- "description": "the total volume being used by this account",
- "name": "volumetotal",
- "type": "long"
+ "description": "the date when this account was created",
+ "name": "created",
+ "type": "date"
},
{
- "description": "the total number of network traffic bytes sent",
- "name": "sentbytes",
- "type": "long"
+ "description": "the total number of public ip addresses this account can acquire",
+ "name": "iplimit",
+ "type": "string"
},
{
"description": "Base64 string representation of the resource icon",
"name": "icon",
"type": "resourceiconresponse"
},
- {},
- {
- "description": "the total volume which can be used by this account",
- "name": "volumelimit",
- "type": "string"
- },
{
- "description": "the total number of vpcs available to be created for this account",
- "name": "vpcavailable",
+ "description": "path of the Domain the account belongs to",
+ "name": "domainpath",
"type": "string"
},
{
- "description": "the total number of cpu cores owned by account",
- "name": "cputotal",
+ "description": "the total number of public ip addresses allocated for this account",
+ "name": "iptotal",
"type": "long"
},
{
- "description": "name of the Domain the account belongs to",
- "name": "domain",
+ "description": "the total volume which can be used by this account",
+ "name": "volumelimit",
"type": "string"
},
{
- "description": "the total memory (in MB) available to be created for this account",
- "name": "memoryavailable",
+ "description": "the total number of buckets which can be stored by this account",
+ "name": "bucketlimit",
"type": "string"
},
{
- "description": "the id of the account",
- "name": "id",
+ "description": "the total object storage space (in GiB) the account can own",
+ "name": "objectstoragelimit",
"type": "string"
},
{
- "description": "true if the account requires cleanup",
- "name": "iscleanuprequired",
- "type": "boolean"
+ "description": "the list of acl groups that account belongs to",
+ "name": "groups",
+ "type": "list"
},
{
- "description": "the default zone of the account",
- "name": "defaultzoneid",
- "type": "string"
+ "description": "the total number of networks owned by account",
+ "name": "networktotal",
+ "type": "long"
},
{
- "description": "whether api key access is Enabled, Disabled or set to Inherit (it inherits the value from the parent)",
- "name": "apikeyaccess",
- "type": "apikeyaccess"
+ "description": "the total secondary storage space (in GiB) the account can own",
+ "name": "secondarystoragelimit",
+ "type": "string"
},
{
- "description": "id of the Domain the account belongs to",
- "name": "domainid",
+ "description": "the total number of public ip addresses available for this account to acquire",
+ "name": "ipavailable",
"type": "string"
},
{
- "description": "the total number of projects being administrated by this account",
- "name": "projecttotal",
+ "description": "the total volume being used by this account",
+ "name": "volumetotal",
"type": "long"
},
{
- "description": "the total memory (in MB) owned by account",
- "name": "memorytotal",
+ "description": "the total number of templates which have been created by this account",
+ "name": "templatetotal",
"type": "long"
},
{
- "description": "the total number of cpu cores available to be created for this account",
- "name": "cpuavailable",
- "type": "string"
- },
- {},
- {
- "description": "the total volume available for this account",
- "name": "volumeavailable",
- "type": "string"
- },
- {
- "description": "the total number of snapshots stored by this account",
- "name": "snapshottotal",
+ "description": "the total number of vpcs owned by account",
+ "name": "vpctotal",
"type": "long"
},
{
- "description": "the total number of projects the account can own",
- "name": "projectlimit",
+ "description": "the total number of buckets available to this account",
+ "name": "bucketavailable",
"type": "string"
},
{
- "description": "the total number of virtual machines running for this account",
- "name": "vmrunning",
- "type": "integer"
- },
- {
- "description": "path of the Domain the account belongs to",
- "name": "domainpath",
+ "description": "the total number of cpu cores available to be created for this account",
+ "name": "cpuavailable",
"type": "string"
},
{
- "description": "the total number of network traffic bytes received",
- "name": "receivedbytes",
- "type": "long"
- },
- {
- "description": "the total number of templates which can be created by this account",
- "name": "templatelimit",
+ "description": "the id of the account",
+ "name": "id",
"type": "string"
},
{
- "description": "the total number of virtual machines deployed by this account",
- "name": "vmtotal",
- "type": "long"
- },
- {
- "description": "the total number of snapshots available for this account",
- "name": "snapshotavailable",
+ "description": "the total number of virtual machines that can be deployed by this account",
+ "name": "vmlimit",
"type": "string"
},
{
- "description": "the total number of public ip addresses available for this account to acquire",
- "name": "ipavailable",
- "type": "string"
+ "description": "the total number of snapshots stored by this account",
+ "name": "snapshottotal",
+ "type": "long"
},
+ {},
{
- "description": "the total number of templates which have been created by this account",
- "name": "templatetotal",
- "type": "long"
+ "description": "true if account is default, false otherwise",
+ "name": "isdefault",
+ "type": "boolean"
},
{
- "description": "the total number of public ip addresses allocated for this account",
- "name": "iptotal",
+ "description": "the total number of network traffic bytes sent",
+ "name": "sentbytes",
"type": "long"
},
{
- "description": "the total primary storage space (in GiB) the account can own",
- "name": "primarystoragelimit",
+ "description": "the state of the account",
+ "name": "state",
"type": "string"
},
{
- "description": "the total number of virtual machines stopped for this account",
- "name": "vmstopped",
- "type": "integer"
- },
- {
- "description": "The tagged resource limit and count for the account",
- "name": "taggedresources",
- "type": "list"
- },
- {
- "description": "the total number of snapshots which can be stored by this account",
- "name": "snapshotlimit",
- "type": "string"
+ "description": "whether api key access is Enabled, Disabled or set to Inherit (it inherits the value from the parent)",
+ "name": "apikeyaccess",
+ "type": "apikeyaccess"
},
{
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
+ "description": "the total number of templates which can be created by this account",
+ "name": "templatelimit",
"type": "string"
},
{
- "description": "the type of the role (Admin, ResourceAdmin, DomainAdmin, User)",
- "name": "roletype",
- "type": "string"
+ "description": "the total number of projects being administrated by this account",
+ "name": "projecttotal",
+ "type": "long"
},
{
- "description": "the total memory (in MB) the account can own",
- "name": "memorylimit",
+ "description": "id of the Domain the account belongs to",
+ "name": "domainid",
"type": "string"
}
],
@@ -832,14 +915,6 @@
"isasync": true,
"name": "copyIso",
"params": [
- {
- "description": "Template ID.",
- "length": 255,
- "name": "id",
- "related": "registerVnfTemplate,registerVnfTemplate,listVnfTemplates,listVnfTemplates,updateVnfTemplate,updateVnfTemplate,prepareTemplate,copyIso,listIsos,registerIso,updateIso,copyTemplate,createTemplate,listTemplates,registerTemplate,updateTemplate,listTemplates,createTemplate,copyTemplate,registerTemplate,registerIso,copyIso,listIsos,linkUserDataToTemplate",
- "required": true,
- "type": "uuid"
- },
{
"description": "A list of IDs of the zones that the template needs to be copied to.Specify this list if the template needs to copied to multiple zones in one go. Do not specify destzoneid and destzoneids together, however one of them is required.",
"length": 255,
@@ -849,57 +924,71 @@
"type": "list"
},
{
- "description": "ID of the zone the template is currently hosted on. If not specified and template is cross-zone, then we will sync this template to region wide image store.",
+ "description": "ID of the zone the template is being copied to.",
"length": 255,
- "name": "sourcezoneid",
+ "name": "destzoneid",
"related": "createZone,updateZone,listZones,listZones",
"required": false,
"type": "uuid"
},
{
- "description": "ID of the zone the template is being copied to.",
+ "description": "Template ID.",
"length": 255,
- "name": "destzoneid",
+ "name": "id",
+ "related": "prepareTemplate,copyIso,listIsos,registerIso,updateIso,copyTemplate,createTemplate,listTemplates,registerTemplate,updateTemplate,listTemplates,createTemplate,copyTemplate,registerTemplate,registerIso,copyIso,listIsos,linkUserDataToTemplate,registerVnfTemplate,registerVnfTemplate,listVnfTemplates,listVnfTemplates,updateVnfTemplate,updateVnfTemplate",
+ "required": true,
+ "type": "uuid"
+ },
+ {
+ "description": "ID of the zone the template is currently hosted on. If not specified and template is cross-zone, then we will sync this template to region wide image store.",
+ "length": 255,
+ "name": "sourcezoneid",
"related": "createZone,updateZone,listZones,listZones",
"required": false,
"type": "uuid"
}
],
- "related": "registerVnfTemplate,registerVnfTemplate,listVnfTemplates,listVnfTemplates,updateVnfTemplate,updateVnfTemplate,prepareTemplate,listIsos,registerIso,updateIso,copyTemplate,createTemplate,listTemplates,registerTemplate,updateTemplate,listTemplates,createTemplate,copyTemplate,registerTemplate,registerIso,copyIso,listIsos,linkUserDataToTemplate",
+ "related": "prepareTemplate,listIsos,registerIso,updateIso,copyTemplate,createTemplate,listTemplates,registerTemplate,updateTemplate,listTemplates,createTemplate,copyTemplate,registerTemplate,registerIso,copyIso,listIsos,linkUserDataToTemplate,registerVnfTemplate,registerVnfTemplate,listVnfTemplates,listVnfTemplates,updateVnfTemplate,updateVnfTemplate",
"response": [
{
- "description": "the name of the OS type for this template.",
- "name": "ostypename",
- "type": "string"
+ "description": "the date this template was created",
+ "name": "created",
+ "type": "date"
},
{
- "description": "true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory",
- "name": "isdynamicallyscalable",
+ "description": "true if the ISO is bootable, false otherwise",
+ "name": "bootable",
"type": "boolean"
},
{
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
- "type": "string"
+ "description": "true if the template is managed across all Zones, false otherwise",
+ "name": "crossZones",
+ "type": "boolean"
},
+ {},
{
- "description": "the name of the secondary storage host for the template",
- "name": "hostname",
- "type": "string"
+ "description": "true if the template is extractable, false otherwise",
+ "name": "isextractable",
+ "type": "boolean"
},
{
- "description": "the account name to which the template belongs",
- "name": "account",
+ "description": "the date this template was removed",
+ "name": "removed",
+ "type": "date"
+ },
+ {
+ "description": "the account id to which the template belongs",
+ "name": "accountid",
"type": "string"
},
{
- "description": "the ID of the zone for this template",
- "name": "zoneid",
+ "description": "the template ID of the parent template if present",
+ "name": "sourcetemplateid",
"type": "string"
},
{
- "description": "path of the Domain the template belongs to",
- "name": "domainpath",
+ "description": "CPU Arch of the template",
+ "name": "arch",
"type": "string"
},
{
@@ -908,58 +997,128 @@
"type": "long"
},
{
- "description": "if root disk template, then ids of the datas disk templates this template owns",
- "name": "childtemplates",
- "type": "set"
+ "description": "true if template is sshkey enabled, false otherwise",
+ "name": "sshkeyenabled",
+ "type": "boolean"
},
{
- "description": "true if the template is extractable, false otherwise",
- "name": "isextractable",
- "type": "boolean"
+ "description": "VMware only: additional key/value details tied with deploy-as-is template",
+ "name": "deployasisdetails",
+ "type": "map"
+ },
+ {
+ "description": "the ID of the secondary storage host for the template",
+ "name": "hostid",
+ "type": "string"
+ },
+ {
+ "description": "Base64 string representation of the resource icon",
+ "name": "icon",
+ "type": "resourceiconresponse"
+ },
+ {
+ "description": "the ID of the zone for this template",
+ "name": "zoneid",
+ "type": "string"
+ },
+ {
+ "description": "the name of the secondary storage host for the template",
+ "name": "hostname",
+ "type": "string"
},
- {},
{
"description": "the ID of the OS type for this template.",
"name": "ostypeid",
"type": "string"
},
+ {
+ "description": "the project id of the template",
+ "name": "projectid",
+ "type": "string"
+ },
+ {
+ "description": "the template ID",
+ "name": "id",
+ "type": "string"
+ },
+ {
+ "description": "list of parameters which contains the list of keys or string parameters that are needed to be passed for any variables declared in userdata",
+ "name": "userdataparams",
+ "type": "string"
+ },
{
"description": "the current status of the latest async job acting on this object",
"name": "jobstatus",
"type": "integer"
},
{
- "description": "the date this template was removed",
- "name": "removed",
- "type": "date"
+ "description": "if Datadisk template, then id of the root disk template this template belongs to",
+ "name": "parenttemplateid",
+ "type": "string"
},
{
- "description": "the project name of the template",
- "name": "project",
+ "description": "the name of the OS type for this template.",
+ "name": "ostypename",
+ "type": "string"
+ },
+ {
+ "description": "true if the reset password feature is enabled, false otherwise",
+ "name": "passwordenabled",
+ "type": "boolean"
+ },
+ {
+ "description": "The name of extension linked to this template",
+ "name": "extensionname",
+ "type": "string"
+ },
+ {
+ "description": "the size of the template",
+ "name": "size",
+ "type": "long"
+ },
+ {
+ "description": "the processor bit size",
+ "name": "bits",
+ "type": "int"
+ },
+ {
+ "description": "the name of userdata linked to this template",
+ "name": "userdataname",
+ "type": "string"
+ },
+ {
+ "description": "the URL which the template/iso is registered from",
+ "name": "url",
"type": "string"
},
+ {},
+ {
+ "description": "true if the template is ready to be deployed from, false otherwise.",
+ "name": "isready",
+ "type": "boolean"
+ },
{
"description": "the list of resource tags associated",
"name": "tags",
"response": [
{
- "description": "path of the Domain associated with the tag",
- "name": "domainpath",
+ "description": "resource type",
+ "name": "resourcetype",
"type": "string"
},
{
- "description": "the ID of the domain associated with the tag",
- "name": "domainid",
+ "description": "id of the resource",
+ "name": "resourceid",
"type": "string"
},
{
- "description": "the account associated with the tag",
- "name": "account",
+ "description": "the project id the tag belongs to",
+ "name": "projectid",
"type": "string"
},
{
- "description": "id of the resource",
- "name": "resourceid",
+ "description": "the domain associated with the tag",
+ "name": "domain",
"type": "string"
},
{
@@ -968,28 +1127,28 @@
"type": "string"
},
{
- "description": "tag value",
- "name": "value",
+ "description": "the account associated with the tag",
+ "name": "account",
"type": "string"
},
{
- "description": "resource type",
- "name": "resourcetype",
+ "description": "the ID of the domain associated with the tag",
+ "name": "domainid",
"type": "string"
},
{
- "description": "the domain associated with the tag",
- "name": "domain",
+ "description": "customer associated with the tag",
+ "name": "customer",
"type": "string"
},
{
- "description": "customer associated with the tag",
- "name": "customer",
+ "description": "tag value",
+ "name": "value",
"type": "string"
},
{
- "description": "the project id the tag belongs to",
- "name": "projectid",
+ "description": "path of the Domain associated with the tag",
+ "name": "domainpath",
"type": "string"
},
{
@@ -1001,23 +1160,18 @@
"type": "set"
},
{
- "description": "the template ID",
- "name": "id",
+ "description": "the tag of this template",
+ "name": "templatetag",
"type": "string"
},
{
- "description": "the size of the template",
- "name": "size",
- "type": "long"
- },
- {
- "description": "the template name",
- "name": "name",
+ "description": "the id of userdata linked to this template",
+ "name": "userdataid",
"type": "string"
},
{
- "description": "the project id of the template",
- "name": "projectid",
+ "description": "the name of the zone for this template",
+ "name": "zonename",
"type": "string"
},
{
@@ -1026,59 +1180,60 @@
"type": "string"
},
{
- "description": "the name of userdata linked to this template",
- "name": "userdataname",
+ "description": "The ID of extension linked to this template",
+ "name": "extensionid",
"type": "string"
},
+ {},
{
- "description": "VMware only: true if template is deployed without orchestrating disks and networks but \"as-is\" defined in the template.",
- "name": "deployasis",
+ "description": "true if this template is a featured template, false otherwise",
+ "name": "isfeatured",
"type": "boolean"
},
{
- "description": "true if this template is a public template, false otherwise",
- "name": "ispublic",
- "type": "boolean"
+ "description": "the ID of the domain to which the template belongs",
+ "name": "domainid",
+ "type": "string"
},
{
- "description": "the name of the domain to which the template belongs",
- "name": "domain",
+ "description": "the project name of the template",
+ "name": "project",
"type": "string"
},
{
- "description": "if Datadisk template, then id of the root disk template this template belongs to",
- "name": "parenttemplateid",
+ "description": "the account name to which the template belongs",
+ "name": "account",
"type": "string"
},
{
- "description": "Lists the download progress of a template across all secondary storages",
- "name": "downloaddetails",
- "type": "list"
+ "description": "path of the Domain the template belongs to",
+ "name": "domainpath",
+ "type": "string"
},
{
- "description": "checksum of the template",
- "name": "checksum",
- "type": "string"
+ "description": "true if the entity/resource has annotations",
+ "name": "hasannotations",
+ "type": "boolean"
},
{
- "description": "additional key/value details tied with template",
- "name": "details",
- "type": "map"
+ "description": "If true it indicates that the template can be used for CKS cluster deployments",
+ "name": "forcks",
+ "type": "boolean"
},
{
- "description": "list of parameters which contains the list of keys or string parameters that are needed to be passed for any variables declared in userdata",
- "name": "userdataparams",
- "type": "string"
+ "description": "true if this template is a public template, false otherwise",
+ "name": "ispublic",
+ "type": "boolean"
},
{
- "description": "the template display text",
- "name": "displaytext",
+ "description": "the hypervisor on which the template runs",
+ "name": "hypervisor",
"type": "string"
},
{
- "description": "KVM Only: true if template is directly downloaded to Primary Storage bypassing Secondary Storage",
- "name": "directdownload",
- "type": "boolean"
+ "description": "if root disk template, then ids of the datas disk templates this template owns",
+ "name": "childtemplates",
+ "type": "set"
},
{
"description": "the userdata override policy with the userdata provided while deploying VM",
@@ -1086,125 +1241,69 @@
"type": "string"
},
{
- "description": "true if the template is managed across all Zones, false otherwise",
- "name": "crossZones",
+ "description": "true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory",
+ "name": "isdynamicallyscalable",
"type": "boolean"
},
{
- "description": "the tag of this template",
- "name": "templatetag",
+ "description": "the template name",
+ "name": "name",
"type": "string"
},
{
- "description": "the date this template was created",
- "name": "created",
- "type": "date"
- },
- {
- "description": "the ID of the secondary storage host for the template",
- "name": "hostid",
+ "description": "the template display text",
+ "name": "displaytext",
"type": "string"
},
{
- "description": "Base64 string representation of the resource icon",
- "name": "icon",
- "type": "resourceiconresponse"
+ "description": "the UUID of the latest async job acting on this object",
+ "name": "jobid",
+ "type": "string"
},
{
- "description": "the account id to which the template belongs",
- "name": "accountid",
- "type": "string"
+ "description": "the format of the template.",
+ "name": "format",
+ "type": "imageformat"
},
{
- "description": "the hypervisor on which the template runs",
- "name": "hypervisor",
+ "description": "the name of the domain to which the template belongs",
+ "name": "domain",
"type": "string"
},
{
- "description": "true if this template is a featured template, false otherwise",
- "name": "isfeatured",
- "type": "boolean"
+ "description": "additional key/value details tied with template",
+ "name": "details",
+ "type": "map"
},
{
- "description": "true if the template is ready to be deployed from, false otherwise.",
- "name": "isready",
... 234261 lines suppressed ...