You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by da...@apache.org on 2021/11/29 10:56:23 UTC
[cloudstack-go] 01/01: Adding kubernetes service
This is an automated email from the ASF dual-hosted git repository.
davidjumani pushed a commit to branch add-cks
in repository https://gitbox.apache.org/repos/asf/cloudstack-go.git
commit 8c29dfa969a74a192302e28ce896f372138978b5
Author: davidjumani <dj...@gmail.com>
AuthorDate: Mon Nov 29 16:26:03 2021 +0530
Adding kubernetes service
---
cloudstack/KubernetesService.go | 2170 +
cloudstack/KubernetesService_mock.go | 527 +
cloudstack/cloudstack.go | 11 +
generate/layout.go | 14 +
generate/listApis.json | 112226 ++++++++++++++++----------------
5 files changed, 59720 insertions(+), 55228 deletions(-)
diff --git a/cloudstack/KubernetesService.go b/cloudstack/KubernetesService.go
new file mode 100644
index 0000000..af5a801
--- /dev/null
+++ b/cloudstack/KubernetesService.go
@@ -0,0 +1,2170 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+package cloudstack
+
+import (
+ "encoding/json"
+ "fmt"
+ "net/url"
+ "strconv"
+ "strings"
+)
+
+type KubernetesServiceIface interface {
+ AddKubernetesSupportedVersion(p *AddKubernetesSupportedVersionParams) (*AddKubernetesSupportedVersionResponse, error)
+ NewAddKubernetesSupportedVersionParams(mincpunumber int, minmemory int, semanticversion string) *AddKubernetesSupportedVersionParams
+ CreateKubernetesCluster(p *CreateKubernetesClusterParams) (*CreateKubernetesClusterResponse, error)
+ NewCreateKubernetesClusterParams(description string, kubernetesversionid string, name string, serviceofferingid string, size int64, zoneid string) *CreateKubernetesClusterParams
+ DeleteKubernetesCluster(p *DeleteKubernetesClusterParams) (*DeleteKubernetesClusterResponse, error)
+ NewDeleteKubernetesClusterParams(id string) *DeleteKubernetesClusterParams
+ DeleteKubernetesSupportedVersion(p *DeleteKubernetesSupportedVersionParams) (*DeleteKubernetesSupportedVersionResponse, error)
+ NewDeleteKubernetesSupportedVersionParams(id string) *DeleteKubernetesSupportedVersionParams
+ GetKubernetesClusterConfig(p *GetKubernetesClusterConfigParams) (*GetKubernetesClusterConfigResponse, error)
+ NewGetKubernetesClusterConfigParams() *GetKubernetesClusterConfigParams
+ ListKubernetesClusters(p *ListKubernetesClustersParams) (*ListKubernetesClustersResponse, error)
+ NewListKubernetesClustersParams() *ListKubernetesClustersParams
+ GetKubernetesClusterID(name string, opts ...OptionFunc) (string, int, error)
+ GetKubernetesClusterByName(name string, opts ...OptionFunc) (*KubernetesCluster, int, error)
+ GetKubernetesClusterByID(id string, opts ...OptionFunc) (*KubernetesCluster, int, error)
+ ListKubernetesSupportedVersions(p *ListKubernetesSupportedVersionsParams) (*ListKubernetesSupportedVersionsResponse, error)
+ NewListKubernetesSupportedVersionsParams() *ListKubernetesSupportedVersionsParams
+ GetKubernetesSupportedVersionID(keyword string, opts ...OptionFunc) (string, int, error)
+ GetKubernetesSupportedVersionByName(name string, opts ...OptionFunc) (*KubernetesSupportedVersion, int, error)
+ GetKubernetesSupportedVersionByID(id string, opts ...OptionFunc) (*KubernetesSupportedVersion, int, error)
+ ScaleKubernetesCluster(p *ScaleKubernetesClusterParams) (*ScaleKubernetesClusterResponse, error)
+ NewScaleKubernetesClusterParams(id string) *ScaleKubernetesClusterParams
+ StartKubernetesCluster(p *StartKubernetesClusterParams) (*StartKubernetesClusterResponse, error)
+ NewStartKubernetesClusterParams(id string) *StartKubernetesClusterParams
+ StopKubernetesCluster(p *StopKubernetesClusterParams) (*StopKubernetesClusterResponse, error)
+ NewStopKubernetesClusterParams(id string) *StopKubernetesClusterParams
+ UpdateKubernetesSupportedVersion(p *UpdateKubernetesSupportedVersionParams) (*UpdateKubernetesSupportedVersionResponse, error)
+ NewUpdateKubernetesSupportedVersionParams(id string, state string) *UpdateKubernetesSupportedVersionParams
+ UpgradeKubernetesCluster(p *UpgradeKubernetesClusterParams) (*UpgradeKubernetesClusterResponse, error)
+ NewUpgradeKubernetesClusterParams(id string, kubernetesversionid string) *UpgradeKubernetesClusterParams
+}
+
+type AddKubernetesSupportedVersionParams struct {
+ p map[string]interface{}
+}
+
+func (p *AddKubernetesSupportedVersionParams) toURLValues() url.Values {
+ u := url.Values{}
+ if p.p == nil {
+ return u
+ }
+ if v, found := p.p["checksum"]; found {
+ u.Set("checksum", v.(string))
+ }
+ if v, found := p.p["mincpunumber"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("mincpunumber", vv)
+ }
+ if v, found := p.p["minmemory"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("minmemory", vv)
+ }
+ if v, found := p.p["name"]; found {
+ u.Set("name", v.(string))
+ }
+ if v, found := p.p["semanticversion"]; found {
+ u.Set("semanticversion", v.(string))
+ }
+ if v, found := p.p["url"]; found {
+ u.Set("url", v.(string))
+ }
+ if v, found := p.p["zoneid"]; found {
+ u.Set("zoneid", v.(string))
+ }
+ return u
+}
+
+func (p *AddKubernetesSupportedVersionParams) SetChecksum(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["checksum"] = v
+}
+
+func (p *AddKubernetesSupportedVersionParams) GetChecksum() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["checksum"].(string)
+ return value, ok
+}
+
+func (p *AddKubernetesSupportedVersionParams) SetMincpunumber(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["mincpunumber"] = v
+}
+
+func (p *AddKubernetesSupportedVersionParams) GetMincpunumber() (int, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["mincpunumber"].(int)
+ return value, ok
+}
+
+func (p *AddKubernetesSupportedVersionParams) SetMinmemory(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["minmemory"] = v
+}
+
+func (p *AddKubernetesSupportedVersionParams) GetMinmemory() (int, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["minmemory"].(int)
+ return value, ok
+}
+
+func (p *AddKubernetesSupportedVersionParams) SetName(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["name"] = v
+}
+
+func (p *AddKubernetesSupportedVersionParams) GetName() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["name"].(string)
+ return value, ok
+}
+
+func (p *AddKubernetesSupportedVersionParams) SetSemanticversion(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["semanticversion"] = v
+}
+
+func (p *AddKubernetesSupportedVersionParams) GetSemanticversion() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["semanticversion"].(string)
+ return value, ok
+}
+
+func (p *AddKubernetesSupportedVersionParams) SetUrl(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["url"] = v
+}
+
+func (p *AddKubernetesSupportedVersionParams) GetUrl() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["url"].(string)
+ return value, ok
+}
+
+func (p *AddKubernetesSupportedVersionParams) SetZoneid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["zoneid"] = v
+}
+
+func (p *AddKubernetesSupportedVersionParams) 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 AddKubernetesSupportedVersionParams instance,
+// as then you are sure you have configured all required params
+func (s *KubernetesService) NewAddKubernetesSupportedVersionParams(mincpunumber int, minmemory int, semanticversion string) *AddKubernetesSupportedVersionParams {
+ p := &AddKubernetesSupportedVersionParams{}
+ p.p = make(map[string]interface{})
+ p.p["mincpunumber"] = mincpunumber
+ p.p["minmemory"] = minmemory
+ p.p["semanticversion"] = semanticversion
+ return p
+}
+
+// Add a supported Kubernetes version
+func (s *KubernetesService) AddKubernetesSupportedVersion(p *AddKubernetesSupportedVersionParams) (*AddKubernetesSupportedVersionResponse, error) {
+ resp, err := s.cs.newRequest("addKubernetesSupportedVersion", p.toURLValues())
+ if err != nil {
+ return nil, err
+ }
+
+ var r AddKubernetesSupportedVersionResponse
+ if err := json.Unmarshal(resp, &r); err != nil {
+ return nil, err
+ }
+
+ return &r, nil
+}
+
+type AddKubernetesSupportedVersionResponse struct {
+ Id string `json:"id"`
+ Isoid string `json:"isoid"`
+ Isoname string `json:"isoname"`
+ Isostate string `json:"isostate"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Mincpunumber int `json:"mincpunumber"`
+ Minmemory int `json:"minmemory"`
+ Name string `json:"name"`
+ Semanticversion string `json:"semanticversion"`
+ State string `json:"state"`
+ Supportsautoscaling bool `json:"supportsautoscaling"`
+ Supportsha bool `json:"supportsha"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+}
+
+type CreateKubernetesClusterParams struct {
+ p map[string]interface{}
+}
+
+func (p *CreateKubernetesClusterParams) toURLValues() url.Values {
+ u := url.Values{}
+ if p.p == nil {
+ return u
+ }
+ if v, found := p.p["account"]; found {
+ u.Set("account", v.(string))
+ }
+ if v, found := p.p["controlnodes"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("controlnodes", vv)
+ }
+ if v, found := p.p["description"]; found {
+ u.Set("description", v.(string))
+ }
+ if v, found := p.p["dockerregistryemail"]; found {
+ u.Set("dockerregistryemail", v.(string))
+ }
+ if v, found := p.p["dockerregistrypassword"]; found {
+ u.Set("dockerregistrypassword", v.(string))
+ }
+ if v, found := p.p["dockerregistryurl"]; found {
+ u.Set("dockerregistryurl", v.(string))
+ }
+ if v, found := p.p["dockerregistryusername"]; found {
+ u.Set("dockerregistryusername", v.(string))
+ }
+ if v, found := p.p["domainid"]; found {
+ u.Set("domainid", v.(string))
+ }
+ if v, found := p.p["externalloadbalanceripaddress"]; found {
+ u.Set("externalloadbalanceripaddress", v.(string))
+ }
+ if v, found := p.p["keypair"]; found {
+ u.Set("keypair", v.(string))
+ }
+ if v, found := p.p["kubernetesversionid"]; found {
+ u.Set("kubernetesversionid", v.(string))
+ }
+ if v, found := p.p["masternodes"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("masternodes", vv)
+ }
+ if v, found := p.p["name"]; found {
+ u.Set("name", v.(string))
+ }
+ if v, found := p.p["networkid"]; found {
+ u.Set("networkid", v.(string))
+ }
+ if v, found := p.p["noderootdisksize"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("noderootdisksize", vv)
+ }
+ if v, found := p.p["projectid"]; found {
+ u.Set("projectid", v.(string))
+ }
+ if v, found := p.p["serviceofferingid"]; found {
+ u.Set("serviceofferingid", v.(string))
+ }
+ if v, found := p.p["size"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("size", vv)
+ }
+ if v, found := p.p["zoneid"]; found {
+ u.Set("zoneid", v.(string))
+ }
+ return u
+}
+
+func (p *CreateKubernetesClusterParams) SetAccount(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["account"] = v
+}
+
+func (p *CreateKubernetesClusterParams) GetAccount() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["account"].(string)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetControlnodes(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["controlnodes"] = v
+}
+
+func (p *CreateKubernetesClusterParams) GetControlnodes() (int64, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["controlnodes"].(int64)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetDescription(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["description"] = v
+}
+
+func (p *CreateKubernetesClusterParams) GetDescription() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["description"].(string)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetDockerregistryemail(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["dockerregistryemail"] = v
+}
+
+func (p *CreateKubernetesClusterParams) GetDockerregistryemail() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["dockerregistryemail"].(string)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetDockerregistrypassword(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["dockerregistrypassword"] = v
+}
+
+func (p *CreateKubernetesClusterParams) GetDockerregistrypassword() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["dockerregistrypassword"].(string)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetDockerregistryurl(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["dockerregistryurl"] = v
+}
+
+func (p *CreateKubernetesClusterParams) GetDockerregistryurl() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["dockerregistryurl"].(string)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetDockerregistryusername(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["dockerregistryusername"] = v
+}
+
+func (p *CreateKubernetesClusterParams) GetDockerregistryusername() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["dockerregistryusername"].(string)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetDomainid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["domainid"] = v
+}
+
+func (p *CreateKubernetesClusterParams) GetDomainid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["domainid"].(string)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetExternalloadbalanceripaddress(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["externalloadbalanceripaddress"] = v
+}
+
+func (p *CreateKubernetesClusterParams) GetExternalloadbalanceripaddress() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["externalloadbalanceripaddress"].(string)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetKeypair(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["keypair"] = v
+}
+
+func (p *CreateKubernetesClusterParams) GetKeypair() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["keypair"].(string)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetKubernetesversionid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["kubernetesversionid"] = v
+}
+
+func (p *CreateKubernetesClusterParams) GetKubernetesversionid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["kubernetesversionid"].(string)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetMasternodes(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["masternodes"] = v
+}
+
+func (p *CreateKubernetesClusterParams) GetMasternodes() (int64, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["masternodes"].(int64)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetName(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["name"] = v
+}
+
+func (p *CreateKubernetesClusterParams) GetName() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["name"].(string)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetNetworkid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["networkid"] = v
+}
+
+func (p *CreateKubernetesClusterParams) GetNetworkid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["networkid"].(string)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetNoderootdisksize(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["noderootdisksize"] = v
+}
+
+func (p *CreateKubernetesClusterParams) GetNoderootdisksize() (int64, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["noderootdisksize"].(int64)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetProjectid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["projectid"] = v
+}
+
+func (p *CreateKubernetesClusterParams) GetProjectid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["projectid"].(string)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetServiceofferingid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["serviceofferingid"] = v
+}
+
+func (p *CreateKubernetesClusterParams) GetServiceofferingid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["serviceofferingid"].(string)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetSize(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["size"] = v
+}
+
+func (p *CreateKubernetesClusterParams) GetSize() (int64, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["size"].(int64)
+ return value, ok
+}
+
+func (p *CreateKubernetesClusterParams) SetZoneid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["zoneid"] = v
+}
+
+func (p *CreateKubernetesClusterParams) 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 CreateKubernetesClusterParams instance,
+// as then you are sure you have configured all required params
+func (s *KubernetesService) NewCreateKubernetesClusterParams(description string, kubernetesversionid string, name string, serviceofferingid string, size int64, zoneid string) *CreateKubernetesClusterParams {
+ p := &CreateKubernetesClusterParams{}
+ p.p = make(map[string]interface{})
+ p.p["description"] = description
+ p.p["kubernetesversionid"] = kubernetesversionid
+ p.p["name"] = name
+ p.p["serviceofferingid"] = serviceofferingid
+ p.p["size"] = size
+ p.p["zoneid"] = zoneid
+ return p
+}
+
+// Creates a Kubernetes cluster
+func (s *KubernetesService) CreateKubernetesCluster(p *CreateKubernetesClusterParams) (*CreateKubernetesClusterResponse, error) {
+ resp, err := s.cs.newRequest("createKubernetesCluster", p.toURLValues())
+ if err != nil {
+ return nil, err
+ }
+
+ var r CreateKubernetesClusterResponse
+ if err := json.Unmarshal(resp, &r); err != nil {
+ return nil, err
+ }
+
+ // If we have a async client, we need to wait for the async result
+ if s.cs.async {
+ b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
+ if err != nil {
+ if err == AsyncTimeoutErr {
+ return &r, err
+ }
+ return nil, err
+ }
+
+ b, err = getRawValue(b)
+ if err != nil {
+ return nil, err
+ }
+
+ if err := json.Unmarshal(b, &r); err != nil {
+ return nil, err
+ }
+ }
+
+ return &r, nil
+}
+
+type CreateKubernetesClusterResponse struct {
+ Account string `json:"account"`
+ Associatednetworkname string `json:"associatednetworkname"`
+ Autoscalingenabled bool `json:"autoscalingenabled"`
+ Consoleendpoint string `json:"consoleendpoint"`
+ Controlnodes int64 `json:"controlnodes"`
+ Cpunumber string `json:"cpunumber"`
+ Description string `json:"description"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Endpoint string `json:"endpoint"`
+ Hasannotations bool `json:"hasannotations"`
+ Id string `json:"id"`
+ Ipaddress string `json:"ipaddress"`
+ Ipaddressid string `json:"ipaddressid"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Keypair string `json:"keypair"`
+ Kubernetesversionid string `json:"kubernetesversionid"`
+ Kubernetesversionname string `json:"kubernetesversionname"`
+ Masternodes int64 `json:"masternodes"`
+ Maxsize int64 `json:"maxsize"`
+ Memory string `json:"memory"`
+ Minsize int64 `json:"minsize"`
+ Name string `json:"name"`
+ Networkid string `json:"networkid"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ Serviceofferingid string `json:"serviceofferingid"`
+ Serviceofferingname string `json:"serviceofferingname"`
+ Size int64 `json:"size"`
+ State string `json:"state"`
+ Templateid string `json:"templateid"`
+ Virtualmachines []string `json:"virtualmachines"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+}
+
+type DeleteKubernetesClusterParams struct {
+ p map[string]interface{}
+}
+
+func (p *DeleteKubernetesClusterParams) toURLValues() url.Values {
+ u := url.Values{}
+ if p.p == nil {
+ return u
+ }
+ if v, found := p.p["id"]; found {
+ u.Set("id", v.(string))
+ }
+ return u
+}
+
+func (p *DeleteKubernetesClusterParams) SetId(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["id"] = v
+}
+
+func (p *DeleteKubernetesClusterParams) GetId() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["id"].(string)
+ return value, ok
+}
+
+// You should always use this function to get a new DeleteKubernetesClusterParams instance,
+// as then you are sure you have configured all required params
+func (s *KubernetesService) NewDeleteKubernetesClusterParams(id string) *DeleteKubernetesClusterParams {
+ p := &DeleteKubernetesClusterParams{}
+ p.p = make(map[string]interface{})
+ p.p["id"] = id
+ return p
+}
+
+// Deletes a Kubernetes cluster
+func (s *KubernetesService) DeleteKubernetesCluster(p *DeleteKubernetesClusterParams) (*DeleteKubernetesClusterResponse, error) {
+ resp, err := s.cs.newRequest("deleteKubernetesCluster", p.toURLValues())
+ if err != nil {
+ return nil, err
+ }
+
+ var r DeleteKubernetesClusterResponse
+ if err := json.Unmarshal(resp, &r); err != nil {
+ return nil, err
+ }
+
+ // If we have a async client, we need to wait for the async result
+ if s.cs.async {
+ b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
+ if err != nil {
+ if err == AsyncTimeoutErr {
+ return &r, err
+ }
+ return nil, err
+ }
+
+ if err := json.Unmarshal(b, &r); err != nil {
+ return nil, err
+ }
+ }
+
+ return &r, nil
+}
+
+type DeleteKubernetesClusterResponse struct {
+ Displaytext string `json:"displaytext"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Success bool `json:"success"`
+}
+
+type DeleteKubernetesSupportedVersionParams struct {
+ p map[string]interface{}
+}
+
+func (p *DeleteKubernetesSupportedVersionParams) toURLValues() url.Values {
+ u := url.Values{}
+ if p.p == nil {
+ return u
+ }
+ if v, found := p.p["id"]; found {
+ u.Set("id", v.(string))
+ }
+ return u
+}
+
+func (p *DeleteKubernetesSupportedVersionParams) SetId(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["id"] = v
+}
+
+func (p *DeleteKubernetesSupportedVersionParams) GetId() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["id"].(string)
+ return value, ok
+}
+
+// You should always use this function to get a new DeleteKubernetesSupportedVersionParams instance,
+// as then you are sure you have configured all required params
+func (s *KubernetesService) NewDeleteKubernetesSupportedVersionParams(id string) *DeleteKubernetesSupportedVersionParams {
+ p := &DeleteKubernetesSupportedVersionParams{}
+ p.p = make(map[string]interface{})
+ p.p["id"] = id
+ return p
+}
+
+// Deletes a Kubernetes cluster
+func (s *KubernetesService) DeleteKubernetesSupportedVersion(p *DeleteKubernetesSupportedVersionParams) (*DeleteKubernetesSupportedVersionResponse, error) {
+ resp, err := s.cs.newRequest("deleteKubernetesSupportedVersion", p.toURLValues())
+ if err != nil {
+ return nil, err
+ }
+
+ var r DeleteKubernetesSupportedVersionResponse
+ if err := json.Unmarshal(resp, &r); err != nil {
+ return nil, err
+ }
+
+ // If we have a async client, we need to wait for the async result
+ if s.cs.async {
+ b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
+ if err != nil {
+ if err == AsyncTimeoutErr {
+ return &r, err
+ }
+ return nil, err
+ }
+
+ if err := json.Unmarshal(b, &r); err != nil {
+ return nil, err
+ }
+ }
+
+ return &r, nil
+}
+
+type DeleteKubernetesSupportedVersionResponse struct {
+ Displaytext string `json:"displaytext"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Success bool `json:"success"`
+}
+
+type GetKubernetesClusterConfigParams struct {
+ p map[string]interface{}
+}
+
+func (p *GetKubernetesClusterConfigParams) toURLValues() url.Values {
+ u := url.Values{}
+ if p.p == nil {
+ return u
+ }
+ if v, found := p.p["id"]; found {
+ u.Set("id", v.(string))
+ }
+ return u
+}
+
+func (p *GetKubernetesClusterConfigParams) SetId(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["id"] = v
+}
+
+func (p *GetKubernetesClusterConfigParams) GetId() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["id"].(string)
+ return value, ok
+}
+
+// You should always use this function to get a new GetKubernetesClusterConfigParams instance,
+// as then you are sure you have configured all required params
+func (s *KubernetesService) NewGetKubernetesClusterConfigParams() *GetKubernetesClusterConfigParams {
+ p := &GetKubernetesClusterConfigParams{}
+ p.p = make(map[string]interface{})
+ return p
+}
+
+// Get Kubernetes cluster config
+func (s *KubernetesService) GetKubernetesClusterConfig(p *GetKubernetesClusterConfigParams) (*GetKubernetesClusterConfigResponse, error) {
+ resp, err := s.cs.newRequest("getKubernetesClusterConfig", p.toURLValues())
+ if err != nil {
+ return nil, err
+ }
+
+ var r GetKubernetesClusterConfigResponse
+ if err := json.Unmarshal(resp, &r); err != nil {
+ return nil, err
+ }
+
+ return &r, nil
+}
+
+type GetKubernetesClusterConfigResponse struct {
+ Configdata string `json:"configdata"`
+ Id string `json:"id"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Name string `json:"name"`
+}
+
+type ListKubernetesClustersParams struct {
+ p map[string]interface{}
+}
+
+func (p *ListKubernetesClustersParams) toURLValues() url.Values {
+ u := url.Values{}
+ if p.p == nil {
+ return u
+ }
+ if v, found := p.p["account"]; found {
+ u.Set("account", v.(string))
+ }
+ if v, found := p.p["domainid"]; found {
+ u.Set("domainid", v.(string))
+ }
+ if v, found := p.p["id"]; found {
+ u.Set("id", v.(string))
+ }
+ if v, found := p.p["isrecursive"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("isrecursive", vv)
+ }
+ if v, found := p.p["keyword"]; found {
+ u.Set("keyword", v.(string))
+ }
+ if v, found := p.p["listall"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("listall", vv)
+ }
+ if v, found := p.p["name"]; found {
+ u.Set("name", v.(string))
+ }
+ if v, found := p.p["page"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("page", vv)
+ }
+ if v, found := p.p["pagesize"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("pagesize", vv)
+ }
+ if v, found := p.p["projectid"]; found {
+ u.Set("projectid", v.(string))
+ }
+ if v, found := p.p["state"]; found {
+ u.Set("state", v.(string))
+ }
+ return u
+}
+
+func (p *ListKubernetesClustersParams) SetAccount(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["account"] = v
+}
+
+func (p *ListKubernetesClustersParams) GetAccount() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["account"].(string)
+ return value, ok
+}
+
+func (p *ListKubernetesClustersParams) SetDomainid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["domainid"] = v
+}
+
+func (p *ListKubernetesClustersParams) GetDomainid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["domainid"].(string)
+ return value, ok
+}
+
+func (p *ListKubernetesClustersParams) SetId(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["id"] = v
+}
+
+func (p *ListKubernetesClustersParams) GetId() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["id"].(string)
+ return value, ok
+}
+
+func (p *ListKubernetesClustersParams) SetIsrecursive(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["isrecursive"] = v
+}
+
+func (p *ListKubernetesClustersParams) GetIsrecursive() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["isrecursive"].(bool)
+ return value, ok
+}
+
+func (p *ListKubernetesClustersParams) SetKeyword(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["keyword"] = v
+}
+
+func (p *ListKubernetesClustersParams) GetKeyword() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["keyword"].(string)
+ return value, ok
+}
+
+func (p *ListKubernetesClustersParams) SetListall(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["listall"] = v
+}
+
+func (p *ListKubernetesClustersParams) GetListall() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["listall"].(bool)
+ return value, ok
+}
+
+func (p *ListKubernetesClustersParams) SetName(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["name"] = v
+}
+
+func (p *ListKubernetesClustersParams) GetName() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["name"].(string)
+ return value, ok
+}
+
+func (p *ListKubernetesClustersParams) SetPage(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["page"] = v
+}
+
+func (p *ListKubernetesClustersParams) GetPage() (int, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["page"].(int)
+ return value, ok
+}
+
+func (p *ListKubernetesClustersParams) SetPagesize(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["pagesize"] = v
+}
+
+func (p *ListKubernetesClustersParams) GetPagesize() (int, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["pagesize"].(int)
+ return value, ok
+}
+
+func (p *ListKubernetesClustersParams) SetProjectid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["projectid"] = v
+}
+
+func (p *ListKubernetesClustersParams) GetProjectid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["projectid"].(string)
+ return value, ok
+}
+
+func (p *ListKubernetesClustersParams) SetState(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["state"] = v
+}
+
+func (p *ListKubernetesClustersParams) GetState() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["state"].(string)
+ return value, ok
+}
+
+// You should always use this function to get a new ListKubernetesClustersParams instance,
+// as then you are sure you have configured all required params
+func (s *KubernetesService) NewListKubernetesClustersParams() *ListKubernetesClustersParams {
+ p := &ListKubernetesClustersParams{}
+ p.p = make(map[string]interface{})
+ return p
+}
+
+// This is a courtesy helper function, which in some cases may not work as expected!
+func (s *KubernetesService) GetKubernetesClusterID(name string, opts ...OptionFunc) (string, int, error) {
+ p := &ListKubernetesClustersParams{}
+ p.p = make(map[string]interface{})
+
+ p.p["name"] = name
+
+ for _, fn := range append(s.cs.options, opts...) {
+ if err := fn(s.cs, p); err != nil {
+ return "", -1, err
+ }
+ }
+
+ l, err := s.ListKubernetesClusters(p)
+ if err != nil {
+ return "", -1, err
+ }
+
+ if l.Count == 0 {
+ return "", l.Count, fmt.Errorf("No match found for %s: %+v", name, l)
+ }
+
+ if l.Count == 1 {
+ return l.KubernetesClusters[0].Id, l.Count, nil
+ }
+
+ if l.Count > 1 {
+ for _, v := range l.KubernetesClusters {
+ if v.Name == name {
+ return v.Id, l.Count, nil
+ }
+ }
+ }
+ return "", l.Count, fmt.Errorf("Could not find an exact match for %s: %+v", name, l)
+}
+
+// This is a courtesy helper function, which in some cases may not work as expected!
+func (s *KubernetesService) GetKubernetesClusterByName(name string, opts ...OptionFunc) (*KubernetesCluster, int, error) {
+ id, count, err := s.GetKubernetesClusterID(name, opts...)
+ if err != nil {
+ return nil, count, err
+ }
+
+ r, count, err := s.GetKubernetesClusterByID(id, opts...)
+ if err != nil {
+ return nil, count, err
+ }
+ return r, count, nil
+}
+
+// This is a courtesy helper function, which in some cases may not work as expected!
+func (s *KubernetesService) GetKubernetesClusterByID(id string, opts ...OptionFunc) (*KubernetesCluster, int, error) {
+ p := &ListKubernetesClustersParams{}
+ p.p = make(map[string]interface{})
+
+ p.p["id"] = id
+
+ for _, fn := range append(s.cs.options, opts...) {
+ if err := fn(s.cs, p); err != nil {
+ return nil, -1, err
+ }
+ }
+
+ l, err := s.ListKubernetesClusters(p)
+ if err != nil {
+ if strings.Contains(err.Error(), fmt.Sprintf(
+ "Invalid parameter id value=%s due to incorrect long value format, "+
+ "or entity does not exist", id)) {
+ return nil, 0, fmt.Errorf("No match found for %s: %+v", id, l)
+ }
+ return nil, -1, err
+ }
+
+ if l.Count == 0 {
+ return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
+ }
+
+ if l.Count == 1 {
+ return l.KubernetesClusters[0], l.Count, nil
+ }
+ return nil, l.Count, fmt.Errorf("There is more then one result for KubernetesCluster UUID: %s!", id)
+}
+
+// Lists Kubernetes clusters
+func (s *KubernetesService) ListKubernetesClusters(p *ListKubernetesClustersParams) (*ListKubernetesClustersResponse, error) {
+ resp, err := s.cs.newRequest("listKubernetesClusters", p.toURLValues())
+ if err != nil {
+ return nil, err
+ }
+
+ var r ListKubernetesClustersResponse
+ if err := json.Unmarshal(resp, &r); err != nil {
+ return nil, err
+ }
+
+ return &r, nil
+}
+
+type ListKubernetesClustersResponse struct {
+ Count int `json:"count"`
+ KubernetesClusters []*KubernetesCluster `json:"kubernetescluster"`
+}
+
+type KubernetesCluster struct {
+ Account string `json:"account"`
+ Associatednetworkname string `json:"associatednetworkname"`
+ Autoscalingenabled bool `json:"autoscalingenabled"`
+ Consoleendpoint string `json:"consoleendpoint"`
+ Controlnodes int64 `json:"controlnodes"`
+ Cpunumber string `json:"cpunumber"`
+ Description string `json:"description"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Endpoint string `json:"endpoint"`
+ Hasannotations bool `json:"hasannotations"`
+ Id string `json:"id"`
+ Ipaddress string `json:"ipaddress"`
+ Ipaddressid string `json:"ipaddressid"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Keypair string `json:"keypair"`
+ Kubernetesversionid string `json:"kubernetesversionid"`
+ Kubernetesversionname string `json:"kubernetesversionname"`
+ Masternodes int64 `json:"masternodes"`
+ Maxsize int64 `json:"maxsize"`
+ Memory string `json:"memory"`
+ Minsize int64 `json:"minsize"`
+ Name string `json:"name"`
+ Networkid string `json:"networkid"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ Serviceofferingid string `json:"serviceofferingid"`
+ Serviceofferingname string `json:"serviceofferingname"`
+ Size int64 `json:"size"`
+ State string `json:"state"`
+ Templateid string `json:"templateid"`
+ Virtualmachines []string `json:"virtualmachines"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+}
+
+type ListKubernetesSupportedVersionsParams struct {
+ p map[string]interface{}
+}
+
+func (p *ListKubernetesSupportedVersionsParams) toURLValues() url.Values {
+ u := url.Values{}
+ if p.p == nil {
+ return u
+ }
+ if v, found := p.p["id"]; found {
+ u.Set("id", v.(string))
+ }
+ if v, found := p.p["keyword"]; found {
+ u.Set("keyword", v.(string))
+ }
+ if v, found := p.p["minimumkubernetesversionid"]; found {
+ u.Set("minimumkubernetesversionid", v.(string))
+ }
+ if v, found := p.p["minimumsemanticversion"]; found {
+ u.Set("minimumsemanticversion", v.(string))
+ }
+ if v, found := p.p["page"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("page", vv)
+ }
+ if v, found := p.p["pagesize"]; found {
+ vv := strconv.Itoa(v.(int))
+ u.Set("pagesize", vv)
+ }
+ if v, found := p.p["zoneid"]; found {
+ u.Set("zoneid", v.(string))
+ }
+ return u
+}
+
+func (p *ListKubernetesSupportedVersionsParams) SetId(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["id"] = v
+}
+
+func (p *ListKubernetesSupportedVersionsParams) GetId() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["id"].(string)
+ return value, ok
+}
+
+func (p *ListKubernetesSupportedVersionsParams) SetKeyword(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["keyword"] = v
+}
+
+func (p *ListKubernetesSupportedVersionsParams) GetKeyword() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["keyword"].(string)
+ return value, ok
+}
+
+func (p *ListKubernetesSupportedVersionsParams) SetMinimumkubernetesversionid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["minimumkubernetesversionid"] = v
+}
+
+func (p *ListKubernetesSupportedVersionsParams) GetMinimumkubernetesversionid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["minimumkubernetesversionid"].(string)
+ return value, ok
+}
+
+func (p *ListKubernetesSupportedVersionsParams) SetMinimumsemanticversion(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["minimumsemanticversion"] = v
+}
+
+func (p *ListKubernetesSupportedVersionsParams) GetMinimumsemanticversion() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["minimumsemanticversion"].(string)
+ return value, ok
+}
+
+func (p *ListKubernetesSupportedVersionsParams) SetPage(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["page"] = v
+}
+
+func (p *ListKubernetesSupportedVersionsParams) GetPage() (int, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["page"].(int)
+ return value, ok
+}
+
+func (p *ListKubernetesSupportedVersionsParams) SetPagesize(v int) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["pagesize"] = v
+}
+
+func (p *ListKubernetesSupportedVersionsParams) GetPagesize() (int, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["pagesize"].(int)
+ return value, ok
+}
+
+func (p *ListKubernetesSupportedVersionsParams) SetZoneid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["zoneid"] = v
+}
+
+func (p *ListKubernetesSupportedVersionsParams) 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 ListKubernetesSupportedVersionsParams instance,
+// as then you are sure you have configured all required params
+func (s *KubernetesService) NewListKubernetesSupportedVersionsParams() *ListKubernetesSupportedVersionsParams {
+ p := &ListKubernetesSupportedVersionsParams{}
+ p.p = make(map[string]interface{})
+ return p
+}
+
+// This is a courtesy helper function, which in some cases may not work as expected!
+func (s *KubernetesService) GetKubernetesSupportedVersionID(keyword string, opts ...OptionFunc) (string, int, error) {
+ p := &ListKubernetesSupportedVersionsParams{}
+ p.p = make(map[string]interface{})
+
+ p.p["keyword"] = keyword
+
+ for _, fn := range append(s.cs.options, opts...) {
+ if err := fn(s.cs, p); err != nil {
+ return "", -1, err
+ }
+ }
+
+ l, err := s.ListKubernetesSupportedVersions(p)
+ if err != nil {
+ return "", -1, err
+ }
+
+ if l.Count == 0 {
+ return "", l.Count, fmt.Errorf("No match found for %s: %+v", keyword, l)
+ }
+
+ if l.Count == 1 {
+ return l.KubernetesSupportedVersions[0].Id, l.Count, nil
+ }
+
+ if l.Count > 1 {
+ for _, v := range l.KubernetesSupportedVersions {
+ if v.Name == keyword {
+ return v.Id, l.Count, nil
+ }
+ }
+ }
+ return "", l.Count, fmt.Errorf("Could not find an exact match for %s: %+v", keyword, l)
+}
+
+// This is a courtesy helper function, which in some cases may not work as expected!
+func (s *KubernetesService) GetKubernetesSupportedVersionByName(name string, opts ...OptionFunc) (*KubernetesSupportedVersion, int, error) {
+ id, count, err := s.GetKubernetesSupportedVersionID(name, opts...)
+ if err != nil {
+ return nil, count, err
+ }
+
+ r, count, err := s.GetKubernetesSupportedVersionByID(id, opts...)
+ if err != nil {
+ return nil, count, err
+ }
+ return r, count, nil
+}
+
+// This is a courtesy helper function, which in some cases may not work as expected!
+func (s *KubernetesService) GetKubernetesSupportedVersionByID(id string, opts ...OptionFunc) (*KubernetesSupportedVersion, int, error) {
+ p := &ListKubernetesSupportedVersionsParams{}
+ p.p = make(map[string]interface{})
+
+ p.p["id"] = id
+
+ for _, fn := range append(s.cs.options, opts...) {
+ if err := fn(s.cs, p); err != nil {
+ return nil, -1, err
+ }
+ }
+
+ l, err := s.ListKubernetesSupportedVersions(p)
+ if err != nil {
+ if strings.Contains(err.Error(), fmt.Sprintf(
+ "Invalid parameter id value=%s due to incorrect long value format, "+
+ "or entity does not exist", id)) {
+ return nil, 0, fmt.Errorf("No match found for %s: %+v", id, l)
+ }
+ return nil, -1, err
+ }
+
+ if l.Count == 0 {
+ return nil, l.Count, fmt.Errorf("No match found for %s: %+v", id, l)
+ }
+
+ if l.Count == 1 {
+ return l.KubernetesSupportedVersions[0], l.Count, nil
+ }
+ return nil, l.Count, fmt.Errorf("There is more then one result for KubernetesSupportedVersion UUID: %s!", id)
+}
+
+// Lists supported Kubernetes version
+func (s *KubernetesService) ListKubernetesSupportedVersions(p *ListKubernetesSupportedVersionsParams) (*ListKubernetesSupportedVersionsResponse, error) {
+ resp, err := s.cs.newRequest("listKubernetesSupportedVersions", p.toURLValues())
+ if err != nil {
+ return nil, err
+ }
+
+ var r ListKubernetesSupportedVersionsResponse
+ if err := json.Unmarshal(resp, &r); err != nil {
+ return nil, err
+ }
+
+ return &r, nil
+}
+
+type ListKubernetesSupportedVersionsResponse struct {
+ Count int `json:"count"`
+ KubernetesSupportedVersions []*KubernetesSupportedVersion `json:"kubernetessupportedversion"`
+}
+
+type KubernetesSupportedVersion struct {
+ Id string `json:"id"`
+ Isoid string `json:"isoid"`
+ Isoname string `json:"isoname"`
+ Isostate string `json:"isostate"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Mincpunumber int `json:"mincpunumber"`
+ Minmemory int `json:"minmemory"`
+ Name string `json:"name"`
+ Semanticversion string `json:"semanticversion"`
+ State string `json:"state"`
+ Supportsautoscaling bool `json:"supportsautoscaling"`
+ Supportsha bool `json:"supportsha"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+}
+
+type ScaleKubernetesClusterParams struct {
+ p map[string]interface{}
+}
+
+func (p *ScaleKubernetesClusterParams) toURLValues() url.Values {
+ u := url.Values{}
+ if p.p == nil {
+ return u
+ }
+ if v, found := p.p["autoscalingenabled"]; found {
+ vv := strconv.FormatBool(v.(bool))
+ u.Set("autoscalingenabled", vv)
+ }
+ if v, found := p.p["id"]; found {
+ u.Set("id", v.(string))
+ }
+ if v, found := p.p["maxsize"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("maxsize", vv)
+ }
+ if v, found := p.p["minsize"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("minsize", vv)
+ }
+ if v, found := p.p["nodeids"]; found {
+ vv := strings.Join(v.([]string), ",")
+ u.Set("nodeids", vv)
+ }
+ if v, found := p.p["serviceofferingid"]; found {
+ u.Set("serviceofferingid", v.(string))
+ }
+ if v, found := p.p["size"]; found {
+ vv := strconv.FormatInt(v.(int64), 10)
+ u.Set("size", vv)
+ }
+ return u
+}
+
+func (p *ScaleKubernetesClusterParams) SetAutoscalingenabled(v bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["autoscalingenabled"] = v
+}
+
+func (p *ScaleKubernetesClusterParams) GetAutoscalingenabled() (bool, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["autoscalingenabled"].(bool)
+ return value, ok
+}
+
+func (p *ScaleKubernetesClusterParams) SetId(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["id"] = v
+}
+
+func (p *ScaleKubernetesClusterParams) GetId() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["id"].(string)
+ return value, ok
+}
+
+func (p *ScaleKubernetesClusterParams) SetMaxsize(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["maxsize"] = v
+}
+
+func (p *ScaleKubernetesClusterParams) GetMaxsize() (int64, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["maxsize"].(int64)
+ return value, ok
+}
+
+func (p *ScaleKubernetesClusterParams) SetMinsize(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["minsize"] = v
+}
+
+func (p *ScaleKubernetesClusterParams) GetMinsize() (int64, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["minsize"].(int64)
+ return value, ok
+}
+
+func (p *ScaleKubernetesClusterParams) SetNodeids(v []string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["nodeids"] = v
+}
+
+func (p *ScaleKubernetesClusterParams) GetNodeids() ([]string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["nodeids"].([]string)
+ return value, ok
+}
+
+func (p *ScaleKubernetesClusterParams) SetServiceofferingid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["serviceofferingid"] = v
+}
+
+func (p *ScaleKubernetesClusterParams) GetServiceofferingid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["serviceofferingid"].(string)
+ return value, ok
+}
+
+func (p *ScaleKubernetesClusterParams) SetSize(v int64) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["size"] = v
+}
+
+func (p *ScaleKubernetesClusterParams) GetSize() (int64, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["size"].(int64)
+ return value, ok
+}
+
+// You should always use this function to get a new ScaleKubernetesClusterParams instance,
+// as then you are sure you have configured all required params
+func (s *KubernetesService) NewScaleKubernetesClusterParams(id string) *ScaleKubernetesClusterParams {
+ p := &ScaleKubernetesClusterParams{}
+ p.p = make(map[string]interface{})
+ p.p["id"] = id
+ return p
+}
+
+// Scales a created, running or stopped Kubernetes cluster
+func (s *KubernetesService) ScaleKubernetesCluster(p *ScaleKubernetesClusterParams) (*ScaleKubernetesClusterResponse, error) {
+ resp, err := s.cs.newRequest("scaleKubernetesCluster", p.toURLValues())
+ if err != nil {
+ return nil, err
+ }
+
+ var r ScaleKubernetesClusterResponse
+ if err := json.Unmarshal(resp, &r); err != nil {
+ return nil, err
+ }
+
+ // If we have a async client, we need to wait for the async result
+ if s.cs.async {
+ b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
+ if err != nil {
+ if err == AsyncTimeoutErr {
+ return &r, err
+ }
+ return nil, err
+ }
+
+ b, err = getRawValue(b)
+ if err != nil {
+ return nil, err
+ }
+
+ if err := json.Unmarshal(b, &r); err != nil {
+ return nil, err
+ }
+ }
+
+ return &r, nil
+}
+
+type ScaleKubernetesClusterResponse struct {
+ Account string `json:"account"`
+ Associatednetworkname string `json:"associatednetworkname"`
+ Autoscalingenabled bool `json:"autoscalingenabled"`
+ Consoleendpoint string `json:"consoleendpoint"`
+ Controlnodes int64 `json:"controlnodes"`
+ Cpunumber string `json:"cpunumber"`
+ Description string `json:"description"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Endpoint string `json:"endpoint"`
+ Hasannotations bool `json:"hasannotations"`
+ Id string `json:"id"`
+ Ipaddress string `json:"ipaddress"`
+ Ipaddressid string `json:"ipaddressid"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Keypair string `json:"keypair"`
+ Kubernetesversionid string `json:"kubernetesversionid"`
+ Kubernetesversionname string `json:"kubernetesversionname"`
+ Masternodes int64 `json:"masternodes"`
+ Maxsize int64 `json:"maxsize"`
+ Memory string `json:"memory"`
+ Minsize int64 `json:"minsize"`
+ Name string `json:"name"`
+ Networkid string `json:"networkid"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ Serviceofferingid string `json:"serviceofferingid"`
+ Serviceofferingname string `json:"serviceofferingname"`
+ Size int64 `json:"size"`
+ State string `json:"state"`
+ Templateid string `json:"templateid"`
+ Virtualmachines []string `json:"virtualmachines"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+}
+
+type StartKubernetesClusterParams struct {
+ p map[string]interface{}
+}
+
+func (p *StartKubernetesClusterParams) toURLValues() url.Values {
+ u := url.Values{}
+ if p.p == nil {
+ return u
+ }
+ if v, found := p.p["id"]; found {
+ u.Set("id", v.(string))
+ }
+ return u
+}
+
+func (p *StartKubernetesClusterParams) SetId(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["id"] = v
+}
+
+func (p *StartKubernetesClusterParams) GetId() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["id"].(string)
+ return value, ok
+}
+
+// You should always use this function to get a new StartKubernetesClusterParams instance,
+// as then you are sure you have configured all required params
+func (s *KubernetesService) NewStartKubernetesClusterParams(id string) *StartKubernetesClusterParams {
+ p := &StartKubernetesClusterParams{}
+ p.p = make(map[string]interface{})
+ p.p["id"] = id
+ return p
+}
+
+// Starts a stopped Kubernetes cluster
+func (s *KubernetesService) StartKubernetesCluster(p *StartKubernetesClusterParams) (*StartKubernetesClusterResponse, error) {
+ resp, err := s.cs.newRequest("startKubernetesCluster", p.toURLValues())
+ if err != nil {
+ return nil, err
+ }
+
+ var r StartKubernetesClusterResponse
+ if err := json.Unmarshal(resp, &r); err != nil {
+ return nil, err
+ }
+
+ // If we have a async client, we need to wait for the async result
+ if s.cs.async {
+ b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
+ if err != nil {
+ if err == AsyncTimeoutErr {
+ return &r, err
+ }
+ return nil, err
+ }
+
+ b, err = getRawValue(b)
+ if err != nil {
+ return nil, err
+ }
+
+ if err := json.Unmarshal(b, &r); err != nil {
+ return nil, err
+ }
+ }
+
+ return &r, nil
+}
+
+type StartKubernetesClusterResponse struct {
+ Account string `json:"account"`
+ Associatednetworkname string `json:"associatednetworkname"`
+ Autoscalingenabled bool `json:"autoscalingenabled"`
+ Consoleendpoint string `json:"consoleendpoint"`
+ Controlnodes int64 `json:"controlnodes"`
+ Cpunumber string `json:"cpunumber"`
+ Description string `json:"description"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Endpoint string `json:"endpoint"`
+ Hasannotations bool `json:"hasannotations"`
+ Id string `json:"id"`
+ Ipaddress string `json:"ipaddress"`
+ Ipaddressid string `json:"ipaddressid"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Keypair string `json:"keypair"`
+ Kubernetesversionid string `json:"kubernetesversionid"`
+ Kubernetesversionname string `json:"kubernetesversionname"`
+ Masternodes int64 `json:"masternodes"`
+ Maxsize int64 `json:"maxsize"`
+ Memory string `json:"memory"`
+ Minsize int64 `json:"minsize"`
+ Name string `json:"name"`
+ Networkid string `json:"networkid"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ Serviceofferingid string `json:"serviceofferingid"`
+ Serviceofferingname string `json:"serviceofferingname"`
+ Size int64 `json:"size"`
+ State string `json:"state"`
+ Templateid string `json:"templateid"`
+ Virtualmachines []string `json:"virtualmachines"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+}
+
+type StopKubernetesClusterParams struct {
+ p map[string]interface{}
+}
+
+func (p *StopKubernetesClusterParams) toURLValues() url.Values {
+ u := url.Values{}
+ if p.p == nil {
+ return u
+ }
+ if v, found := p.p["id"]; found {
+ u.Set("id", v.(string))
+ }
+ return u
+}
+
+func (p *StopKubernetesClusterParams) SetId(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["id"] = v
+}
+
+func (p *StopKubernetesClusterParams) GetId() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["id"].(string)
+ return value, ok
+}
+
+// You should always use this function to get a new StopKubernetesClusterParams instance,
+// as then you are sure you have configured all required params
+func (s *KubernetesService) NewStopKubernetesClusterParams(id string) *StopKubernetesClusterParams {
+ p := &StopKubernetesClusterParams{}
+ p.p = make(map[string]interface{})
+ p.p["id"] = id
+ return p
+}
+
+// Stops a running Kubernetes cluster
+func (s *KubernetesService) StopKubernetesCluster(p *StopKubernetesClusterParams) (*StopKubernetesClusterResponse, error) {
+ resp, err := s.cs.newRequest("stopKubernetesCluster", p.toURLValues())
+ if err != nil {
+ return nil, err
+ }
+
+ var r StopKubernetesClusterResponse
+ if err := json.Unmarshal(resp, &r); err != nil {
+ return nil, err
+ }
+
+ // If we have a async client, we need to wait for the async result
+ if s.cs.async {
+ b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
+ if err != nil {
+ if err == AsyncTimeoutErr {
+ return &r, err
+ }
+ return nil, err
+ }
+
+ if err := json.Unmarshal(b, &r); err != nil {
+ return nil, err
+ }
+ }
+
+ return &r, nil
+}
+
+type StopKubernetesClusterResponse struct {
+ Displaytext string `json:"displaytext"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Success bool `json:"success"`
+}
+
+type UpdateKubernetesSupportedVersionParams struct {
+ p map[string]interface{}
+}
+
+func (p *UpdateKubernetesSupportedVersionParams) toURLValues() url.Values {
+ u := url.Values{}
+ if p.p == nil {
+ return u
+ }
+ if v, found := p.p["id"]; found {
+ u.Set("id", v.(string))
+ }
+ if v, found := p.p["state"]; found {
+ u.Set("state", v.(string))
+ }
+ return u
+}
+
+func (p *UpdateKubernetesSupportedVersionParams) SetId(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["id"] = v
+}
+
+func (p *UpdateKubernetesSupportedVersionParams) GetId() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["id"].(string)
+ return value, ok
+}
+
+func (p *UpdateKubernetesSupportedVersionParams) SetState(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["state"] = v
+}
+
+func (p *UpdateKubernetesSupportedVersionParams) GetState() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["state"].(string)
+ return value, ok
+}
+
+// You should always use this function to get a new UpdateKubernetesSupportedVersionParams instance,
+// as then you are sure you have configured all required params
+func (s *KubernetesService) NewUpdateKubernetesSupportedVersionParams(id string, state string) *UpdateKubernetesSupportedVersionParams {
+ p := &UpdateKubernetesSupportedVersionParams{}
+ p.p = make(map[string]interface{})
+ p.p["id"] = id
+ p.p["state"] = state
+ return p
+}
+
+// Update a supported Kubernetes version
+func (s *KubernetesService) UpdateKubernetesSupportedVersion(p *UpdateKubernetesSupportedVersionParams) (*UpdateKubernetesSupportedVersionResponse, error) {
+ resp, err := s.cs.newRequest("updateKubernetesSupportedVersion", p.toURLValues())
+ if err != nil {
+ return nil, err
+ }
+
+ var r UpdateKubernetesSupportedVersionResponse
+ if err := json.Unmarshal(resp, &r); err != nil {
+ return nil, err
+ }
+
+ return &r, nil
+}
+
+type UpdateKubernetesSupportedVersionResponse struct {
+ Id string `json:"id"`
+ Isoid string `json:"isoid"`
+ Isoname string `json:"isoname"`
+ Isostate string `json:"isostate"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Mincpunumber int `json:"mincpunumber"`
+ Minmemory int `json:"minmemory"`
+ Name string `json:"name"`
+ Semanticversion string `json:"semanticversion"`
+ State string `json:"state"`
+ Supportsautoscaling bool `json:"supportsautoscaling"`
+ Supportsha bool `json:"supportsha"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+}
+
+type UpgradeKubernetesClusterParams struct {
+ p map[string]interface{}
+}
+
+func (p *UpgradeKubernetesClusterParams) toURLValues() url.Values {
+ u := url.Values{}
+ if p.p == nil {
+ return u
+ }
+ if v, found := p.p["id"]; found {
+ u.Set("id", v.(string))
+ }
+ if v, found := p.p["kubernetesversionid"]; found {
+ u.Set("kubernetesversionid", v.(string))
+ }
+ return u
+}
+
+func (p *UpgradeKubernetesClusterParams) SetId(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["id"] = v
+}
+
+func (p *UpgradeKubernetesClusterParams) GetId() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["id"].(string)
+ return value, ok
+}
+
+func (p *UpgradeKubernetesClusterParams) SetKubernetesversionid(v string) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ p.p["kubernetesversionid"] = v
+}
+
+func (p *UpgradeKubernetesClusterParams) GetKubernetesversionid() (string, bool) {
+ if p.p == nil {
+ p.p = make(map[string]interface{})
+ }
+ value, ok := p.p["kubernetesversionid"].(string)
+ return value, ok
+}
+
+// You should always use this function to get a new UpgradeKubernetesClusterParams instance,
+// as then you are sure you have configured all required params
+func (s *KubernetesService) NewUpgradeKubernetesClusterParams(id string, kubernetesversionid string) *UpgradeKubernetesClusterParams {
+ p := &UpgradeKubernetesClusterParams{}
+ p.p = make(map[string]interface{})
+ p.p["id"] = id
+ p.p["kubernetesversionid"] = kubernetesversionid
+ return p
+}
+
+// Upgrades a running Kubernetes cluster
+func (s *KubernetesService) UpgradeKubernetesCluster(p *UpgradeKubernetesClusterParams) (*UpgradeKubernetesClusterResponse, error) {
+ resp, err := s.cs.newRequest("upgradeKubernetesCluster", p.toURLValues())
+ if err != nil {
+ return nil, err
+ }
+
+ var r UpgradeKubernetesClusterResponse
+ if err := json.Unmarshal(resp, &r); err != nil {
+ return nil, err
+ }
+
+ // If we have a async client, we need to wait for the async result
+ if s.cs.async {
+ b, err := s.cs.GetAsyncJobResult(r.JobID, s.cs.timeout)
+ if err != nil {
+ if err == AsyncTimeoutErr {
+ return &r, err
+ }
+ return nil, err
+ }
+
+ b, err = getRawValue(b)
+ if err != nil {
+ return nil, err
+ }
+
+ if err := json.Unmarshal(b, &r); err != nil {
+ return nil, err
+ }
+ }
+
+ return &r, nil
+}
+
+type UpgradeKubernetesClusterResponse struct {
+ Account string `json:"account"`
+ Associatednetworkname string `json:"associatednetworkname"`
+ Autoscalingenabled bool `json:"autoscalingenabled"`
+ Consoleendpoint string `json:"consoleendpoint"`
+ Controlnodes int64 `json:"controlnodes"`
+ Cpunumber string `json:"cpunumber"`
+ Description string `json:"description"`
+ Domain string `json:"domain"`
+ Domainid string `json:"domainid"`
+ Endpoint string `json:"endpoint"`
+ Hasannotations bool `json:"hasannotations"`
+ Id string `json:"id"`
+ Ipaddress string `json:"ipaddress"`
+ Ipaddressid string `json:"ipaddressid"`
+ JobID string `json:"jobid"`
+ Jobstatus int `json:"jobstatus"`
+ Keypair string `json:"keypair"`
+ Kubernetesversionid string `json:"kubernetesversionid"`
+ Kubernetesversionname string `json:"kubernetesversionname"`
+ Masternodes int64 `json:"masternodes"`
+ Maxsize int64 `json:"maxsize"`
+ Memory string `json:"memory"`
+ Minsize int64 `json:"minsize"`
+ Name string `json:"name"`
+ Networkid string `json:"networkid"`
+ Project string `json:"project"`
+ Projectid string `json:"projectid"`
+ Serviceofferingid string `json:"serviceofferingid"`
+ Serviceofferingname string `json:"serviceofferingname"`
+ Size int64 `json:"size"`
+ State string `json:"state"`
+ Templateid string `json:"templateid"`
+ Virtualmachines []string `json:"virtualmachines"`
+ Zoneid string `json:"zoneid"`
+ Zonename string `json:"zonename"`
+}
diff --git a/cloudstack/KubernetesService_mock.go b/cloudstack/KubernetesService_mock.go
new file mode 100644
index 0000000..0f6d5a3
--- /dev/null
+++ b/cloudstack/KubernetesService_mock.go
@@ -0,0 +1,527 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+// Code generated by MockGen. DO NOT EDIT.
+// Source: ./cloudstack/KubernetesService.go
+
+// Package cloudstack is a generated GoMock package.
+package cloudstack
+
+import (
+ reflect "reflect"
+
+ gomock "github.com/golang/mock/gomock"
+)
+
+// MockKubernetesServiceIface is a mock of KubernetesServiceIface interface.
+type MockKubernetesServiceIface struct {
+ ctrl *gomock.Controller
+ recorder *MockKubernetesServiceIfaceMockRecorder
+}
+
+// MockKubernetesServiceIfaceMockRecorder is the mock recorder for MockKubernetesServiceIface.
+type MockKubernetesServiceIfaceMockRecorder struct {
+ mock *MockKubernetesServiceIface
+}
+
+// NewMockKubernetesServiceIface creates a new mock instance.
+func NewMockKubernetesServiceIface(ctrl *gomock.Controller) *MockKubernetesServiceIface {
+ mock := &MockKubernetesServiceIface{ctrl: ctrl}
+ mock.recorder = &MockKubernetesServiceIfaceMockRecorder{mock}
+ return mock
+}
+
+// EXPECT returns an object that allows the caller to indicate expected use.
+func (m *MockKubernetesServiceIface) EXPECT() *MockKubernetesServiceIfaceMockRecorder {
+ return m.recorder
+}
+
+// AddKubernetesSupportedVersion mocks base method.
+func (m *MockKubernetesServiceIface) AddKubernetesSupportedVersion(p *AddKubernetesSupportedVersionParams) (*AddKubernetesSupportedVersionResponse, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "AddKubernetesSupportedVersion", p)
+ ret0, _ := ret[0].(*AddKubernetesSupportedVersionResponse)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// AddKubernetesSupportedVersion indicates an expected call of AddKubernetesSupportedVersion.
+func (mr *MockKubernetesServiceIfaceMockRecorder) AddKubernetesSupportedVersion(p interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddKubernetesSupportedVersion", reflect.TypeOf((*MockKubernetesServiceIface)(nil).AddKubernetesSupportedVersion), p)
+}
+
+// CreateKubernetesCluster mocks base method.
+func (m *MockKubernetesServiceIface) CreateKubernetesCluster(p *CreateKubernetesClusterParams) (*CreateKubernetesClusterResponse, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "CreateKubernetesCluster", p)
+ ret0, _ := ret[0].(*CreateKubernetesClusterResponse)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// CreateKubernetesCluster indicates an expected call of CreateKubernetesCluster.
+func (mr *MockKubernetesServiceIfaceMockRecorder) CreateKubernetesCluster(p interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateKubernetesCluster", reflect.TypeOf((*MockKubernetesServiceIface)(nil).CreateKubernetesCluster), p)
+}
+
+// DeleteKubernetesCluster mocks base method.
+func (m *MockKubernetesServiceIface) DeleteKubernetesCluster(p *DeleteKubernetesClusterParams) (*DeleteKubernetesClusterResponse, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "DeleteKubernetesCluster", p)
+ ret0, _ := ret[0].(*DeleteKubernetesClusterResponse)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// DeleteKubernetesCluster indicates an expected call of DeleteKubernetesCluster.
+func (mr *MockKubernetesServiceIfaceMockRecorder) DeleteKubernetesCluster(p interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteKubernetesCluster", reflect.TypeOf((*MockKubernetesServiceIface)(nil).DeleteKubernetesCluster), p)
+}
+
+// DeleteKubernetesSupportedVersion mocks base method.
+func (m *MockKubernetesServiceIface) DeleteKubernetesSupportedVersion(p *DeleteKubernetesSupportedVersionParams) (*DeleteKubernetesSupportedVersionResponse, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "DeleteKubernetesSupportedVersion", p)
+ ret0, _ := ret[0].(*DeleteKubernetesSupportedVersionResponse)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// DeleteKubernetesSupportedVersion indicates an expected call of DeleteKubernetesSupportedVersion.
+func (mr *MockKubernetesServiceIfaceMockRecorder) DeleteKubernetesSupportedVersion(p interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteKubernetesSupportedVersion", reflect.TypeOf((*MockKubernetesServiceIface)(nil).DeleteKubernetesSupportedVersion), p)
+}
+
+// GetKubernetesClusterByID mocks base method.
+func (m *MockKubernetesServiceIface) GetKubernetesClusterByID(id string, opts ...OptionFunc) (*KubernetesCluster, int, error) {
+ m.ctrl.T.Helper()
+ varargs := []interface{}{id}
+ for _, a := range opts {
+ varargs = append(varargs, a)
+ }
+ ret := m.ctrl.Call(m, "GetKubernetesClusterByID", varargs...)
+ ret0, _ := ret[0].(*KubernetesCluster)
+ ret1, _ := ret[1].(int)
+ ret2, _ := ret[2].(error)
+ return ret0, ret1, ret2
+}
+
+// GetKubernetesClusterByID indicates an expected call of GetKubernetesClusterByID.
+func (mr *MockKubernetesServiceIfaceMockRecorder) GetKubernetesClusterByID(id interface{}, opts ...interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ varargs := append([]interface{}{id}, opts...)
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetKubernetesClusterByID", reflect.TypeOf((*MockKubernetesServiceIface)(nil).GetKubernetesClusterByID), varargs...)
+}
+
+// GetKubernetesClusterByName mocks base method.
+func (m *MockKubernetesServiceIface) GetKubernetesClusterByName(name string, opts ...OptionFunc) (*KubernetesCluster, int, error) {
+ m.ctrl.T.Helper()
+ varargs := []interface{}{name}
+ for _, a := range opts {
+ varargs = append(varargs, a)
+ }
+ ret := m.ctrl.Call(m, "GetKubernetesClusterByName", varargs...)
+ ret0, _ := ret[0].(*KubernetesCluster)
+ ret1, _ := ret[1].(int)
+ ret2, _ := ret[2].(error)
+ return ret0, ret1, ret2
+}
+
+// GetKubernetesClusterByName indicates an expected call of GetKubernetesClusterByName.
+func (mr *MockKubernetesServiceIfaceMockRecorder) GetKubernetesClusterByName(name interface{}, opts ...interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ varargs := append([]interface{}{name}, opts...)
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetKubernetesClusterByName", reflect.TypeOf((*MockKubernetesServiceIface)(nil).GetKubernetesClusterByName), varargs...)
+}
+
+// GetKubernetesClusterConfig mocks base method.
+func (m *MockKubernetesServiceIface) GetKubernetesClusterConfig(p *GetKubernetesClusterConfigParams) (*GetKubernetesClusterConfigResponse, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "GetKubernetesClusterConfig", p)
+ ret0, _ := ret[0].(*GetKubernetesClusterConfigResponse)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// GetKubernetesClusterConfig indicates an expected call of GetKubernetesClusterConfig.
+func (mr *MockKubernetesServiceIfaceMockRecorder) GetKubernetesClusterConfig(p interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetKubernetesClusterConfig", reflect.TypeOf((*MockKubernetesServiceIface)(nil).GetKubernetesClusterConfig), p)
+}
+
+// GetKubernetesClusterID mocks base method.
+func (m *MockKubernetesServiceIface) GetKubernetesClusterID(name string, opts ...OptionFunc) (string, int, error) {
+ m.ctrl.T.Helper()
+ varargs := []interface{}{name}
+ for _, a := range opts {
+ varargs = append(varargs, a)
+ }
+ ret := m.ctrl.Call(m, "GetKubernetesClusterID", varargs...)
+ ret0, _ := ret[0].(string)
+ ret1, _ := ret[1].(int)
+ ret2, _ := ret[2].(error)
+ return ret0, ret1, ret2
+}
+
+// GetKubernetesClusterID indicates an expected call of GetKubernetesClusterID.
+func (mr *MockKubernetesServiceIfaceMockRecorder) GetKubernetesClusterID(name interface{}, opts ...interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ varargs := append([]interface{}{name}, opts...)
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetKubernetesClusterID", reflect.TypeOf((*MockKubernetesServiceIface)(nil).GetKubernetesClusterID), varargs...)
+}
+
+// GetKubernetesSupportedVersionByID mocks base method.
+func (m *MockKubernetesServiceIface) GetKubernetesSupportedVersionByID(id string, opts ...OptionFunc) (*KubernetesSupportedVersion, int, error) {
+ m.ctrl.T.Helper()
+ varargs := []interface{}{id}
+ for _, a := range opts {
+ varargs = append(varargs, a)
+ }
+ ret := m.ctrl.Call(m, "GetKubernetesSupportedVersionByID", varargs...)
+ ret0, _ := ret[0].(*KubernetesSupportedVersion)
+ ret1, _ := ret[1].(int)
+ ret2, _ := ret[2].(error)
+ return ret0, ret1, ret2
+}
+
+// GetKubernetesSupportedVersionByID indicates an expected call of GetKubernetesSupportedVersionByID.
+func (mr *MockKubernetesServiceIfaceMockRecorder) GetKubernetesSupportedVersionByID(id interface{}, opts ...interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ varargs := append([]interface{}{id}, opts...)
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetKubernetesSupportedVersionByID", reflect.TypeOf((*MockKubernetesServiceIface)(nil).GetKubernetesSupportedVersionByID), varargs...)
+}
+
+// GetKubernetesSupportedVersionByName mocks base method.
+func (m *MockKubernetesServiceIface) GetKubernetesSupportedVersionByName(name string, opts ...OptionFunc) (*KubernetesSupportedVersion, int, error) {
+ m.ctrl.T.Helper()
+ varargs := []interface{}{name}
+ for _, a := range opts {
+ varargs = append(varargs, a)
+ }
+ ret := m.ctrl.Call(m, "GetKubernetesSupportedVersionByName", varargs...)
+ ret0, _ := ret[0].(*KubernetesSupportedVersion)
+ ret1, _ := ret[1].(int)
+ ret2, _ := ret[2].(error)
+ return ret0, ret1, ret2
+}
+
+// GetKubernetesSupportedVersionByName indicates an expected call of GetKubernetesSupportedVersionByName.
+func (mr *MockKubernetesServiceIfaceMockRecorder) GetKubernetesSupportedVersionByName(name interface{}, opts ...interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ varargs := append([]interface{}{name}, opts...)
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetKubernetesSupportedVersionByName", reflect.TypeOf((*MockKubernetesServiceIface)(nil).GetKubernetesSupportedVersionByName), varargs...)
+}
+
+// GetKubernetesSupportedVersionID mocks base method.
+func (m *MockKubernetesServiceIface) GetKubernetesSupportedVersionID(keyword string, opts ...OptionFunc) (string, int, error) {
+ m.ctrl.T.Helper()
+ varargs := []interface{}{keyword}
+ for _, a := range opts {
+ varargs = append(varargs, a)
+ }
+ ret := m.ctrl.Call(m, "GetKubernetesSupportedVersionID", varargs...)
+ ret0, _ := ret[0].(string)
+ ret1, _ := ret[1].(int)
+ ret2, _ := ret[2].(error)
+ return ret0, ret1, ret2
+}
+
+// GetKubernetesSupportedVersionID indicates an expected call of GetKubernetesSupportedVersionID.
+func (mr *MockKubernetesServiceIfaceMockRecorder) GetKubernetesSupportedVersionID(keyword interface{}, opts ...interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ varargs := append([]interface{}{keyword}, opts...)
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetKubernetesSupportedVersionID", reflect.TypeOf((*MockKubernetesServiceIface)(nil).GetKubernetesSupportedVersionID), varargs...)
+}
+
+// ListKubernetesClusters mocks base method.
+func (m *MockKubernetesServiceIface) ListKubernetesClusters(p *ListKubernetesClustersParams) (*ListKubernetesClustersResponse, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "ListKubernetesClusters", p)
+ ret0, _ := ret[0].(*ListKubernetesClustersResponse)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// ListKubernetesClusters indicates an expected call of ListKubernetesClusters.
+func (mr *MockKubernetesServiceIfaceMockRecorder) ListKubernetesClusters(p interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListKubernetesClusters", reflect.TypeOf((*MockKubernetesServiceIface)(nil).ListKubernetesClusters), p)
+}
+
+// ListKubernetesSupportedVersions mocks base method.
+func (m *MockKubernetesServiceIface) ListKubernetesSupportedVersions(p *ListKubernetesSupportedVersionsParams) (*ListKubernetesSupportedVersionsResponse, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "ListKubernetesSupportedVersions", p)
+ ret0, _ := ret[0].(*ListKubernetesSupportedVersionsResponse)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// ListKubernetesSupportedVersions indicates an expected call of ListKubernetesSupportedVersions.
+func (mr *MockKubernetesServiceIfaceMockRecorder) ListKubernetesSupportedVersions(p interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListKubernetesSupportedVersions", reflect.TypeOf((*MockKubernetesServiceIface)(nil).ListKubernetesSupportedVersions), p)
+}
+
+// NewAddKubernetesSupportedVersionParams mocks base method.
+func (m *MockKubernetesServiceIface) NewAddKubernetesSupportedVersionParams(mincpunumber, minmemory int, semanticversion string) *AddKubernetesSupportedVersionParams {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "NewAddKubernetesSupportedVersionParams", mincpunumber, minmemory, semanticversion)
+ ret0, _ := ret[0].(*AddKubernetesSupportedVersionParams)
+ return ret0
+}
+
+// NewAddKubernetesSupportedVersionParams indicates an expected call of NewAddKubernetesSupportedVersionParams.
+func (mr *MockKubernetesServiceIfaceMockRecorder) NewAddKubernetesSupportedVersionParams(mincpunumber, minmemory, semanticversion interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewAddKubernetesSupportedVersionParams", reflect.TypeOf((*MockKubernetesServiceIface)(nil).NewAddKubernetesSupportedVersionParams), mincpunumber, minmemory, semanticversion)
+}
+
+// NewCreateKubernetesClusterParams mocks base method.
+func (m *MockKubernetesServiceIface) NewCreateKubernetesClusterParams(description, kubernetesversionid, name, serviceofferingid string, size int64, zoneid string) *CreateKubernetesClusterParams {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "NewCreateKubernetesClusterParams", description, kubernetesversionid, name, serviceofferingid, size, zoneid)
+ ret0, _ := ret[0].(*CreateKubernetesClusterParams)
+ return ret0
+}
+
+// NewCreateKubernetesClusterParams indicates an expected call of NewCreateKubernetesClusterParams.
+func (mr *MockKubernetesServiceIfaceMockRecorder) NewCreateKubernetesClusterParams(description, kubernetesversionid, name, serviceofferingid, size, zoneid interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewCreateKubernetesClusterParams", reflect.TypeOf((*MockKubernetesServiceIface)(nil).NewCreateKubernetesClusterParams), description, kubernetesversionid, name, serviceofferingid, size, zoneid)
+}
+
+// NewDeleteKubernetesClusterParams mocks base method.
+func (m *MockKubernetesServiceIface) NewDeleteKubernetesClusterParams(id string) *DeleteKubernetesClusterParams {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "NewDeleteKubernetesClusterParams", id)
+ ret0, _ := ret[0].(*DeleteKubernetesClusterParams)
+ return ret0
+}
+
+// NewDeleteKubernetesClusterParams indicates an expected call of NewDeleteKubernetesClusterParams.
+func (mr *MockKubernetesServiceIfaceMockRecorder) NewDeleteKubernetesClusterParams(id interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewDeleteKubernetesClusterParams", reflect.TypeOf((*MockKubernetesServiceIface)(nil).NewDeleteKubernetesClusterParams), id)
+}
+
+// NewDeleteKubernetesSupportedVersionParams mocks base method.
+func (m *MockKubernetesServiceIface) NewDeleteKubernetesSupportedVersionParams(id string) *DeleteKubernetesSupportedVersionParams {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "NewDeleteKubernetesSupportedVersionParams", id)
+ ret0, _ := ret[0].(*DeleteKubernetesSupportedVersionParams)
+ return ret0
+}
+
+// NewDeleteKubernetesSupportedVersionParams indicates an expected call of NewDeleteKubernetesSupportedVersionParams.
+func (mr *MockKubernetesServiceIfaceMockRecorder) NewDeleteKubernetesSupportedVersionParams(id interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewDeleteKubernetesSupportedVersionParams", reflect.TypeOf((*MockKubernetesServiceIface)(nil).NewDeleteKubernetesSupportedVersionParams), id)
+}
+
+// NewGetKubernetesClusterConfigParams mocks base method.
+func (m *MockKubernetesServiceIface) NewGetKubernetesClusterConfigParams() *GetKubernetesClusterConfigParams {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "NewGetKubernetesClusterConfigParams")
+ ret0, _ := ret[0].(*GetKubernetesClusterConfigParams)
+ return ret0
+}
+
+// NewGetKubernetesClusterConfigParams indicates an expected call of NewGetKubernetesClusterConfigParams.
+func (mr *MockKubernetesServiceIfaceMockRecorder) NewGetKubernetesClusterConfigParams() *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewGetKubernetesClusterConfigParams", reflect.TypeOf((*MockKubernetesServiceIface)(nil).NewGetKubernetesClusterConfigParams))
+}
+
+// NewListKubernetesClustersParams mocks base method.
+func (m *MockKubernetesServiceIface) NewListKubernetesClustersParams() *ListKubernetesClustersParams {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "NewListKubernetesClustersParams")
+ ret0, _ := ret[0].(*ListKubernetesClustersParams)
+ return ret0
+}
+
+// NewListKubernetesClustersParams indicates an expected call of NewListKubernetesClustersParams.
+func (mr *MockKubernetesServiceIfaceMockRecorder) NewListKubernetesClustersParams() *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewListKubernetesClustersParams", reflect.TypeOf((*MockKubernetesServiceIface)(nil).NewListKubernetesClustersParams))
+}
+
+// NewListKubernetesSupportedVersionsParams mocks base method.
+func (m *MockKubernetesServiceIface) NewListKubernetesSupportedVersionsParams() *ListKubernetesSupportedVersionsParams {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "NewListKubernetesSupportedVersionsParams")
+ ret0, _ := ret[0].(*ListKubernetesSupportedVersionsParams)
+ return ret0
+}
+
+// NewListKubernetesSupportedVersionsParams indicates an expected call of NewListKubernetesSupportedVersionsParams.
+func (mr *MockKubernetesServiceIfaceMockRecorder) NewListKubernetesSupportedVersionsParams() *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewListKubernetesSupportedVersionsParams", reflect.TypeOf((*MockKubernetesServiceIface)(nil).NewListKubernetesSupportedVersionsParams))
+}
+
+// NewScaleKubernetesClusterParams mocks base method.
+func (m *MockKubernetesServiceIface) NewScaleKubernetesClusterParams(id string) *ScaleKubernetesClusterParams {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "NewScaleKubernetesClusterParams", id)
+ ret0, _ := ret[0].(*ScaleKubernetesClusterParams)
+ return ret0
+}
+
+// NewScaleKubernetesClusterParams indicates an expected call of NewScaleKubernetesClusterParams.
+func (mr *MockKubernetesServiceIfaceMockRecorder) NewScaleKubernetesClusterParams(id interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewScaleKubernetesClusterParams", reflect.TypeOf((*MockKubernetesServiceIface)(nil).NewScaleKubernetesClusterParams), id)
+}
+
+// NewStartKubernetesClusterParams mocks base method.
+func (m *MockKubernetesServiceIface) NewStartKubernetesClusterParams(id string) *StartKubernetesClusterParams {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "NewStartKubernetesClusterParams", id)
+ ret0, _ := ret[0].(*StartKubernetesClusterParams)
+ return ret0
+}
+
+// NewStartKubernetesClusterParams indicates an expected call of NewStartKubernetesClusterParams.
+func (mr *MockKubernetesServiceIfaceMockRecorder) NewStartKubernetesClusterParams(id interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewStartKubernetesClusterParams", reflect.TypeOf((*MockKubernetesServiceIface)(nil).NewStartKubernetesClusterParams), id)
+}
+
+// NewStopKubernetesClusterParams mocks base method.
+func (m *MockKubernetesServiceIface) NewStopKubernetesClusterParams(id string) *StopKubernetesClusterParams {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "NewStopKubernetesClusterParams", id)
+ ret0, _ := ret[0].(*StopKubernetesClusterParams)
+ return ret0
+}
+
+// NewStopKubernetesClusterParams indicates an expected call of NewStopKubernetesClusterParams.
+func (mr *MockKubernetesServiceIfaceMockRecorder) NewStopKubernetesClusterParams(id interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewStopKubernetesClusterParams", reflect.TypeOf((*MockKubernetesServiceIface)(nil).NewStopKubernetesClusterParams), id)
+}
+
+// NewUpdateKubernetesSupportedVersionParams mocks base method.
+func (m *MockKubernetesServiceIface) NewUpdateKubernetesSupportedVersionParams(id, state string) *UpdateKubernetesSupportedVersionParams {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "NewUpdateKubernetesSupportedVersionParams", id, state)
+ ret0, _ := ret[0].(*UpdateKubernetesSupportedVersionParams)
+ return ret0
+}
+
+// NewUpdateKubernetesSupportedVersionParams indicates an expected call of NewUpdateKubernetesSupportedVersionParams.
+func (mr *MockKubernetesServiceIfaceMockRecorder) NewUpdateKubernetesSupportedVersionParams(id, state interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewUpdateKubernetesSupportedVersionParams", reflect.TypeOf((*MockKubernetesServiceIface)(nil).NewUpdateKubernetesSupportedVersionParams), id, state)
+}
+
+// NewUpgradeKubernetesClusterParams mocks base method.
+func (m *MockKubernetesServiceIface) NewUpgradeKubernetesClusterParams(id, kubernetesversionid string) *UpgradeKubernetesClusterParams {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "NewUpgradeKubernetesClusterParams", id, kubernetesversionid)
+ ret0, _ := ret[0].(*UpgradeKubernetesClusterParams)
+ return ret0
+}
+
+// NewUpgradeKubernetesClusterParams indicates an expected call of NewUpgradeKubernetesClusterParams.
+func (mr *MockKubernetesServiceIfaceMockRecorder) NewUpgradeKubernetesClusterParams(id, kubernetesversionid interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewUpgradeKubernetesClusterParams", reflect.TypeOf((*MockKubernetesServiceIface)(nil).NewUpgradeKubernetesClusterParams), id, kubernetesversionid)
+}
+
+// ScaleKubernetesCluster mocks base method.
+func (m *MockKubernetesServiceIface) ScaleKubernetesCluster(p *ScaleKubernetesClusterParams) (*ScaleKubernetesClusterResponse, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "ScaleKubernetesCluster", p)
+ ret0, _ := ret[0].(*ScaleKubernetesClusterResponse)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// ScaleKubernetesCluster indicates an expected call of ScaleKubernetesCluster.
+func (mr *MockKubernetesServiceIfaceMockRecorder) ScaleKubernetesCluster(p interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ScaleKubernetesCluster", reflect.TypeOf((*MockKubernetesServiceIface)(nil).ScaleKubernetesCluster), p)
+}
+
+// StartKubernetesCluster mocks base method.
+func (m *MockKubernetesServiceIface) StartKubernetesCluster(p *StartKubernetesClusterParams) (*StartKubernetesClusterResponse, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "StartKubernetesCluster", p)
+ ret0, _ := ret[0].(*StartKubernetesClusterResponse)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// StartKubernetesCluster indicates an expected call of StartKubernetesCluster.
+func (mr *MockKubernetesServiceIfaceMockRecorder) StartKubernetesCluster(p interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartKubernetesCluster", reflect.TypeOf((*MockKubernetesServiceIface)(nil).StartKubernetesCluster), p)
+}
+
+// StopKubernetesCluster mocks base method.
+func (m *MockKubernetesServiceIface) StopKubernetesCluster(p *StopKubernetesClusterParams) (*StopKubernetesClusterResponse, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "StopKubernetesCluster", p)
+ ret0, _ := ret[0].(*StopKubernetesClusterResponse)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// StopKubernetesCluster indicates an expected call of StopKubernetesCluster.
+func (mr *MockKubernetesServiceIfaceMockRecorder) StopKubernetesCluster(p interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StopKubernetesCluster", reflect.TypeOf((*MockKubernetesServiceIface)(nil).StopKubernetesCluster), p)
+}
+
+// UpdateKubernetesSupportedVersion mocks base method.
+func (m *MockKubernetesServiceIface) UpdateKubernetesSupportedVersion(p *UpdateKubernetesSupportedVersionParams) (*UpdateKubernetesSupportedVersionResponse, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "UpdateKubernetesSupportedVersion", p)
+ ret0, _ := ret[0].(*UpdateKubernetesSupportedVersionResponse)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// UpdateKubernetesSupportedVersion indicates an expected call of UpdateKubernetesSupportedVersion.
+func (mr *MockKubernetesServiceIfaceMockRecorder) UpdateKubernetesSupportedVersion(p interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateKubernetesSupportedVersion", reflect.TypeOf((*MockKubernetesServiceIface)(nil).UpdateKubernetesSupportedVersion), p)
+}
+
+// UpgradeKubernetesCluster mocks base method.
+func (m *MockKubernetesServiceIface) UpgradeKubernetesCluster(p *UpgradeKubernetesClusterParams) (*UpgradeKubernetesClusterResponse, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "UpgradeKubernetesCluster", p)
+ ret0, _ := ret[0].(*UpgradeKubernetesClusterResponse)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// UpgradeKubernetesCluster indicates an expected call of UpgradeKubernetesCluster.
+func (mr *MockKubernetesServiceIfaceMockRecorder) UpgradeKubernetesCluster(p interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpgradeKubernetesCluster", reflect.TypeOf((*MockKubernetesServiceIface)(nil).UpgradeKubernetesCluster), p)
+}
diff --git a/cloudstack/cloudstack.go b/cloudstack/cloudstack.go
index 4933845..c3e5587 100644
--- a/cloudstack/cloudstack.go
+++ b/cloudstack/cloudstack.go
@@ -125,6 +125,7 @@ type CloudStackClient struct {
ISO ISOServiceIface
ImageStore ImageStoreServiceIface
InternalLB InternalLBServiceIface
+ Kubernetes KubernetesServiceIface
LDAP LDAPServiceIface
Limit LimitServiceIface
LoadBalancer LoadBalancerServiceIface
@@ -228,6 +229,7 @@ func newClient(apiurl string, apikey string, secret string, async bool, verifyss
cs.ISO = NewISOService(cs)
cs.ImageStore = NewImageStoreService(cs)
cs.InternalLB = NewInternalLBService(cs)
+ cs.Kubernetes = NewKubernetesService(cs)
cs.LDAP = NewLDAPService(cs)
cs.Limit = NewLimitService(cs)
cs.LoadBalancer = NewLoadBalancerService(cs)
@@ -304,6 +306,7 @@ func newMockClient(ctrl *gomock.Controller) *CloudStackClient {
cs.ISO = NewMockISOServiceIface(ctrl)
cs.ImageStore = NewMockImageStoreServiceIface(ctrl)
cs.InternalLB = NewMockInternalLBServiceIface(ctrl)
+ cs.Kubernetes = NewMockKubernetesServiceIface(ctrl)
cs.LDAP = NewMockLDAPServiceIface(ctrl)
cs.Limit = NewMockLimitServiceIface(ctrl)
cs.LoadBalancer = NewMockLoadBalancerServiceIface(ctrl)
@@ -901,6 +904,14 @@ func NewInternalLBService(cs *CloudStackClient) InternalLBServiceIface {
return &InternalLBService{cs: cs}
}
+type KubernetesService struct {
+ cs *CloudStackClient
+}
+
+func NewKubernetesService(cs *CloudStackClient) KubernetesServiceIface {
+ return &KubernetesService{cs: cs}
+}
+
type LDAPService struct {
cs *CloudStackClient
}
diff --git a/generate/layout.go b/generate/layout.go
index 6697420..a497372 100644
--- a/generate/layout.go
+++ b/generate/layout.go
@@ -110,6 +110,20 @@ var layout = apiInfo{
"updateDefaultNicForVirtualMachine",
"updateVirtualMachine",
},
+ "KubernetesService": {
+ "addKubernetesSupportedVersion",
+ "createKubernetesCluster",
+ "deleteKubernetesCluster",
+ "deleteKubernetesSupportedVersion",
+ "getKubernetesClusterConfig",
+ "listKubernetesClusters",
+ "listKubernetesSupportedVersions",
+ "scaleKubernetesCluster",
+ "startKubernetesCluster",
+ "stopKubernetesCluster",
+ "updateKubernetesSupportedVersion",
+ "upgradeKubernetesCluster",
+ },
"VPNService": {
"addVpnUser",
"createRemoteAccessVpn",
diff --git a/generate/listApis.json b/generate/listApis.json
index 6081aac..cdfeb7b 100644
--- a/generate/listApis.json
+++ b/generate/listApis.json
@@ -24,11 +24,6 @@
"response": [
{},
{
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
- "type": "string"
- },
- {
"description": "resource type",
"name": "resourcetype",
"type": "resourceobjecttype"
@@ -40,14 +35,19 @@
"type": "string"
},
{
- "description": "id of the resource",
- "name": "resourceid",
- "type": "string"
- },
- {
"description": "the current status of the latest async job acting on this object",
"name": "jobstatus",
"type": "integer"
+ },
+ {
+ "description": "the UUID of the latest async job acting on this object",
+ "name": "jobid",
+ "type": "string"
+ },
+ {
+ "description": "id of the resource",
+ "name": "resourceid",
+ "type": "string"
}
],
"since": "4.16.0.0"
@@ -66,29 +66,37 @@
"type": "map"
},
{
- "description": "set to true if the offering is to be enabled during creation. Default is false",
+ "description": "the name of the vpc offering",
"length": 255,
- "name": "enable",
- "required": false,
- "since": "4.16",
- "type": "boolean"
+ "name": "name",
+ "required": true,
+ "type": "string"
},
{
- "description": "the ID of the service offering for the VPC router appliance",
+ "description": "the ID of the containing zone(s), null for public offerings",
"length": 255,
- "name": "serviceofferingid",
- "related": "createServiceOffering,updateServiceOffering,listServiceOfferings",
+ "name": "zoneid",
+ "related": "createZone,updateZone,listZones,listZones",
"required": false,
- "type": "uuid"
+ "since": "4.13",
+ "type": "list"
},
{
- "description": "the name of the vpc offering",
+ "description": "the display text of the vpc offering",
"length": 255,
- "name": "name",
+ "name": "displaytext",
"required": true,
"type": "string"
},
{
+ "description": "the ID of the service offering for the VPC router appliance",
+ "length": 255,
+ "name": "serviceofferingid",
+ "related": "createServiceOffering,updateServiceOffering,listServiceOfferings",
+ "required": false,
+ "type": "uuid"
+ },
+ {
"description": "the ID of the containing domain(s), null for public offerings",
"length": 255,
"name": "domainid",
@@ -97,19 +105,18 @@
"type": "list"
},
{
- "description": "services supported by the vpc offering",
+ "description": "set to true if the offering is to be enabled during creation. Default is false",
"length": 255,
- "name": "supportedservices",
- "required": true,
- "type": "list"
+ "name": "enable",
+ "required": false,
+ "since": "4.16",
+ "type": "boolean"
},
{
- "description": "the ID of the containing zone(s), null for public offerings",
+ "description": "services supported by the vpc offering",
"length": 255,
- "name": "zoneid",
- "related": "createZone,updateZone,listZones,listZones",
- "required": false,
- "since": "4.13",
+ "name": "supportedservices",
+ "required": true,
"type": "list"
},
{
@@ -118,13 +125,6 @@
"name": "serviceproviderlist",
"required": false,
"type": "map"
- },
- {
- "description": "the display text of the vpc offering",
- "length": 255,
- "name": "displaytext",
- "required": true,
- "type": "string"
}
],
"related": "updateVPCOffering,listVPCOfferings",
@@ -135,23 +135,18 @@
"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 zone name(s) this disk offering belongs to. Ignore this information as it is not currently applicable.",
- "name": "zone",
- "type": "string"
+ "description": "the current status of the latest async job acting on this object",
+ "name": "jobstatus",
+ "type": "integer"
},
{
- "description": "the id of the vpc offering",
- "name": "id",
- "type": "string"
+ "description": " indicates if the vpc offering supports distributed router for one-hop forwarding",
+ "name": "distributedvpcrouter",
+ "type": "boolean"
},
{
- "description": "the domain name(s) this disk offering belongs to. Ignore this information as it is not currently applicable.",
- "name": "domain",
+ "description": "the domain ID(s) this disk offering belongs to. Ignore this information as it is not currently applicable.",
+ "name": "domainid",
"type": "string"
},
{
@@ -159,23 +154,6 @@
"name": "state",
"type": "string"
},
- {},
- {
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
- "type": "integer"
- },
- {},
- {
- "description": "the name of the vpc offering",
- "name": "name",
- "type": "string"
- },
- {
- "description": "true if vpc offering is default, false otherwise",
- "name": "isdefault",
- "type": "boolean"
- },
{
"description": "the list of supported services",
"name": "service",
@@ -185,13 +163,13 @@
"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"
},
{
@@ -207,13 +185,18 @@
"name": "provider",
"response": [
{
- "description": "true if individual services can be enabled/disabled",
- "name": "canenableindividualservice",
- "type": "boolean"
+ "description": "state of the network provider",
+ "name": "state",
+ "type": "string"
},
{
- "description": "the physical network this belongs to",
- "name": "physicalnetworkid",
+ "description": "uuid of the network provider",
+ "name": "id",
+ "type": "string"
+ },
+ {
+ "description": "the destination physical network",
+ "name": "destinationphysicalnetworkid",
"type": "string"
},
{
@@ -227,19 +210,14 @@
"type": "string"
},
{
- "description": "state of the network provider",
- "name": "state",
- "type": "string"
- },
- {
- "description": "uuid of the network provider",
- "name": "id",
+ "description": "the physical network this belongs to",
+ "name": "physicalnetworkid",
"type": "string"
},
{
- "description": "the destination physical network",
- "name": "destinationphysicalnetworkid",
- "type": "string"
+ "description": "true if individual services can be enabled/disabled",
+ "name": "canenableindividualservice",
+ "type": "boolean"
}
],
"type": "list"
@@ -253,11 +231,6 @@
"type": "list"
},
{
- "description": " indicates if the vpc offering supports distributed router for one-hop forwarding",
- "name": "distributedvpcrouter",
- "type": "boolean"
- },
- {
"description": " indicated if the offering can support region level vpc",
"name": "supportsregionLevelvpc",
"type": "boolean"
@@ -267,15 +240,42 @@
"name": "jobid",
"type": "string"
},
+ {},
+ {},
+ {
+ "description": "the name of the vpc offering",
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "description": "true if vpc offering is default, false otherwise",
+ "name": "isdefault",
+ "type": "boolean"
+ },
{
"description": "the date this vpc offering was created",
"name": "created",
"type": "date"
},
{
+ "description": "the zone name(s) this disk offering belongs to. Ignore this information as it is not currently applicable.",
+ "name": "zone",
+ "type": "string"
+ },
+ {
+ "description": "the domain name(s) this disk offering belongs to. Ignore this information as it is not currently applicable.",
+ "name": "domain",
+ "type": "string"
+ },
+ {
"description": "the zone ID(s) this disk offering belongs to. Ignore this information as it is not currently applicable.",
"name": "zoneid",
"type": "string"
+ },
+ {
+ "description": "the id of the vpc offering",
+ "name": "id",
+ "type": "string"
}
]
},
@@ -285,11 +285,12 @@
"name": "createPod",
"params": [
{
- "description": "the name of the Pod",
+ "description": "the Zone ID in which the Pod will be created",
"length": 255,
- "name": "name",
+ "name": "zoneid",
+ "related": "createZone,updateZone,listZones,listZones",
"required": true,
- "type": "string"
+ "type": "uuid"
},
{
"description": "the ending IP address for the Pod",
@@ -299,47 +300,51 @@
"type": "string"
},
{
- "description": "the netmask for the Pod",
+ "description": "the gateway for the Pod",
"length": 255,
- "name": "netmask",
+ "name": "gateway",
"required": true,
"type": "string"
},
{
- "description": "Allocation state of this Pod for allocation of new resources",
+ "description": "the starting IP address for the Pod",
"length": 255,
- "name": "allocationstate",
- "required": false,
+ "name": "startip",
+ "required": true,
"type": "string"
},
{
- "description": "the gateway for the Pod",
+ "description": "Allocation state of this Pod for allocation of new resources",
"length": 255,
- "name": "gateway",
- "required": true,
+ "name": "allocationstate",
+ "required": false,
"type": "string"
},
{
- "description": "the starting IP address for the Pod",
+ "description": "the name of the Pod",
"length": 255,
- "name": "startip",
+ "name": "name",
"required": true,
"type": "string"
},
{
- "description": "the Zone ID in which the Pod will be created",
+ "description": "the netmask for the Pod",
"length": 255,
- "name": "zoneid",
- "related": "createZone,updateZone,listZones,listZones",
+ "name": "netmask",
"required": true,
- "type": "uuid"
+ "type": "string"
}
],
"related": "listPods,updatePod,createManagementNetworkIpRange",
"response": [
{
- "description": "the Zone ID of the Pod",
- "name": "zoneid",
+ "description": "true if the entity/resource has annotations",
+ "name": "hasannotations",
+ "type": "boolean"
+ },
+ {
+ "description": "the ID of the Pod",
+ "name": "id",
"type": "string"
},
{
@@ -348,14 +353,9 @@
"type": "string"
},
{
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
- "type": "integer"
- },
- {
- "description": "the gateway of the Pod",
- "name": "gateway",
- "type": "string"
+ "description": "the ending IP for the Pod. This parameter is deprecated, please use 'endip' from ipranges parameter.",
+ "name": "endip",
+ "type": "list"
},
{
"description": "indicates if range is dedicated for CPVM and SSVM. This parameter is deprecated, please use 'forsystemvms' from ipranges parameter.",
@@ -363,108 +363,62 @@
"type": "list"
},
{
- "description": "true if the entity/resource has annotations",
- "name": "hasannotations",
- "type": "boolean"
- },
- {},
- {
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
+ "description": "the Zone name of the Pod",
+ "name": "zonename",
"type": "string"
},
{
- "description": "the capacity of the Pod",
- "name": "capacity",
+ "description": "the IP ranges for the Pod",
+ "name": "ipranges",
"response": [
{
- "description": "the capacity type",
- "name": "type",
- "type": "short"
- },
- {
- "description": "the Cluster name",
- "name": "clustername",
- "type": "string"
- },
- {
- "description": "the capacity name",
- "name": "name",
- "type": "string"
- },
- {
- "description": "the capacity currently in allocated",
- "name": "capacityallocated",
- "type": "long"
- },
- {
- "description": "the Pod name",
- "name": "podname",
- "type": "string"
- },
- {
- "description": "the Zone name",
- "name": "zonename",
- "type": "string"
- },
- {
- "description": "the Zone ID",
- "name": "zoneid",
+ "description": "the ending IP for the range",
+ "name": "endip",
"type": "string"
},
{
- "description": "the capacity currently in use",
- "name": "capacityused",
- "type": "long"
- },
- {
- "description": "the percentage of capacity currently in use",
- "name": "percentused",
+ "description": "indicates if range is dedicated for CPVM and SSVM",
+ "name": "forsystemvms",
"type": "string"
},
{
- "description": "the Pod ID",
- "name": "podid",
+ "description": "the starting IP for the range",
+ "name": "startip",
"type": "string"
},
{
- "description": "the Cluster ID",
- "name": "clusterid",
+ "description": "indicates Vlan ID for the range",
+ "name": "vlanid",
"type": "string"
- },
- {
- "description": "the total capacity available",
- "name": "capacitytotal",
- "type": "long"
}
],
"type": "list"
},
{
- "description": "the name of the Pod",
- "name": "name",
+ "description": "the gateway of the Pod",
+ "name": "gateway",
"type": "string"
},
{
- "description": "the ID of the Pod",
- "name": "id",
+ "description": "the Zone ID of the Pod",
+ "name": "zoneid",
"type": "string"
},
{
- "description": "the Zone name of the Pod",
- "name": "zonename",
+ "description": "the name of the Pod",
+ "name": "name",
"type": "string"
},
{},
{
- "description": "the allocation state of the Pod",
- "name": "allocationstate",
- "type": "string"
+ "description": "indicates Vlan ID for the range. This parameter is deprecated, please use 'vlanid' from ipranges parameter.",
+ "name": "vlanid",
+ "type": "list"
},
{
- "description": "the ending IP for the Pod. This parameter is deprecated, please use 'endip' from ipranges parameter.",
- "name": "endip",
- "type": "list"
+ "description": "the current status of the latest async job acting on this object",
+ "name": "jobstatus",
+ "type": "integer"
},
{
"description": "the starting IP for the Pod. This parameter is deprecated, please use 'startip' from ipranges parameter.",
@@ -472,36 +426,82 @@
"type": "list"
},
{
- "description": "the IP ranges for the Pod",
- "name": "ipranges",
+ "description": "the UUID of the latest async job acting on this object",
+ "name": "jobid",
+ "type": "string"
+ },
+ {
+ "description": "the allocation state of the Pod",
+ "name": "allocationstate",
+ "type": "string"
+ },
+ {},
+ {
+ "description": "the capacity of the Pod",
+ "name": "capacity",
"response": [
{
- "description": "the starting IP for the range",
- "name": "startip",
+ "description": "the Cluster ID",
+ "name": "clusterid",
"type": "string"
},
{
- "description": "indicates if range is dedicated for CPVM and SSVM",
- "name": "forsystemvms",
+ "description": "the percentage of capacity currently in use",
+ "name": "percentused",
"type": "string"
},
{
- "description": "indicates Vlan ID for the range",
- "name": "vlanid",
+ "description": "the Zone ID",
+ "name": "zoneid",
"type": "string"
},
{
- "description": "the ending IP for the range",
- "name": "endip",
+ "description": "the Cluster name",
+ "name": "clustername",
+ "type": "string"
+ },
+ {
+ "description": "the Pod ID",
+ "name": "podid",
+ "type": "string"
+ },
+ {
+ "description": "the Pod name",
+ "name": "podname",
+ "type": "string"
+ },
+ {
+ "description": "the total capacity available",
+ "name": "capacitytotal",
+ "type": "long"
+ },
+ {
+ "description": "the capacity type",
+ "name": "type",
+ "type": "short"
+ },
+ {
+ "description": "the capacity currently in use",
+ "name": "capacityused",
+ "type": "long"
+ },
+ {
+ "description": "the capacity name",
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "description": "the Zone name",
+ "name": "zonename",
"type": "string"
+ },
+ {
+ "description": "the capacity currently in allocated",
+ "name": "capacityallocated",
+ "type": "long"
}
],
"type": "list"
- },
- {
- "description": "indicates Vlan ID for the range. This parameter is deprecated, please use 'vlanid' from ipranges parameter.",
- "name": "vlanid",
- "type": "list"
}
]
},
@@ -511,60 +511,59 @@
"name": "ldapCreateAccount",
"params": [
{
- "description": "Network domain for the account's networks",
+ "description": "Type of the account. Specify 0 for user, 1 for root admin, and 2 for domain admin",
"length": 255,
- "name": "networkdomain",
+ "name": "accounttype",
"required": false,
- "type": "string"
+ "type": "short"
},
{
- "description": "User UUID, required for adding account from external provisioning system",
+ "description": "Creates the user under the specified account. If no account is specified, the username will be used as the account name.",
"length": 255,
- "name": "userid",
+ "name": "account",
"required": false,
"type": "string"
},
{
- "description": "Creates the account under the specified role.",
+ "description": "Unique username.",
"length": 255,
- "name": "roleid",
- "related": "createRole,importRole,listRoles,updateRole",
- "required": false,
- "type": "uuid"
+ "name": "username",
+ "required": true,
+ "type": "string"
},
{
- "description": "Creates the user under the specified domain.",
+ "description": "Specifies a timezone for this command. For more information on the timezone parameter, see Time Zone Format.",
"length": 255,
- "name": "domainid",
- "related": "createDomain,listDomainChildren,listDomains,listDomains,updateDomain",
+ "name": "timezone",
"required": false,
- "type": "uuid"
+ "type": "string"
},
{
- "description": "Type of the account. Specify 0 for user, 1 for root admin, and 2 for domain admin",
+ "description": "Network domain for the account's networks",
"length": 255,
- "name": "accounttype",
+ "name": "networkdomain",
"required": false,
- "type": "short"
+ "type": "string"
},
{
- "description": "Specifies a timezone for this command. For more information on the timezone parameter, see Time Zone Format.",
+ "description": "Creates the user under the specified domain.",
"length": 255,
- "name": "timezone",
+ "name": "domainid",
+ "related": "createDomain,listDomainChildren,listDomains,listDomains,updateDomain",
"required": false,
- "type": "string"
+ "type": "uuid"
},
{
- "description": "Account UUID, required for adding account from external provisioning system",
+ "description": "User UUID, required for adding account from external provisioning system",
"length": 255,
- "name": "accountid",
+ "name": "userid",
"required": false,
"type": "string"
},
{
- "description": "Creates the user under the specified account. If no account is specified, the username will be used as the account name.",
+ "description": "Account UUID, required for adding account from external provisioning system",
"length": 255,
- "name": "account",
+ "name": "accountid",
"required": false,
"type": "string"
},
@@ -576,67 +575,119 @@
"type": "map"
},
{
- "description": "Unique username.",
+ "description": "Creates the account under the specified role.",
"length": 255,
- "name": "username",
- "required": true,
- "type": "string"
+ "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 network traffic bytes sent",
- "name": "sentbytes",
+ "description": "the total number of network traffic bytes received",
+ "name": "receivedbytes",
"type": "long"
},
{
- "description": "the total secondary storage space (in GiB) owned by account",
- "name": "secondarystoragetotal",
- "type": "float"
+ "description": "the total secondary storage space (in GiB) the account can own",
+ "name": "secondarystoragelimit",
+ "type": "string"
},
{
- "description": "the total primary storage space (in GiB) available to be used for this account",
- "name": "primarystorageavailable",
+ "description": "the current status of the latest async job acting on this object",
+ "name": "jobstatus",
+ "type": "integer"
+ },
+ {
+ "description": "the total number of virtual machines stopped for this account",
+ "name": "vmstopped",
+ "type": "integer"
+ },
+ {
+ "description": "the total secondary storage space (in GiB) available to be used for this account",
+ "name": "secondarystorageavailable",
"type": "string"
},
{
- "description": "the network domain",
- "name": "networkdomain",
+ "description": "the total number of templates which have been created by this account",
+ "name": "templatetotal",
+ "type": "long"
+ },
+ {
+ "description": "the total number of networks owned by account",
+ "name": "networktotal",
+ "type": "long"
+ },
+ {
+ "description": "the total primary storage space (in GiB) the account can own",
+ "name": "primarystoragelimit",
"type": "string"
},
{
- "description": "the list of users associated with account",
- "name": "user",
- "response": [
- {
- "description": "Base64 string representation of the resource icon",
- "name": "icon",
- "type": "resourceiconresponse"
- },
- {
- "description": "the domain name of the user",
- "name": "domain",
- "type": "string"
+ "description": "the total primary storage space (in GiB) owned by account",
+ "name": "primarystoragetotal",
+ "type": "long"
+ },
+ {},
+ {
+ "description": "the total number of public ip addresses available for this account to acquire",
+ "name": "ipavailable",
+ "type": "string"
+ },
+ {
+ "description": "the total volume available for this account",
+ "name": "volumeavailable",
+ "type": "string"
+ },
+ {
+ "description": "true if the account requires cleanup",
+ "name": "iscleanuprequired",
+ "type": "boolean"
+ },
+ {
+ "description": "the UUID of the latest async job acting on this object",
+ "name": "jobid",
+ "type": "string"
+ },
+ {
+ "description": "the ID of the role",
+ "name": "roleid",
+ "type": "string"
+ },
+ {
+ "description": "id of the Domain the account belongs to",
+ "name": "domainid",
+ "type": "string"
+ },
+ {
+ "description": "the list of users associated with account",
+ "name": "user",
+ "response": [
+ {
+ "description": "the source type of the user in lowercase, such as native, ldap, saml2",
+ "name": "usersource",
+ "type": "string"
},
{
- "description": "the ID of the role",
- "name": "roleid",
+ "description": "the domain name of the user",
+ "name": "domain",
"type": "string"
},
{
- "description": "the timezone user was created in",
- "name": "timezone",
+ "description": "the api key of the user",
+ "name": "apikey",
"type": "string"
},
{
- "description": "the user state",
- "name": "state",
+ "description": "the timezone user was created in",
+ "name": "timezone",
"type": "string"
},
{
- "description": "the user email address",
- "name": "email",
+ "description": "the secret key of the user",
+ "name": "secretkey",
"type": "string"
},
{
@@ -645,19 +696,19 @@
"type": "string"
},
{
- "description": "the api key of the user",
- "name": "apikey",
- "type": "string"
+ "description": "the boolean value representing if the updating target is in caller's child domain",
+ "name": "iscallerchilddomain",
+ "type": "boolean"
},
{
- "description": "the user ID",
- "name": "id",
+ "description": "the user firstname",
+ "name": "firstname",
"type": "string"
},
{
- "description": "the date and time the user account was created",
- "name": "created",
- "type": "date"
+ "description": "the user email address",
+ "name": "email",
+ "type": "string"
},
{
"description": "the user name",
@@ -665,82 +716,82 @@
"type": "string"
},
{
- "description": "the account name of the user",
- "name": "account",
- "type": "string"
+ "description": "true if user is default, false otherwise",
+ "name": "isdefault",
+ "type": "boolean"
},
{
- "description": "the secret key of the user",
- "name": "secretkey",
- "type": "string"
+ "description": "the date and time the user account was created",
+ "name": "created",
+ "type": "date"
},
{
- "description": "the source type of the user in lowercase, such as native, ldap, saml2",
- "name": "usersource",
+ "description": "the ID of the role",
+ "name": "roleid",
"type": "string"
},
{
- "description": "true if user is default, false otherwise",
- "name": "isdefault",
- "type": "boolean"
+ "description": "the type of the role",
+ "name": "roletype",
+ "type": "string"
},
{
- "description": "the user lastname",
- "name": "lastname",
+ "description": "the user state",
+ "name": "state",
"type": "string"
},
{
- "description": "the boolean value representing if the updating target is in caller's child domain",
- "name": "iscallerchilddomain",
- "type": "boolean"
+ "description": "Base64 string representation of the resource icon",
+ "name": "icon",
+ "type": "resourceiconresponse"
},
{
- "description": "the account type of the user",
- "name": "accounttype",
- "type": "short"
+ "description": "the name of the role",
+ "name": "rolename",
+ "type": "string"
},
{
- "description": "the type of the role",
- "name": "roletype",
+ "description": "the account ID of the user",
+ "name": "accountid",
"type": "string"
},
{
- "description": "the name of the role",
- "name": "rolename",
+ "description": "the user ID",
+ "name": "id",
"type": "string"
},
{
- "description": "the account ID of the user",
- "name": "accountid",
+ "description": "the account type of the user",
+ "name": "accounttype",
+ "type": "short"
+ },
+ {
+ "description": "the user lastname",
+ "name": "lastname",
"type": "string"
},
{
- "description": "the user firstname",
- "name": "firstname",
+ "description": "the account name of the user",
+ "name": "account",
"type": "string"
}
],
"type": "list"
},
{
- "description": "the total number of networks owned by account",
- "name": "networktotal",
- "type": "long"
- },
- {
- "description": "the total number of networks the account can own",
- "name": "networklimit",
+ "description": "the total number of virtual machines available for this account to acquire",
+ "name": "vmavailable",
"type": "string"
},
{
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
- "type": "integer"
+ "description": "the default zone of the account",
+ "name": "defaultzoneid",
+ "type": "string"
},
{
- "description": "the total number of virtual machines deployed by this account",
- "name": "vmtotal",
- "type": "long"
+ "description": "the total volume which can be used by this account",
+ "name": "volumelimit",
+ "type": "string"
},
{
"description": "the total number of vpcs the account can own",
@@ -748,18 +799,23 @@
"type": "string"
},
{
- "description": "the total number of cpu cores owned by account",
- "name": "cputotal",
- "type": "long"
+ "description": "Base64 string representation of the resource icon",
+ "name": "icon",
+ "type": "resourceiconresponse"
},
{
- "description": "the total number of virtual machines that can be deployed by this account",
- "name": "vmlimit",
+ "description": "the total number of cpu cores available to be created for this account",
+ "name": "cpuavailable",
"type": "string"
},
{
- "description": "name of the Domain the account belongs to",
- "name": "domain",
+ "description": "the total number of virtual machines running for this account",
+ "name": "vmrunning",
+ "type": "integer"
+ },
+ {
+ "description": "the total number of networks available to be created for this account",
+ "name": "networkavailable",
"type": "string"
},
{
@@ -767,39 +823,35 @@
"name": "rolename",
"type": "string"
},
+ {},
{
- "description": "the total number of vpcs owned by account",
- "name": "vpctotal",
- "type": "long"
+ "description": "the total number of snapshots which can be stored by this account",
+ "name": "snapshotlimit",
+ "type": "string"
},
{
- "description": "the total memory (in MB) owned by account",
- "name": "memorytotal",
+ "description": "the total number of projects being administrated by this account",
+ "name": "projecttotal",
"type": "long"
},
{
- "description": "the total primary storage space (in GiB) the account can own",
- "name": "primarystoragelimit",
+ "description": "the total number of projects the account can own",
+ "name": "projectlimit",
"type": "string"
},
{
- "description": "true if account is default, false otherwise",
- "name": "isdefault",
- "type": "boolean"
- },
- {
- "description": "path of the Domain the account belongs to",
- "name": "domainpath",
- "type": "string"
+ "description": "the total number of virtual machines deployed by this account",
+ "name": "vmtotal",
+ "type": "long"
},
{
- "description": "the total number of projects the account can own",
- "name": "projectlimit",
- "type": "string"
+ "description": "the total secondary storage space (in GiB) owned by account",
+ "name": "secondarystoragetotal",
+ "type": "float"
},
{
- "description": "the type of the role (Admin, ResourceAdmin, DomainAdmin, User)",
- "name": "roletype",
+ "description": "the state of the account",
+ "name": "state",
"type": "string"
},
{
@@ -808,29 +860,29 @@
"type": "string"
},
{
- "description": "the date when this account was created",
- "name": "created",
- "type": "date"
+ "description": "the network domain",
+ "name": "networkdomain",
+ "type": "string"
},
{
- "description": "the state of the account",
- "name": "state",
+ "description": "the total memory (in MB) the account can own",
+ "name": "memorylimit",
"type": "string"
},
{
- "description": "details for the account",
- "name": "accountdetails",
- "type": "map"
+ "description": "the total number of snapshots available for this account",
+ "name": "snapshotavailable",
+ "type": "string"
},
{
- "description": "the total volume which can be used by this account",
- "name": "volumelimit",
+ "description": "the total number of cpu cores the account can own",
+ "name": "cpulimit",
"type": "string"
},
{
- "description": "the id of the account",
- "name": "id",
- "type": "string"
+ "description": "the total number of vpcs owned by account",
+ "name": "vpctotal",
+ "type": "long"
},
{
"description": "the list of acl groups that account belongs to",
@@ -838,89 +890,64 @@
"type": "list"
},
{
- "description": "the total volume available for this account",
- "name": "volumeavailable",
- "type": "string"
- },
- {
- "description": "the total primary storage space (in GiB) owned by account",
- "name": "primarystoragetotal",
+ "description": "the total memory (in MB) owned by account",
+ "name": "memorytotal",
"type": "long"
},
{
- "description": "the total number of public ip addresses available for this account to acquire",
- "name": "ipavailable",
- "type": "string"
- },
- {
- "description": "the total number of virtual machines running for this account",
- "name": "vmrunning",
- "type": "integer"
- },
- {
- "description": "the total number of templates which can be created by this account",
- "name": "templatelimit",
- "type": "string"
- },
- {
- "description": "the total secondary storage space (in GiB) available to be used for this account",
- "name": "secondarystorageavailable",
+ "description": "the total number of public ip addresses this account can acquire",
+ "name": "iplimit",
"type": "string"
},
{
- "description": "the total number of network traffic bytes received",
- "name": "receivedbytes",
+ "description": "the total number of public ip addresses allocated for this account",
+ "name": "iptotal",
"type": "long"
},
{
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
- "type": "string"
- },
- {
- "description": "the total number of projects being administrated by this account",
- "name": "projecttotal",
+ "description": "the total number of network traffic bytes sent",
+ "name": "sentbytes",
"type": "long"
},
{
- "description": "the total number of snapshots available for this account",
- "name": "snapshotavailable",
+ "description": "the total number of templates which can be created by this account",
+ "name": "templatelimit",
"type": "string"
},
{
- "description": "the total number of snapshots stored by this account",
- "name": "snapshottotal",
- "type": "long"
+ "description": "the type of the role (Admin, ResourceAdmin, DomainAdmin, User)",
+ "name": "roletype",
+ "type": "string"
},
{
- "description": "the total volume being used by this account",
- "name": "volumetotal",
- "type": "long"
+ "description": "the total number of virtual machines that can be deployed by this account",
+ "name": "vmlimit",
+ "type": "string"
},
{
- "description": "the ID of the role",
- "name": "roleid",
+ "description": "path of the Domain the account belongs to",
+ "name": "domainpath",
"type": "string"
},
{
- "description": "the name of the account",
- "name": "name",
- "type": "string"
+ "description": "true if account is default, false otherwise",
+ "name": "isdefault",
+ "type": "boolean"
},
{
- "description": "the total number of virtual machines available for this account to acquire",
- "name": "vmavailable",
+ "description": "the id of the account",
+ "name": "id",
"type": "string"
},
{
- "description": "the total secondary storage space (in GiB) the account can own",
- "name": "secondarystoragelimit",
+ "description": "the total number of networks the account can own",
+ "name": "networklimit",
"type": "string"
},
{
- "description": "Base64 string representation of the resource icon",
- "name": "icon",
- "type": "resourceiconresponse"
+ "description": "details for the account",
+ "name": "accountdetails",
+ "type": "map"
},
{
"description": "account type (admin, domain-admin, user)",
@@ -928,19 +955,19 @@
"type": "short"
},
{
- "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",
+ "type": "string"
},
{
- "description": "the total number of snapshots which can be stored by this account",
- "name": "snapshotlimit",
- "type": "string"
+ "description": "the date when this account was created",
+ "name": "created",
+ "type": "date"
},
{
- "description": "the total number of templates available to be created by this account",
- "name": "templateavailable",
- "type": "string"
+ "description": "the total number of cpu cores owned by account",
+ "name": "cputotal",
+ "type": "long"
},
{
"description": "the total memory (in MB) available to be created for this account",
@@ -948,18 +975,13 @@
"type": "string"
},
{
- "description": "the total number of cpu cores the account can own",
- "name": "cpulimit",
- "type": "string"
- },
- {
- "description": "the total number of public ip addresses this account can acquire",
- "name": "iplimit",
- "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",
+ "description": "the total volume being used by this account",
+ "name": "volumetotal",
"type": "long"
},
{
@@ -968,40 +990,18 @@
"type": "string"
},
{
- "description": "the total number of cpu cores available to be created for this account",
- "name": "cpuavailable",
- "type": "string"
- },
- {
- "description": "the total number of networks available to be created for this account",
- "name": "networkavailable",
- "type": "string"
- },
- {
- "description": "the total memory (in MB) the account can own",
- "name": "memorylimit",
+ "description": "the total primary storage space (in GiB) available to be used for this account",
+ "name": "primarystorageavailable",
"type": "string"
},
{
- "description": "the total number of virtual machines stopped for this account",
- "name": "vmstopped",
- "type": "integer"
- },
- {
- "description": "true if the account requires cleanup",
- "name": "iscleanuprequired",
- "type": "boolean"
- },
- {},
- {
- "description": "id of the Domain the account belongs to",
- "name": "domainid",
+ "description": "the name of the account",
+ "name": "name",
"type": "string"
},
- {},
{
- "description": "the default zone of the account",
- "name": "defaultzoneid",
+ "description": "the total number of templates available to be created by this account",
+ "name": "templateavailable",
"type": "string"
}
],
@@ -1023,11 +1023,10 @@
"response": [
{},
{
- "description": "true if operation is executed successfully",
- "name": "success",
- "type": "boolean"
+ "description": "any text associated with the success or failure",
+ "name": "displaytext",
+ "type": "string"
},
- {},
{
"description": "the UUID of the latest async job acting on this object",
"name": "jobid",
@@ -1038,10 +1037,11 @@
"name": "jobstatus",
"type": "integer"
},
+ {},
{
- "description": "any text associated with the success or failure",
- "name": "displaytext",
- "type": "string"
+ "description": "true if operation is executed successfully",
+ "name": "success",
+ "type": "boolean"
}
],
"since": "4.6.0"
@@ -1087,182 +1087,181 @@
"related": "prepareTemplate,listIsos,registerIso,updateIso,copyTemplate,createTemplate,listTemplates,registerTemplate,updateTemplate,listTemplates,createTemplate,copyTemplate,registerTemplate,registerIso,copyIso,listIsos",
"response": [
{
- "description": "true if the entity/resource has annotations",
- "name": "hasannotations",
- "type": "boolean"
+ "description": "the template name",
+ "name": "name",
+ "type": "string"
},
{
- "description": "the size of the template",
- "name": "size",
- "type": "long"
+ "description": "checksum of the template",
+ "name": "checksum",
+ "type": "string"
},
{
- "description": "the date this template was created",
- "name": "created",
- "type": "date"
+ "description": "the project name of the template",
+ "name": "project",
+ "type": "string"
+ },
+ {
+ "description": "the hypervisor on which the template runs",
+ "name": "hypervisor",
+ "type": "string"
+ },
+ {
+ "description": "true if the ISO is bootable, false otherwise",
+ "name": "bootable",
+ "type": "boolean"
},
{
"description": "the list of resource tags associated",
"name": "tags",
"response": [
{
- "description": "the account associated with the tag",
- "name": "account",
+ "description": "id of the resource",
+ "name": "resourceid",
"type": "string"
},
{
- "description": "customer associated with the tag",
- "name": "customer",
+ "description": "the ID of the domain associated with the tag",
+ "name": "domainid",
"type": "string"
},
{
- "description": "id of the resource",
- "name": "resourceid",
+ "description": "the project name where tag belongs to",
+ "name": "project",
"type": "string"
},
{
- "description": "the project id the tag belongs to",
- "name": "projectid",
+ "description": "customer associated with the tag",
+ "name": "customer",
"type": "string"
},
{
- "description": "the ID of the domain associated with the tag",
- "name": "domainid",
+ "description": "tag value",
+ "name": "value",
"type": "string"
},
{
- "description": "resource type",
- "name": "resourcetype",
+ "description": "the account associated with the tag",
+ "name": "account",
"type": "string"
},
{
- "description": "the domain associated with the tag",
- "name": "domain",
+ "description": "resource type",
+ "name": "resourcetype",
"type": "string"
},
{
- "description": "tag value",
- "name": "value",
+ "description": "the project id the tag belongs to",
+ "name": "projectid",
"type": "string"
},
{
- "description": "the project name where tag belongs to",
- "name": "project",
+ "description": "tag key name",
+ "name": "key",
"type": "string"
},
{
- "description": "tag key name",
- "name": "key",
+ "description": "the domain associated with the tag",
+ "name": "domain",
"type": "string"
}
],
"type": "set"
},
{
- "description": "the name of the secondary storage host for the template",
- "name": "hostname",
- "type": "string"
+ "description": "the current status of the latest async job acting on this object",
+ "name": "jobstatus",
+ "type": "integer"
},
{
- "description": "the name of the OS type for this template.",
- "name": "ostypename",
- "type": "string"
+ "description": "if root disk template, then ids of the datas disk templates this template owns",
+ "name": "childtemplates",
+ "type": "set"
},
+ {},
{
- "description": "checksum of the template",
- "name": "checksum",
- "type": "string"
+ "description": "true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory",
+ "name": "isdynamicallyscalable",
+ "type": "boolean"
},
{
- "description": "the status of the template",
- "name": "status",
+ "description": "the URL which the template/iso is registered from",
+ "name": "url",
"type": "string"
},
{
- "description": "the format of the template.",
- "name": "format",
- "type": "imageformat"
+ "description": "true if the entity/resource has annotations",
+ "name": "hasannotations",
+ "type": "boolean"
},
{
- "description": "the tag of this template",
- "name": "templatetag",
- "type": "string"
+ "description": "the size of the template",
+ "name": "size",
+ "type": "long"
},
- {},
{
- "description": "the project id of the template",
- "name": "projectid",
+ "description": "the ID of the OS type for this template.",
+ "name": "ostypeid",
"type": "string"
},
{
- "description": "the type of the template",
- "name": "templatetype",
- "type": "string"
+ "description": "true if this template is a public template, false otherwise",
+ "name": "ispublic",
+ "type": "boolean"
},
{
- "description": "VMware only: true if template is deployed without orchestrating disks and networks but \"as-is\" defined in the template.",
- "name": "deployasis",
- "type": "boolean"
+ "description": "the tag of this template",
+ "name": "templatetag",
+ "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": "true if the template is managed across all Zones, false otherwise",
- "name": "crossZones",
+ "description": "true if the template is extractable, false otherwise",
+ "name": "isextractable",
"type": "boolean"
},
{
- "description": "true if the template is extractable, false otherwise",
- "name": "isextractable",
+ "description": "true if template is sshkey enabled, false otherwise",
+ "name": "sshkeyenabled",
"type": "boolean"
},
- {},
{
"description": "the account id to which the template belongs",
"name": "accountid",
"type": "string"
},
{
- "description": "true if the template is ready to be deployed from, false otherwise.",
- "name": "isready",
- "type": "boolean"
- },
- {
- "description": "Lists the download progress of a template across all secondary storages",
- "name": "downloaddetails",
- "type": "list"
- },
- {
- "description": "the ID of the domain to which the template belongs",
- "name": "domainid",
+ "description": "the name of the zone for this template",
+ "name": "zonename",
"type": "string"
},
{
- "description": "the physical size of the template",
- "name": "physicalsize",
- "type": "long"
+ "description": "if Datadisk template, then id of the root disk template this template belongs to",
+ "name": "parenttemplateid",
+ "type": "string"
},
{
- "description": "KVM Only: true if template is directly downloaded to Primary Storage bypassing Secondary Storage",
- "name": "directdownload",
- "type": "boolean"
+ "description": "VMware only: additional key/value details tied with deploy-as-is template",
+ "name": "deployasisdetails",
+ "type": "map"
},
{
- "description": "true if template is sshkey enabled, false otherwise",
- "name": "sshkeyenabled",
- "type": "boolean"
+ "description": "the processor bit size",
+ "name": "bits",
+ "type": "int"
},
{
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
- "type": "integer"
+ "description": "the ID of the zone for this template",
+ "name": "zoneid",
+ "type": "string"
},
{
- "description": "the template name",
- "name": "name",
+ "description": "the status of the template",
+ "name": "status",
"type": "string"
},
{
@@ -1270,35 +1269,41 @@
"name": "id",
"type": "string"
},
+ {},
{
- "description": "the template display text",
- "name": "displaytext",
- "type": "string"
+ "description": "true if template requires HVM enabled, false otherwise",
+ "name": "requireshvm",
+ "type": "boolean"
},
{
- "description": "the template ID of the parent template if present",
- "name": "sourcetemplateid",
+ "description": "the name of the secondary storage host for the template",
+ "name": "hostname",
"type": "string"
},
{
- "description": "true if this template is a public template, false otherwise",
- "name": "ispublic",
- "type": "boolean"
+ "description": "the type of the template",
+ "name": "templatetype",
+ "type": "string"
},
{
- "description": "the account name to which the template belongs",
- "name": "account",
+ "description": "the ID of the domain to which the template belongs",
+ "name": "domainid",
"type": "string"
},
{
- "description": "additional key/value details tied with template",
- "name": "details",
- "type": "map"
+ "description": "Base64 string representation of the resource icon",
+ "name": "icon",
+ "type": "resourceiconresponse"
},
{
- "description": "true if the reset password feature is enabled, false otherwise",
- "name": "passwordenabled",
- "type": "boolean"
+ "description": "the template ID of the parent template if present",
+ "name": "sourcetemplateid",
+ "type": "string"
+ },
+ {
+ "description": "the format of the template.",
+ "name": "format",
+ "type": "imageformat"
},
{
"description": "the UUID of the latest async job acting on this object",
@@ -1306,89 +1311,84 @@
"type": "string"
},
{
- "description": "true if this template is a featured template, false otherwise",
- "name": "isfeatured",
- "type": "boolean"
+ "description": "the physical size of the template",
+ "name": "physicalsize",
+ "type": "long"
},
{
- "description": "the name of the domain to which the template belongs",
- "name": "domain",
+ "description": "the ID of the secondary storage host for the template",
+ "name": "hostid",
"type": "string"
},
{
- "description": "the hypervisor on which the template runs",
- "name": "hypervisor",
+ "description": "the date this template was created",
+ "name": "created",
+ "type": "date"
+ },
+ {
+ "description": "the project id of the template",
+ "name": "projectid",
"type": "string"
},
{
- "description": "true if template requires HVM enabled, false otherwise",
- "name": "requireshvm",
+ "description": "VMware only: true if template is deployed without orchestrating disks and networks but \"as-is\" defined in the template.",
+ "name": "deployasis",
+ "type": "boolean"
+ },
+ {
+ "description": "true if this template is a featured template, false otherwise",
+ "name": "isfeatured",
"type": "boolean"
},
{
+ "description": "Lists the download progress of a template across all secondary storages",
+ "name": "downloaddetails",
+ "type": "list"
+ },
+ {
"description": "the date this template was removed",
"name": "removed",
"type": "date"
},
{
- "description": "the processor bit size",
- "name": "bits",
- "type": "int"
+ "description": "KVM Only: true if template is directly downloaded to Primary Storage bypassing Secondary Storage",
+ "name": "directdownload",
+ "type": "boolean"
},
{
- "description": "the ID of the zone for this template",
- "name": "zoneid",
+ "description": "the template display text",
+ "name": "displaytext",
"type": "string"
},
{
- "description": "the ID of the OS type for this template.",
- "name": "ostypeid",
+ "description": "the name of the domain to which the template belongs",
+ "name": "domain",
"type": "string"
},
{
- "description": "true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory",
- "name": "isdynamicallyscalable",
+ "description": "true if the template is managed across all Zones, false otherwise",
+ "name": "crossZones",
"type": "boolean"
},
{
- "description": "Base64 string representation of the resource icon",
- "name": "icon",
- "type": "resourceiconresponse"
- },
- {
- "description": "the project name of the template",
- "name": "project",
+ "description": "the name of the OS type for this template.",
+ "name": "ostypename",
"type": "string"
},
{
- "description": "VMware only: additional key/value details tied with deploy-as-is template",
- "name": "deployasisdetails",
+ "description": "additional key/value details tied with template",
+ "name": "details",
"type": "map"
},
{
- "description": "true if the ISO is bootable, false otherwise",
- "name": "bootable",
+ "description": "true if the template is ready to be deployed from, false otherwise.",
+ "name": "isready",
"type": "boolean"
},
{
- "description": "if root disk template, then ids of the datas disk templates this template owns",
- "name": "childtemplates",
- "type": "set"
- },
- {
- "description": "the ID of the secondary storage host for the template",
- "name": "hostid",
- "type": "string"
- },
- {
- "description": "the name of the zone for this template",
- "name": "zonename",
- "type": "string"
- },
- {
- "description": "the URL which the template/iso is registered from",
- "name": "url",
- "type": "string"
+ "description": "true if the reset password feature is enabled, false otherwise",
+ "name": "passwordenabled",
+ "type": "boolean"
}
]
},
@@ -1408,27 +1408,27 @@
],
"response": [
{
- "description": "true if operation is executed successfully",
- "name": "success",
- "type": "boolean"
+ "description": "any text associated with the success or failure",
+ "name": "displaytext",
+ "type": "string"
},
- {},
{
"description": "the current status of the latest async job acting on this object",
"name": "jobstatus",
"type": "integer"
},
+ {},
+ {},
{
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
- "type": "string"
+ "description": "true if operation is executed successfully",
+ "name": "success",
+ "type": "boolean"
},
{
- "description": "any text associated with the success or failure",
- "name": "displaytext",
+ "description": "the UUID of the latest async job acting on this object",
+ "name": "jobid",
"type": "string"
- },
- {}
+ }
]
},
{
@@ -1437,13 +1437,6 @@
"name": "provisionCertificate",
"params": [
{
- "description": "Whether to attempt reconnection with host/agent after successful deployment of certificate. When option is not provided, configured global setting is used",
- "length": 255,
- "name": "reconnect",
- "required": false,
- "type": "boolean"
- },
- {
"description": "The host/agent uuid to which the certificate has to be provisioned (issued and propagated)",
"length": 255,
"name": "hostid",
@@ -1452,6 +1445,13 @@
"type": "uuid"
},
{
+ "description": "Whether to attempt reconnection with host/agent after successful deployment of certificate. When option is not provided, configured global setting is used",
+ "length": 255,
+ "name": "reconnect",
+ "required": false,
+ "type": "boolean"
+ },
+ {
"description": "Name of the CA service provider, otherwise the default configured provider plugin will be used",
"length": 255,
"name": "provider",
@@ -1460,17 +1460,15 @@
}
],
"response": [
- {},
- {},
{
"description": "true if operation is executed successfully",
"name": "success",
"type": "boolean"
},
{
- "description": "any text associated with the success or failure",
- "name": "displaytext",
- "type": "string"
+ "description": "the current status of the latest async job acting on this object",
+ "name": "jobstatus",
+ "type": "integer"
},
{
"description": "the UUID of the latest async job acting on this object",
@@ -1478,10 +1476,12 @@
"type": "string"
},
{
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
- "type": "integer"
- }
+ "description": "any text associated with the success or failure",
+ "name": "displaytext",
+ "type": "string"
+ },
+ {},
+ {}
],
"since": "4.11.0"
},
@@ -1491,13 +1491,6 @@
"name": "addExternalFirewall",
"params": [
{
- "description": "Password of the external firewall appliance.",
- "length": 255,
- "name": "password",
- "required": true,
- "type": "string"
- },
- {
"description": "Username of the external firewall appliance.",
"length": 255,
"name": "username",
@@ -1518,82 +1511,89 @@
"name": "url",
"required": true,
"type": "string"
+ },
+ {
+ "description": "Password of the external firewall appliance.",
+ "length": 255,
+ "name": "password",
+ "required": true,
+ "type": "string"
}
],
"related": "listExternalFirewalls",
"response": [
{
- "description": "the usage interface of the external firewall",
- "name": "usageinterface",
+ "description": "the public interface of the external firewall",
+ "name": "publicinterface",
"type": "string"
},
{
- "description": "the private interface of the external firewall",
- "name": "privateinterface",
- "type": "string"
+ "description": "the current status of the latest async job acting on this object",
+ "name": "jobstatus",
+ "type": "integer"
},
{
- "description": "the timeout (in seconds) for requests to the external firewall",
- "name": "timeout",
+ "description": "the UUID of the latest async job acting on this object",
+ "name": "jobid",
"type": "string"
},
{
- "description": "the public security zone of the external firewall",
- "name": "publiczone",
+ "description": "the ID of the external firewall",
+ "name": "id",
"type": "string"
},
{
- "description": "the number of times to retry requests to the external firewall",
- "name": "numretries",
+ "description": "the private interface of the external firewall",
+ "name": "privateinterface",
"type": "string"
},
- {},
{
- "description": "the ID of the network device",
- "name": "id",
+ "description": "the timeout (in seconds) for requests to the external firewall",
+ "name": "timeout",
"type": "string"
},
- {},
{
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
+ "description": "the zone ID of the external firewall",
+ "name": "zoneid",
"type": "string"
},
{
- "description": "the public interface of the external firewall",
- "name": "publicinterface",
+ "description": "the ID of the network device",
+ "name": "id",
"type": "string"
},
{
- "description": "the management IP address of the external firewall",
- "name": "ipaddress",
+ "description": "the usage interface of the external firewall",
+ "name": "usageinterface",
"type": "string"
},
{
- "description": "the private security zone of the external firewall",
- "name": "privatezone",
+ "description": "the username that's used to log in to the external firewall",
+ "name": "username",
"type": "string"
},
{
- "description": "the username that's used to log in to the external firewall",
- "name": "username",
+ "description": "the number of times to retry requests to the external firewall",
+ "name": "numretries",
"type": "string"
},
{
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
- "type": "integer"
+ "description": "the management IP address of the external firewall",
+ "name": "ipaddress",
+ "type": "string"
},
{
- "description": "the ID of the external firewall",
- "name": "id",
+ "description": "the public security zone of the external firewall",
+ "name": "publiczone",
"type": "string"
},
+ {},
{
- "description": "the zone ID of the external firewall",
- "name": "zoneid",
+ "description": "the private security zone of the external firewall",
+ "name": "privatezone",
"type": "string"
- }
+ },
+ {}
]
},
{
@@ -1641,53 +1641,27 @@
"name": "listVirtualMachinesMetrics",
"params": [
{
- "description": "list vms by vpc",
- "length": 255,
- "name": "vpcid",
- "related": "createVPC,listVPCs,updateVPC,createVPC,listVPCs,updateVPC,migrateVPC",
- "required": false,
- "type": "uuid"
- },
- {
- "description": "list only resources belonging to the domain specified",
+ "description": "list vms by iso",
"length": 255,
- "name": "domainid",
- "related": "createDomain,listDomainChildren,listDomains,listDomains,updateDomain",
+ "name": "isoid",
"required": false,
"type": "uuid"
},
{
- "description": "list resources by display flag; only ROOT admin is eligible to pass this parameter",
+ "description": "defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.",
"length": 255,
- "name": "displayvm",
+ "name": "isrecursive",
"required": false,
- "since": "4.4",
"type": "boolean"
},
{
- "description": "the pod ID",
- "length": 255,
- "name": "podid",
- "related": "listPods,updatePod,createManagementNetworkIpRange",
- "required": false,
- "type": "uuid"
- },
- {
- "description": "the security group ID",
- "length": 255,
- "name": "securitygroupid",
- "related": "createSecurityGroup,listSecurityGroups,updateSecurityGroup",
- "required": false,
- "since": "4.15",
- "type": "uuid"
- },
- {
- "description": "the storage ID where vm's volumes belong to",
+ "description": "the IDs of the virtual machines, mutually exclusive with id",
"length": 255,
- "name": "storageid",
- "related": "cancelStorageMaintenance,createStoragePool,listStoragePools,findStoragePoolsForMigration,enableStorageMaintenance,updateStoragePool,syncStoragePool,updateStorageCapabilities,listVsphereStoragePolicyCompatiblePools",
+ "name": "ids",
+ "related": "assignVirtualMachine,migrateVirtualMachine,migrateVirtualMachineWithVolume,recoverVirtualMachine,attachIso,detachIso,addNicToVirtualMachine,deployVirtualMachine,destroyVirtualMachine,listVirtualMachines,scaleVirtualMachine,rebootVirtualMachine,removeNicFromVirtualMachine,resetPasswordForVirtualMachine,resetSSHKeyForVirtualMachine,restoreVirtualMachine,startVirtualMachine,stopVirtualMachine,updateDefaultNicForVirtualMachine,updateVirtualMachine,changeServiceForVirtua [...]
"required": false,
- "type": "uuid"
+ "since": "4.4",
+ "type": "list"
},
{
"description": "List by keyword",
@@ -1697,51 +1671,39 @@
"type": "string"
},
{
- "description": "the group ID",
+ "description": "list resources by display flag; only ROOT admin is eligible to pass this parameter",
"length": 255,
- "name": "groupid",
- "related": "createInstanceGroup,listInstanceGroups,updateInstanceGroup",
+ "name": "displayvm",
"required": false,
- "type": "uuid"
+ "since": "4.4",
+ "type": "boolean"
},
{
- "description": "list vms by ssh keypair name",
+ "description": "flag to display the resource icon for VMs",
"length": 255,
- "name": "keypair",
+ "name": "showicon",
"required": false,
- "type": "string"
+ "since": "4.16.0.0",
+ "type": "boolean"
},
{
- "description": "the availability zone ID",
+ "description": "list by the service offering",
"length": 255,
- "name": "zoneid",
- "related": "createZone,updateZone,listZones,listZones",
+ "name": "serviceofferingid",
+ "related": "createServiceOffering,updateServiceOffering,listServiceOfferings",
"required": false,
+ "since": "4.4",
"type": "uuid"
},
{
- "description": "list vms by template",
+ "description": "list vms by vpc",
"length": 255,
- "name": "templateid",
- "related": "prepareTemplate,listIsos,registerIso,updateIso,copyTemplate,createTemplate,listTemplates,registerTemplate,updateTemplate,listTemplates,createTemplate,copyTemplate,registerTemplate,registerIso,copyIso,listIsos",
+ "name": "vpcid",
+ "related": "createVPC,listVPCs,updateVPC,createVPC,listVPCs,updateVPC,migrateVPC",
"required": false,
"type": "uuid"
},
{
- "description": "comma separated list of host details requested, value can be a list of [all, group, nics, stats, secgrp, tmpl, servoff, diskoff, iso, volume, min, affgrp]. If no parameter is passed in, the details will be defaulted to all",
- "length": 255,
- "name": "details",
- "required": false,
- "type": "list"
- },
- {
- "description": "",
- "length": 255,
- "name": "pagesize",
- "required": false,
- "type": "integer"
- },
- {
"description": "name of the virtual machine (a substring match is made against the parameter value, data for all matching VMs will be returned)",
"length": 255,
"name": "name",
@@ -1749,26 +1711,17 @@
"type": "string"
},
{
- "description": "the IDs of the virtual machines, mutually exclusive with id",
- "length": 255,
- "name": "ids",
- "related": "assignVirtualMachine,migrateVirtualMachine,migrateVirtualMachineWithVolume,recoverVirtualMachine,attachIso,detachIso,addNicToVirtualMachine,deployVirtualMachine,destroyVirtualMachine,listVirtualMachines,scaleVirtualMachine,rebootVirtualMachine,removeNicFromVirtualMachine,resetPasswordForVirtualMachine,resetSSHKeyForVirtualMachine,restoreVirtualMachine,startVirtualMachine,stopVirtualMachine,updateDefaultNicForVirtualMachine,updateVirtualMachine,changeServiceForVirtua [...]
- "required": false,
- "since": "4.4",
- "type": "list"
- },
- {
- "description": "the target hypervisor for the template",
+ "description": "List resources by tags (key/value pairs)",
"length": 255,
- "name": "hypervisor",
+ "name": "tags",
"required": false,
- "type": "string"
+ "type": "map"
},
{
- "description": "list objects by project",
+ "description": "list by network id",
"length": 255,
- "name": "projectid",
- "related": "listProjectAccounts,activateProject,createProject,listProjects,suspendProject,updateProject",
+ "name": "networkid",
+ "related": "createNetwork,listNetworks,updateNetwork,createNetwork,updateNetwork,listNetworks,migrateNetwork,listF5LoadBalancerNetworks,listNetscalerLoadBalancerNetworks,listNiciraNvpDeviceNetworks,listPaloAltoFirewallNetworks,listSrxFirewallNetworks,listBrocadeVcsDeviceNetworks",
"required": false,
"type": "uuid"
},
@@ -1781,32 +1734,32 @@
"type": "uuid"
},
{
- "description": "list by the High Availability offering; true if filtering VMs with HA enabled; false for VMs with HA disabled",
+ "description": "If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false",
"length": 255,
- "name": "haenable",
+ "name": "listall",
"required": false,
- "since": "4.15",
"type": "boolean"
},
{
- "description": "List resources by tags (key/value pairs)",
+ "description": "the group ID",
"length": 255,
- "name": "tags",
+ "name": "groupid",
+ "related": "createInstanceGroup,listInstanceGroups,updateInstanceGroup",
"required": false,
- "type": "map"
+ "type": "uuid"
},
{
- "description": "the host ID",
+ "description": "the target hypervisor for the template",
"length": 255,
- "name": "hostid",
- "related": "addHost,cancelHostMaintenance,cancelHostAsDegraded,declareHostAsDegraded,listHosts,prepareHostForMaintenance,reconnectHost,updateHost,addBaremetalHost,listExternalLoadBalancers",
+ "name": "hypervisor",
"required": false,
- "type": "uuid"
+ "type": "string"
},
{
- "description": "list vms by iso",
+ "description": "list objects by project",
"length": 255,
- "name": "isoid",
+ "name": "projectid",
+ "related": "listProjectAccounts,activateProject,createProject,listProjects,suspendProject,updateProject",
"required": false,
"type": "uuid"
},
@@ -1818,34 +1771,34 @@
"type": "string"
},
{
- "description": "the user ID that created the VM and is under the account that owns the VM",
+ "description": "the storage ID where vm's volumes belong to",
"length": 255,
- "name": "userid",
- "related": "createUser,disableUser,enableUser,getUser,listUsers,lockUser,updateUser",
+ "name": "storageid",
+ "related": "cancelStorageMaintenance,createStoragePool,listStoragePools,findStoragePoolsForMigration,enableStorageMaintenance,updateStoragePool,syncStoragePool,updateStorageCapabilities,listVsphereStoragePolicyCompatiblePools",
"required": false,
"type": "uuid"
},
{
- "description": "",
+ "description": "list by network type; true if need to list vms using Virtual Network, false otherwise",
"length": 255,
- "name": "page",
+ "name": "forvirtualnetwork",
"required": false,
- "type": "integer"
+ "type": "boolean"
},
{
- "description": "flag to display the resource icon for VMs",
+ "description": "list only resources belonging to the domain specified",
"length": 255,
- "name": "showicon",
+ "name": "domainid",
+ "related": "createDomain,listDomainChildren,listDomains,listDomains,updateDomain",
"required": false,
- "since": "4.16.0.0",
- "type": "boolean"
+ "type": "uuid"
},
{
- "description": "If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false",
+ "description": "list vms by ssh keypair name",
"length": 255,
- "name": "listall",
+ "name": "keypair",
"required": false,
- "type": "boolean"
+ "type": "string"
},
{
"description": "list resources by account. Must be used with the domainId parameter.",
@@ -1855,35 +1808,36 @@
"type": "string"
},
{
- "description": "defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.",
+ "description": "the availability zone ID",
"length": 255,
- "name": "isrecursive",
+ "name": "zoneid",
+ "related": "createZone,updateZone,listZones,listZones",
"required": false,
- "type": "boolean"
+ "type": "uuid"
},
{
- "description": "list by network id",
+ "description": "list vms by template",
"length": 255,
- "name": "networkid",
- "related": "createNetwork,listNetworks,updateNetwork,createNetwork,updateNetwork,listNetworks,migrateNetwork,listF5LoadBalancerNetworks,listNetscalerLoadBalancerNetworks,listNiciraNvpDeviceNetworks,listPaloAltoFirewallNetworks,listSrxFirewallNetworks,listBrocadeVcsDeviceNetworks",
+ "name": "templateid",
+ "related": "prepareTemplate,listIsos,registerIso,updateIso,copyTemplate,createTemplate,listTemplates,registerTemplate,updateTemplate,listTemplates,createTemplate,copyTemplate,registerTemplate,registerIso,copyIso,listIsos",
"required": false,
"type": "uuid"
},
{
- "description": "list by the service offering",
+ "description": "",
"length": 255,
- "name": "serviceofferingid",
- "related": "createServiceOffering,updateServiceOffering,listServiceOfferings",
+ "name": "page",
"required": false,
- "since": "4.4",
- "type": "uuid"
+ "type": "integer"
},
{
- "description": "list by network type; true if need to list vms using Virtual Network, false otherwise",
+ "description": "the security group ID",
"length": 255,
- "name": "forvirtualnetwork",
+ "name": "securitygroupid",
+ "related": "createSecurityGroup,listSecurityGroups,updateSecurityGroup",
"required": false,
- "type": "boolean"
+ "since": "4.15",
+ "type": "uuid"
},
{
"description": "the ID of the virtual machine",
@@ -1892,405 +1846,173 @@
"related": "assignVirtualMachine,migrateVirtualMachine,migrateVirtualMachineWithVolume,recoverVirtualMachine,attachIso,detachIso,addNicToVirtualMachine,deployVirtualMachine,destroyVirtualMachine,listVirtualMachines,scaleVirtualMachine,rebootVirtualMachine,removeNicFromVirtualMachine,resetPasswordForVirtualMachine,resetSSHKeyForVirtualMachine,restoreVirtualMachine,startVirtualMachine,stopVirtualMachine,updateDefaultNicForVirtualMachine,updateVirtualMachine,changeServiceForVirtua [...]
"required": false,
"type": "uuid"
- }
- ],
- "related": "",
- "response": [
- {
- "description": "the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file.",
- "name": "templateid",
- "type": "string"
- },
- {
- "description": "the pool type of the virtual machine",
- "name": "pooltype",
- "type": "string"
- },
- {
- "description": "the hypervisor on which the template runs",
- "name": "hypervisor",
- "type": "string"
- },
- {
- "description": "the write (io) of disk on the vm",
- "name": "diskiowrite",
- "type": "long"
},
{
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
+ "description": "",
+ "length": 255,
+ "name": "pagesize",
+ "required": false,
"type": "integer"
},
{
- "description": "instance name of the user vm; this parameter is returned to the ROOT admin only",
- "name": "instancename",
- "type": "string"
- },
- {
- "description": "the date when this virtual machine was created",
- "name": "created",
- "type": "date"
- },
- {
- "description": "the name of the virtual machine",
- "name": "name",
- "type": "string"
- },
- {
- "description": "the read (io) of disk on the vm",
- "name": "diskioread",
- "type": "long"
- },
- {
- "description": "ssh key-pair",
- "name": "keypair",
- "type": "string"
- },
- {
- "description": "the ID of the availablility zone for the virtual machine",
- "name": "zoneid",
- "type": "string"
+ "description": "the host ID",
+ "length": 255,
+ "name": "hostid",
+ "related": "addHost,cancelHostMaintenance,cancelHostAsDegraded,declareHostAsDegraded,listHosts,prepareHostForMaintenance,reconnectHost,updateHost,addBaremetalHost,listExternalLoadBalancers",
+ "required": false,
+ "type": "uuid"
},
{
- "description": "the vgpu type used by the virtual machine",
- "name": "vgpu",
- "type": "string"
+ "description": "comma separated list of host details requested, value can be a list of [all, group, nics, stats, secgrp, tmpl, servoff, diskoff, iso, volume, min, affgrp]. If no parameter is passed in, the details will be defaulted to all",
+ "length": 255,
+ "name": "details",
+ "required": false,
+ "type": "list"
},
{
- "description": "the ID of the service offering of the virtual machine",
- "name": "serviceofferingid",
- "type": "string"
+ "description": "the pod ID",
+ "length": 255,
+ "name": "podid",
+ "related": "listPods,updatePod,createManagementNetworkIpRange",
+ "required": false,
+ "type": "uuid"
},
- {},
{
- "description": "the amount of the vm's CPU currently used",
- "name": "cpuused",
- "type": "string"
+ "description": "list by the High Availability offering; true if filtering VMs with HA enabled; false for VMs with HA disabled",
+ "length": 255,
+ "name": "haenable",
+ "required": false,
+ "since": "4.15",
+ "type": "boolean"
},
{
- "description": "the user's ID who deployed the virtual machine",
+ "description": "the user ID that created the VM and is under the account that owns the VM",
+ "length": 255,
"name": "userid",
- "type": "string"
- },
- {
- "description": "the total cpu capacity in Ghz",
- "name": "cputotal",
- "type": "string"
- },
- {
- "description": "device type of the root volume",
- "name": "rootdevicetype",
- "type": "string"
- },
- {
- "description": "the project name of the vm",
- "name": "project",
- "type": "string"
- },
- {
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
- "type": "string"
- },
- {
- "description": "Guest vm Boot Type",
- "name": "boottype",
- "type": "string"
- },
- {
- "description": "State of the Service from LB rule",
- "name": "servicestate",
- "type": "string"
- },
- {
- "description": "the name of the backup offering of the virtual machine",
- "name": "backupofferingname",
- "type": "string"
- },
+ "related": "createUser,disableUser,enableUser,getUser,listUsers,lockUser,updateUser",
+ "required": false,
+ "type": "uuid"
+ }
+ ],
+ "related": "",
+ "response": [
{
"description": "the password (if exists) of the virtual machine",
"name": "password",
"type": "string"
},
{
- "description": "the ID of the backup offering of the virtual machine",
- "name": "backupofferingid",
- "type": "string"
- },
- {
- "description": " an alternate display text of the template for the virtual machine",
- "name": "templatedisplaytext",
- "type": "string"
- },
- {
- "description": "OS type id of the vm",
- "name": "ostypeid",
- "type": "string"
- },
- {
- "description": "the name of the host for the virtual machine",
- "name": "hostname",
- "type": "string"
- },
- {
- "description": "the speed of each cpu",
- "name": "cpuspeed",
- "type": "integer"
- },
- {
- "description": "the total disk iops",
- "name": "diskiopstotal",
- "type": "long"
- },
- {
- "description": "true if the entity/resource has annotations",
- "name": "hasannotations",
- "type": "boolean"
- },
- {
- "description": "true if high-availability is enabled, false otherwise",
- "name": "haenable",
- "type": "boolean"
- },
- {
- "description": "the total memory capacity in GiB",
- "name": "memorytotal",
- "type": "string"
- },
- {
- "description": "the total number of network traffic bytes sent",
- "name": "sentbytes",
- "type": "long"
- },
- {
- "description": "Guest vm Boot Mode",
- "name": "bootmode",
- "type": "string"
- },
- {
- "description": "the ID of the disk offering of the virtual machine",
- "name": "diskofferingid",
- "type": "string"
- },
- {
- "description": "OS name of the vm",
- "name": "osdisplayname",
- "type": "string"
- },
- {
- "description": "network write in MiB",
- "name": "networkwrite",
+ "description": "the vgpu type used by the virtual machine",
+ "name": "vgpu",
"type": "string"
},
{
- "description": "the account associated with the virtual machine",
- "name": "account",
+ "description": "disk write in MiB",
+ "name": "diskwrite",
"type": "string"
},
{
- "description": "true if the password rest feature is enabled, false otherwise",
- "name": "passwordenabled",
- "type": "boolean"
- },
- {
"description": "the VM's primary IP address",
"name": "ipaddress",
"type": "string"
},
{
- "description": "the number of cpu this virtual machine is running with",
- "name": "cpunumber",
+ "description": "the current status of the latest async job acting on this object",
+ "name": "jobstatus",
"type": "integer"
},
{
- "description": "the name of the availability zone for the virtual machine",
- "name": "zonename",
- "type": "string"
- },
- {
- "description": "network read in MiB",
- "name": "networkread",
- "type": "string"
+ "description": "the internal memory that's free in vm or zero if it can not be calculated",
+ "name": "memoryintfreekbs",
+ "type": "long"
},
{
- "description": "the list of resource tags associated",
- "name": "tags",
+ "description": "the list of nics associated with vm",
+ "name": "nic",
"response": [
{
- "description": "customer associated with the tag",
- "name": "customer",
- "type": "string"
- },
- {
- "description": "tag value",
- "name": "value",
- "type": "string"
- },
- {
- "description": "the account associated with the tag",
- "name": "account",
- "type": "string"
- },
- {
- "description": "id of the resource",
- "name": "resourceid",
+ "description": "the name of the corresponding network",
+ "name": "networkname",
"type": "string"
},
{
- "description": "the project name where tag belongs to",
- "name": "project",
+ "description": "the gateway of the nic",
+ "name": "gateway",
"type": "string"
},
{
- "description": "the ID of the domain associated with the tag",
- "name": "domainid",
+ "description": "the traffic type of the nic",
+ "name": "traffictype",
"type": "string"
},
{
- "description": "the project id the tag belongs to",
- "name": "projectid",
+ "description": "the type of the nic",
+ "name": "type",
"type": "string"
},
{
- "description": "the domain associated with the tag",
- "name": "domain",
+ "description": "the broadcast uri of the nic",
+ "name": "broadcasturi",
"type": "string"
},
{
- "description": "tag key name",
- "name": "key",
+ "description": "the gateway of IPv6 network",
+ "name": "ip6gateway",
"type": "string"
},
{
- "description": "resource type",
- "name": "resourcetype",
- "type": "string"
- }
- ],
- "type": "set"
- },
- {
- "description": "the date when this virtual machine was updated last time",
- "name": "lastupdated",
- "type": "date"
- },
- {
- "description": "user generated name. The name of the virtual machine is returned if no displayname exists.",
- "name": "displayname",
- "type": "string"
- },
- {
- "description": "Base64 string representation of the resource icon",
- "name": "icon",
- "type": "resourceiconresponse"
- },
- {
- "description": "the ID of the domain in which the virtual machine exists",
- "name": "domainid",
- "type": "string"
- },
- {
- "description": "List of read-only Vm details as comma separated string.",
- "name": "readonlydetails",
- "type": "string"
- },
- {
- "description": "the virtual network for the service offering",
- "name": "forvirtualnetwork",
- "type": "boolean"
- },
- {
- "description": "the memory allocated for the virtual machine",
- "name": "memory",
- "type": "integer"
- },
- {
- "description": "the list of nics associated with vm",
- "name": "nic",
- "response": [
- {
- "description": "the Secondary ipv4 addr of nic",
- "name": "secondaryip",
+ "description": "IP addresses associated with NIC found for unmanaged VM",
+ "name": "ipaddresses",
"type": "list"
},
{
- "description": "the isolation uri of the nic",
- "name": "isolationuri",
- "type": "string"
- },
- {
- "description": "the traffic type of the nic",
- "name": "traffictype",
- "type": "string"
- },
- {
- "description": "Id of the vm to which the nic belongs",
- "name": "virtualmachineid",
- "type": "string"
- },
- {
- "description": "the name of the corresponding network",
- "name": "networkname",
+ "description": "the netmask of the nic",
+ "name": "netmask",
"type": "string"
},
{
- "description": "the type of the nic",
- "name": "type",
+ "description": "the cidr of IPv6 network",
+ "name": "ip6cidr",
"type": "string"
},
{
- "description": "the ip address of the nic",
- "name": "ipaddress",
+ "description": "Type of adapter if available",
+ "name": "adaptertype",
"type": "string"
},
{
- "description": "true if nic is default, false otherwise",
- "name": "isdefault",
- "type": "boolean"
- },
- {
"description": "the ID of the corresponding network",
"name": "networkid",
"type": "string"
},
{
- "description": "the gateway of the nic",
- "name": "gateway",
- "type": "string"
- },
- {
- "description": "the isolated private VLAN type if available",
- "name": "isolatedpvlantype",
+ "description": "the IPv6 address of network",
+ "name": "ip6address",
"type": "string"
},
{
- "description": "Id of the NSX Logical Switch (if NSX based), null otherwise",
- "name": "nsxlogicalswitch",
- "type": "string"
+ "description": "the extra dhcp options on the nic",
+ "name": "extradhcpoption",
+ "type": "list"
},
{
- "description": "IP addresses associated with NIC found for unmanaged VM",
- "name": "ipaddresses",
+ "description": "the Secondary ipv4 addr of nic",
+ "name": "secondaryip",
"type": "list"
},
{
- "description": "Id of the NSX Logical Switch Port (if NSX based), null otherwise",
- "name": "nsxlogicalswitchport",
+ "description": "device id for the network when plugged into the virtual machine",
+ "name": "deviceid",
"type": "string"
},
{
- "description": "ID of the VLAN/VNI if available",
- "name": "vlanid",
- "type": "integer"
- },
- {
- "description": "the netmask of the nic",
- "name": "netmask",
- "type": "string"
+ "description": "true if nic is default, false otherwise",
+ "name": "isdefault",
+ "type": "boolean"
},
{
- "description": "Type of adapter if available",
- "name": "adaptertype",
+ "description": "the ip address of the nic",
+ "name": "ipaddress",
"type": "string"
},
{
@@ -2299,13 +2021,8 @@
"type": "string"
},
{
- "description": "the extra dhcp options on the nic",
- "name": "extradhcpoption",
- "type": "list"
- },
- {
- "description": "the gateway of IPv6 network",
- "name": "ip6gateway",
+ "description": "the ID of the nic",
+ "name": "id",
"type": "string"
},
{
@@ -2314,184 +2031,167 @@
"type": "integer"
},
{
- "description": "the broadcast uri of the nic",
- "name": "broadcasturi",
+ "description": "ID of the VLAN/VNI if available",
+ "name": "vlanid",
+ "type": "integer"
+ },
+ {
+ "description": "the isolated private VLAN type if available",
+ "name": "isolatedpvlantype",
"type": "string"
},
{
- "description": "the IPv6 address of network",
- "name": "ip6address",
+ "description": "Id of the vm to which the nic belongs",
+ "name": "virtualmachineid",
"type": "string"
},
{
- "description": "the cidr of IPv6 network",
- "name": "ip6cidr",
+ "description": "the isolation uri of the nic",
+ "name": "isolationuri",
"type": "string"
},
{
- "description": "device id for the network when plugged into the virtual machine",
- "name": "deviceid",
+ "description": "Id of the NSX Logical Switch Port (if NSX based), null otherwise",
+ "name": "nsxlogicalswitchport",
"type": "string"
},
{
- "description": "the ID of the nic",
- "name": "id",
+ "description": "Id of the NSX Logical Switch (if NSX based), null otherwise",
+ "name": "nsxlogicalswitch",
"type": "string"
}
],
"type": "set"
},
{
+ "description": "the name of the disk offering of the virtual machine",
+ "name": "diskofferingname",
+ "type": "string"
+ },
+ {
+ "description": "disk read in MiB",
+ "name": "diskread",
+ "type": "string"
+ },
+ {
+ "description": "the total number of network traffic bytes received",
+ "name": "receivedbytes",
+ "type": "long"
+ },
+ {
"description": "the name of the domain in which the virtual machine exists",
"name": "domain",
"type": "string"
},
- {},
{
- "description": "the outgoing network traffic on the host",
- "name": "networkkbswrite",
- "type": "long"
+ "description": "the name of the virtual machine",
+ "name": "name",
+ "type": "string"
},
{
- "description": "the name of the disk offering of the virtual machine",
- "name": "diskofferingname",
+ "description": "the name of the backup offering of the virtual machine",
+ "name": "backupofferingname",
"type": "string"
},
{
- "description": "the state of the virtual machine",
- "name": "state",
+ "description": "the ID of the host for the virtual machine",
+ "name": "hostid",
"type": "string"
},
{
"description": "public IP address id associated with vm via Static nat rule",
- "name": "publicip",
+ "name": "publicipid",
"type": "string"
},
{
- "description": "disk read in MiB",
- "name": "diskread",
- "type": "string"
+ "description": "the target memory in vm",
+ "name": "memorytargetkbs",
+ "type": "long"
},
{
- "description": "disk write in MiB",
- "name": "diskwrite",
+ "description": "the group name of the virtual machine",
+ "name": "group",
"type": "string"
},
{
- "description": "the user's name who deployed the virtual machine",
- "name": "username",
+ "description": "the read (bytes) of disk on the vm",
+ "name": "diskkbsread",
+ "type": "long"
+ },
+ {
+ "description": "Vm details in key/value pairs.",
+ "name": "details",
+ "type": "map"
+ },
+ {
+ "description": "user generated name. The name of the virtual machine is returned if no displayname exists.",
+ "name": "displayname",
"type": "string"
},
{
- "description": "the name of the template for the virtual machine",
- "name": "templatename",
+ "description": "Base64 string representation of the resource icon",
+ "name": "icon",
+ "type": "resourceiconresponse"
+ },
+ {
+ "description": "OS name of the vm",
+ "name": "osdisplayname",
"type": "string"
},
{
- "description": "public IP address id associated with vm via Static nat rule",
- "name": "publicipid",
+ "description": "the ID of the domain in which the virtual machine exists",
+ "name": "domainid",
"type": "string"
},
{
- "description": "the name of the service offering of the virtual machine",
- "name": "serviceofferingname",
+ "description": "the UUID of the latest async job acting on this object",
+ "name": "jobid",
"type": "string"
},
{
- "description": "the name of the ISO attached to the virtual machine",
- "name": "isoname",
+ "description": "network read in MiB",
+ "name": "networkread",
"type": "string"
},
{
- "description": "the read (bytes) of disk on the vm",
- "name": "diskkbsread",
- "type": "long"
+ "description": "public IP address id associated with vm via Static nat rule",
+ "name": "publicip",
+ "type": "string"
},
{
"description": "the memory used by the vm",
"name": "memorykbs",
"type": "long"
},
+ {},
{
- "description": "the group ID of the virtual machine",
- "name": "groupid",
+ "description": "the pool type of the virtual machine",
+ "name": "pooltype",
"type": "string"
},
{
- "description": "Vm details in key/value pairs.",
- "name": "details",
- "type": "map"
+ "description": " an alternate display text of the template for the virtual machine",
+ "name": "templatedisplaytext",
+ "type": "string"
},
{
- "description": "list of affinity groups associated with the virtual machine",
- "name": "affinitygroup",
- "response": [
- {
- "description": "the name of the affinity group",
- "name": "name",
- "type": "string"
- },
- {
- "description": "the account owning the affinity group",
- "name": "account",
- "type": "string"
- },
- {
- "description": "the domain ID of the affinity group",
- "name": "domainid",
- "type": "string"
- },
- {
- "description": "the project name of the affinity group",
- "name": "project",
- "type": "string"
- },
- {
- "description": "the description of the affinity group",
- "name": "description",
- "type": "string"
- },
- {
- "description": "the ID of the affinity group",
- "name": "id",
- "type": "string"
- },
- {
- "description": "virtual machine IDs associated with this affinity group",
- "name": "virtualmachineIds",
- "type": "list"
- },
- {
- "description": "the domain name of the affinity group",
- "name": "domain",
- "type": "string"
- },
- {
- "description": "the project ID of the affinity group",
- "name": "projectid",
- "type": "string"
- },
- {
- "description": "the type of the affinity group",
- "name": "type",
- "type": "string"
- }
- ],
- "type": "set"
+ "description": "the group ID of the virtual machine",
+ "name": "groupid",
+ "type": "string"
},
{
- "description": "the internal memory that's free in vm or zero if it can not be calculated",
- "name": "memoryintfreekbs",
- "type": "long"
+ "description": "the name of the ISO attached to the virtual machine",
+ "name": "isoname",
+ "type": "string"
},
{
- "description": "the total number of network traffic bytes received",
- "name": "receivedbytes",
- "type": "long"
+ "description": "OS type id of the vm",
+ "name": "ostypeid",
+ "type": "string"
},
{
- "description": "the ID of the ISO attached to the virtual machine",
- "name": "isoid",
+ "description": "network write in MiB",
+ "name": "networkwrite",
"type": "string"
},
{
@@ -2500,134 +2200,95 @@
"type": "string"
},
{
+ "description": "List of read-only Vm details as comma separated string.",
+ "name": "readonlydetails",
+ "type": "string"
+ },
+ {
+ "description": "an optional field whether to the display the vm to the end user or not.",
+ "name": "displayvm",
+ "type": "boolean"
+ },
+ {
+ "description": "the read (io) of disk on the vm",
+ "name": "diskioread",
+ "type": "long"
+ },
+ {
+ "description": "the name of the host for the virtual machine",
+ "name": "hostname",
+ "type": "string"
+ },
+ {
+ "description": "the ID of the service offering of the virtual machine",
+ "name": "serviceofferingid",
+ "type": "string"
+ },
+ {
+ "description": "the name of the template for the virtual machine",
+ "name": "templatename",
+ "type": "string"
+ },
+ {
+ "description": "the incoming network traffic on the vm",
+ "name": "networkkbsread",
+ "type": "long"
+ },
+ {
"description": "device ID of the root volume",
"name": "rootdeviceid",
"type": "long"
},
{
- "description": "the target memory in vm",
- "name": "memorytargetkbs",
+ "description": "Guest vm Boot Mode",
+ "name": "bootmode",
+ "type": "string"
+ },
+ {
+ "description": "the ID of the ISO attached to the virtual machine",
+ "name": "isoid",
+ "type": "string"
+ },
+ {
+ "description": "State of the Service from LB rule",
+ "name": "servicestate",
+ "type": "string"
+ },
+ {
+ "description": "the ID of the disk offering of the virtual machine",
+ "name": "diskofferingid",
+ "type": "string"
+ },
+ {
+ "description": "the user's name who deployed the virtual machine",
+ "name": "username",
+ "type": "string"
+ },
+ {
+ "description": "the outgoing network traffic on the host",
+ "name": "networkkbswrite",
"type": "long"
},
{
+ "description": "Os type ID of the virtual machine",
+ "name": "guestosid",
+ "type": "string"
+ },
+ {
+ "description": "an alternate display text of the ISO attached to the virtual machine",
+ "name": "isodisplaytext",
+ "type": "string"
+ },
+ {
"description": "list of security groups associated with the virtual machine",
"name": "securitygroup",
"response": [
{
- "description": "the name of the security group",
- "name": "name",
+ "description": "the project id of the group",
+ "name": "projectid",
"type": "string"
},
{
- "description": "the list of egress rules associated with the security group",
- "name": "egressrule",
- "response": [
- {
- "description": "the list of resource tags associated with the rule",
- "name": "tags",
- "response": [
- {
- "description": "the account associated with the tag",
- "name": "account",
- "type": "string"
- },
- {
- "description": "id of the resource",
- "name": "resourceid",
- "type": "string"
- },
- {
- "description": "the domain associated with the tag",
- "name": "domain",
- "type": "string"
- },
- {
- "description": "customer associated with the tag",
- "name": "customer",
- "type": "string"
- },
- {
- "description": "the project id the tag belongs to",
- "name": "projectid",
- "type": "string"
- },
- {
- "description": "the ID of the domain associated with the tag",
- "name": "domainid",
- "type": "string"
- },
- {
- "description": "tag key name",
- "name": "key",
- "type": "string"
- },
- {
- "description": "the project name where tag belongs to",
- "name": "project",
- "type": "string"
- },
- {
- "description": "tag value",
- "name": "value",
- "type": "string"
- },
- {
- "description": "resource type",
- "name": "resourcetype",
- "type": "string"
- }
- ],
- "type": "set"
- },
- {
- "description": "the protocol of the security group rule",
- "name": "protocol",
- "type": "string"
- },
- {
- "description": "the type of the ICMP message response",
- "name": "icmptype",
- "type": "integer"
- },
- {
- "description": "the id of the security group rule",
- "name": "ruleid",
- "type": "string"
- },
- {
- "description": "the code for the ICMP message response",
- "name": "icmpcode",
- "type": "integer"
- },
- {
- "description": "the CIDR notation for the base IP address of the security group rule",
- "name": "cidr",
- "type": "string"
- },
- {
- "description": "security group name",
- "name": "securitygroupname",
- "type": "string"
- },
- {
- "description": "the ending IP of the security group rule ",
- "name": "endport",
- "type": "integer"
- },
- {
- "description": "the starting IP of the security group rule",
- "name": "startport",
- "type": "integer"
- },
- {
- "description": "account owning the security group rule",
- "name": "account",
- "type": "string"
- }
- ],
- "type": "set"
- },
- {
"description": "the description of the security group",
"name": "description",
"type": "string"
@@ -2642,6 +2303,11 @@
"type": "string"
},
{
+ "description": "tag key name",
+ "name": "key",
+ "type": "string"
+ },
+ {
"description": "the project id the tag belongs to",
"name": "projectid",
"type": "string"
@@ -2652,8 +2318,8 @@
"type": "string"
},
{
- "description": "tag key name",
- "name": "key",
+ "description": "the account associated with the tag",
+ "name": "account",
"type": "string"
},
{
@@ -2662,8 +2328,8 @@
"type": "string"
},
{
- "description": "id of the resource",
- "name": "resourceid",
+ "description": "customer associated with the tag",
+ "name": "customer",
"type": "string"
},
{
@@ -2672,13 +2338,8 @@
"type": "string"
},
{
- "description": "customer associated with the tag",
- "name": "customer",
- "type": "string"
- },
- {
- "description": "the account associated with the tag",
- "name": "account",
+ "description": "id of the resource",
+ "name": "resourceid",
"type": "string"
},
{
@@ -2690,68 +2351,48 @@
"type": "set"
},
{
- "description": "the domain name of the security group",
- "name": "domain",
- "type": "string"
- },
- {
- "description": "the number of virtualmachines associated with this securitygroup",
- "name": "virtualmachinecount",
- "type": "integer"
- },
- {
- "description": "the project name of the group",
- "name": "project",
- "type": "string"
- },
- {
- "description": "the project id of the group",
- "name": "projectid",
- "type": "string"
- },
- {
- "description": "the account owning the security group",
- "name": "account",
- "type": "string"
- },
- {
- "description": "the domain ID of the security group",
- "name": "domainid",
- "type": "string"
- },
- {
"description": "the list of ingress rules associated with the security group",
"name": "ingressrule",
"response": [
{
- "description": "the protocol of the security group rule",
- "name": "protocol",
+ "description": "the CIDR notation for the base IP address of the security group rule",
+ "name": "cidr",
"type": "string"
},
{
- "description": "the type of the ICMP message response",
- "name": "icmptype",
+ "description": "the id of the security group rule",
+ "name": "ruleid",
+ "type": "string"
+ },
+ {
+ "description": "the code for the ICMP message response",
+ "name": "icmpcode",
"type": "integer"
},
{
+ "description": "account owning the security group rule",
+ "name": "account",
+ "type": "string"
+ },
+ {
"description": "security group name",
"name": "securitygroupname",
"type": "string"
},
{
- "description": "the id of the security group rule",
- "name": "ruleid",
+ "description": "the protocol of the security group rule",
+ "name": "protocol",
"type": "string"
},
{
- "description": "the code for the ICMP message response",
- "name": "icmpcode",
+ "description": "the type of the ICMP message response",
+ "name": "icmptype",
"type": "integer"
},
{
- "description": "account owning the security group rule",
- "name": "account",
- "type": "string"
+ "description": "the ending IP of the security group rule ",
+ "name": "endport",
+ "type": "integer"
},
{
"description": "the starting IP of the security group rule",
@@ -2759,17 +2400,17 @@
"type": "integer"
},
{
- "description": "the CIDR notation for the base IP address of the security group rule",
- "name": "cidr",
- "type": "string"
- },
- {
"description": "the list of resource tags associated with the rule",
"name": "tags",
"response": [
{
- "description": "resource type",
- "name": "resourcetype",
+ "description": "the project name where tag belongs to",
+ "name": "project",
+ "type": "string"
+ },
+ {
+ "description": "customer associated with the tag",
+ "name": "customer",
"type": "string"
},
{
@@ -2778,23 +2419,23 @@
"type": "string"
},
{
- "description": "the project name where tag belongs to",
- "name": "project",
+ "description": "the project id the tag belongs to",
+ "name": "projectid",
"type": "string"
},
{
- "description": "tag value",
- "name": "value",
+ "description": "resource type",
+ "name": "resourcetype",
"type": "string"
},
{
- "description": "customer associated with the tag",
- "name": "customer",
+ "description": "the account associated with the tag",
+ "name": "account",
"type": "string"
},
{
- "description": "the project id the tag belongs to",
- "name": "projectid",
+ "description": "tag value",
+ "name": "value",
"type": "string"
},
{
@@ -2803,11 +2444,6 @@
"type": "string"
},
{
- "description": "the account associated with the tag",
- "name": "account",
- "type": "string"
- },
- {
"description": "the domain associated with the tag",
"name": "domain",
"type": "string"
@@ -2819,11 +2455,6 @@
}
],
"type": "set"
- },
- {
- "description": "the ending IP of the security group rule ",
- "name": "endport",
- "type": "integer"
}
],
"type": "set"
@@ -2834,625 +2465,525 @@
"type": "set"
},
{
+ "description": "the project name of the group",
+ "name": "project",
+ "type": "string"
+ },
+ {
+ "description": "the domain name of the security group",
+ "name": "domain",
+ "type": "string"
+ },
+ {
"description": "the ID of the security group",
"name": "id",
"type": "string"
- }
- ],
- "type": "set"
- },
- {},
- {
- "description": "an alternate display text of the ISO attached to the virtual machine",
- "name": "isodisplaytext",
- "type": "string"
- },
- {
- "description": "the ID of the virtual machine",
- "name": "id",
- "type": "string"
- },
- {
- "description": "the ID of the host for the virtual machine",
- "name": "hostid",
- "type": "string"
- },
- {
- "description": "the group name of the virtual machine",
- "name": "group",
- "type": "string"
- },
- {
- "description": "an optional field whether to the display the vm to the end user or not.",
- "name": "displayvm",
- "type": "boolean"
- },
- {
- "description": "the incoming network traffic on the vm",
- "name": "networkkbsread",
- "type": "long"
- },
- {
- "description": "the write (bytes) of disk on the vm",
- "name": "diskkbswrite",
- "type": "long"
- },
- {
- "description": "true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory.",
- "name": "isdynamicallyscalable",
- "type": "boolean"
- },
- {
- "description": "Os type ID of the virtual machine",
- "name": "guestosid",
- "type": "string"
- }
- ],
- "since": "4.9.3"
- },
- {
- "description": "Lists hosts.",
- "isasync": false,
- "name": "listHosts",
- "params": [
- {
- "description": "lists hosts existing in particular cluster",
- "length": 255,
- "name": "clusterid",
- "related": "addCluster,listClusters,updateCluster",
- "required": false,
- "type": "uuid"
- },
- {
- "description": "list hosts for which out-of-band management is enabled",
- "length": 255,
- "name": "outofbandmanagementenabled",
- "required": false,
- "type": "boolean"
- },
- {
- "description": "",
- "length": 255,
- "name": "page",
- "required": false,
- "type": "integer"
- },
- {
- "description": "comma separated list of host details requested, value can be a list of [ min, all, capacity, events, stats]",
- "length": 255,
- "name": "details",
- "required": false,
- "type": "list"
- },
- {
- "description": "list hosts by resource state. Resource state represents current state determined by admin of host, value can be one of [Enabled, Disabled, Unmanaged, PrepareForMaintenance, ErrorInMaintenance, Maintenance, Error]",
- "length": 255,
- "name": "resourcestate",
- "required": false,
- "type": "string"
- },
- {
- "description": "",
- "length": 255,
- "name": "pagesize",
- "required": false,
- "type": "integer"
- },
- {
- "description": "the host type",
- "length": 255,
- "name": "type",
- "required": false,
- "type": "string"
- },
- {
- "description": "the id of the host",
- "length": 255,
- "name": "id",
- "related": "addHost,cancelHostMaintenance,cancelHostAsDegraded,declareHostAsDegraded,listHosts,prepareHostForMaintenance,reconnectHost,updateHost,addBaremetalHost,listExternalLoadBalancers",
- "required": false,
- "type": "uuid"
- },
- {
- "description": "the Zone ID for the host",
- "length": 255,
- "name": "zoneid",
- "related": "createZone,updateZone,listZones,listZones",
- "required": false,
- "type": "uuid"
- },
- {
- "description": "the Pod ID for the host",
- "length": 255,
- "name": "podid",
- "related": "listPods,updatePod,createManagementNetworkIpRange",
- "required": false,
- "type": "uuid"
- },
- {
- "description": "if true, list only hosts dedicated to HA",
- "length": 255,
- "name": "hahost",
- "required": false,
- "type": "boolean"
- },
- {
- "description": "the state of the host",
- "length": 255,
- "name": "state",
- "required": false,
- "type": "string"
- },
- {
- "description": "lists hosts in the same cluster as this VM and flag hosts with enough CPU/RAm to host this VM",
- "length": 255,
- "name": "virtualmachineid",
- "related": "assignVirtualMachine,migrateVirtualMachine,migrateVirtualMachineWithVolume,recoverVirtualMachine,attachIso,detachIso,addNicToVirtualMachine,deployVirtualMachine,destroyVirtualMachine,listVirtualMachines,scaleVirtualMachine,rebootVirtualMachine,removeNicFromVirtualMachine,resetPasswordForVirtualMachine,resetSSHKeyForVirtualMachine,restoreVirtualMachine,startVirtualMachine,stopVirtualMachine,updateDefaultNicForVirtualMachine,updateVirtualMachine,changeServiceForVirtua [...]
- "required": false,
- "type": "uuid"
- },
- {
- "description": "list hosts by its out-of-band management interface's power state. Its value can be one of [On, Off, Unknown]",
- "length": 255,
- "name": "outofbandmanagementpowerstate",
- "required": false,
- "type": "string"
+ },
+ {
+ "description": "the name of the security group",
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "description": "the account owning the security group",
+ "name": "account",
+ "type": "string"
+ },
+ {
+ "description": "the domain ID of the security group",
+ "name": "domainid",
+ "type": "string"
+ },
+ {
+ "description": "the number of virtualmachines associated with this securitygroup",
+ "name": "virtualmachinecount",
+ "type": "integer"
+ },
+ {
+ "description": "the list of egress rules associated with the security group",
+ "name": "egressrule",
+ "response": [
+ {
+ "description": "the starting IP of the security group rule",
+ "name": "startport",
+ "type": "integer"
+ },
+ {
+ "description": "the list of resource tags associated with the rule",
+ "name": "tags",
+ "response": [
+ {
+ "description": "resource type",
+ "name": "resourcetype",
+ "type": "string"
+ },
+ {
+ "description": "the project name where tag belongs to",
+ "name": "project",
+ "type": "string"
+ },
+ {
+ "description": "the ID of the domain associated with the tag",
+ "name": "domainid",
+ "type": "string"
+ },
+ {
+ "description": "id of the resource",
+ "name": "resourceid",
+ "type": "string"
+ },
+ {
+ "description": "customer associated with the tag",
+ "name": "customer",
+ "type": "string"
+ },
+ {
+ "description": "the account associated with the tag",
+ "name": "account",
+ "type": "string"
+ },
+ {
+ "description": "the domain associated with the tag",
+ "name": "domain",
+ "type": "string"
+ },
+ {
+ "description": "tag key name",
+ "name": "key",
+ "type": "string"
+ },
+ {
+ "description": "tag value",
+ "name": "value",
+ "type": "string"
+ },
+ {
+ "description": "the project id the tag belongs to",
+ "name": "projectid",
+ "type": "string"
+ }
+ ],
+ "type": "set"
+ },
+ {
+ "description": "security group name",
+ "name": "securitygroupname",
+ "type": "string"
+ },
+ {
+ "description": "account owning the security group rule",
+ "name": "account",
+ "type": "string"
+ },
+ {
+ "description": "the type of the ICMP message response",
+ "name": "icmptype",
+ "type": "integer"
+ },
+ {
+ "description": "the code for the ICMP message response",
+ "name": "icmpcode",
+ "type": "integer"
+ },
+ {
+ "description": "the id of the security group rule",
+ "name": "ruleid",
+ "type": "string"
+ },
+ {
+ "description": "the CIDR notation for the base IP address of the security group rule",
+ "name": "cidr",
+ "type": "string"
+ },
+ {
+ "description": "the protocol of the security group rule",
+ "name": "protocol",
+ "type": "string"
+ },
+ {
+ "description": "the ending IP of the security group rule ",
+ "name": "endport",
+ "type": "integer"
+ }
+ ],
+ "type": "set"
+ }
+ ],
+ "type": "set"
},
{
- "description": "hypervisor type of host: XenServer,KVM,VMware,Hyperv,BareMetal,Simulator",
- "length": 255,
- "name": "hypervisor",
- "required": false,
+ "description": "ssh key-pair",
+ "name": "keypair",
"type": "string"
},
{
- "description": "the name of the host",
- "length": 255,
- "name": "name",
- "required": false,
+ "description": "the account associated with the virtual machine",
+ "name": "account",
"type": "string"
},
{
- "description": "List by keyword",
- "length": 255,
- "name": "keyword",
- "required": false,
- "type": "string"
- }
- ],
- "related": "addHost,cancelHostMaintenance,cancelHostAsDegraded,declareHostAsDegraded,prepareHostForMaintenance,reconnectHost,updateHost,addBaremetalHost,listExternalLoadBalancers",
- "response": [
- {
- "description": "true if the host is Ha host (dedicated to vms started by HA process; false otherwise",
- "name": "hahost",
+ "description": "true if the entity/resource has annotations",
+ "name": "hasannotations",
"type": "boolean"
},
{
- "description": "the IP address of the host",
- "name": "ipaddress",
- "type": "string"
- },
- {
- "description": "the CPU number of the host",
- "name": "cpunumber",
+ "description": "the memory allocated for the virtual machine",
+ "name": "memory",
"type": "integer"
},
{
- "description": "the host hypervisor",
- "name": "hypervisor",
- "type": "hypervisortype"
- },
- {
- "description": "true if the host is disconnected. False otherwise.",
- "name": "disconnected",
- "type": "date"
- },
- {
- "description": "the amount of the host's memory currently allocated in percentage",
- "name": "memoryallocatedpercentage",
+ "description": "the total cpu capacity in Ghz",
+ "name": "cputotal",
"type": "string"
},
{
- "description": "the amount of the host's CPU currently allocated",
- "name": "cpuallocated",
+ "description": "the state of the virtual machine",
+ "name": "state",
"type": "string"
},
{
- "description": "the Zone ID of the host",
+ "description": "the ID of the availablility zone for the virtual machine",
"name": "zoneid",
"type": "string"
},
{
- "description": "the date and time the host was created",
- "name": "created",
- "type": "date"
+ "description": "true if high-availability is enabled, false otherwise",
+ "name": "haenable",
+ "type": "boolean"
},
{
- "description": "the number of CPU sockets on the host",
- "name": "cpusockets",
- "type": "integer"
+ "description": "Guest vm Boot Type",
+ "name": "boottype",
+ "type": "string"
},
{
- "description": "the Pod name of the host",
- "name": "podname",
- "type": "string"
+ "description": "the virtual network for the service offering",
+ "name": "forvirtualnetwork",
+ "type": "boolean"
},
{
- "description": "the hypervisor version",
- "name": "hypervisorversion",
+ "description": "device type of the root volume",
+ "name": "rootdevicetype",
"type": "string"
},
{
- "description": "the memory total of the host, this parameter is deprecated use memorywithoverprovisioning",
- "name": "memorytotal",
+ "description": "the total number of network traffic bytes sent",
+ "name": "sentbytes",
"type": "long"
},
{
- "description": "the resource state of the host",
- "name": "resourcestate",
- "type": "string"
- },
- {
- "description": "the amount of the host's CPU after applying the cpu.overprovisioning.factor",
- "name": "cpuwithoverprovisioning",
+ "description": "the amount of the vm's CPU currently used",
+ "name": "cpuused",
"type": "string"
},
{
- "description": "the name of the host",
- "name": "name",
+ "description": "instance name of the user vm; this parameter is returned to the ROOT admin only",
+ "name": "instancename",
"type": "string"
},
{
- "description": "the host type",
- "name": "type",
- "type": "type"
- },
- {
- "description": "the amount of the host's CPU currently allocated in MHz",
- "name": "cpuallocatedvalue",
- "type": "long"
- },
- {
- "description": "the host version",
- "name": "version",
+ "description": "the ID of the backup offering of the virtual machine",
+ "name": "backupofferingid",
"type": "string"
},
{
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
- "type": "integer"
- },
- {
- "description": "events available for the host",
- "name": "events",
+ "description": "the user's ID who deployed the virtual machine",
+ "name": "userid",
"type": "string"
},
{
- "description": "the incoming network traffic on the host",
- "name": "networkkbsread",
- "type": "long"
+ "description": "true if the password rest feature is enabled, false otherwise",
+ "name": "passwordenabled",
+ "type": "boolean"
},
{
- "description": "the amount of the host's memory currently allocated",
- "name": "memoryallocated",
- "type": "long"
+ "description": "true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory.",
+ "name": "isdynamicallyscalable",
+ "type": "boolean"
},
{
- "description": "the admin that annotated this host",
- "name": "username",
- "type": "string"
+ "description": "the date when this virtual machine was updated last time",
+ "name": "lastupdated",
+ "type": "date"
},
{
- "description": "the Pod ID of the host",
- "name": "podid",
+ "description": "the ID of the virtual machine",
+ "name": "id",
"type": "string"
},
{
- "description": "GPU cards present in the host",
- "name": "gpugroup",
+ "description": "the list of resource tags associated",
+ "name": "tags",
"response": [
{
- "description": "the list of enabled vGPUs",
- "name": "vgpu",
- "response": [
- {
- "description": "Video RAM for this vGPU type",
- "name": "videoram",
- "type": "long"
- },
- {
- "description": "Maximum X resolution per display",
- "name": "maxresolutionx",
- "type": "long"
- },
- {
- "description": "Remaining capacity in terms of no. of more VMs that can be deployped with this vGPU type",
- "name": "remainingcapacity",
- "type": "long"
- },
- {
- "description": "Maximum no. of vgpu per gpu card (pgpu)",
- "name": "maxvgpuperpgpu",
- "type": "long"
- },
- {
- "description": "Model Name of vGPU",
- "name": "vgputype",
- "type": "string"
- },
- {
- "description": "Maximum displays per user",
- "name": "maxheads",
- "type": "long"
- },
- {
- "description": "Maximum vgpu can be created with this vgpu type on the given gpu group",
- "name": "maxcapacity",
- "type": "long"
- },
- {
- "description": "Maximum Y resolution per display",
- "name": "maxresolutiony",
- "type": "long"
- }
- ],
- "type": "list"
+ "description": "the domain associated with the tag",
+ "name": "domain",
+ "type": "string"
},
{
- "description": "GPU cards present in the host",
- "name": "gpugroupname",
+ "description": "the project id the tag belongs to",
+ "name": "projectid",
+ "type": "string"
+ },
+ {
+ "description": "id of the resource",
+ "name": "resourceid",
+ "type": "string"
+ },
+ {
+ "description": "customer associated with the tag",
+ "name": "customer",
+ "type": "string"
+ },
+ {
+ "description": "tag value",
+ "name": "value",
+ "type": "string"
+ },
+ {
+ "description": "resource type",
+ "name": "resourcetype",
+ "type": "string"
+ },
+ {
+ "description": "the account associated with the tag",
+ "name": "account",
+ "type": "string"
+ },
+ {
+ "description": "the ID of the domain associated with the tag",
+ "name": "domainid",
+ "type": "string"
+ },
+ {
+ "description": "the project name where tag belongs to",
+ "name": "project",
+ "type": "string"
+ },
+ {
+ "description": "tag key name",
+ "name": "key",
"type": "string"
}
],
- "type": "list"
+ "type": "set"
},
{
- "description": "the OS category name of the host",
- "name": "oscategoryname",
+ "description": "the total memory capacity in GiB",
+ "name": "memorytotal",
"type": "string"
},
{
- "description": "the amount of the host's CPU currently allocated after applying the cpu.overprovisioning.factor",
- "name": "cpuallocatedwithoverprovisioning",
+ "description": "the hypervisor on which the template runs",
+ "name": "hypervisor",
"type": "string"
},
- {
- "description": "the host's currently allocated disk size",
- "name": "disksizeallocated",
- "type": "long"
- },
- {
- "description": "the cpu average load on the host",
- "name": "cpuloadaverage",
- "type": "double"
- },
- {
- "description": "the host out-of-band management information",
- "name": "outofbandmanagement",
- "type": "outofbandmanagementresponse"
- },
{},
{
- "description": "the last time this host was annotated",
- "name": "lastannotated",
- "type": "date"
- },
- {
- "description": "the management server ID of the host",
- "name": "managementserverid",
+ "description": "the project name of the vm",
+ "name": "project",
"type": "string"
},
{
- "description": "true if this host has enough CPU and RAM capacity to migrate a VM to it, false otherwise",
- "name": "hasenoughcapacity",
- "type": "boolean"
- },
- {
- "description": "the total disk size of the host",
- "name": "disksizetotal",
- "type": "long"
- },
- {
- "description": "true if the entity/resource has annotations",
- "name": "hasannotations",
- "type": "boolean"
- },
- {
- "description": "true if local storage is active, false otherwise",
- "name": "islocalstorageactive",
- "type": "boolean"
- },
- {
- "description": "true if this host is suitable(has enough capacity and satisfies all conditions like hosttags, max guests vm limit etc) to migrate a VM to it , false otherwise",
- "name": "suitableformigration",
- "type": "boolean"
+ "description": "the speed of each cpu",
+ "name": "cpuspeed",
+ "type": "integer"
},
+ {},
{
- "description": "the cluster ID of the host",
- "name": "clusterid",
+ "description": "the ID of the template for the virtual machine. A -1 is returned if the virtual machine was created from an ISO file.",
+ "name": "templateid",
"type": "string"
},
{
- "description": "the outgoing network traffic on the host",
- "name": "networkkbswrite",
+ "description": "the write (bytes) of disk on the vm",
+ "name": "diskkbswrite",
"type": "long"
},
{
- "description": "the host HA information information",
- "name": "hostha",
- "type": "hostharesponse"
+ "description": "the date when this virtual machine was created",
+ "name": "created",
+ "type": "date"
},
{
- "description": "the Zone name of the host",
+ "description": "the name of the availability zone for the virtual machine",
"name": "zonename",
"type": "string"
},
{
- "description": "the date and time the host was last pinged",
- "name": "lastpinged",
- "type": "date"
- },
- {
- "description": "the amount of the host's memory currently allocated in bytes",
- "name": "memoryallocatedbytes",
+ "description": "the total disk iops",
+ "name": "diskiopstotal",
"type": "long"
},
{
- "description": "capabilities of the host",
- "name": "capabilities",
- "type": "string"
+ "description": "the write (io) of disk on the vm",
+ "name": "diskiowrite",
+ "type": "long"
},
{
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
- "type": "string"
- },
- {
- "description": "Host details in key/value pairs.",
- "name": "details",
- "type": "map"
+ "description": "list of affinity groups associated with the virtual machine",
+ "name": "affinitygroup",
+ "response": [
+ {
+ "description": "the account owning the affinity group",
+ "name": "account",
+ "type": "string"
+ },
+ {
+ "description": "virtual machine IDs associated with this affinity group",
+ "name": "virtualmachineIds",
+ "type": "list"
+ },
+ {
+ "description": "the project ID of the affinity group",
+ "name": "projectid",
+ "type": "string"
+ },
+ {
+ "description": "the name of the affinity group",
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "description": "the domain ID of the affinity group",
+ "name": "domainid",
+ "type": "string"
+ },
+ {
+ "description": "the domain name of the affinity group",
+ "name": "domain",
+ "type": "string"
+ },
+ {
+ "description": "the ID of the affinity group",
+ "name": "id",
+ "type": "string"
+ },
+ {
+ "description": "the description of the affinity group",
+ "name": "description",
+ "type": "string"
+ },
+ {
+ "description": "the project name of the affinity group",
+ "name": "project",
+ "type": "string"
+ },
+ {
+ "description": "the type of the affinity group",
+ "name": "type",
+ "type": "string"
+ }
+ ],
+ "type": "set"
},
{
- "description": "the amount of the host's memory currently used",
- "name": "memoryused",
- "type": "long"
+ "description": "the number of cpu this virtual machine is running with",
+ "name": "cpunumber",
+ "type": "integer"
},
{
- "description": "the cluster name of the host",
- "name": "clustername",
+ "description": "the name of the service offering of the virtual machine",
+ "name": "serviceofferingname",
"type": "string"
- },
+ }
+ ],
+ "since": "4.9.3"
+ },
+ {
+ "description": "Lists hosts.",
+ "isasync": false,
+ "name": "listHosts",
+ "params": [
{
- "description": "the OS category ID of the host",
- "name": "oscategoryid",
- "type": "string"
+ "description": "comma separated list of host details requested, value can be a list of [ min, all, capacity, events, stats]",
+ "length": 255,
+ "name": "details",
+ "required": false,
+ "type": "list"
},
{
- "description": "the ID of the host",
- "name": "id",
- "type": "string"
+ "description": "",
+ "length": 255,
+ "name": "pagesize",
+ "required": false,
+ "type": "integer"
},
{
"description": "the state of the host",
+ "length": 255,
"name": "state",
- "type": "status"
- },
- {
- "description": "the CPU speed of the host",
- "name": "cpuspeed",
- "type": "long"
- },
- {
- "description": "true if the host has capability to support UEFI boot",
- "name": "ueficapability",
- "type": "boolean"
- },
- {
- "description": "the amount of the host's CPU currently used",
- "name": "cpuused",
- "type": "string"
- },
- {
- "description": "comma-separated list of tags for the host",
- "name": "hosttags",
- "type": "string"
- },
- {
- "description": "the amount of the host's CPU currently allocated in percentage",
- "name": "cpuallocatedpercentage",
+ "required": false,
"type": "string"
},
{
- "description": "the amount of the host's memory after applying the mem.overprovisioning.factor",
- "name": "memorywithoverprovisioning",
- "type": "string"
+ "description": "lists hosts existing in particular cluster",
+ "length": 255,
+ "name": "clusterid",
+ "related": "addCluster,listClusters,updateCluster",
+ "required": false,
+ "type": "uuid"
},
{
- "description": "the date and time the host was removed",
- "name": "removed",
- "type": "date"
+ "description": "the Pod ID for the host",
+ "length": 255,
+ "name": "podid",
+ "related": "listPods,updatePod,createManagementNetworkIpRange",
+ "required": false,
+ "type": "uuid"
},
{
- "description": "the cluster type of the cluster that host belongs to",
- "name": "clustertype",
+ "description": "the host type",
+ "length": 255,
+ "name": "type",
+ "required": false,
"type": "string"
},
- {},
- {
- "description": "the last annotation set on this host by an admin",
- "name": "annotation",
- "type": "string"
- }
- ]
- },
- {
- "description": "Deletes a storage pool.",
- "isasync": false,
- "name": "deleteStoragePool",
- "params": [
{
- "description": "Storage pool id",
+ "description": "the name of the host",
"length": 255,
- "name": "id",
- "related": "cancelStorageMaintenance,createStoragePool,listStoragePools,findStoragePoolsForMigration,enableStorageMaintenance,updateStoragePool,syncStoragePool,updateStorageCapabilities,listVsphereStoragePolicyCompatiblePools",
- "required": true,
- "type": "uuid"
+ "name": "name",
+ "required": false,
+ "type": "string"
},
{
- "description": "Force destroy storage pool (force expunge volumes in Destroyed state as a part of pool removal)",
+ "description": "list hosts by its out-of-band management interface's power state. Its value can be one of [On, Off, Unknown]",
"length": 255,
- "name": "forced",
+ "name": "outofbandmanagementpowerstate",
"required": false,
- "type": "boolean"
- }
- ],
- "response": [
- {
- "description": "any text associated with the success or failure",
- "name": "displaytext",
"type": "string"
},
{
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
+ "description": "",
+ "length": 255,
+ "name": "page",
+ "required": false,
"type": "integer"
},
{
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
+ "description": "hypervisor type of host: XenServer,KVM,VMware,Hyperv,BareMetal,Simulator",
+ "length": 255,
+ "name": "hypervisor",
+ "required": false,
"type": "string"
},
- {},
- {},
- {
- "description": "true if operation is executed successfully",
- "name": "success",
- "type": "boolean"
- }
- ]
- },
- {
- "description": "List storage pools compatible with a vSphere storage policy",
- "isasync": false,
- "name": "listVsphereStoragePolicyCompatiblePools",
- "params": [
{
- "description": "ID of the storage policy",
+ "description": "if true, list only hosts dedicated to HA",
"length": 255,
- "name": "policyid",
- "related": "importVsphereStoragePolicies,listVsphereStoragePolicies",
+ "name": "hahost",
"required": false,
- "type": "uuid"
+ "type": "boolean"
},
{
- "description": "",
+ "description": "the id of the host",
"length": 255,
- "name": "pagesize",
+ "name": "id",
+ "related": "addHost,cancelHostMaintenance,cancelHostAsDegraded,declareHostAsDegraded,listHosts,prepareHostForMaintenance,reconnectHost,updateHost,addBaremetalHost,listExternalLoadBalancers",
"required": false,
- "type": "integer"
+ "type": "uuid"
},
{
- "description": "ID of the zone",
+ "description": "the Zone ID for the host",
"length": 255,
"name": "zoneid",
"related": "createZone,updateZone,listZones,listZones",
@@ -3460,6 +2991,13 @@
"type": "uuid"
},
{
+ "description": "list hosts by resource state. Resource state represents current state determined by admin of host, value can be one of [Enabled, Disabled, Unmanaged, PrepareForMaintenance, ErrorInMaintenance, Maintenance, Error]",
+ "length": 255,
+ "name": "resourcestate",
+ "required": false,
+ "type": "string"
+ },
+ {
"description": "List by keyword",
"length": 255,
"name": "keyword",
@@ -3467,461 +3005,506 @@
"type": "string"
},
{
- "description": "",
+ "description": "lists hosts in the same cluster as this VM and flag hosts with enough CPU/RAm to host this VM",
"length": 255,
- "name": "page",
+ "name": "virtualmachineid",
+ "related": "assignVirtualMachine,migrateVirtualMachine,migrateVirtualMachineWithVolume,recoverVirtualMachine,attachIso,detachIso,addNicToVirtualMachine,deployVirtualMachine,destroyVirtualMachine,listVirtualMachines,scaleVirtualMachine,rebootVirtualMachine,removeNicFromVirtualMachine,resetPasswordForVirtualMachine,resetSSHKeyForVirtualMachine,restoreVirtualMachine,startVirtualMachine,stopVirtualMachine,updateDefaultNicForVirtualMachine,updateVirtualMachine,changeServiceForVirtua [...]
"required": false,
- "type": "integer"
+ "type": "uuid"
+ },
+ {
+ "description": "list hosts for which out-of-band management is enabled",
+ "length": 255,
+ "name": "outofbandmanagementenabled",
+ "required": false,
+ "type": "boolean"
}
],
- "related": "cancelStorageMaintenance,createStoragePool,listStoragePools,findStoragePoolsForMigration,enableStorageMaintenance,updateStoragePool,syncStoragePool,updateStorageCapabilities",
+ "related": "addHost,cancelHostMaintenance,cancelHostAsDegraded,declareHostAsDegraded,prepareHostForMaintenance,reconnectHost,updateHost,addBaremetalHost,listExternalLoadBalancers",
"response": [
{
- "description": "the host's currently allocated disk size",
- "name": "disksizeallocated",
- "type": "long"
- },
- {
- "description": "the storage pool path",
- "name": "path",
+ "description": "the amount of the host's memory after applying the mem.overprovisioning.factor",
+ "name": "memorywithoverprovisioning",
"type": "string"
},
{
- "description": "the Pod name of the storage pool",
- "name": "podname",
+ "description": "capabilities of the host",
+ "name": "capabilities",
"type": "string"
},
{
- "description": "the storage pool capabilities",
- "name": "storagecapabilities",
- "type": "map"
+ "description": "the amount of the host's memory currently allocated in bytes",
+ "name": "memoryallocatedbytes",
+ "type": "long"
},
{
- "description": "the storage pool type",
- "name": "type",
+ "description": "the Pod name of the host",
+ "name": "podname",
"type": "string"
},
{
- "description": "the Pod ID of the storage pool",
- "name": "podid",
+ "description": "the last annotation set on this host by an admin",
+ "name": "annotation",
"type": "string"
},
{
- "description": "the ID of the storage pool",
- "name": "id",
- "type": "string"
+ "description": "true if this host is suitable(has enough capacity and satisfies all conditions like hosttags, max guests vm limit etc) to migrate a VM to it , false otherwise",
+ "name": "suitableformigration",
+ "type": "boolean"
},
{
- "description": "Storage provider for this pool",
- "name": "provider",
+ "description": "the amount of the host's CPU currently allocated after applying the cpu.overprovisioning.factor",
+ "name": "cpuallocatedwithoverprovisioning",
"type": "string"
},
- {},
{
- "description": "the tags for the storage pool",
- "name": "tags",
+ "description": "the cluster type of the cluster that host belongs to",
+ "name": "clustertype",
"type": "string"
},
{
- "description": "IOPS CloudStack can provision from this storage pool",
- "name": "capacityiops",
+ "description": "the incoming network traffic on the host",
+ "name": "networkkbsread",
"type": "long"
},
{
- "description": "the date and time the storage pool was created",
- "name": "created",
- "type": "date"
- },
- {
- "description": "total min IOPS currently in use by volumes",
- "name": "allocatediops",
+ "description": "the host's currently allocated disk size",
+ "name": "disksizeallocated",
"type": "long"
},
{
- "description": "the overprovisionfactor for the storage pool",
- "name": "overprovisionfactor",
+ "description": "the host version",
+ "name": "version",
"type": "string"
},
{
- "description": "the scope of the storage pool",
- "name": "scope",
- "type": "string"
+ "description": "true if local storage is active, false otherwise",
+ "name": "islocalstorageactive",
+ "type": "boolean"
},
- {},
{
- "description": "the host's currently used disk size",
- "name": "disksizeused",
- "type": "long"
+ "description": "true if this host has enough CPU and RAM capacity to migrate a VM to it, false otherwise",
+ "name": "hasenoughcapacity",
+ "type": "boolean"
},
{
- "description": "the state of the storage pool",
+ "description": "the state of the host",
"name": "state",
- "type": "storagepoolstatus"
+ "type": "status"
},
{
- "description": "the hypervisor type of the storage pool",
- "name": "hypervisor",
+ "description": "the IP address of the host",
+ "name": "ipaddress",
"type": "string"
},
{
- "description": "the name of the cluster for the storage pool",
- "name": "clustername",
- "type": "string"
+ "description": "the amount of the host's memory currently allocated",
+ "name": "memoryallocated",
+ "type": "long"
},
{
- "description": "the name of the storage pool",
- "name": "name",
+ "description": "the amount of the host's CPU currently allocated",
+ "name": "cpuallocated",
"type": "string"
},
{
- "description": "true if the entity/resource has annotations",
- "name": "hasannotations",
- "type": "boolean"
+ "description": "the amount of the host's CPU currently allocated in MHz",
+ "name": "cpuallocatedvalue",
+ "type": "long"
},
{
- "description": "the total disk size of the storage pool",
- "name": "disksizetotal",
- "type": "long"
+ "description": "true if the host is Ha host (dedicated to vms started by HA process; false otherwise",
+ "name": "hahost",
+ "type": "boolean"
},
+ {},
{
- "description": "the IP address of the storage pool",
- "name": "ipaddress",
+ "description": "the OS category name of the host",
+ "name": "oscategoryname",
"type": "string"
},
{
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
+ "description": "the OS category ID of the host",
+ "name": "oscategoryid",
"type": "string"
},
{
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
+ "description": "the CPU number of the host",
+ "name": "cpunumber",
"type": "integer"
},
{
- "description": "the Zone name of the storage pool",
- "name": "zonename",
+ "description": "events available for the host",
+ "name": "events",
"type": "string"
},
{
- "description": "true if this pool is suitable to migrate a volume, false otherwise",
- "name": "suitableformigration",
- "type": "boolean"
+ "description": "the admin that annotated this host",
+ "name": "username",
+ "type": "string"
},
{
- "description": "the ID of the cluster for the storage pool",
- "name": "clusterid",
+ "description": "the amount of the host's CPU currently used",
+ "name": "cpuused",
"type": "string"
},
{
- "description": "the Zone ID of the storage pool",
- "name": "zoneid",
- "type": "string"
- }
- ]
- },
- {
- "description": "Updates a storage pool.",
- "isasync": false,
- "name": "updateStoragePool",
- "params": [
+ "description": "the current status of the latest async job acting on this object",
+ "name": "jobstatus",
+ "type": "integer"
+ },
{
- "description": "comma-separated list of tags for the storage pool",
- "length": 255,
- "name": "tags",
- "required": false,
- "type": "list"
+ "description": "the cluster name of the host",
+ "name": "clustername",
+ "type": "string"
},
{
- "description": "IOPS CloudStack can provision from this storage pool",
- "length": 255,
- "name": "capacityiops",
- "required": false,
- "type": "long"
+ "description": "the resource state of the host",
+ "name": "resourcestate",
+ "type": "string"
},
{
- "description": "false to disable the pool for allocation of new volumes, true to enable it back.",
- "length": 255,
- "name": "enabled",
- "required": false,
+ "description": "true if the entity/resource has annotations",
+ "name": "hasannotations",
"type": "boolean"
},
{
- "description": "the Id of the storage pool",
- "length": 255,
- "name": "id",
- "related": "cancelStorageMaintenance,createStoragePool,listStoragePools,findStoragePoolsForMigration,enableStorageMaintenance,updateStoragePool,syncStoragePool,updateStorageCapabilities",
- "required": true,
- "type": "uuid"
+ "description": "true if the host has capability to support UEFI boot",
+ "name": "ueficapability",
+ "type": "boolean"
},
{
- "description": "Change the name of the storage pool",
- "length": 255,
+ "description": "the name of the host",
"name": "name",
- "related": "cancelStorageMaintenance,createStoragePool,listStoragePools,findStoragePoolsForMigration,enableStorageMaintenance,updateStoragePool,syncStoragePool,updateStorageCapabilities",
- "required": false,
- "since": "4.15",
"type": "string"
},
{
- "description": "bytes CloudStack can provision from this storage pool",
- "length": 255,
- "name": "capacitybytes",
- "required": false,
- "type": "long"
- }
- ],
- "related": "cancelStorageMaintenance,createStoragePool,listStoragePools,findStoragePoolsForMigration,enableStorageMaintenance,syncStoragePool,updateStorageCapabilities",
- "response": [
- {
- "description": "the tags for the storage pool",
- "name": "tags",
- "type": "string"
+ "description": "true if the host is disconnected. False otherwise.",
+ "name": "disconnected",
+ "type": "date"
},
{
- "description": "the name of the storage pool",
- "name": "name",
+ "description": "the hypervisor version",
+ "name": "hypervisorversion",
"type": "string"
},
{
- "description": "the ID of the storage pool",
- "name": "id",
+ "description": "the UUID of the latest async job acting on this object",
+ "name": "jobid",
"type": "string"
},
{
- "description": "the hypervisor type of the storage pool",
- "name": "hypervisor",
- "type": "string"
+ "description": "the host HA information information",
+ "name": "hostha",
+ "type": "hostharesponse"
},
{
- "description": "the host's currently used disk size",
- "name": "disksizeused",
- "type": "long"
+ "description": "the last time this host was annotated",
+ "name": "lastannotated",
+ "type": "date"
},
{
- "description": "total min IOPS currently in use by volumes",
- "name": "allocatediops",
- "type": "long"
+ "description": "the amount of the host's CPU currently allocated in percentage",
+ "name": "cpuallocatedpercentage",
+ "type": "string"
},
{
- "description": "true if this pool is suitable to migrate a volume, false otherwise",
- "name": "suitableformigration",
- "type": "boolean"
+ "description": "the host type",
+ "name": "type",
+ "type": "type"
},
{
- "description": "the storage pool capabilities",
- "name": "storagecapabilities",
+ "description": "Host details in key/value pairs.",
+ "name": "details",
"type": "map"
},
{
- "description": "Storage provider for this pool",
- "name": "provider",
- "type": "string"
- },
- {
- "description": "the Zone name of the storage pool",
+ "description": "the Zone name of the host",
"name": "zonename",
"type": "string"
},
- {},
- {
- "description": "the Zone ID of the storage pool",
- "name": "zoneid",
- "type": "string"
- },
- {
- "description": "the scope of the storage pool",
- "name": "scope",
- "type": "string"
- },
- {
- "description": "the state of the storage pool",
- "name": "state",
- "type": "storagepoolstatus"
- },
- {
- "description": "the IP address of the storage pool",
- "name": "ipaddress",
- "type": "string"
- },
- {
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
- "type": "integer"
- },
{
- "description": "the Pod ID of the storage pool",
- "name": "podid",
- "type": "string"
+ "description": "GPU cards present in the host",
+ "name": "gpugroup",
+ "response": [
+ {
+ "description": "GPU cards present in the host",
+ "name": "gpugroupname",
+ "type": "string"
+ },
+ {
+ "description": "the list of enabled vGPUs",
+ "name": "vgpu",
+ "response": [
+ {
+ "description": "Video RAM for this vGPU type",
+ "name": "videoram",
+ "type": "long"
+ },
+ {
+ "description": "Remaining capacity in terms of no. of more VMs that can be deployped with this vGPU type",
+ "name": "remainingcapacity",
+ "type": "long"
+ },
+ {
+ "description": "Maximum Y resolution per display",
+ "name": "maxresolutiony",
+ "type": "long"
+ },
+ {
+ "description": "Model Name of vGPU",
+ "name": "vgputype",
+ "type": "string"
+ },
+ {
+ "description": "Maximum displays per user",
+ "name": "maxheads",
+ "type": "long"
+ },
+ {
+ "description": "Maximum X resolution per display",
+ "name": "maxresolutionx",
+ "type": "long"
+ },
+ {
+ "description": "Maximum no. of vgpu per gpu card (pgpu)",
+ "name": "maxvgpuperpgpu",
+ "type": "long"
+ },
+ {
+ "description": "Maximum vgpu can be created with this vgpu type on the given gpu group",
+ "name": "maxcapacity",
+ "type": "long"
+ }
+ ],
+ "type": "list"
+ }
+ ],
+ "type": "list"
},
- {},
{
- "description": "the Pod name of the storage pool",
- "name": "podname",
+ "description": "the Pod ID of the host",
+ "name": "podid",
"type": "string"
},
{
- "description": "the total disk size of the storage pool",
- "name": "disksizetotal",
+ "description": "the host hypervisor",
+ "name": "hypervisor",
+ "type": "hypervisortype"
+ },
+ {
+ "description": "the CPU speed of the host",
+ "name": "cpuspeed",
"type": "long"
},
{
- "description": "IOPS CloudStack can provision from this storage pool",
- "name": "capacityiops",
+ "description": "the date and time the host was last pinged",
+ "name": "lastpinged",
+ "type": "date"
+ },
+ {
+ "description": "the memory total of the host, this parameter is deprecated use memorywithoverprovisioning",
+ "name": "memorytotal",
"type": "long"
},
{
- "description": "the ID of the cluster for the storage pool",
- "name": "clusterid",
+ "description": "the total disk size of the host",
+ "name": "disksizetotal",
+ "type": "long"
+ },
+ {
+ "description": "the Zone ID of the host",
+ "name": "zoneid",
"type": "string"
},
{
- "description": "true if the entity/resource has annotations",
- "name": "hasannotations",
- "type": "boolean"
+ "description": "comma-separated list of tags for the host",
+ "name": "hosttags",
+ "type": "string"
},
{
- "description": "the overprovisionfactor for the storage pool",
- "name": "overprovisionfactor",
+ "description": "the cpu average load on the host",
+ "name": "cpuloadaverage",
+ "type": "double"
+ },
+ {
+ "description": "the management server ID of the host",
+ "name": "managementserverid",
"type": "string"
},
{
- "description": "the name of the cluster for the storage pool",
- "name": "clustername",
+ "description": "the amount of the host's CPU after applying the cpu.overprovisioning.factor",
+ "name": "cpuwithoverprovisioning",
"type": "string"
},
{
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
+ "description": "the cluster ID of the host",
+ "name": "clusterid",
"type": "string"
},
{
- "description": "the date and time the storage pool was created",
+ "description": "the date and time the host was created",
"name": "created",
"type": "date"
},
{
- "description": "the host's currently allocated disk size",
- "name": "disksizeallocated",
- "type": "long"
+ "description": "the number of CPU sockets on the host",
+ "name": "cpusockets",
+ "type": "integer"
},
{
- "description": "the storage pool path",
- "name": "path",
+ "description": "the host out-of-band management information",
+ "name": "outofbandmanagement",
+ "type": "outofbandmanagementresponse"
+ },
+ {},
+ {
+ "description": "the amount of the host's memory currently allocated in percentage",
+ "name": "memoryallocatedpercentage",
"type": "string"
},
{
- "description": "the storage pool type",
- "name": "type",
+ "description": "the ID of the host",
+ "name": "id",
"type": "string"
+ },
+ {
+ "description": "the amount of the host's memory currently used",
+ "name": "memoryused",
+ "type": "long"
+ },
+ {
+ "description": "the date and time the host was removed",
+ "name": "removed",
+ "type": "date"
+ },
+ {
+ "description": "the outgoing network traffic on the host",
+ "name": "networkkbswrite",
+ "type": "long"
}
- ],
- "since": "3.0.0"
+ ]
},
{
- "description": "Reboots a system VM.",
- "isasync": true,
- "name": "rebootSystemVm",
+ "description": "Deletes a storage pool.",
+ "isasync": false,
+ "name": "deleteStoragePool",
"params": [
{
- "description": "Force reboot the system VM (System VM is Stopped and then Started)",
- "length": 255,
- "name": "forced",
- "required": false,
- "since": "4.16.0",
- "type": "boolean"
- },
- {
- "description": "The ID of the system virtual machine",
+ "description": "Storage pool id",
"length": 255,
"name": "id",
- "related": "destroySystemVm,listSystemVms,migrateSystemVm,rebootSystemVm,startSystemVm,stopSystemVm,changeServiceForSystemVm,scaleSystemVm",
+ "related": "cancelStorageMaintenance,createStoragePool,listStoragePools,findStoragePoolsForMigration,enableStorageMaintenance,updateStoragePool,syncStoragePool,updateStorageCapabilities,listVsphereStoragePolicyCompatiblePools",
"required": true,
"type": "uuid"
+ },
+ {
+ "description": "Force destroy storage pool (force expunge volumes in Destroyed state as a part of pool removal)",
+ "length": 255,
+ "name": "forced",
+ "required": false,
+ "type": "boolean"
}
],
- "related": "destroySystemVm,listSystemVms,migrateSystemVm,startSystemVm,stopSystemVm,changeServiceForSystemVm,scaleSystemVm",
"response": [
+ {},
+ {},
{
- "description": "the Pod name for the system VM",
- "name": "podname",
+ "description": "any text associated with the success or failure",
+ "name": "displaytext",
"type": "string"
},
{
- "description": "the system VM type",
- "name": "systemvmtype",
- "type": "string"
+ "description": "true if operation is executed successfully",
+ "name": "success",
+ "type": "boolean"
},
{
- "description": "the date and time the system VM was created",
- "name": "created",
- "type": "date"
+ "description": "the current status of the latest async job acting on this object",
+ "name": "jobstatus",
+ "type": "integer"
},
{
- "description": "the public IP address for the system VM",
- "name": "publicip",
+ "description": "the UUID of the latest async job acting on this object",
+ "name": "jobid",
"type": "string"
- },
+ }
+ ]
+ },
+ {
+ "description": "List storage pools compatible with a vSphere storage policy",
+ "isasync": false,
+ "name": "listVsphereStoragePolicyCompatiblePools",
+ "params": [
{
- "description": "the number of active console sessions for the console proxy system vm",
- "name": "activeviewersessions",
+ "description": "",
+ "length": 255,
+ "name": "page",
+ "required": false,
"type": "integer"
},
{
- "description": "the Pod ID for the system VM",
- "name": "podid",
- "type": "string"
- },
- {
- "description": "the public MAC address for the system VM",
- "name": "publicmacaddress",
- "type": "string"
+ "description": "ID of the zone",
+ "length": 255,
+ "name": "zoneid",
+ "related": "createZone,updateZone,listZones,listZones",
+ "required": false,
+ "type": "uuid"
},
{
- "description": "the last disconnected date of host",
- "name": "disconnected",
- "type": "date"
+ "description": "",
+ "length": 255,
+ "name": "pagesize",
+ "required": false,
+ "type": "integer"
},
{
- "description": "the link local MAC address for the system vm",
- "name": "linklocalmacaddress",
+ "description": "List by keyword",
+ "length": 255,
+ "name": "keyword",
+ "required": false,
"type": "string"
},
{
- "description": "the network domain for the system VM",
- "name": "networkdomain",
- "type": "string"
- },
+ "description": "ID of the storage policy",
+ "length": 255,
+ "name": "policyid",
+ "related": "importVsphereStoragePolicies,listVsphereStoragePolicies",
+ "required": false,
+ "type": "uuid"
+ }
+ ],
+ "related": "cancelStorageMaintenance,createStoragePool,listStoragePools,findStoragePoolsForMigration,enableStorageMaintenance,updateStoragePool,syncStoragePool,updateStorageCapabilities",
+ "response": [
{
- "description": "the second DNS for the system VM",
- "name": "dns2",
+ "description": "the ID of the storage pool",
+ "name": "id",
"type": "string"
},
- {},
{
- "description": "the link local IP address for the system vm",
- "name": "linklocalip",
+ "description": "the name of the storage pool",
+ "name": "name",
"type": "string"
},
{
- "description": "the link local netmask for the system vm",
- "name": "linklocalnetmask",
+ "description": "the Pod name of the storage pool",
+ "name": "podname",
"type": "string"
},
{
- "description": "the private IP address for the system VM",
- "name": "privateip",
- "type": "string"
+ "description": "the host's currently used disk size",
+ "name": "disksizeused",
+ "type": "long"
},
{
- "description": "the template name for the system VM",
- "name": "templatename",
+ "description": "the UUID of the latest async job acting on this object",
+ "name": "jobid",
"type": "string"
},
{
- "description": "public vlan range",
- "name": "publicvlan",
- "type": "list"
+ "description": "the name of the cluster for the storage pool",
+ "name": "clustername",
+ "type": "string"
},
{
"description": "the current status of the latest async job acting on this object",
@@ -3929,1314 +3512,1304 @@
"type": "integer"
},
{
- "description": "guest vlan range",
- "name": "guestvlan",
+ "description": "the tags for the storage pool",
+ "name": "tags",
"type": "string"
},
+ {},
{
- "description": "the private netmask for the system VM",
- "name": "privatenetmask",
+ "description": "the ID of the cluster for the storage pool",
+ "name": "clusterid",
"type": "string"
},
{
- "description": "the private MAC address for the system VM",
- "name": "privatemacaddress",
+ "description": "the overprovisionfactor for the storage pool",
+ "name": "overprovisionfactor",
"type": "string"
},
{
- "description": "the template ID for the system VM",
- "name": "templateid",
- "type": "string"
+ "description": "true if the entity/resource has annotations",
+ "name": "hasannotations",
+ "type": "boolean"
},
{
- "description": "the job status associated with the system VM. This is only displayed if the router listed is part of a currently running asynchronous job.",
- "name": "jobstatus",
- "type": "integer"
+ "description": "the date and time the storage pool was created",
+ "name": "created",
+ "type": "date"
},
{
- "description": "the job ID associated with the system VM. This is only displayed if the router listed is part of a currently running asynchronous job.",
- "name": "jobid",
- "type": "string"
+ "description": "the storage pool capabilities",
+ "name": "storagecapabilities",
+ "type": "map"
},
{
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
- "type": "string"
+ "description": "IOPS CloudStack can provision from this storage pool",
+ "name": "capacityiops",
+ "type": "long"
},
{
- "description": "the ID of the system VM",
- "name": "id",
+ "description": "the scope of the storage pool",
+ "name": "scope",
"type": "string"
},
{
- "description": "the Zone ID for the system VM",
- "name": "zoneid",
+ "description": "the Zone name of the storage pool",
+ "name": "zonename",
"type": "string"
},
- {
- "description": "true if the entity/resource has annotations",
- "name": "hasannotations",
- "type": "boolean"
- },
{},
{
- "description": "the first DNS for the system VM",
- "name": "dns1",
- "type": "string"
+ "description": "true if this pool is suitable to migrate a volume, false otherwise",
+ "name": "suitableformigration",
+ "type": "boolean"
},
{
- "description": "the agent state of the system VM",
- "name": "agentstate",
+ "description": "the Zone ID of the storage pool",
+ "name": "zoneid",
"type": "string"
},
{
- "description": "the Zone name for the system VM",
- "name": "zonename",
+ "description": "the hypervisor type of the storage pool",
+ "name": "hypervisor",
"type": "string"
},
{
- "description": "the gateway for the system VM",
- "name": "gateway",
- "type": "string"
+ "description": "total min IOPS currently in use by volumes",
+ "name": "allocatediops",
+ "type": "long"
},
{
- "description": "true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory.",
- "name": "isdynamicallyscalable",
- "type": "boolean"
+ "description": "the host's currently allocated disk size",
+ "name": "disksizeallocated",
+ "type": "long"
},
{
- "description": "the hypervisor on which the template runs",
- "name": "hypervisor",
+ "description": "the IP address of the storage pool",
+ "name": "ipaddress",
"type": "string"
},
{
- "description": "the hostname for the system VM",
- "name": "hostname",
- "type": "string"
+ "description": "the total disk size of the storage pool",
+ "name": "disksizetotal",
+ "type": "long"
},
{
- "description": "the public netmask for the system VM",
- "name": "publicnetmask",
- "type": "string"
+ "description": "the state of the storage pool",
+ "name": "state",
+ "type": "storagepoolstatus"
},
{
- "description": "the systemvm agent version",
- "name": "version",
+ "description": "Storage provider for this pool",
+ "name": "provider",
"type": "string"
},
{
- "description": "the host ID for the system VM",
- "name": "hostid",
+ "description": "the storage pool path",
+ "name": "path",
"type": "string"
},
{
- "description": "the name of the system VM",
- "name": "name",
+ "description": "the storage pool type",
+ "name": "type",
"type": "string"
},
{
- "description": "the state of the system VM",
- "name": "state",
+ "description": "the Pod ID of the storage pool",
+ "name": "podid",
"type": "string"
}
]
},
{
- "description": "Import LDAP users",
+ "description": "Updates a storage pool.",
"isasync": false,
- "name": "importLdapUsers",
+ "name": "updateStoragePool",
"params": [
{
- "description": "details for account used to store specific parameters",
+ "description": "IOPS CloudStack can provision from this storage pool",
"length": 255,
- "name": "accountdetails",
+ "name": "capacityiops",
"required": false,
- "type": "map"
+ "type": "long"
},
{
- "description": "Specifies the domain to which the ldap users are to be imported. If no domain is specified, a domain will created using group parameter. If the group is also not specified, a domain name based on the OU information will be created. If no OU hierarchy exists, will be defaulted to ROOT domain",
+ "description": "Change the name of the storage pool",
"length": 255,
- "name": "domainid",
- "related": "createDomain,listDomainChildren,listDomains,listDomains,updateDomain",
+ "name": "name",
+ "related": "cancelStorageMaintenance,createStoragePool,listStoragePools,findStoragePoolsForMigration,enableStorageMaintenance,updateStoragePool,syncStoragePool,updateStorageCapabilities",
"required": false,
- "type": "uuid"
+ "since": "4.15",
+ "type": "string"
},
{
- "description": "Creates the account under the specified role.",
+ "description": "false to disable the pool for allocation of new volumes, true to enable it back.",
"length": 255,
- "name": "roleid",
- "related": "createRole,importRole,listRoles,updateRole",
+ "name": "enabled",
"required": false,
- "type": "uuid"
+ "type": "boolean"
},
{
- "description": "Creates the user under the specified account. If no account is specified, the username will be used as the account name.",
+ "description": "comma-separated list of tags for the storage pool",
"length": 255,
- "name": "account",
+ "name": "tags",
"required": false,
- "type": "string"
+ "type": "list"
},
{
- "description": "",
+ "description": "bytes CloudStack can provision from this storage pool",
"length": 255,
- "name": "pagesize",
+ "name": "capacitybytes",
"required": false,
- "type": "integer"
+ "type": "long"
},
{
- "description": "Specifies the group name from which the ldap users are to be imported. If no group is specified, all the users will be imported.",
+ "description": "the Id of the storage pool",
"length": 255,
- "name": "group",
- "required": false,
+ "name": "id",
+ "related": "cancelStorageMaintenance,createStoragePool,listStoragePools,findStoragePoolsForMigration,enableStorageMaintenance,updateStoragePool,syncStoragePool,updateStorageCapabilities",
+ "required": true,
+ "type": "uuid"
+ }
+ ],
+ "related": "cancelStorageMaintenance,createStoragePool,listStoragePools,findStoragePoolsForMigration,enableStorageMaintenance,syncStoragePool,updateStorageCapabilities",
+ "response": [
+ {
+ "description": "the IP address of the storage pool",
+ "name": "ipaddress",
"type": "string"
},
{
- "description": "",
- "length": 255,
- "name": "page",
- "required": false,
- "type": "integer"
+ "description": "the host's currently allocated disk size",
+ "name": "disksizeallocated",
+ "type": "long"
},
{
- "description": "List by keyword",
- "length": 255,
- "name": "keyword",
- "required": false,
- "type": "string"
+ "description": "the total disk size of the storage pool",
+ "name": "disksizetotal",
+ "type": "long"
},
{
- "description": "Specifies a timezone for this command. For more information on the timezone parameter, see Time Zone Format.",
- "length": 255,
- "name": "timezone",
- "required": false,
- "type": "string"
+ "description": "true if this pool is suitable to migrate a volume, false otherwise",
+ "name": "suitableformigration",
+ "type": "boolean"
},
+ {},
{
- "description": "Type of the account. Specify 0 for user, 1 for root admin, and 2 for domain admin",
- "length": 255,
- "name": "accounttype",
- "required": false,
- "type": "short"
- }
- ],
- "related": "searchLdap,listLdapUsers",
- "response": [
- {
- "description": "The authentication source for this user as known to the system or empty if the user is not yet in cloudstack.",
- "name": "conflictingusersource",
+ "description": "the scope of the storage pool",
+ "name": "scope",
"type": "string"
},
{
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
- "type": "string"
+ "description": "the host's currently used disk size",
+ "name": "disksizeused",
+ "type": "long"
},
{
- "description": "The user's firstname",
- "name": "firstname",
+ "description": "the storage pool type",
+ "name": "type",
"type": "string"
},
{
- "description": "The user's email",
- "name": "email",
+ "description": "the Pod ID of the storage pool",
+ "name": "podid",
"type": "string"
},
{
- "description": "The user's domain",
- "name": "domain",
+ "description": "the UUID of the latest async job acting on this object",
+ "name": "jobid",
"type": "string"
},
{
- "description": "The user's principle",
- "name": "principal",
- "type": "string"
+ "description": "true if the entity/resource has annotations",
+ "name": "hasannotations",
+ "type": "boolean"
},
{},
- {},
{
- "description": "The user's lastname",
- "name": "lastname",
- "type": "string"
+ "description": "the state of the storage pool",
+ "name": "state",
+ "type": "storagepoolstatus"
},
{
- "description": "The user's username",
- "name": "username",
+ "description": "the name of the cluster for the storage pool",
+ "name": "clustername",
"type": "string"
},
{
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
- "type": "integer"
- }
- ],
- "since": "4.3.0"
- },
- {
- "description": "Lists all available networks.",
- "isasync": false,
- "name": "listNetworks",
- "params": [
- {
- "description": "",
- "length": 255,
- "name": "page",
- "required": false,
- "type": "integer"
+ "description": "the name of the storage pool",
+ "name": "name",
+ "type": "string"
},
{
- "description": "true if network is system, false otherwise",
- "length": 255,
- "name": "issystem",
- "required": false,
- "type": "boolean"
+ "description": "IOPS CloudStack can provision from this storage pool",
+ "name": "capacityiops",
+ "type": "long"
},
{
- "description": "flag to display the resource icon for networks",
- "length": 255,
- "name": "showicon",
- "required": false,
- "type": "boolean"
+ "description": "the ID of the cluster for the storage pool",
+ "name": "clusterid",
+ "type": "string"
},
{
- "description": "list resources by display flag; only ROOT admin is eligible to pass this parameter",
- "length": 255,
- "name": "displaynetwork",
- "required": false,
- "since": "4.4",
- "type": "boolean"
+ "description": "the tags for the storage pool",
+ "name": "tags",
+ "type": "string"
},
{
- "description": "true if need to list only networks which support specifying IP ranges",
- "length": 255,
- "name": "specifyipranges",
- "required": false,
- "type": "boolean"
+ "description": "the Zone name of the storage pool",
+ "name": "zonename",
+ "type": "string"
},
{
- "description": "list networks by ID",
- "length": 255,
+ "description": "the ID of the storage pool",
"name": "id",
- "related": "createNetwork,listNetworks,updateNetwork,createNetwork,updateNetwork,listNetworks,migrateNetwork,listF5LoadBalancerNetworks,listNetscalerLoadBalancerNetworks,listNiciraNvpDeviceNetworks,listPaloAltoFirewallNetworks,listSrxFirewallNetworks,listBrocadeVcsDeviceNetworks",
- "required": false,
- "type": "uuid"
+ "type": "string"
},
{
- "description": "List networks by VPC",
- "length": 255,
- "name": "vpcid",
- "related": "createVPC,listVPCs,updateVPC,createVPC,listVPCs,updateVPC,migrateVPC",
- "required": false,
- "type": "uuid"
+ "description": "the storage pool path",
+ "name": "path",
+ "type": "string"
},
{
- "description": "list networks supporting certain services",
- "length": 255,
- "name": "supportedservices",
- "required": false,
- "type": "list"
+ "description": "the Pod name of the storage pool",
+ "name": "podname",
+ "type": "string"
},
{
- "description": "List by keyword",
- "length": 255,
- "name": "keyword",
- "required": false,
+ "description": "Storage provider for this pool",
+ "name": "provider",
"type": "string"
},
{
- "description": "list networks by restartRequired",
- "length": 255,
- "name": "restartrequired",
- "required": false,
- "type": "boolean"
+ "description": "the date and time the storage pool was created",
+ "name": "created",
+ "type": "date"
},
{
- "description": "list resources by account. Must be used with the domainId parameter.",
- "length": 255,
- "name": "account",
- "required": false,
+ "description": "total min IOPS currently in use by volumes",
+ "name": "allocatediops",
+ "type": "long"
+ },
+ {
+ "description": "the hypervisor type of the storage pool",
+ "name": "hypervisor",
"type": "string"
},
{
- "description": "list networks by ACL (access control list) type. Supported values are account and domain",
- "length": 255,
- "name": "acltype",
- "required": false,
+ "description": "the Zone ID of the storage pool",
+ "name": "zoneid",
"type": "string"
},
{
- "description": "",
- "length": 255,
- "name": "pagesize",
- "required": false,
+ "description": "the storage pool capabilities",
+ "name": "storagecapabilities",
+ "type": "map"
+ },
+ {
+ "description": "the current status of the latest async job acting on this object",
+ "name": "jobstatus",
"type": "integer"
},
{
- "description": "list networks available for VM deployment",
+ "description": "the overprovisionfactor for the storage pool",
+ "name": "overprovisionfactor",
+ "type": "string"
+ }
+ ],
+ "since": "3.0.0"
+ },
+ {
+ "description": "Reboots a system VM.",
+ "isasync": true,
+ "name": "rebootSystemVm",
+ "params": [
+ {
+ "description": "Force reboot the system VM (System VM is Stopped and then Started)",
"length": 255,
- "name": "canusefordeploy",
+ "name": "forced",
"required": false,
+ "since": "4.16.0",
"type": "boolean"
},
{
- "description": "the type of the network. Supported values are: isolated, l2, shared and all",
+ "description": "The ID of the system virtual machine",
"length": 255,
- "name": "type",
- "required": false,
+ "name": "id",
+ "related": "destroySystemVm,listSystemVms,migrateSystemVm,rebootSystemVm,startSystemVm,stopSystemVm,changeServiceForSystemVm,scaleSystemVm",
+ "required": true,
+ "type": "uuid"
+ }
+ ],
+ "related": "destroySystemVm,listSystemVms,migrateSystemVm,startSystemVm,stopSystemVm,changeServiceForSystemVm,scaleSystemVm",
+ "response": [
+ {
+ "description": "the Zone name for the system VM",
+ "name": "zonename",
"type": "string"
},
+ {},
{
- "description": "list only resources belonging to the domain specified",
- "length": 255,
- "name": "domainid",
- "related": "createDomain,listDomainChildren,listDomains,listDomains,updateDomain",
- "required": false,
- "type": "uuid"
+ "description": "the Zone ID for the system VM",
+ "name": "zoneid",
+ "type": "string"
},
{
- "description": "list networks by network offering ID",
- "length": 255,
- "name": "networkofferingid",
- "related": "createNetworkOffering,updateNetworkOffering,listNetworkOfferings",
- "required": false,
- "type": "uuid"
+ "description": "the UUID of the latest async job acting on this object",
+ "name": "jobid",
+ "type": "string"
},
{
- "description": "the network belongs to VPC",
- "length": 255,
- "name": "forvpc",
- "required": false,
- "type": "boolean"
+ "description": "the template name for the system VM",
+ "name": "templatename",
+ "type": "string"
},
{
- "description": "list networks by physical network id",
- "length": 255,
- "name": "physicalnetworkid",
- "related": "createPhysicalNetwork,listPhysicalNetworks,updatePhysicalNetwork",
- "required": false,
- "type": "uuid"
+ "description": "the Pod name for the system VM",
+ "name": "podname",
+ "type": "string"
},
{
- "description": "List resources by tags (key/value pairs)",
- "length": 255,
- "name": "tags",
- "required": false,
- "type": "map"
+ "description": "the first DNS for the system VM",
+ "name": "dns1",
+ "type": "string"
},
{
- "description": "the zone ID of the network",
- "length": 255,
- "name": "zoneid",
- "related": "createZone,updateZone,listZones,listZones",
- "required": false,
- "type": "uuid"
+ "description": "the public MAC address for the system VM",
+ "name": "publicmacaddress",
+ "type": "string"
},
{
- "description": "If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false",
- "length": 255,
- "name": "listall",
- "required": false,
+ "description": "true if vm contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory.",
+ "name": "isdynamicallyscalable",
"type": "boolean"
},
{
- "description": "defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.",
- "length": 255,
- "name": "isrecursive",
- "required": false,
- "type": "boolean"
+ "description": "the state of the system VM",
+ "name": "state",
+ "type": "string"
},
{
- "description": "type of the traffic",
- "length": 255,
- "name": "traffictype",
- "required": false,
+ "description": "the public netmask for the system VM",
+ "name": "publicnetmask",
"type": "string"
},
{
- "description": "list objects by project",
- "length": 255,
- "name": "projectid",
- "related": "listProjectAccounts,activateProject,createProject,listProjects,suspendProject,updateProject",
- "required": false,
- "type": "uuid"
- }
- ],
- "related": "createNetwork,updateNetwork,createNetwork,updateNetwork,listNetworks,migrateNetwork,listF5LoadBalancerNetworks,listNetscalerLoadBalancerNetworks,listNiciraNvpDeviceNetworks,listPaloAltoFirewallNetworks,listSrxFirewallNetworks,listBrocadeVcsDeviceNetworks",
- "response": [
+ "description": "the link local IP address for the system vm",
+ "name": "linklocalip",
+ "type": "string"
+ },
{
- "description": "the network's netmask",
- "name": "netmask",
+ "description": "the hostname for the system VM",
+ "name": "hostname",
"type": "string"
},
{
- "description": "list networks available for vm deployment",
- "name": "canusefordeploy",
- "type": "boolean"
+ "description": "the private netmask for the system VM",
+ "name": "privatenetmask",
+ "type": "string"
},
{
- "description": "Broadcast domain type of the network",
- "name": "broadcastdomaintype",
+ "description": "the second DNS for the system VM",
+ "name": "dns2",
"type": "string"
},
{
- "description": "true if network can span multiple zones",
- "name": "strechedl2subnet",
- "type": "boolean"
+ "description": "the job ID associated with the system VM. This is only displayed if the router listed is part of a currently running asynchronous job.",
+ "name": "jobid",
+ "type": "string"
},
{
- "description": "the list of resource tags associated with network",
- "name": "tags",
- "response": [
- {
- "description": "resource type",
- "name": "resourcetype",
- "type": "string"
- },
- {
- "description": "tag key name",
- "name": "key",
- "type": "string"
- },
- {
- "description": "the domain associated with the tag",
- "name": "domain",
- "type": "string"
- },
- {
- "description": "the project name where tag belongs to",
- "name": "project",
- "type": "string"
- },
- {
- "description": "id of the resource",
- "name": "resourceid",
- "type": "string"
- },
- {
- "description": "the project id the tag belongs to",
- "name": "projectid",
- "type": "string"
- },
- {
- "description": "tag value",
- "name": "value",
- "type": "string"
- },
- {
- "description": "the account associated with the tag",
- "name": "account",
- "type": "string"
- },
- {
- "description": "the ID of the domain associated with the tag",
- "name": "domainid",
- "type": "string"
- },
- {
- "description": "customer associated with the tag",
- "name": "customer",
- "type": "string"
- }
- ],
- "type": "list"
+ "description": "the current status of the latest async job acting on this object",
+ "name": "jobstatus",
+ "type": "integer"
},
- {},
{
- "description": "the project name of the address",
- "name": "project",
+ "description": "the system VM type",
+ "name": "systemvmtype",
"type": "string"
},
{
- "description": "availability of the network offering the network is created from",
- "name": "networkofferingavailability",
+ "description": "the agent state of the system VM",
+ "name": "agentstate",
"type": "string"
},
{
- "description": "display text of the network offering the network is created from",
- "name": "networkofferingdisplaytext",
+ "description": "the Pod ID for the system VM",
+ "name": "podid",
"type": "string"
},
{
- "description": "the first DNS for the network",
- "name": "dns1",
+ "description": "the private MAC address for the system VM",
+ "name": "privatemacaddress",
"type": "string"
},
{
- "description": "Base64 string representation of the resource icon",
- "name": "icon",
- "type": "resourceiconresponse"
+ "description": "the hypervisor on which the template runs",
+ "name": "hypervisor",
+ "type": "string"
},
{
- "description": "If the network has redundant routers enabled",
- "name": "redundantrouter",
- "type": "boolean"
+ "description": "the link local MAC address for the system vm",
+ "name": "linklocalmacaddress",
+ "type": "string"
+ },
+ {
+ "description": "the date and time the system VM was created",
+ "name": "created",
+ "type": "date"
+ },
+ {
+ "description": "the template ID for the system VM",
+ "name": "templateid",
+ "type": "string"
+ },
+ {
+ "description": "the job status associated with the system VM. This is only displayed if the router listed is part of a currently running asynchronous job.",
+ "name": "jobstatus",
+ "type": "integer"
},
{},
{
- "description": "The external id of the network",
- "name": "externalid",
+ "description": "the network domain for the system VM",
+ "name": "networkdomain",
"type": "string"
},
{
- "description": "true if network offering is ip conserve mode enabled",
- "name": "networkofferingconservemode",
- "type": "boolean"
+ "description": "the ID of the system VM",
+ "name": "id",
+ "type": "string"
},
{
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
+ "description": "the private IP address for the system VM",
+ "name": "privateip",
"type": "string"
},
{
- "description": "the network's gateway",
+ "description": "the last disconnected date of host",
+ "name": "disconnected",
+ "type": "date"
+ },
+ {
+ "description": "the gateway for the system VM",
"name": "gateway",
"type": "string"
},
{
- "description": "the name of the zone the network belongs to",
- "name": "zonename",
+ "description": "the host ID for the system VM",
+ "name": "hostid",
"type": "string"
},
{
- "description": "related to what other network configuration",
- "name": "related",
+ "description": "guest vlan range",
+ "name": "guestvlan",
"type": "string"
},
{
- "description": "the domain name of the network owner",
- "name": "domain",
+ "description": "the name of the system VM",
+ "name": "name",
"type": "string"
},
{
- "description": "true if network is default, false otherwise",
- "name": "isdefault",
- "type": "boolean"
+ "description": "the number of active console sessions for the console proxy system vm",
+ "name": "activeviewersessions",
+ "type": "integer"
},
{
- "description": "network offering id the network is created from",
- "name": "networkofferingid",
+ "description": "the link local netmask for the system vm",
+ "name": "linklocalnetmask",
"type": "string"
},
{
- "description": "true if users from subdomains can access the domain level network",
- "name": "subdomainaccess",
- "type": "boolean"
+ "description": "the public IP address for the system VM",
+ "name": "publicip",
+ "type": "string"
+ },
+ {
+ "description": "public vlan range",
+ "name": "publicvlan",
+ "type": "list"
+ },
+ {
+ "description": "the systemvm agent version",
+ "name": "version",
+ "type": "string"
},
{
"description": "true if the entity/resource has annotations",
"name": "hasannotations",
"type": "boolean"
- },
+ }
+ ]
+ },
+ {
+ "description": "Import LDAP users",
+ "isasync": false,
+ "name": "importLdapUsers",
+ "params": [
{
- "description": "The vlan of the network. This parameter is visible to ROOT admins only",
- "name": "vlan",
+ "description": "Creates the user under the specified account. If no account is specified, the username will be used as the account name.",
+ "length": 255,
+ "name": "account",
+ "required": false,
"type": "string"
},
{
- "description": "the displaytext of the network",
- "name": "displaytext",
+ "description": "List by keyword",
+ "length": 255,
+ "name": "keyword",
+ "required": false,
"type": "string"
},
{
- "description": "the type of the network",
- "name": "type",
+ "description": "Specifies a timezone for this command. For more information on the timezone parameter, see Time Zone Format.",
+ "length": 255,
+ "name": "timezone",
+ "required": false,
"type": "string"
},
{
- "description": "the total number of network traffic bytes received",
- "name": "receivedbytes",
- "type": "long"
+ "description": "Type of the account. Specify 0 for user, 1 for root admin, and 2 for domain admin",
+ "length": 255,
+ "name": "accounttype",
+ "required": false,
+ "type": "short"
},
{
- "description": "the physical network id",
- "name": "physicalnetworkid",
- "type": "string"
+ "description": "",
+ "length": 255,
+ "name": "page",
+ "required": false,
+ "type": "integer"
},
{
- "description": "the id of the network",
- "name": "id",
+ "description": "Specifies the group name from which the ldap users are to be imported. If no group is specified, all the users will be imported.",
+ "length": 255,
+ "name": "group",
+ "required": false,
"type": "string"
},
{
- "description": "state of the network",
- "name": "state",
- "type": "string"
+ "description": "Specifies the domain to which the ldap users are to be imported. If no domain is specified, a domain will created using group parameter. If the group is also not specified, a domain name based on the OU information will be created. If no OU hierarchy exists, will be defaulted to ROOT domain",
+ "length": 255,
+ "name": "domainid",
+ "related": "createDomain,listDomainChildren,listDomains,listDomains,updateDomain",
+ "required": false,
+ "type": "uuid"
},
{
- "description": "acl type - access type to the network",
- "name": "acltype",
- "type": "string"
+ "description": "",
+ "length": 255,
+ "name": "pagesize",
+ "required": false,
+ "type": "integer"
},
{
- "description": "the name of the network",
- "name": "name",
- "type": "string"
+ "description": "Creates the account under the specified role.",
+ "length": 255,
+ "name": "roleid",
+ "related": "createRole,importRole,listRoles,updateRole",
+ "required": false,
+ "type": "uuid"
},
{
- "description": "the list of services",
- "name": "service",
- "response": [
- {
- "description": "the service provider name",
- "name": "provider",
- "response": [
- {
- "description": "the provider name",
- "name": "name",
- "type": "string"
- },
- {
- "description": "services for this provider",
- "name": "servicelist",
- "type": "list"
- },
- {
- "description": "uuid of the network provider",
- "name": "id",
- "type": "string"
- },
- {
- "description": "state of the network provider",
- "name": "state",
- "type": "string"
- },
- {
- "description": "the destination physical network",
- "name": "destinationphysicalnetworkid",
- "type": "string"
- },
- {
- "description": "true if individual services can be enabled/disabled",
- "name": "canenableindividualservice",
- "type": "boolean"
- },
- {
- "description": "the physical network this belongs to",
- "name": "physicalnetworkid",
- "type": "string"
- }
- ],
- "type": "list"
- },
- {
- "description": "the service name",
- "name": "name",
- "type": "string"
- },
- {
- "description": "the list of capabilities",
- "name": "capability",
- "response": [
- {
- "description": "the capability name",
- "name": "name",
- "type": "string"
- },
- {
- "description": "the capability value",
- "name": "value",
- "type": "string"
- },
- {
- "description": "can this service capability value can be choosable while creatine network offerings",
- "name": "canchooseservicecapability",
- "type": "boolean"
- }
- ],
- "type": "list"
- }
- ],
- "type": "list"
- },
+ "description": "details for account used to store specific parameters",
+ "length": 255,
+ "name": "accountdetails",
+ "required": false,
+ "type": "map"
+ }
+ ],
+ "related": "searchLdap,listLdapUsers",
+ "response": [
{
- "description": "Name of the VPC to which this network belongs",
- "name": "vpcname",
+ "description": "The user's email",
+ "name": "email",
"type": "string"
},
{
- "description": "the second DNS for the network",
- "name": "dns2",
+ "description": "The user's username",
+ "name": "username",
"type": "string"
},
{
- "description": "true if network supports specifying ip ranges, false otherwise",
- "name": "specifyipranges",
- "type": "boolean"
- },
- {
- "description": "name of the network offering the network is created from",
- "name": "networkofferingname",
+ "description": "The user's firstname",
+ "name": "firstname",
"type": "string"
},
+ {},
{
- "description": "zone id of the network",
- "name": "zoneid",
+ "description": "The authentication source for this user as known to the system or empty if the user is not yet in cloudstack.",
+ "name": "conflictingusersource",
"type": "string"
},
{
- "description": "the gateway of IPv6 network",
- "name": "ip6gateway",
+ "description": "The user's domain",
+ "name": "domain",
"type": "string"
},
{
- "description": "the network's IP range not to be used by CloudStack guest VMs and can be used for non CloudStack purposes",
- "name": "reservediprange",
+ "description": "The user's lastname",
+ "name": "lastname",
"type": "string"
},
{
- "description": "an optional field, whether to the display the network to the end user or not.",
- "name": "displaynetwork",
- "type": "boolean"
- },
- {
- "description": "the domain id of the network owner",
- "name": "domainid",
+ "description": "the UUID of the latest async job acting on this object",
+ "name": "jobid",
"type": "string"
},
{
- "description": "the traffic type of the network",
- "name": "traffictype",
+ "description": "The user's principle",
+ "name": "principal",
"type": "string"
},
+ {},
{
- "description": "the network CIDR of the guest network configured with IP reservation. It is the summation of CIDR and RESERVED_IP_RANGE",
- "name": "networkcidr",
- "type": "string"
+ "description": "the current status of the latest async job acting on this object",
+ "name": "jobstatus",
+ "type": "integer"
+ }
+ ],
+ "since": "4.3.0"
+ },
+ {
+ "description": "Lists all available networks.",
+ "isasync": false,
+ "name": "listNetworks",
+ "params": [
+ {
+ "description": "true if network is system, false otherwise",
+ "length": 255,
+ "name": "issystem",
+ "required": false,
+ "type": "boolean"
},
{
- "description": "the cidr of IPv6 network",
- "name": "ip6cidr",
- "type": "string"
+ "description": "",
+ "length": 255,
+ "name": "pagesize",
+ "required": false,
+ "type": "integer"
},
{
- "description": "the project id of the ipaddress",
- "name": "projectid",
- "type": "string"
+ "description": "true if need to list only networks which support specifying IP ranges",
+ "length": 255,
+ "name": "specifyipranges",
+ "required": false,
+ "type": "boolean"
},
{
- "description": "ACL Id associated with the VPC network",
- "name": "aclid",
+ "description": "the type of the network. Supported values are: isolated, l2, shared and all",
+ "length": 255,
+ "name": "type",
+ "required": false,
"type": "string"
},
{
- "description": "broadcast uri of the network. This parameter is visible to ROOT admins only",
- "name": "broadcasturi",
+ "description": "type of the traffic",
+ "length": 255,
+ "name": "traffictype",
+ "required": false,
"type": "string"
},
{
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
- "type": "integer"
+ "description": "list only resources belonging to the domain specified",
+ "length": 255,
+ "name": "domainid",
+ "related": "createDomain,listDomainChildren,listDomains,listDomains,updateDomain",
+ "required": false,
+ "type": "uuid"
},
{
- "description": "true network requires restart",
- "name": "restartrequired",
- "type": "boolean"
+ "description": "list networks by network offering ID",
+ "length": 255,
+ "name": "networkofferingid",
+ "related": "createNetworkOffering,updateNetworkOffering,listNetworkOfferings",
+ "required": false,
+ "type": "uuid"
},
{
- "description": "Cloudstack managed address space, all CloudStack managed VMs get IP address from CIDR",
- "name": "cidr",
- "type": "string"
+ "description": "list networks supporting certain services",
+ "length": 255,
+ "name": "supportedservices",
+ "required": false,
+ "type": "list"
},
{
- "description": "true if network is system, false otherwise",
- "name": "issystem",
+ "description": "list resources by display flag; only ROOT admin is eligible to pass this parameter",
+ "length": 255,
+ "name": "displaynetwork",
+ "required": false,
+ "since": "4.4",
"type": "boolean"
},
{
- "description": "ACL name associated with the VPC network",
- "name": "aclname",
- "type": "string"
+ "description": "List networks by VPC",
+ "length": 255,
+ "name": "vpcid",
+ "related": "createVPC,listVPCs,updateVPC,createVPC,listVPCs,updateVPC,migrateVPC",
+ "required": false,
+ "type": "uuid"
},
{
- "description": "the network domain",
- "name": "networkdomain",
- "type": "string"
+ "description": "list networks by ID",
+ "length": 255,
+ "name": "id",
+ "related": "createNetwork,listNetworks,updateNetwork,createNetwork,updateNetwork,listNetworks,migrateNetwork,listF5LoadBalancerNetworks,listNetscalerLoadBalancerNetworks,listNiciraNvpDeviceNetworks,listPaloAltoFirewallNetworks,listSrxFirewallNetworks,listBrocadeVcsDeviceNetworks",
+ "required": false,
+ "type": "uuid"
},
{
- "description": "the details of the network",
- "name": "details",
- "type": "map"
+ "description": "If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false",
+ "length": 255,
+ "name": "listall",
+ "required": false,
+ "type": "boolean"
},
{
- "description": "VPC the network belongs to",
- "name": "vpcid",
- "type": "string"
+ "description": "list networks available for VM deployment",
+ "length": 255,
+ "name": "canusefordeploy",
+ "required": false,
+ "type": "boolean"
},
{
- "description": "the date this network was created",
- "name": "created",
- "type": "date"
+ "description": "List resources by tags (key/value pairs)",
+ "length": 255,
+ "name": "tags",
+ "required": false,
+ "type": "map"
},
{
- "description": "list networks that are persistent",
- "name": "ispersistent",
+ "description": "list networks by restartRequired",
+ "length": 255,
+ "name": "restartrequired",
+ "required": false,
"type": "boolean"
},
{
- "description": "If a network is enabled for 'streched l2 subnet' then represents zones on which network currently spans",
- "name": "zonesnetworkspans",
- "type": "set"
+ "description": "the zone ID of the network",
+ "length": 255,
+ "name": "zoneid",
+ "related": "createZone,updateZone,listZones,listZones",
+ "required": false,
+ "type": "uuid"
},
{
- "description": "the owner of the network",
- "name": "account",
- "type": "string"
+ "description": "flag to display the resource icon for networks",
+ "length": 255,
+ "name": "showicon",
+ "required": false,
+ "type": "boolean"
},
{
- "description": "the total number of network traffic bytes sent",
- "name": "sentbytes",
- "type": "long"
- }
- ]
- },
- {
- "description": "List dedicated zones.",
- "isasync": false,
- "name": "listDedicatedZones",
- "params": [
+ "description": "the network belongs to VPC",
+ "length": 255,
+ "name": "forvpc",
+ "required": false,
+ "type": "boolean"
+ },
{
"description": "",
"length": 255,
- "name": "pagesize",
+ "name": "page",
"required": false,
"type": "integer"
},
{
- "description": "the ID of the domain associated with the zone",
+ "description": "defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.",
"length": 255,
- "name": "domainid",
- "related": "createDomain,listDomainChildren,listDomains,listDomains,updateDomain",
+ "name": "isrecursive",
"required": false,
- "type": "uuid"
+ "type": "boolean"
},
{
- "description": "List by keyword",
+ "description": "list networks by physical network id",
"length": 255,
- "name": "keyword",
+ "name": "physicalnetworkid",
+ "related": "createPhysicalNetwork,listPhysicalNetworks,updatePhysicalNetwork",
"required": false,
- "type": "string"
+ "type": "uuid"
},
{
- "description": "the name of the account associated with the zone. Must be used with domainId.",
+ "description": "list resources by account. Must be used with the domainId parameter.",
"length": 255,
"name": "account",
"required": false,
"type": "string"
},
{
- "description": "",
+ "description": "list objects by project",
"length": 255,
- "name": "page",
+ "name": "projectid",
+ "related": "listProjectAccounts,activateProject,createProject,listProjects,suspendProject,updateProject",
"required": false,
- "type": "integer"
+ "type": "uuid"
},
{
- "description": "list dedicated zones by affinity group",
+ "description": "list networks by ACL (access control list) type. Supported values are account and domain",
"length": 255,
- "name": "affinitygroupid",
- "related": "createAffinityGroup,listAffinityGroups",
+ "name": "acltype",
"required": false,
- "type": "uuid"
+ "type": "string"
},
{
- "description": "the ID of the Zone",
+ "description": "List by keyword",
"length": 255,
- "name": "zoneid",
- "related": "createZone,updateZone,listZones,listZones",
+ "name": "keyword",
"required": false,
- "type": "uuid"
+ "type": "string"
}
],
- "related": "dedicateZone",
+ "related": "createNetwork,updateNetwork,createNetwork,updateNetwork,listNetworks,migrateNetwork,listF5LoadBalancerNetworks,listNetscalerLoadBalancerNetworks,listNiciraNvpDeviceNetworks,listPaloAltoFirewallNetworks,listSrxFirewallNetworks,listBrocadeVcsDeviceNetworks",
"response": [
{
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
- "type": "string"
+ "description": "true network requires restart",
+ "name": "restartrequired",
+ "type": "boolean"
},
- {},
{
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
- "type": "integer"
+ "description": "true if network is default, false otherwise",
+ "name": "isdefault",
+ "type": "boolean"
},
{
- "description": "the Account Id to which the Zone is dedicated",
- "name": "accountid",
- "type": "string"
+ "description": "the details of the network",
+ "name": "details",
+ "type": "map"
},
- {},
{
- "description": "the ID of the Zone",
- "name": "zoneid",
+ "description": "the project name of the address",
+ "name": "project",
"type": "string"
},
{
- "description": "the Name of the Zone",
- "name": "zonename",
- "type": "string"
+ "description": "true if network is system, false otherwise",
+ "name": "issystem",
+ "type": "boolean"
},
{
- "description": "the Dedication Affinity Group ID of the zone",
- "name": "affinitygroupid",
- "type": "string"
+ "description": "an optional field, whether to the display the network to the end user or not.",
+ "name": "displaynetwork",
+ "type": "boolean"
},
{
- "description": "the domain ID to which the Zone is dedicated",
- "name": "domainid",
+ "description": "the gateway of IPv6 network",
+ "name": "ip6gateway",
"type": "string"
},
{
- "description": "the ID of the dedicated resource",
- "name": "id",
+ "description": "the network's gateway",
+ "name": "gateway",
"type": "string"
- }
- ]
- },
- {
- "description": "Lists the pools of elastistor",
- "isasync": false,
- "name": "listElastistorPool",
- "params": [
+ },
{
- "description": "the ID of the Pool",
- "length": 255,
- "name": "id",
- "required": false,
- "type": "long"
- }
- ],
- "related": "",
- "response": [
+ "description": "Cloudstack managed address space, all CloudStack managed VMs get IP address from CIDR",
+ "name": "cidr",
+ "type": "string"
+ },
{
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
+ "description": "the network's IP range not to be used by CloudStack guest VMs and can be used for non CloudStack purposes",
+ "name": "reservediprange",
"type": "string"
},
{
- "description": "the name of the storage pool",
- "name": "name",
+ "description": "Broadcast domain type of the network",
+ "name": "broadcastdomaintype",
"type": "string"
},
{
- "description": "the ID of the storage pool",
- "name": "id",
+ "description": "Name of the VPC to which this network belongs",
+ "name": "vpcname",
"type": "string"
},
{
- "description": "the state of the storage pool",
- "name": "state",
+ "description": "the network domain",
+ "name": "networkdomain",
"type": "string"
},
{
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
- "type": "integer"
+ "description": "the name of the network",
+ "name": "name",
+ "type": "string"
},
{
- "description": "available iops of the pool",
- "name": "maxiops",
+ "description": "the total number of network traffic bytes sent",
+ "name": "sentbytes",
"type": "long"
},
- {},
{
- "description": "the current available space of the pool",
- "name": "size",
- "type": "long"
+ "description": "true if the entity/resource has annotations",
+ "name": "hasannotations",
+ "type": "boolean"
},
{
- "description": "default gateway of the pool",
- "name": "gateway",
+ "description": "The vlan of the network. This parameter is visible to ROOT admins only",
+ "name": "vlan",
"type": "string"
},
{
- "description": "controller of the pool",
- "name": "controllerid",
+ "description": "the domain id of the network owner",
+ "name": "domainid",
"type": "string"
},
- {}
- ]
- },
- {
- "description": "Updates a management network IP range. Only allowed when no IPs are allocated.",
- "isasync": true,
- "name": "updatePodManagementNetworkIpRange",
- "params": [
{
- "description": "The new ending IP address.",
- "length": 255,
- "name": "newendip",
- "required": false,
+ "description": "the traffic type of the network",
+ "name": "traffictype",
"type": "string"
},
{
- "description": "The current starting IP address.",
- "length": 255,
- "name": "currentstartip",
- "related": "listPods,updatePod,createManagementNetworkIpRange",
- "required": true,
+ "description": "the UUID of the latest async job acting on this object",
+ "name": "jobid",
"type": "string"
},
{
- "description": "The new starting IP address.",
- "length": 255,
- "name": "newstartip",
- "required": false,
+ "description": "the date this network was created",
+ "name": "created",
+ "type": "date"
+ },
+ {},
+ {
+ "description": "the physical network id",
+ "name": "physicalnetworkid",
"type": "string"
},
{
- "description": "UUID of POD, where the IP range belongs to.",
- "length": 255,
- "name": "podid",
- "related": "listPods,updatePod,createManagementNetworkIpRange",
- "required": true,
- "type": "uuid"
+ "description": "The external id of the network",
+ "name": "externalid",
+ "type": "string"
},
{
- "description": "The current ending IP address.",
- "length": 255,
- "name": "currentendip",
- "related": "listPods,updatePod,createManagementNetworkIpRange",
- "required": true,
+ "description": "network offering id the network is created from",
+ "name": "networkofferingid",
"type": "string"
- }
- ],
- "response": [
- {},
+ },
{
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
- "type": "integer"
+ "description": "state of the network",
+ "name": "state",
+ "type": "string"
},
{
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
+ "description": "the second DNS for the network",
+ "name": "dns2",
"type": "string"
},
{
- "description": "true if operation is executed successfully",
- "name": "success",
- "type": "boolean"
+ "description": "ACL Id associated with the VPC network",
+ "name": "aclid",
+ "type": "string"
},
{
- "description": "any text associated with the success or failure",
- "name": "displaytext",
+ "description": "availability of the network offering the network is created from",
+ "name": "networkofferingavailability",
"type": "string"
},
- {}
- ],
- "since": "4.16.0.0"
- },
- {
- "description": "Updates firewall rule ",
- "isasync": true,
- "name": "updateFirewallRule",
- "params": [
{
- "description": "the ID of the firewall rule",
- "length": 255,
+ "description": "the id of the network",
"name": "id",
- "related": "createPortForwardingRule,listPortForwardingRules,updatePortForwardingRule,createIpForwardingRule,listIpForwardingRules",
- "required": true,
- "type": "uuid"
+ "type": "string"
},
{
- "description": "an optional field, whether to the display the rule to the end user or not",
- "length": 255,
- "name": "fordisplay",
- "required": false,
- "since": "4.4",
- "type": "boolean"
+ "description": "name of the network offering the network is created from",
+ "name": "networkofferingname",
+ "type": "string"
},
{
- "description": "an optional field, in case you want to set a custom id to the resource. Allowed to Root Admins only",
- "length": 255,
- "name": "customid",
- "required": false,
- "since": "4.4",
+ "description": "related to what other network configuration",
+ "name": "related",
"type": "string"
- }
- ],
- "related": "createEgressFirewallRule,createFirewallRule,listEgressFirewallRules,listFirewallRules,updateEgressFirewallRule",
- "response": [
- {
- "description": "the ending port of firewall rule's port range",
- "name": "endport",
- "type": "integer"
},
- {},
{
- "description": "the public ip address for the firewall rule",
- "name": "ipaddress",
+ "description": "the name of the zone the network belongs to",
+ "name": "zonename",
"type": "string"
},
{
- "description": "the cidr list to forward traffic from. Multiple entries are separated by a single comma character (,).",
- "name": "cidrlist",
+ "description": "zone id of the network",
+ "name": "zoneid",
"type": "string"
},
{
- "description": "the UUID of the latest async job acting on this object",
- "name": "jobid",
+ "description": "acl type - access type to the network",
+ "name": "acltype",
"type": "string"
},
{
- "description": "the network id of the firewall rule",
- "name": "networkid",
+ "description": "the network's netmask",
+ "name": "netmask",
"type": "string"
},
{
- "description": "type of the icmp message being sent",
- "name": "icmptype",
- "type": "integer"
+ "description": "true if users from subdomains can access the domain level network",
+ "name": "subdomainaccess",
+ "type": "boolean"
},
{
- "description": "the cidr list to forward traffic to. Multiple entries are separated by a single comma character (,).",
- "name": "destcidrlist",
- "type": "string"
+ "description": "If the network has redundant routers enabled",
+ "name": "redundantrouter",
+ "type": "boolean"
},
{
- "description": "error code for this icmp message",
- "name": "icmpcode",
+ "description": "list networks that are persistent",
+ "name": "ispersistent",
+ "type": "boolean"
+ },
+ {
+ "description": "the current status of the latest async job acting on this object",
+ "name": "jobstatus",
"type": "integer"
},
- {},
{
- "description": "the state of the rule",
- "name": "state",
+ "description": "the cidr of IPv6 network",
+ "name": "ip6cidr",
"type": "string"
},
+ {},
{
- "description": "the protocol of the firewall rule",
- "name": "protocol",
+ "description": "the owner of the network",
+ "name": "account",
"type": "string"
},
{
- "description": "the current status of the latest async job acting on this object",
- "name": "jobstatus",
- "type": "integer"
+ "description": "the network CIDR of the guest network configured with IP reservation. It is the summation of CIDR and RESERVED_IP_RANGE",
+ "name": "networkcidr",
+ "type": "string"
},
{
... 158512 lines suppressed ...