cloudstack/VirtualNetworkFunctionsService.go (4,519 lines of code) (raw):
//
// 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 VirtualNetworkFunctionsServiceIface interface {
DeleteVnfTemplate(p *DeleteVnfTemplateParams) (*DeleteVnfTemplateResponse, error)
NewDeleteVnfTemplateParams(id string) *DeleteVnfTemplateParams
DeployVnfAppliance(p *DeployVnfApplianceParams) (*DeployVnfApplianceResponse, error)
NewDeployVnfApplianceParams(serviceofferingid string, templateid string, zoneid string) *DeployVnfApplianceParams
ListVnfAppliances(p *ListVnfAppliancesParams) (*ListVnfAppliancesResponse, error)
NewListVnfAppliancesParams() *ListVnfAppliancesParams
GetVnfApplianceID(name string, opts ...OptionFunc) (string, int, error)
GetVnfApplianceByName(name string, opts ...OptionFunc) (*VnfAppliance, int, error)
GetVnfApplianceByID(id string, opts ...OptionFunc) (*VnfAppliance, int, error)
ListVnfTemplates(p *ListVnfTemplatesParams) (*ListVnfTemplatesResponse, error)
NewListVnfTemplatesParams(templatefilter string) *ListVnfTemplatesParams
GetVnfTemplateID(name string, templatefilter string, opts ...OptionFunc) (string, int, error)
GetVnfTemplateByName(name string, templatefilter string, opts ...OptionFunc) (*VnfTemplate, int, error)
GetVnfTemplateByID(id string, templatefilter string, opts ...OptionFunc) (*VnfTemplate, int, error)
RegisterVnfTemplate(p *RegisterVnfTemplateParams) (*RegisterVnfTemplateResponse, error)
NewRegisterVnfTemplateParams(format string, hypervisor string, name string, url string) *RegisterVnfTemplateParams
UpdateVnfTemplate(p *UpdateVnfTemplateParams) (*UpdateVnfTemplateResponse, error)
NewUpdateVnfTemplateParams(id string) *UpdateVnfTemplateParams
}
type DeleteVnfTemplateParams struct {
p map[string]interface{}
}
func (p *DeleteVnfTemplateParams) toURLValues() url.Values {
u := url.Values{}
if p.p == nil {
return u
}
if v, found := p.p["forced"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("forced", vv)
}
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
if v, found := p.p["issystem"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("issystem", vv)
}
if v, found := p.p["zoneid"]; found {
u.Set("zoneid", v.(string))
}
return u
}
func (p *DeleteVnfTemplateParams) SetForced(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["forced"] = v
}
func (p *DeleteVnfTemplateParams) ResetForced() {
if p.p != nil && p.p["forced"] != nil {
delete(p.p, "forced")
}
}
func (p *DeleteVnfTemplateParams) GetForced() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["forced"].(bool)
return value, ok
}
func (p *DeleteVnfTemplateParams) SetId(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["id"] = v
}
func (p *DeleteVnfTemplateParams) ResetId() {
if p.p != nil && p.p["id"] != nil {
delete(p.p, "id")
}
}
func (p *DeleteVnfTemplateParams) GetId() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["id"].(string)
return value, ok
}
func (p *DeleteVnfTemplateParams) SetIssystem(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["issystem"] = v
}
func (p *DeleteVnfTemplateParams) ResetIssystem() {
if p.p != nil && p.p["issystem"] != nil {
delete(p.p, "issystem")
}
}
func (p *DeleteVnfTemplateParams) GetIssystem() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["issystem"].(bool)
return value, ok
}
func (p *DeleteVnfTemplateParams) SetZoneid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["zoneid"] = v
}
func (p *DeleteVnfTemplateParams) ResetZoneid() {
if p.p != nil && p.p["zoneid"] != nil {
delete(p.p, "zoneid")
}
}
func (p *DeleteVnfTemplateParams) 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 DeleteVnfTemplateParams instance,
// as then you are sure you have configured all required params
func (s *VirtualNetworkFunctionsService) NewDeleteVnfTemplateParams(id string) *DeleteVnfTemplateParams {
p := &DeleteVnfTemplateParams{}
p.p = make(map[string]interface{})
p.p["id"] = id
return p
}
// Deletes a VNF template from the system. All virtual machines using the deleted template will not be affected.
func (s *VirtualNetworkFunctionsService) DeleteVnfTemplate(p *DeleteVnfTemplateParams) (*DeleteVnfTemplateResponse, error) {
resp, err := s.cs.newRequest("deleteVnfTemplate", p.toURLValues())
if err != nil {
return nil, err
}
var r DeleteVnfTemplateResponse
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 DeleteVnfTemplateResponse struct {
Displaytext string `json:"displaytext"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Success bool `json:"success"`
}
type DeployVnfApplianceParams struct {
p map[string]interface{}
}
func (p *DeployVnfApplianceParams) 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["affinitygroupids"]; found {
vv := strings.Join(v.([]string), ",")
u.Set("affinitygroupids", vv)
}
if v, found := p.p["affinitygroupnames"]; found {
vv := strings.Join(v.([]string), ",")
u.Set("affinitygroupnames", vv)
}
if v, found := p.p["bootintosetup"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("bootintosetup", vv)
}
if v, found := p.p["bootmode"]; found {
u.Set("bootmode", v.(string))
}
if v, found := p.p["boottype"]; found {
u.Set("boottype", v.(string))
}
if v, found := p.p["copyimagetags"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("copyimagetags", vv)
}
if v, found := p.p["customid"]; found {
u.Set("customid", v.(string))
}
if v, found := p.p["datadiskofferinglist"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
u.Set(fmt.Sprintf("datadiskofferinglist[%d].disk", i), k)
u.Set(fmt.Sprintf("datadiskofferinglist[%d].diskOffering", i), m[k])
}
}
if v, found := p.p["deploymentplanner"]; found {
u.Set("deploymentplanner", v.(string))
}
if v, found := p.p["details"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
u.Set(fmt.Sprintf("details[%d].%s", i, k), m[k])
}
}
if v, found := p.p["dhcpoptionsnetworklist"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
u.Set(fmt.Sprintf("dhcpoptionsnetworklist[%d].key", i), k)
u.Set(fmt.Sprintf("dhcpoptionsnetworklist[%d].value", i), m[k])
}
}
if v, found := p.p["diskofferingid"]; found {
u.Set("diskofferingid", v.(string))
}
if v, found := p.p["displayname"]; found {
u.Set("displayname", v.(string))
}
if v, found := p.p["displayvm"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("displayvm", vv)
}
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
if v, found := p.p["dynamicscalingenabled"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("dynamicscalingenabled", vv)
}
if v, found := p.p["extraconfig"]; found {
u.Set("extraconfig", v.(string))
}
if v, found := p.p["group"]; found {
u.Set("group", v.(string))
}
if v, found := p.p["hostid"]; found {
u.Set("hostid", v.(string))
}
if v, found := p.p["hypervisor"]; found {
u.Set("hypervisor", v.(string))
}
if v, found := p.p["iodriverpolicy"]; found {
u.Set("iodriverpolicy", v.(string))
}
if v, found := p.p["iothreadsenabled"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("iothreadsenabled", vv)
}
if v, found := p.p["ip6address"]; found {
u.Set("ip6address", v.(string))
}
if v, found := p.p["ipaddress"]; found {
u.Set("ipaddress", v.(string))
}
if v, found := p.p["iptonetworklist"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
u.Set(fmt.Sprintf("iptonetworklist[%d].key", i), k)
u.Set(fmt.Sprintf("iptonetworklist[%d].value", i), m[k])
}
}
if v, found := p.p["keyboard"]; found {
u.Set("keyboard", v.(string))
}
if v, found := p.p["keypair"]; found {
u.Set("keypair", v.(string))
}
if v, found := p.p["keypairs"]; found {
vv := strings.Join(v.([]string), ",")
u.Set("keypairs", vv)
}
if v, found := p.p["macaddress"]; found {
u.Set("macaddress", v.(string))
}
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
if v, found := p.p["networkids"]; found {
vv := strings.Join(v.([]string), ",")
u.Set("networkids", vv)
}
if v, found := p.p["nicmultiqueuenumber"]; found {
vv := strconv.Itoa(v.(int))
u.Set("nicmultiqueuenumber", vv)
}
if v, found := p.p["nicnetworklist"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
u.Set(fmt.Sprintf("nicnetworklist[%d].nic", i), k)
u.Set(fmt.Sprintf("nicnetworklist[%d].network", i), m[k])
}
}
if v, found := p.p["nicpackedvirtqueuesenabled"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("nicpackedvirtqueuesenabled", vv)
}
if v, found := p.p["overridediskofferingid"]; found {
u.Set("overridediskofferingid", v.(string))
}
if v, found := p.p["password"]; found {
u.Set("password", v.(string))
}
if v, found := p.p["projectid"]; found {
u.Set("projectid", v.(string))
}
if v, found := p.p["properties"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
u.Set(fmt.Sprintf("properties[%d].key", i), k)
u.Set(fmt.Sprintf("properties[%d].value", i), m[k])
}
}
if v, found := p.p["rootdisksize"]; found {
vv := strconv.FormatInt(v.(int64), 10)
u.Set("rootdisksize", vv)
}
if v, found := p.p["securitygroupids"]; found {
vv := strings.Join(v.([]string), ",")
u.Set("securitygroupids", vv)
}
if v, found := p.p["securitygroupnames"]; found {
vv := strings.Join(v.([]string), ",")
u.Set("securitygroupnames", 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)
}
if v, found := p.p["startvm"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("startvm", vv)
}
if v, found := p.p["templateid"]; found {
u.Set("templateid", v.(string))
}
if v, found := p.p["userdata"]; found {
u.Set("userdata", v.(string))
}
if v, found := p.p["userdatadetails"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
u.Set(fmt.Sprintf("userdatadetails[%d].key", i), k)
u.Set(fmt.Sprintf("userdatadetails[%d].value", i), m[k])
}
}
if v, found := p.p["userdataid"]; found {
u.Set("userdataid", v.(string))
}
if v, found := p.p["vnfcidrlist"]; found {
vv := strings.Join(v.([]string), ",")
u.Set("vnfcidrlist", vv)
}
if v, found := p.p["vnfconfiguremanagement"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("vnfconfiguremanagement", vv)
}
if v, found := p.p["zoneid"]; found {
u.Set("zoneid", v.(string))
}
return u
}
func (p *DeployVnfApplianceParams) SetAccount(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["account"] = v
}
func (p *DeployVnfApplianceParams) ResetAccount() {
if p.p != nil && p.p["account"] != nil {
delete(p.p, "account")
}
}
func (p *DeployVnfApplianceParams) GetAccount() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["account"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetAffinitygroupids(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["affinitygroupids"] = v
}
func (p *DeployVnfApplianceParams) ResetAffinitygroupids() {
if p.p != nil && p.p["affinitygroupids"] != nil {
delete(p.p, "affinitygroupids")
}
}
func (p *DeployVnfApplianceParams) GetAffinitygroupids() ([]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["affinitygroupids"].([]string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetAffinitygroupnames(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["affinitygroupnames"] = v
}
func (p *DeployVnfApplianceParams) ResetAffinitygroupnames() {
if p.p != nil && p.p["affinitygroupnames"] != nil {
delete(p.p, "affinitygroupnames")
}
}
func (p *DeployVnfApplianceParams) GetAffinitygroupnames() ([]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["affinitygroupnames"].([]string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetBootintosetup(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["bootintosetup"] = v
}
func (p *DeployVnfApplianceParams) ResetBootintosetup() {
if p.p != nil && p.p["bootintosetup"] != nil {
delete(p.p, "bootintosetup")
}
}
func (p *DeployVnfApplianceParams) GetBootintosetup() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["bootintosetup"].(bool)
return value, ok
}
func (p *DeployVnfApplianceParams) SetBootmode(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["bootmode"] = v
}
func (p *DeployVnfApplianceParams) ResetBootmode() {
if p.p != nil && p.p["bootmode"] != nil {
delete(p.p, "bootmode")
}
}
func (p *DeployVnfApplianceParams) GetBootmode() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["bootmode"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetBoottype(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["boottype"] = v
}
func (p *DeployVnfApplianceParams) ResetBoottype() {
if p.p != nil && p.p["boottype"] != nil {
delete(p.p, "boottype")
}
}
func (p *DeployVnfApplianceParams) GetBoottype() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["boottype"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetCopyimagetags(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["copyimagetags"] = v
}
func (p *DeployVnfApplianceParams) ResetCopyimagetags() {
if p.p != nil && p.p["copyimagetags"] != nil {
delete(p.p, "copyimagetags")
}
}
func (p *DeployVnfApplianceParams) GetCopyimagetags() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["copyimagetags"].(bool)
return value, ok
}
func (p *DeployVnfApplianceParams) SetCustomid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["customid"] = v
}
func (p *DeployVnfApplianceParams) ResetCustomid() {
if p.p != nil && p.p["customid"] != nil {
delete(p.p, "customid")
}
}
func (p *DeployVnfApplianceParams) GetCustomid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["customid"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetDatadiskofferinglist(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["datadiskofferinglist"] = v
}
func (p *DeployVnfApplianceParams) ResetDatadiskofferinglist() {
if p.p != nil && p.p["datadiskofferinglist"] != nil {
delete(p.p, "datadiskofferinglist")
}
}
func (p *DeployVnfApplianceParams) GetDatadiskofferinglist() (map[string]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["datadiskofferinglist"].(map[string]string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetDeploymentplanner(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["deploymentplanner"] = v
}
func (p *DeployVnfApplianceParams) ResetDeploymentplanner() {
if p.p != nil && p.p["deploymentplanner"] != nil {
delete(p.p, "deploymentplanner")
}
}
func (p *DeployVnfApplianceParams) GetDeploymentplanner() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["deploymentplanner"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetDetails(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["details"] = v
}
func (p *DeployVnfApplianceParams) ResetDetails() {
if p.p != nil && p.p["details"] != nil {
delete(p.p, "details")
}
}
func (p *DeployVnfApplianceParams) GetDetails() (map[string]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["details"].(map[string]string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetDhcpoptionsnetworklist(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["dhcpoptionsnetworklist"] = v
}
func (p *DeployVnfApplianceParams) ResetDhcpoptionsnetworklist() {
if p.p != nil && p.p["dhcpoptionsnetworklist"] != nil {
delete(p.p, "dhcpoptionsnetworklist")
}
}
func (p *DeployVnfApplianceParams) GetDhcpoptionsnetworklist() (map[string]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["dhcpoptionsnetworklist"].(map[string]string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetDiskofferingid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["diskofferingid"] = v
}
func (p *DeployVnfApplianceParams) ResetDiskofferingid() {
if p.p != nil && p.p["diskofferingid"] != nil {
delete(p.p, "diskofferingid")
}
}
func (p *DeployVnfApplianceParams) GetDiskofferingid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["diskofferingid"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetDisplayname(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["displayname"] = v
}
func (p *DeployVnfApplianceParams) ResetDisplayname() {
if p.p != nil && p.p["displayname"] != nil {
delete(p.p, "displayname")
}
}
func (p *DeployVnfApplianceParams) GetDisplayname() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["displayname"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetDisplayvm(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["displayvm"] = v
}
func (p *DeployVnfApplianceParams) ResetDisplayvm() {
if p.p != nil && p.p["displayvm"] != nil {
delete(p.p, "displayvm")
}
}
func (p *DeployVnfApplianceParams) GetDisplayvm() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["displayvm"].(bool)
return value, ok
}
func (p *DeployVnfApplianceParams) SetDomainid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["domainid"] = v
}
func (p *DeployVnfApplianceParams) ResetDomainid() {
if p.p != nil && p.p["domainid"] != nil {
delete(p.p, "domainid")
}
}
func (p *DeployVnfApplianceParams) GetDomainid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["domainid"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetDynamicscalingenabled(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["dynamicscalingenabled"] = v
}
func (p *DeployVnfApplianceParams) ResetDynamicscalingenabled() {
if p.p != nil && p.p["dynamicscalingenabled"] != nil {
delete(p.p, "dynamicscalingenabled")
}
}
func (p *DeployVnfApplianceParams) GetDynamicscalingenabled() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["dynamicscalingenabled"].(bool)
return value, ok
}
func (p *DeployVnfApplianceParams) SetExtraconfig(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["extraconfig"] = v
}
func (p *DeployVnfApplianceParams) ResetExtraconfig() {
if p.p != nil && p.p["extraconfig"] != nil {
delete(p.p, "extraconfig")
}
}
func (p *DeployVnfApplianceParams) GetExtraconfig() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["extraconfig"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetGroup(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["group"] = v
}
func (p *DeployVnfApplianceParams) ResetGroup() {
if p.p != nil && p.p["group"] != nil {
delete(p.p, "group")
}
}
func (p *DeployVnfApplianceParams) GetGroup() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["group"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetHostid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["hostid"] = v
}
func (p *DeployVnfApplianceParams) ResetHostid() {
if p.p != nil && p.p["hostid"] != nil {
delete(p.p, "hostid")
}
}
func (p *DeployVnfApplianceParams) GetHostid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["hostid"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetHypervisor(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["hypervisor"] = v
}
func (p *DeployVnfApplianceParams) ResetHypervisor() {
if p.p != nil && p.p["hypervisor"] != nil {
delete(p.p, "hypervisor")
}
}
func (p *DeployVnfApplianceParams) GetHypervisor() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["hypervisor"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetIodriverpolicy(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["iodriverpolicy"] = v
}
func (p *DeployVnfApplianceParams) ResetIodriverpolicy() {
if p.p != nil && p.p["iodriverpolicy"] != nil {
delete(p.p, "iodriverpolicy")
}
}
func (p *DeployVnfApplianceParams) GetIodriverpolicy() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["iodriverpolicy"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetIothreadsenabled(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["iothreadsenabled"] = v
}
func (p *DeployVnfApplianceParams) ResetIothreadsenabled() {
if p.p != nil && p.p["iothreadsenabled"] != nil {
delete(p.p, "iothreadsenabled")
}
}
func (p *DeployVnfApplianceParams) GetIothreadsenabled() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["iothreadsenabled"].(bool)
return value, ok
}
func (p *DeployVnfApplianceParams) SetIp6address(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["ip6address"] = v
}
func (p *DeployVnfApplianceParams) ResetIp6address() {
if p.p != nil && p.p["ip6address"] != nil {
delete(p.p, "ip6address")
}
}
func (p *DeployVnfApplianceParams) GetIp6address() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["ip6address"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetIpaddress(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["ipaddress"] = v
}
func (p *DeployVnfApplianceParams) ResetIpaddress() {
if p.p != nil && p.p["ipaddress"] != nil {
delete(p.p, "ipaddress")
}
}
func (p *DeployVnfApplianceParams) GetIpaddress() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["ipaddress"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetIptonetworklist(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["iptonetworklist"] = v
}
func (p *DeployVnfApplianceParams) ResetIptonetworklist() {
if p.p != nil && p.p["iptonetworklist"] != nil {
delete(p.p, "iptonetworklist")
}
}
func (p *DeployVnfApplianceParams) GetIptonetworklist() (map[string]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["iptonetworklist"].(map[string]string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetKeyboard(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["keyboard"] = v
}
func (p *DeployVnfApplianceParams) ResetKeyboard() {
if p.p != nil && p.p["keyboard"] != nil {
delete(p.p, "keyboard")
}
}
func (p *DeployVnfApplianceParams) GetKeyboard() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["keyboard"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetKeypair(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["keypair"] = v
}
func (p *DeployVnfApplianceParams) ResetKeypair() {
if p.p != nil && p.p["keypair"] != nil {
delete(p.p, "keypair")
}
}
func (p *DeployVnfApplianceParams) GetKeypair() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["keypair"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetKeypairs(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["keypairs"] = v
}
func (p *DeployVnfApplianceParams) ResetKeypairs() {
if p.p != nil && p.p["keypairs"] != nil {
delete(p.p, "keypairs")
}
}
func (p *DeployVnfApplianceParams) GetKeypairs() ([]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["keypairs"].([]string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetMacaddress(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["macaddress"] = v
}
func (p *DeployVnfApplianceParams) ResetMacaddress() {
if p.p != nil && p.p["macaddress"] != nil {
delete(p.p, "macaddress")
}
}
func (p *DeployVnfApplianceParams) GetMacaddress() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["macaddress"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetName(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["name"] = v
}
func (p *DeployVnfApplianceParams) ResetName() {
if p.p != nil && p.p["name"] != nil {
delete(p.p, "name")
}
}
func (p *DeployVnfApplianceParams) GetName() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["name"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetNetworkids(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["networkids"] = v
}
func (p *DeployVnfApplianceParams) ResetNetworkids() {
if p.p != nil && p.p["networkids"] != nil {
delete(p.p, "networkids")
}
}
func (p *DeployVnfApplianceParams) GetNetworkids() ([]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["networkids"].([]string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetNicmultiqueuenumber(v int) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["nicmultiqueuenumber"] = v
}
func (p *DeployVnfApplianceParams) ResetNicmultiqueuenumber() {
if p.p != nil && p.p["nicmultiqueuenumber"] != nil {
delete(p.p, "nicmultiqueuenumber")
}
}
func (p *DeployVnfApplianceParams) GetNicmultiqueuenumber() (int, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["nicmultiqueuenumber"].(int)
return value, ok
}
func (p *DeployVnfApplianceParams) SetNicnetworklist(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["nicnetworklist"] = v
}
func (p *DeployVnfApplianceParams) ResetNicnetworklist() {
if p.p != nil && p.p["nicnetworklist"] != nil {
delete(p.p, "nicnetworklist")
}
}
func (p *DeployVnfApplianceParams) GetNicnetworklist() (map[string]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["nicnetworklist"].(map[string]string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetNicpackedvirtqueuesenabled(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["nicpackedvirtqueuesenabled"] = v
}
func (p *DeployVnfApplianceParams) ResetNicpackedvirtqueuesenabled() {
if p.p != nil && p.p["nicpackedvirtqueuesenabled"] != nil {
delete(p.p, "nicpackedvirtqueuesenabled")
}
}
func (p *DeployVnfApplianceParams) GetNicpackedvirtqueuesenabled() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["nicpackedvirtqueuesenabled"].(bool)
return value, ok
}
func (p *DeployVnfApplianceParams) SetOverridediskofferingid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["overridediskofferingid"] = v
}
func (p *DeployVnfApplianceParams) ResetOverridediskofferingid() {
if p.p != nil && p.p["overridediskofferingid"] != nil {
delete(p.p, "overridediskofferingid")
}
}
func (p *DeployVnfApplianceParams) GetOverridediskofferingid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["overridediskofferingid"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetPassword(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["password"] = v
}
func (p *DeployVnfApplianceParams) ResetPassword() {
if p.p != nil && p.p["password"] != nil {
delete(p.p, "password")
}
}
func (p *DeployVnfApplianceParams) GetPassword() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["password"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetProjectid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["projectid"] = v
}
func (p *DeployVnfApplianceParams) ResetProjectid() {
if p.p != nil && p.p["projectid"] != nil {
delete(p.p, "projectid")
}
}
func (p *DeployVnfApplianceParams) GetProjectid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["projectid"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetProperties(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["properties"] = v
}
func (p *DeployVnfApplianceParams) ResetProperties() {
if p.p != nil && p.p["properties"] != nil {
delete(p.p, "properties")
}
}
func (p *DeployVnfApplianceParams) GetProperties() (map[string]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["properties"].(map[string]string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetRootdisksize(v int64) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["rootdisksize"] = v
}
func (p *DeployVnfApplianceParams) ResetRootdisksize() {
if p.p != nil && p.p["rootdisksize"] != nil {
delete(p.p, "rootdisksize")
}
}
func (p *DeployVnfApplianceParams) GetRootdisksize() (int64, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["rootdisksize"].(int64)
return value, ok
}
func (p *DeployVnfApplianceParams) SetSecuritygroupids(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["securitygroupids"] = v
}
func (p *DeployVnfApplianceParams) ResetSecuritygroupids() {
if p.p != nil && p.p["securitygroupids"] != nil {
delete(p.p, "securitygroupids")
}
}
func (p *DeployVnfApplianceParams) GetSecuritygroupids() ([]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["securitygroupids"].([]string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetSecuritygroupnames(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["securitygroupnames"] = v
}
func (p *DeployVnfApplianceParams) ResetSecuritygroupnames() {
if p.p != nil && p.p["securitygroupnames"] != nil {
delete(p.p, "securitygroupnames")
}
}
func (p *DeployVnfApplianceParams) GetSecuritygroupnames() ([]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["securitygroupnames"].([]string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetServiceofferingid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["serviceofferingid"] = v
}
func (p *DeployVnfApplianceParams) ResetServiceofferingid() {
if p.p != nil && p.p["serviceofferingid"] != nil {
delete(p.p, "serviceofferingid")
}
}
func (p *DeployVnfApplianceParams) GetServiceofferingid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["serviceofferingid"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetSize(v int64) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["size"] = v
}
func (p *DeployVnfApplianceParams) ResetSize() {
if p.p != nil && p.p["size"] != nil {
delete(p.p, "size")
}
}
func (p *DeployVnfApplianceParams) GetSize() (int64, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["size"].(int64)
return value, ok
}
func (p *DeployVnfApplianceParams) SetStartvm(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["startvm"] = v
}
func (p *DeployVnfApplianceParams) ResetStartvm() {
if p.p != nil && p.p["startvm"] != nil {
delete(p.p, "startvm")
}
}
func (p *DeployVnfApplianceParams) GetStartvm() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["startvm"].(bool)
return value, ok
}
func (p *DeployVnfApplianceParams) SetTemplateid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["templateid"] = v
}
func (p *DeployVnfApplianceParams) ResetTemplateid() {
if p.p != nil && p.p["templateid"] != nil {
delete(p.p, "templateid")
}
}
func (p *DeployVnfApplianceParams) GetTemplateid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["templateid"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetUserdata(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["userdata"] = v
}
func (p *DeployVnfApplianceParams) ResetUserdata() {
if p.p != nil && p.p["userdata"] != nil {
delete(p.p, "userdata")
}
}
func (p *DeployVnfApplianceParams) GetUserdata() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["userdata"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetUserdatadetails(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["userdatadetails"] = v
}
func (p *DeployVnfApplianceParams) ResetUserdatadetails() {
if p.p != nil && p.p["userdatadetails"] != nil {
delete(p.p, "userdatadetails")
}
}
func (p *DeployVnfApplianceParams) GetUserdatadetails() (map[string]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["userdatadetails"].(map[string]string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetUserdataid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["userdataid"] = v
}
func (p *DeployVnfApplianceParams) ResetUserdataid() {
if p.p != nil && p.p["userdataid"] != nil {
delete(p.p, "userdataid")
}
}
func (p *DeployVnfApplianceParams) GetUserdataid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["userdataid"].(string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetVnfcidrlist(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["vnfcidrlist"] = v
}
func (p *DeployVnfApplianceParams) ResetVnfcidrlist() {
if p.p != nil && p.p["vnfcidrlist"] != nil {
delete(p.p, "vnfcidrlist")
}
}
func (p *DeployVnfApplianceParams) GetVnfcidrlist() ([]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["vnfcidrlist"].([]string)
return value, ok
}
func (p *DeployVnfApplianceParams) SetVnfconfiguremanagement(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["vnfconfiguremanagement"] = v
}
func (p *DeployVnfApplianceParams) ResetVnfconfiguremanagement() {
if p.p != nil && p.p["vnfconfiguremanagement"] != nil {
delete(p.p, "vnfconfiguremanagement")
}
}
func (p *DeployVnfApplianceParams) GetVnfconfiguremanagement() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["vnfconfiguremanagement"].(bool)
return value, ok
}
func (p *DeployVnfApplianceParams) SetZoneid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["zoneid"] = v
}
func (p *DeployVnfApplianceParams) ResetZoneid() {
if p.p != nil && p.p["zoneid"] != nil {
delete(p.p, "zoneid")
}
}
func (p *DeployVnfApplianceParams) 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 DeployVnfApplianceParams instance,
// as then you are sure you have configured all required params
func (s *VirtualNetworkFunctionsService) NewDeployVnfApplianceParams(serviceofferingid string, templateid string, zoneid string) *DeployVnfApplianceParams {
p := &DeployVnfApplianceParams{}
p.p = make(map[string]interface{})
p.p["serviceofferingid"] = serviceofferingid
p.p["templateid"] = templateid
p.p["zoneid"] = zoneid
return p
}
// Creates and automatically starts a VNF appliance based on a service offering, disk offering, and template.
func (s *VirtualNetworkFunctionsService) DeployVnfAppliance(p *DeployVnfApplianceParams) (*DeployVnfApplianceResponse, error) {
resp, err := s.cs.newRequest("deployVnfAppliance", p.toURLValues())
if err != nil {
return nil, err
}
var r DeployVnfApplianceResponse
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 DeployVnfApplianceResponse struct {
Account string `json:"account"`
Affinitygroup []DeployVnfApplianceResponseAffinitygroup `json:"affinitygroup"`
Autoscalevmgroupid string `json:"autoscalevmgroupid"`
Autoscalevmgroupname string `json:"autoscalevmgroupname"`
Backupofferingid string `json:"backupofferingid"`
Backupofferingname string `json:"backupofferingname"`
Bootmode string `json:"bootmode"`
Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
Created string `json:"created"`
Deleteprotection bool `json:"deleteprotection"`
Details map[string]string `json:"details"`
Diskioread int64 `json:"diskioread"`
Diskiowrite int64 `json:"diskiowrite"`
Diskkbsread int64 `json:"diskkbsread"`
Diskkbswrite int64 `json:"diskkbswrite"`
Diskofferingid string `json:"diskofferingid"`
Diskofferingname string `json:"diskofferingname"`
Displayname string `json:"displayname"`
Displayvm bool `json:"displayvm"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
Haenable bool `json:"haenable"`
Hasannotations bool `json:"hasannotations"`
Hostcontrolstate string `json:"hostcontrolstate"`
Hostid string `json:"hostid"`
Hostname string `json:"hostname"`
Hypervisor string `json:"hypervisor"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
Instancename string `json:"instancename"`
Ipaddress string `json:"ipaddress"`
Isdynamicallyscalable bool `json:"isdynamicallyscalable"`
Isodisplaytext string `json:"isodisplaytext"`
Isoid string `json:"isoid"`
Isoname string `json:"isoname"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
Memorytargetkbs int64 `json:"memorytargetkbs"`
Name string `json:"name"`
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
Pooltype string `json:"pooltype"`
Project string `json:"project"`
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
Readonlydetails string `json:"readonlydetails"`
Receivedbytes int64 `json:"receivedbytes"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []DeployVnfApplianceResponseSecuritygroup `json:"securitygroup"`
Sentbytes int64 `json:"sentbytes"`
Serviceofferingid string `json:"serviceofferingid"`
Serviceofferingname string `json:"serviceofferingname"`
Servicestate string `json:"servicestate"`
State string `json:"state"`
Tags []Tags `json:"tags"`
Templatedisplaytext string `json:"templatedisplaytext"`
Templateformat string `json:"templateformat"`
Templateid string `json:"templateid"`
Templatename string `json:"templatename"`
Templatetype string `json:"templatetype"`
Userdata string `json:"userdata"`
Userdatadetails string `json:"userdatadetails"`
Userdataid string `json:"userdataid"`
Userdataname string `json:"userdataname"`
Userdatapolicy string `json:"userdatapolicy"`
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
type DeployVnfApplianceResponseSecuritygroup struct {
Account string `json:"account"`
Description string `json:"description"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Egressrule []DeployVnfApplianceResponseSecuritygroupRule `json:"egressrule"`
Id string `json:"id"`
Ingressrule []DeployVnfApplianceResponseSecuritygroupRule `json:"ingressrule"`
Name string `json:"name"`
Project string `json:"project"`
Projectid string `json:"projectid"`
Tags []Tags `json:"tags"`
Virtualmachinecount int `json:"virtualmachinecount"`
Virtualmachineids []interface{} `json:"virtualmachineids"`
}
type DeployVnfApplianceResponseSecuritygroupRule struct {
Account string `json:"account"`
Cidr string `json:"cidr"`
Endport int `json:"endport"`
Icmpcode int `json:"icmpcode"`
Icmptype int `json:"icmptype"`
Protocol string `json:"protocol"`
Ruleid string `json:"ruleid"`
Securitygroupname string `json:"securitygroupname"`
Startport int `json:"startport"`
Tags []Tags `json:"tags"`
}
type DeployVnfApplianceResponseAffinitygroup struct {
Account string `json:"account"`
Dedicatedresources []string `json:"dedicatedresources"`
Description string `json:"description"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Id string `json:"id"`
Name string `json:"name"`
Project string `json:"project"`
Projectid string `json:"projectid"`
Type string `json:"type"`
VirtualmachineIds []string `json:"virtualmachineIds"`
}
func (r *DeployVnfApplianceResponse) UnmarshalJSON(b []byte) error {
var m map[string]interface{}
err := json.Unmarshal(b, &m)
if err != nil {
return err
}
if success, ok := m["success"].(string); ok {
m["success"] = success == "true"
b, err = json.Marshal(m)
if err != nil {
return err
}
}
if ostypeid, ok := m["ostypeid"].(float64); ok {
m["ostypeid"] = strconv.Itoa(int(ostypeid))
b, err = json.Marshal(m)
if err != nil {
return err
}
}
type alias DeployVnfApplianceResponse
return json.Unmarshal(b, (*alias)(r))
}
type ListVnfAppliancesParams struct {
p map[string]interface{}
}
func (p *ListVnfAppliancesParams) 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["accumulate"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("accumulate", vv)
}
if v, found := p.p["affinitygroupid"]; found {
u.Set("affinitygroupid", v.(string))
}
if v, found := p.p["autoscalevmgroupid"]; found {
u.Set("autoscalevmgroupid", v.(string))
}
if v, found := p.p["backupofferingid"]; found {
u.Set("backupofferingid", v.(string))
}
if v, found := p.p["details"]; found {
vv := strings.Join(v.([]string), ",")
u.Set("details", vv)
}
if v, found := p.p["displayvm"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("displayvm", vv)
}
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
if v, found := p.p["forvirtualnetwork"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("forvirtualnetwork", vv)
}
if v, found := p.p["groupid"]; found {
u.Set("groupid", v.(string))
}
if v, found := p.p["haenable"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("haenable", vv)
}
if v, found := p.p["hypervisor"]; found {
u.Set("hypervisor", v.(string))
}
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
if v, found := p.p["ids"]; found {
vv := strings.Join(v.([]string), ",")
u.Set("ids", vv)
}
if v, found := p.p["isoid"]; found {
u.Set("isoid", v.(string))
}
if v, found := p.p["isrecursive"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("isrecursive", vv)
}
if v, found := p.p["isvnf"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("isvnf", vv)
}
if v, found := p.p["keypair"]; found {
u.Set("keypair", v.(string))
}
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["networkid"]; found {
u.Set("networkid", 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["retrieveonlyresourcecount"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("retrieveonlyresourcecount", vv)
}
if v, found := p.p["securitygroupid"]; found {
u.Set("securitygroupid", v.(string))
}
if v, found := p.p["serviceofferingid"]; found {
u.Set("serviceofferingid", v.(string))
}
if v, found := p.p["showicon"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("showicon", vv)
}
if v, found := p.p["state"]; found {
u.Set("state", v.(string))
}
if v, found := p.p["tags"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
u.Set(fmt.Sprintf("tags[%d].key", i), k)
u.Set(fmt.Sprintf("tags[%d].value", i), m[k])
}
}
if v, found := p.p["templateid"]; found {
u.Set("templateid", v.(string))
}
if v, found := p.p["userdata"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("userdata", vv)
}
if v, found := p.p["userid"]; found {
u.Set("userid", v.(string))
}
if v, found := p.p["vpcid"]; found {
u.Set("vpcid", v.(string))
}
if v, found := p.p["zoneid"]; found {
u.Set("zoneid", v.(string))
}
return u
}
func (p *ListVnfAppliancesParams) SetAccount(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["account"] = v
}
func (p *ListVnfAppliancesParams) ResetAccount() {
if p.p != nil && p.p["account"] != nil {
delete(p.p, "account")
}
}
func (p *ListVnfAppliancesParams) GetAccount() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["account"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetAccumulate(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["accumulate"] = v
}
func (p *ListVnfAppliancesParams) ResetAccumulate() {
if p.p != nil && p.p["accumulate"] != nil {
delete(p.p, "accumulate")
}
}
func (p *ListVnfAppliancesParams) GetAccumulate() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["accumulate"].(bool)
return value, ok
}
func (p *ListVnfAppliancesParams) SetAffinitygroupid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["affinitygroupid"] = v
}
func (p *ListVnfAppliancesParams) ResetAffinitygroupid() {
if p.p != nil && p.p["affinitygroupid"] != nil {
delete(p.p, "affinitygroupid")
}
}
func (p *ListVnfAppliancesParams) GetAffinitygroupid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["affinitygroupid"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetAutoscalevmgroupid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["autoscalevmgroupid"] = v
}
func (p *ListVnfAppliancesParams) ResetAutoscalevmgroupid() {
if p.p != nil && p.p["autoscalevmgroupid"] != nil {
delete(p.p, "autoscalevmgroupid")
}
}
func (p *ListVnfAppliancesParams) GetAutoscalevmgroupid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["autoscalevmgroupid"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetBackupofferingid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["backupofferingid"] = v
}
func (p *ListVnfAppliancesParams) ResetBackupofferingid() {
if p.p != nil && p.p["backupofferingid"] != nil {
delete(p.p, "backupofferingid")
}
}
func (p *ListVnfAppliancesParams) GetBackupofferingid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["backupofferingid"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetDetails(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["details"] = v
}
func (p *ListVnfAppliancesParams) ResetDetails() {
if p.p != nil && p.p["details"] != nil {
delete(p.p, "details")
}
}
func (p *ListVnfAppliancesParams) GetDetails() ([]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["details"].([]string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetDisplayvm(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["displayvm"] = v
}
func (p *ListVnfAppliancesParams) ResetDisplayvm() {
if p.p != nil && p.p["displayvm"] != nil {
delete(p.p, "displayvm")
}
}
func (p *ListVnfAppliancesParams) GetDisplayvm() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["displayvm"].(bool)
return value, ok
}
func (p *ListVnfAppliancesParams) SetDomainid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["domainid"] = v
}
func (p *ListVnfAppliancesParams) ResetDomainid() {
if p.p != nil && p.p["domainid"] != nil {
delete(p.p, "domainid")
}
}
func (p *ListVnfAppliancesParams) GetDomainid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["domainid"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetForvirtualnetwork(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["forvirtualnetwork"] = v
}
func (p *ListVnfAppliancesParams) ResetForvirtualnetwork() {
if p.p != nil && p.p["forvirtualnetwork"] != nil {
delete(p.p, "forvirtualnetwork")
}
}
func (p *ListVnfAppliancesParams) GetForvirtualnetwork() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["forvirtualnetwork"].(bool)
return value, ok
}
func (p *ListVnfAppliancesParams) SetGroupid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["groupid"] = v
}
func (p *ListVnfAppliancesParams) ResetGroupid() {
if p.p != nil && p.p["groupid"] != nil {
delete(p.p, "groupid")
}
}
func (p *ListVnfAppliancesParams) GetGroupid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["groupid"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetHaenable(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["haenable"] = v
}
func (p *ListVnfAppliancesParams) ResetHaenable() {
if p.p != nil && p.p["haenable"] != nil {
delete(p.p, "haenable")
}
}
func (p *ListVnfAppliancesParams) GetHaenable() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["haenable"].(bool)
return value, ok
}
func (p *ListVnfAppliancesParams) SetHypervisor(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["hypervisor"] = v
}
func (p *ListVnfAppliancesParams) ResetHypervisor() {
if p.p != nil && p.p["hypervisor"] != nil {
delete(p.p, "hypervisor")
}
}
func (p *ListVnfAppliancesParams) GetHypervisor() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["hypervisor"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetId(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["id"] = v
}
func (p *ListVnfAppliancesParams) ResetId() {
if p.p != nil && p.p["id"] != nil {
delete(p.p, "id")
}
}
func (p *ListVnfAppliancesParams) GetId() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["id"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetIds(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["ids"] = v
}
func (p *ListVnfAppliancesParams) ResetIds() {
if p.p != nil && p.p["ids"] != nil {
delete(p.p, "ids")
}
}
func (p *ListVnfAppliancesParams) GetIds() ([]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["ids"].([]string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetIsoid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["isoid"] = v
}
func (p *ListVnfAppliancesParams) ResetIsoid() {
if p.p != nil && p.p["isoid"] != nil {
delete(p.p, "isoid")
}
}
func (p *ListVnfAppliancesParams) GetIsoid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["isoid"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetIsrecursive(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["isrecursive"] = v
}
func (p *ListVnfAppliancesParams) ResetIsrecursive() {
if p.p != nil && p.p["isrecursive"] != nil {
delete(p.p, "isrecursive")
}
}
func (p *ListVnfAppliancesParams) GetIsrecursive() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["isrecursive"].(bool)
return value, ok
}
func (p *ListVnfAppliancesParams) SetIsvnf(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["isvnf"] = v
}
func (p *ListVnfAppliancesParams) ResetIsvnf() {
if p.p != nil && p.p["isvnf"] != nil {
delete(p.p, "isvnf")
}
}
func (p *ListVnfAppliancesParams) GetIsvnf() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["isvnf"].(bool)
return value, ok
}
func (p *ListVnfAppliancesParams) SetKeypair(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["keypair"] = v
}
func (p *ListVnfAppliancesParams) ResetKeypair() {
if p.p != nil && p.p["keypair"] != nil {
delete(p.p, "keypair")
}
}
func (p *ListVnfAppliancesParams) GetKeypair() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["keypair"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetKeyword(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["keyword"] = v
}
func (p *ListVnfAppliancesParams) ResetKeyword() {
if p.p != nil && p.p["keyword"] != nil {
delete(p.p, "keyword")
}
}
func (p *ListVnfAppliancesParams) GetKeyword() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["keyword"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetListall(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["listall"] = v
}
func (p *ListVnfAppliancesParams) ResetListall() {
if p.p != nil && p.p["listall"] != nil {
delete(p.p, "listall")
}
}
func (p *ListVnfAppliancesParams) GetListall() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["listall"].(bool)
return value, ok
}
func (p *ListVnfAppliancesParams) SetName(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["name"] = v
}
func (p *ListVnfAppliancesParams) ResetName() {
if p.p != nil && p.p["name"] != nil {
delete(p.p, "name")
}
}
func (p *ListVnfAppliancesParams) GetName() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["name"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetNetworkid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["networkid"] = v
}
func (p *ListVnfAppliancesParams) ResetNetworkid() {
if p.p != nil && p.p["networkid"] != nil {
delete(p.p, "networkid")
}
}
func (p *ListVnfAppliancesParams) GetNetworkid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["networkid"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetPage(v int) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["page"] = v
}
func (p *ListVnfAppliancesParams) ResetPage() {
if p.p != nil && p.p["page"] != nil {
delete(p.p, "page")
}
}
func (p *ListVnfAppliancesParams) GetPage() (int, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["page"].(int)
return value, ok
}
func (p *ListVnfAppliancesParams) SetPagesize(v int) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["pagesize"] = v
}
func (p *ListVnfAppliancesParams) ResetPagesize() {
if p.p != nil && p.p["pagesize"] != nil {
delete(p.p, "pagesize")
}
}
func (p *ListVnfAppliancesParams) GetPagesize() (int, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["pagesize"].(int)
return value, ok
}
func (p *ListVnfAppliancesParams) SetProjectid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["projectid"] = v
}
func (p *ListVnfAppliancesParams) ResetProjectid() {
if p.p != nil && p.p["projectid"] != nil {
delete(p.p, "projectid")
}
}
func (p *ListVnfAppliancesParams) GetProjectid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["projectid"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetRetrieveonlyresourcecount(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["retrieveonlyresourcecount"] = v
}
func (p *ListVnfAppliancesParams) ResetRetrieveonlyresourcecount() {
if p.p != nil && p.p["retrieveonlyresourcecount"] != nil {
delete(p.p, "retrieveonlyresourcecount")
}
}
func (p *ListVnfAppliancesParams) GetRetrieveonlyresourcecount() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["retrieveonlyresourcecount"].(bool)
return value, ok
}
func (p *ListVnfAppliancesParams) SetSecuritygroupid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["securitygroupid"] = v
}
func (p *ListVnfAppliancesParams) ResetSecuritygroupid() {
if p.p != nil && p.p["securitygroupid"] != nil {
delete(p.p, "securitygroupid")
}
}
func (p *ListVnfAppliancesParams) GetSecuritygroupid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["securitygroupid"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetServiceofferingid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["serviceofferingid"] = v
}
func (p *ListVnfAppliancesParams) ResetServiceofferingid() {
if p.p != nil && p.p["serviceofferingid"] != nil {
delete(p.p, "serviceofferingid")
}
}
func (p *ListVnfAppliancesParams) GetServiceofferingid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["serviceofferingid"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetShowicon(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["showicon"] = v
}
func (p *ListVnfAppliancesParams) ResetShowicon() {
if p.p != nil && p.p["showicon"] != nil {
delete(p.p, "showicon")
}
}
func (p *ListVnfAppliancesParams) GetShowicon() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["showicon"].(bool)
return value, ok
}
func (p *ListVnfAppliancesParams) SetState(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["state"] = v
}
func (p *ListVnfAppliancesParams) ResetState() {
if p.p != nil && p.p["state"] != nil {
delete(p.p, "state")
}
}
func (p *ListVnfAppliancesParams) GetState() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["state"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetTags(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["tags"] = v
}
func (p *ListVnfAppliancesParams) ResetTags() {
if p.p != nil && p.p["tags"] != nil {
delete(p.p, "tags")
}
}
func (p *ListVnfAppliancesParams) GetTags() (map[string]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["tags"].(map[string]string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetTemplateid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["templateid"] = v
}
func (p *ListVnfAppliancesParams) ResetTemplateid() {
if p.p != nil && p.p["templateid"] != nil {
delete(p.p, "templateid")
}
}
func (p *ListVnfAppliancesParams) GetTemplateid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["templateid"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetUserdata(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["userdata"] = v
}
func (p *ListVnfAppliancesParams) ResetUserdata() {
if p.p != nil && p.p["userdata"] != nil {
delete(p.p, "userdata")
}
}
func (p *ListVnfAppliancesParams) GetUserdata() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["userdata"].(bool)
return value, ok
}
func (p *ListVnfAppliancesParams) SetUserid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["userid"] = v
}
func (p *ListVnfAppliancesParams) ResetUserid() {
if p.p != nil && p.p["userid"] != nil {
delete(p.p, "userid")
}
}
func (p *ListVnfAppliancesParams) GetUserid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["userid"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetVpcid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["vpcid"] = v
}
func (p *ListVnfAppliancesParams) ResetVpcid() {
if p.p != nil && p.p["vpcid"] != nil {
delete(p.p, "vpcid")
}
}
func (p *ListVnfAppliancesParams) GetVpcid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["vpcid"].(string)
return value, ok
}
func (p *ListVnfAppliancesParams) SetZoneid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["zoneid"] = v
}
func (p *ListVnfAppliancesParams) ResetZoneid() {
if p.p != nil && p.p["zoneid"] != nil {
delete(p.p, "zoneid")
}
}
func (p *ListVnfAppliancesParams) 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 ListVnfAppliancesParams instance,
// as then you are sure you have configured all required params
func (s *VirtualNetworkFunctionsService) NewListVnfAppliancesParams() *ListVnfAppliancesParams {
p := &ListVnfAppliancesParams{}
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 *VirtualNetworkFunctionsService) GetVnfApplianceID(name string, opts ...OptionFunc) (string, int, error) {
p := &ListVnfAppliancesParams{}
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.ListVnfAppliances(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.VnfAppliances[0].Id, l.Count, nil
}
if l.Count > 1 {
for _, v := range l.VnfAppliances {
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 *VirtualNetworkFunctionsService) GetVnfApplianceByName(name string, opts ...OptionFunc) (*VnfAppliance, int, error) {
id, count, err := s.GetVnfApplianceID(name, opts...)
if err != nil {
return nil, count, err
}
r, count, err := s.GetVnfApplianceByID(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 *VirtualNetworkFunctionsService) GetVnfApplianceByID(id string, opts ...OptionFunc) (*VnfAppliance, int, error) {
p := &ListVnfAppliancesParams{}
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.ListVnfAppliances(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.VnfAppliances[0], l.Count, nil
}
return nil, l.Count, fmt.Errorf("There is more then one result for VnfAppliance UUID: %s!", id)
}
// List VNF appliance owned by the account.
func (s *VirtualNetworkFunctionsService) ListVnfAppliances(p *ListVnfAppliancesParams) (*ListVnfAppliancesResponse, error) {
resp, err := s.cs.newRequest("listVnfAppliances", p.toURLValues())
if err != nil {
return nil, err
}
var r ListVnfAppliancesResponse
if err := json.Unmarshal(resp, &r); err != nil {
return nil, err
}
return &r, nil
}
type ListVnfAppliancesResponse struct {
Count int `json:"count"`
VnfAppliances []*VnfAppliance `json:"vnfappliance"`
}
type VnfAppliance struct {
Account string `json:"account"`
Affinitygroup []VnfApplianceAffinitygroup `json:"affinitygroup"`
Autoscalevmgroupid string `json:"autoscalevmgroupid"`
Autoscalevmgroupname string `json:"autoscalevmgroupname"`
Backupofferingid string `json:"backupofferingid"`
Backupofferingname string `json:"backupofferingname"`
Bootmode string `json:"bootmode"`
Boottype string `json:"boottype"`
Cpunumber int `json:"cpunumber"`
Cpuspeed int `json:"cpuspeed"`
Cpuused string `json:"cpuused"`
Created string `json:"created"`
Deleteprotection bool `json:"deleteprotection"`
Details map[string]string `json:"details"`
Diskioread int64 `json:"diskioread"`
Diskiowrite int64 `json:"diskiowrite"`
Diskkbsread int64 `json:"diskkbsread"`
Diskkbswrite int64 `json:"diskkbswrite"`
Diskofferingid string `json:"diskofferingid"`
Diskofferingname string `json:"diskofferingname"`
Displayname string `json:"displayname"`
Displayvm bool `json:"displayvm"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Forvirtualnetwork bool `json:"forvirtualnetwork"`
Group string `json:"group"`
Groupid string `json:"groupid"`
Guestosid string `json:"guestosid"`
Haenable bool `json:"haenable"`
Hasannotations bool `json:"hasannotations"`
Hostcontrolstate string `json:"hostcontrolstate"`
Hostid string `json:"hostid"`
Hostname string `json:"hostname"`
Hypervisor string `json:"hypervisor"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
Instancename string `json:"instancename"`
Ipaddress string `json:"ipaddress"`
Isdynamicallyscalable bool `json:"isdynamicallyscalable"`
Isodisplaytext string `json:"isodisplaytext"`
Isoid string `json:"isoid"`
Isoname string `json:"isoname"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Keypairs string `json:"keypairs"`
Lastupdated string `json:"lastupdated"`
Memory int `json:"memory"`
Memoryintfreekbs int64 `json:"memoryintfreekbs"`
Memorykbs int64 `json:"memorykbs"`
Memorytargetkbs int64 `json:"memorytargetkbs"`
Name string `json:"name"`
Networkkbsread int64 `json:"networkkbsread"`
Networkkbswrite int64 `json:"networkkbswrite"`
Nic []Nic `json:"nic"`
Osdisplayname string `json:"osdisplayname"`
Ostypeid string `json:"ostypeid"`
Password string `json:"password"`
Passwordenabled bool `json:"passwordenabled"`
Pooltype string `json:"pooltype"`
Project string `json:"project"`
Projectid string `json:"projectid"`
Publicip string `json:"publicip"`
Publicipid string `json:"publicipid"`
Readonlydetails string `json:"readonlydetails"`
Receivedbytes int64 `json:"receivedbytes"`
Rootdeviceid int64 `json:"rootdeviceid"`
Rootdevicetype string `json:"rootdevicetype"`
Securitygroup []VnfApplianceSecuritygroup `json:"securitygroup"`
Sentbytes int64 `json:"sentbytes"`
Serviceofferingid string `json:"serviceofferingid"`
Serviceofferingname string `json:"serviceofferingname"`
Servicestate string `json:"servicestate"`
State string `json:"state"`
Tags []Tags `json:"tags"`
Templatedisplaytext string `json:"templatedisplaytext"`
Templateformat string `json:"templateformat"`
Templateid string `json:"templateid"`
Templatename string `json:"templatename"`
Templatetype string `json:"templatetype"`
Userdata string `json:"userdata"`
Userdatadetails string `json:"userdatadetails"`
Userdataid string `json:"userdataid"`
Userdataname string `json:"userdataname"`
Userdatapolicy string `json:"userdatapolicy"`
Userid string `json:"userid"`
Username string `json:"username"`
Vgpu string `json:"vgpu"`
Vmtype string `json:"vmtype"`
Vnfdetails map[string]string `json:"vnfdetails"`
Vnfnics []string `json:"vnfnics"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
type VnfApplianceSecuritygroup struct {
Account string `json:"account"`
Description string `json:"description"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Egressrule []VnfApplianceSecuritygroupRule `json:"egressrule"`
Id string `json:"id"`
Ingressrule []VnfApplianceSecuritygroupRule `json:"ingressrule"`
Name string `json:"name"`
Project string `json:"project"`
Projectid string `json:"projectid"`
Tags []Tags `json:"tags"`
Virtualmachinecount int `json:"virtualmachinecount"`
Virtualmachineids []interface{} `json:"virtualmachineids"`
}
type VnfApplianceSecuritygroupRule struct {
Account string `json:"account"`
Cidr string `json:"cidr"`
Endport int `json:"endport"`
Icmpcode int `json:"icmpcode"`
Icmptype int `json:"icmptype"`
Protocol string `json:"protocol"`
Ruleid string `json:"ruleid"`
Securitygroupname string `json:"securitygroupname"`
Startport int `json:"startport"`
Tags []Tags `json:"tags"`
}
type VnfApplianceAffinitygroup struct {
Account string `json:"account"`
Dedicatedresources []string `json:"dedicatedresources"`
Description string `json:"description"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Id string `json:"id"`
Name string `json:"name"`
Project string `json:"project"`
Projectid string `json:"projectid"`
Type string `json:"type"`
VirtualmachineIds []string `json:"virtualmachineIds"`
}
func (r *VnfAppliance) UnmarshalJSON(b []byte) error {
var m map[string]interface{}
err := json.Unmarshal(b, &m)
if err != nil {
return err
}
if success, ok := m["success"].(string); ok {
m["success"] = success == "true"
b, err = json.Marshal(m)
if err != nil {
return err
}
}
if ostypeid, ok := m["ostypeid"].(float64); ok {
m["ostypeid"] = strconv.Itoa(int(ostypeid))
b, err = json.Marshal(m)
if err != nil {
return err
}
}
type alias VnfAppliance
return json.Unmarshal(b, (*alias)(r))
}
type ListVnfTemplatesParams struct {
p map[string]interface{}
}
func (p *ListVnfTemplatesParams) 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["arch"]; found {
u.Set("arch", v.(string))
}
if v, found := p.p["details"]; found {
vv := strings.Join(v.([]string), ",")
u.Set("details", vv)
}
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
if v, found := p.p["hypervisor"]; found {
u.Set("hypervisor", v.(string))
}
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
if v, found := p.p["ids"]; found {
vv := strings.Join(v.([]string), ",")
u.Set("ids", vv)
}
if v, found := p.p["isrecursive"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("isrecursive", vv)
}
if v, found := p.p["isvnf"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("isvnf", vv)
}
if v, found := p.p["keyword"]; found {
u.Set("keyword", v.(string))
}
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["parenttemplateid"]; found {
u.Set("parenttemplateid", v.(string))
}
if v, found := p.p["projectid"]; found {
u.Set("projectid", v.(string))
}
if v, found := p.p["showicon"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("showicon", vv)
}
if v, found := p.p["showremoved"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("showremoved", vv)
}
if v, found := p.p["showunique"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("showunique", vv)
}
if v, found := p.p["tags"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
u.Set(fmt.Sprintf("tags[%d].key", i), k)
u.Set(fmt.Sprintf("tags[%d].value", i), m[k])
}
}
if v, found := p.p["templatefilter"]; found {
u.Set("templatefilter", v.(string))
}
if v, found := p.p["templatetype"]; found {
u.Set("templatetype", v.(string))
}
if v, found := p.p["zoneid"]; found {
u.Set("zoneid", v.(string))
}
return u
}
func (p *ListVnfTemplatesParams) SetAccount(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["account"] = v
}
func (p *ListVnfTemplatesParams) ResetAccount() {
if p.p != nil && p.p["account"] != nil {
delete(p.p, "account")
}
}
func (p *ListVnfTemplatesParams) GetAccount() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["account"].(string)
return value, ok
}
func (p *ListVnfTemplatesParams) SetArch(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["arch"] = v
}
func (p *ListVnfTemplatesParams) ResetArch() {
if p.p != nil && p.p["arch"] != nil {
delete(p.p, "arch")
}
}
func (p *ListVnfTemplatesParams) GetArch() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["arch"].(string)
return value, ok
}
func (p *ListVnfTemplatesParams) SetDetails(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["details"] = v
}
func (p *ListVnfTemplatesParams) ResetDetails() {
if p.p != nil && p.p["details"] != nil {
delete(p.p, "details")
}
}
func (p *ListVnfTemplatesParams) GetDetails() ([]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["details"].([]string)
return value, ok
}
func (p *ListVnfTemplatesParams) SetDomainid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["domainid"] = v
}
func (p *ListVnfTemplatesParams) ResetDomainid() {
if p.p != nil && p.p["domainid"] != nil {
delete(p.p, "domainid")
}
}
func (p *ListVnfTemplatesParams) GetDomainid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["domainid"].(string)
return value, ok
}
func (p *ListVnfTemplatesParams) SetHypervisor(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["hypervisor"] = v
}
func (p *ListVnfTemplatesParams) ResetHypervisor() {
if p.p != nil && p.p["hypervisor"] != nil {
delete(p.p, "hypervisor")
}
}
func (p *ListVnfTemplatesParams) GetHypervisor() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["hypervisor"].(string)
return value, ok
}
func (p *ListVnfTemplatesParams) SetId(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["id"] = v
}
func (p *ListVnfTemplatesParams) ResetId() {
if p.p != nil && p.p["id"] != nil {
delete(p.p, "id")
}
}
func (p *ListVnfTemplatesParams) GetId() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["id"].(string)
return value, ok
}
func (p *ListVnfTemplatesParams) SetIds(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["ids"] = v
}
func (p *ListVnfTemplatesParams) ResetIds() {
if p.p != nil && p.p["ids"] != nil {
delete(p.p, "ids")
}
}
func (p *ListVnfTemplatesParams) GetIds() ([]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["ids"].([]string)
return value, ok
}
func (p *ListVnfTemplatesParams) SetIsrecursive(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["isrecursive"] = v
}
func (p *ListVnfTemplatesParams) ResetIsrecursive() {
if p.p != nil && p.p["isrecursive"] != nil {
delete(p.p, "isrecursive")
}
}
func (p *ListVnfTemplatesParams) GetIsrecursive() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["isrecursive"].(bool)
return value, ok
}
func (p *ListVnfTemplatesParams) SetIsvnf(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["isvnf"] = v
}
func (p *ListVnfTemplatesParams) ResetIsvnf() {
if p.p != nil && p.p["isvnf"] != nil {
delete(p.p, "isvnf")
}
}
func (p *ListVnfTemplatesParams) GetIsvnf() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["isvnf"].(bool)
return value, ok
}
func (p *ListVnfTemplatesParams) SetKeyword(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["keyword"] = v
}
func (p *ListVnfTemplatesParams) ResetKeyword() {
if p.p != nil && p.p["keyword"] != nil {
delete(p.p, "keyword")
}
}
func (p *ListVnfTemplatesParams) GetKeyword() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["keyword"].(string)
return value, ok
}
func (p *ListVnfTemplatesParams) SetListall(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["listall"] = v
}
func (p *ListVnfTemplatesParams) ResetListall() {
if p.p != nil && p.p["listall"] != nil {
delete(p.p, "listall")
}
}
func (p *ListVnfTemplatesParams) GetListall() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["listall"].(bool)
return value, ok
}
func (p *ListVnfTemplatesParams) SetName(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["name"] = v
}
func (p *ListVnfTemplatesParams) ResetName() {
if p.p != nil && p.p["name"] != nil {
delete(p.p, "name")
}
}
func (p *ListVnfTemplatesParams) GetName() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["name"].(string)
return value, ok
}
func (p *ListVnfTemplatesParams) SetPage(v int) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["page"] = v
}
func (p *ListVnfTemplatesParams) ResetPage() {
if p.p != nil && p.p["page"] != nil {
delete(p.p, "page")
}
}
func (p *ListVnfTemplatesParams) GetPage() (int, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["page"].(int)
return value, ok
}
func (p *ListVnfTemplatesParams) SetPagesize(v int) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["pagesize"] = v
}
func (p *ListVnfTemplatesParams) ResetPagesize() {
if p.p != nil && p.p["pagesize"] != nil {
delete(p.p, "pagesize")
}
}
func (p *ListVnfTemplatesParams) GetPagesize() (int, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["pagesize"].(int)
return value, ok
}
func (p *ListVnfTemplatesParams) SetParenttemplateid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["parenttemplateid"] = v
}
func (p *ListVnfTemplatesParams) ResetParenttemplateid() {
if p.p != nil && p.p["parenttemplateid"] != nil {
delete(p.p, "parenttemplateid")
}
}
func (p *ListVnfTemplatesParams) GetParenttemplateid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["parenttemplateid"].(string)
return value, ok
}
func (p *ListVnfTemplatesParams) SetProjectid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["projectid"] = v
}
func (p *ListVnfTemplatesParams) ResetProjectid() {
if p.p != nil && p.p["projectid"] != nil {
delete(p.p, "projectid")
}
}
func (p *ListVnfTemplatesParams) GetProjectid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["projectid"].(string)
return value, ok
}
func (p *ListVnfTemplatesParams) SetShowicon(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["showicon"] = v
}
func (p *ListVnfTemplatesParams) ResetShowicon() {
if p.p != nil && p.p["showicon"] != nil {
delete(p.p, "showicon")
}
}
func (p *ListVnfTemplatesParams) GetShowicon() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["showicon"].(bool)
return value, ok
}
func (p *ListVnfTemplatesParams) SetShowremoved(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["showremoved"] = v
}
func (p *ListVnfTemplatesParams) ResetShowremoved() {
if p.p != nil && p.p["showremoved"] != nil {
delete(p.p, "showremoved")
}
}
func (p *ListVnfTemplatesParams) GetShowremoved() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["showremoved"].(bool)
return value, ok
}
func (p *ListVnfTemplatesParams) SetShowunique(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["showunique"] = v
}
func (p *ListVnfTemplatesParams) ResetShowunique() {
if p.p != nil && p.p["showunique"] != nil {
delete(p.p, "showunique")
}
}
func (p *ListVnfTemplatesParams) GetShowunique() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["showunique"].(bool)
return value, ok
}
func (p *ListVnfTemplatesParams) SetTags(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["tags"] = v
}
func (p *ListVnfTemplatesParams) ResetTags() {
if p.p != nil && p.p["tags"] != nil {
delete(p.p, "tags")
}
}
func (p *ListVnfTemplatesParams) GetTags() (map[string]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["tags"].(map[string]string)
return value, ok
}
func (p *ListVnfTemplatesParams) SetTemplatefilter(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["templatefilter"] = v
}
func (p *ListVnfTemplatesParams) ResetTemplatefilter() {
if p.p != nil && p.p["templatefilter"] != nil {
delete(p.p, "templatefilter")
}
}
func (p *ListVnfTemplatesParams) GetTemplatefilter() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["templatefilter"].(string)
return value, ok
}
func (p *ListVnfTemplatesParams) SetTemplatetype(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["templatetype"] = v
}
func (p *ListVnfTemplatesParams) ResetTemplatetype() {
if p.p != nil && p.p["templatetype"] != nil {
delete(p.p, "templatetype")
}
}
func (p *ListVnfTemplatesParams) GetTemplatetype() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["templatetype"].(string)
return value, ok
}
func (p *ListVnfTemplatesParams) SetZoneid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["zoneid"] = v
}
func (p *ListVnfTemplatesParams) ResetZoneid() {
if p.p != nil && p.p["zoneid"] != nil {
delete(p.p, "zoneid")
}
}
func (p *ListVnfTemplatesParams) 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 ListVnfTemplatesParams instance,
// as then you are sure you have configured all required params
func (s *VirtualNetworkFunctionsService) NewListVnfTemplatesParams(templatefilter string) *ListVnfTemplatesParams {
p := &ListVnfTemplatesParams{}
p.p = make(map[string]interface{})
p.p["templatefilter"] = templatefilter
return p
}
// This is a courtesy helper function, which in some cases may not work as expected!
func (s *VirtualNetworkFunctionsService) GetVnfTemplateID(name string, templatefilter string, opts ...OptionFunc) (string, int, error) {
p := &ListVnfTemplatesParams{}
p.p = make(map[string]interface{})
p.p["name"] = name
p.p["templatefilter"] = templatefilter
for _, fn := range append(s.cs.options, opts...) {
if err := fn(s.cs, p); err != nil {
return "", -1, err
}
}
l, err := s.ListVnfTemplates(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.VnfTemplates[0].Id, l.Count, nil
}
if l.Count > 1 {
for _, v := range l.VnfTemplates {
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 *VirtualNetworkFunctionsService) GetVnfTemplateByName(name string, templatefilter string, opts ...OptionFunc) (*VnfTemplate, int, error) {
id, count, err := s.GetVnfTemplateID(name, templatefilter, opts...)
if err != nil {
return nil, count, err
}
r, count, err := s.GetVnfTemplateByID(id, templatefilter, 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 *VirtualNetworkFunctionsService) GetVnfTemplateByID(id string, templatefilter string, opts ...OptionFunc) (*VnfTemplate, int, error) {
p := &ListVnfTemplatesParams{}
p.p = make(map[string]interface{})
p.p["id"] = id
p.p["templatefilter"] = templatefilter
for _, fn := range append(s.cs.options, opts...) {
if err := fn(s.cs, p); err != nil {
return nil, -1, err
}
}
l, err := s.ListVnfTemplates(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.VnfTemplates[0], l.Count, nil
}
return nil, l.Count, fmt.Errorf("There is more then one result for VnfTemplate UUID: %s!", id)
}
// List all public, private, and privileged VNF templates.
func (s *VirtualNetworkFunctionsService) ListVnfTemplates(p *ListVnfTemplatesParams) (*ListVnfTemplatesResponse, error) {
resp, err := s.cs.newRequest("listVnfTemplates", p.toURLValues())
if err != nil {
return nil, err
}
var r ListVnfTemplatesResponse
if err := json.Unmarshal(resp, &r); err != nil {
return nil, err
}
return &r, nil
}
type ListVnfTemplatesResponse struct {
Count int `json:"count"`
VnfTemplates []*VnfTemplate `json:"vnftemplate"`
}
type VnfTemplate struct {
Account string `json:"account"`
Accountid string `json:"accountid"`
Arch string `json:"arch"`
Bits int `json:"bits"`
Bootable bool `json:"bootable"`
Checksum string `json:"checksum"`
Childtemplates []interface{} `json:"childtemplates"`
Created string `json:"created"`
CrossZones bool `json:"crossZones"`
Deployasis bool `json:"deployasis"`
Deployasisdetails map[string]string `json:"deployasisdetails"`
Details map[string]string `json:"details"`
Directdownload bool `json:"directdownload"`
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Downloaddetails []map[string]string `json:"downloaddetails"`
Format string `json:"format"`
Hasannotations bool `json:"hasannotations"`
Hostid string `json:"hostid"`
Hostname string `json:"hostname"`
Hypervisor string `json:"hypervisor"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
Isdynamicallyscalable bool `json:"isdynamicallyscalable"`
Isextractable bool `json:"isextractable"`
Isfeatured bool `json:"isfeatured"`
Ispublic bool `json:"ispublic"`
Isready bool `json:"isready"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Name string `json:"name"`
Ostypeid string `json:"ostypeid"`
Ostypename string `json:"ostypename"`
Parenttemplateid string `json:"parenttemplateid"`
Passwordenabled bool `json:"passwordenabled"`
Physicalsize int64 `json:"physicalsize"`
Project string `json:"project"`
Projectid string `json:"projectid"`
Removed string `json:"removed"`
Requireshvm bool `json:"requireshvm"`
Size int64 `json:"size"`
Sourcetemplateid string `json:"sourcetemplateid"`
Sshkeyenabled bool `json:"sshkeyenabled"`
Status string `json:"status"`
Tags []Tags `json:"tags"`
Templatetag string `json:"templatetag"`
Templatetype string `json:"templatetype"`
Url string `json:"url"`
Userdataid string `json:"userdataid"`
Userdataname string `json:"userdataname"`
Userdataparams string `json:"userdataparams"`
Userdatapolicy string `json:"userdatapolicy"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
func (r *VnfTemplate) UnmarshalJSON(b []byte) error {
var m map[string]interface{}
err := json.Unmarshal(b, &m)
if err != nil {
return err
}
if success, ok := m["success"].(string); ok {
m["success"] = success == "true"
b, err = json.Marshal(m)
if err != nil {
return err
}
}
if ostypeid, ok := m["ostypeid"].(float64); ok {
m["ostypeid"] = strconv.Itoa(int(ostypeid))
b, err = json.Marshal(m)
if err != nil {
return err
}
}
type alias VnfTemplate
return json.Unmarshal(b, (*alias)(r))
}
type RegisterVnfTemplateParams struct {
p map[string]interface{}
}
func (p *RegisterVnfTemplateParams) 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["arch"]; found {
u.Set("arch", v.(string))
}
if v, found := p.p["bits"]; found {
vv := strconv.Itoa(v.(int))
u.Set("bits", vv)
}
if v, found := p.p["checksum"]; found {
u.Set("checksum", v.(string))
}
if v, found := p.p["deployasis"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("deployasis", vv)
}
if v, found := p.p["details"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
u.Set(fmt.Sprintf("details[%d].%s", i, k), m[k])
}
}
if v, found := p.p["directdownload"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("directdownload", vv)
}
if v, found := p.p["displaytext"]; found {
u.Set("displaytext", v.(string))
}
if v, found := p.p["domainid"]; found {
u.Set("domainid", v.(string))
}
if v, found := p.p["format"]; found {
u.Set("format", v.(string))
}
if v, found := p.p["hypervisor"]; found {
u.Set("hypervisor", v.(string))
}
if v, found := p.p["isdynamicallyscalable"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("isdynamicallyscalable", vv)
}
if v, found := p.p["isextractable"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("isextractable", vv)
}
if v, found := p.p["isfeatured"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("isfeatured", vv)
}
if v, found := p.p["ispublic"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("ispublic", vv)
}
if v, found := p.p["isrouting"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("isrouting", vv)
}
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
if v, found := p.p["ostypeid"]; found {
u.Set("ostypeid", v.(string))
}
if v, found := p.p["passwordenabled"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("passwordenabled", vv)
}
if v, found := p.p["projectid"]; found {
u.Set("projectid", v.(string))
}
if v, found := p.p["requireshvm"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("requireshvm", vv)
}
if v, found := p.p["sshkeyenabled"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("sshkeyenabled", vv)
}
if v, found := p.p["templatetag"]; found {
u.Set("templatetag", v.(string))
}
if v, found := p.p["templatetype"]; found {
u.Set("templatetype", v.(string))
}
if v, found := p.p["url"]; found {
u.Set("url", v.(string))
}
if v, found := p.p["vnfdetails"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
u.Set(fmt.Sprintf("vnfdetails[%d].key", i), k)
u.Set(fmt.Sprintf("vnfdetails[%d].value", i), m[k])
}
}
if v, found := p.p["vnfnics"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
u.Set(fmt.Sprintf("vnfnics[%d].key", i), k)
u.Set(fmt.Sprintf("vnfnics[%d].value", i), m[k])
}
}
if v, found := p.p["zoneid"]; found {
u.Set("zoneid", v.(string))
}
if v, found := p.p["zoneids"]; found {
vv := strings.Join(v.([]string), ",")
u.Set("zoneids", vv)
}
return u
}
func (p *RegisterVnfTemplateParams) SetAccount(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["account"] = v
}
func (p *RegisterVnfTemplateParams) ResetAccount() {
if p.p != nil && p.p["account"] != nil {
delete(p.p, "account")
}
}
func (p *RegisterVnfTemplateParams) GetAccount() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["account"].(string)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetArch(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["arch"] = v
}
func (p *RegisterVnfTemplateParams) ResetArch() {
if p.p != nil && p.p["arch"] != nil {
delete(p.p, "arch")
}
}
func (p *RegisterVnfTemplateParams) GetArch() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["arch"].(string)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetBits(v int) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["bits"] = v
}
func (p *RegisterVnfTemplateParams) ResetBits() {
if p.p != nil && p.p["bits"] != nil {
delete(p.p, "bits")
}
}
func (p *RegisterVnfTemplateParams) GetBits() (int, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["bits"].(int)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetChecksum(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["checksum"] = v
}
func (p *RegisterVnfTemplateParams) ResetChecksum() {
if p.p != nil && p.p["checksum"] != nil {
delete(p.p, "checksum")
}
}
func (p *RegisterVnfTemplateParams) GetChecksum() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["checksum"].(string)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetDeployasis(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["deployasis"] = v
}
func (p *RegisterVnfTemplateParams) ResetDeployasis() {
if p.p != nil && p.p["deployasis"] != nil {
delete(p.p, "deployasis")
}
}
func (p *RegisterVnfTemplateParams) GetDeployasis() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["deployasis"].(bool)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetDetails(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["details"] = v
}
func (p *RegisterVnfTemplateParams) ResetDetails() {
if p.p != nil && p.p["details"] != nil {
delete(p.p, "details")
}
}
func (p *RegisterVnfTemplateParams) GetDetails() (map[string]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["details"].(map[string]string)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetDirectdownload(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["directdownload"] = v
}
func (p *RegisterVnfTemplateParams) ResetDirectdownload() {
if p.p != nil && p.p["directdownload"] != nil {
delete(p.p, "directdownload")
}
}
func (p *RegisterVnfTemplateParams) GetDirectdownload() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["directdownload"].(bool)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetDisplaytext(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["displaytext"] = v
}
func (p *RegisterVnfTemplateParams) ResetDisplaytext() {
if p.p != nil && p.p["displaytext"] != nil {
delete(p.p, "displaytext")
}
}
func (p *RegisterVnfTemplateParams) GetDisplaytext() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["displaytext"].(string)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetDomainid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["domainid"] = v
}
func (p *RegisterVnfTemplateParams) ResetDomainid() {
if p.p != nil && p.p["domainid"] != nil {
delete(p.p, "domainid")
}
}
func (p *RegisterVnfTemplateParams) GetDomainid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["domainid"].(string)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetFormat(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["format"] = v
}
func (p *RegisterVnfTemplateParams) ResetFormat() {
if p.p != nil && p.p["format"] != nil {
delete(p.p, "format")
}
}
func (p *RegisterVnfTemplateParams) GetFormat() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["format"].(string)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetHypervisor(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["hypervisor"] = v
}
func (p *RegisterVnfTemplateParams) ResetHypervisor() {
if p.p != nil && p.p["hypervisor"] != nil {
delete(p.p, "hypervisor")
}
}
func (p *RegisterVnfTemplateParams) GetHypervisor() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["hypervisor"].(string)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetIsdynamicallyscalable(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["isdynamicallyscalable"] = v
}
func (p *RegisterVnfTemplateParams) ResetIsdynamicallyscalable() {
if p.p != nil && p.p["isdynamicallyscalable"] != nil {
delete(p.p, "isdynamicallyscalable")
}
}
func (p *RegisterVnfTemplateParams) GetIsdynamicallyscalable() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["isdynamicallyscalable"].(bool)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetIsextractable(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["isextractable"] = v
}
func (p *RegisterVnfTemplateParams) ResetIsextractable() {
if p.p != nil && p.p["isextractable"] != nil {
delete(p.p, "isextractable")
}
}
func (p *RegisterVnfTemplateParams) GetIsextractable() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["isextractable"].(bool)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetIsfeatured(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["isfeatured"] = v
}
func (p *RegisterVnfTemplateParams) ResetIsfeatured() {
if p.p != nil && p.p["isfeatured"] != nil {
delete(p.p, "isfeatured")
}
}
func (p *RegisterVnfTemplateParams) GetIsfeatured() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["isfeatured"].(bool)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetIspublic(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["ispublic"] = v
}
func (p *RegisterVnfTemplateParams) ResetIspublic() {
if p.p != nil && p.p["ispublic"] != nil {
delete(p.p, "ispublic")
}
}
func (p *RegisterVnfTemplateParams) GetIspublic() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["ispublic"].(bool)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetIsrouting(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["isrouting"] = v
}
func (p *RegisterVnfTemplateParams) ResetIsrouting() {
if p.p != nil && p.p["isrouting"] != nil {
delete(p.p, "isrouting")
}
}
func (p *RegisterVnfTemplateParams) GetIsrouting() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["isrouting"].(bool)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetName(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["name"] = v
}
func (p *RegisterVnfTemplateParams) ResetName() {
if p.p != nil && p.p["name"] != nil {
delete(p.p, "name")
}
}
func (p *RegisterVnfTemplateParams) GetName() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["name"].(string)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetOstypeid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["ostypeid"] = v
}
func (p *RegisterVnfTemplateParams) ResetOstypeid() {
if p.p != nil && p.p["ostypeid"] != nil {
delete(p.p, "ostypeid")
}
}
func (p *RegisterVnfTemplateParams) GetOstypeid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["ostypeid"].(string)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetPasswordenabled(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["passwordenabled"] = v
}
func (p *RegisterVnfTemplateParams) ResetPasswordenabled() {
if p.p != nil && p.p["passwordenabled"] != nil {
delete(p.p, "passwordenabled")
}
}
func (p *RegisterVnfTemplateParams) GetPasswordenabled() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["passwordenabled"].(bool)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetProjectid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["projectid"] = v
}
func (p *RegisterVnfTemplateParams) ResetProjectid() {
if p.p != nil && p.p["projectid"] != nil {
delete(p.p, "projectid")
}
}
func (p *RegisterVnfTemplateParams) GetProjectid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["projectid"].(string)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetRequireshvm(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["requireshvm"] = v
}
func (p *RegisterVnfTemplateParams) ResetRequireshvm() {
if p.p != nil && p.p["requireshvm"] != nil {
delete(p.p, "requireshvm")
}
}
func (p *RegisterVnfTemplateParams) GetRequireshvm() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["requireshvm"].(bool)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetSshkeyenabled(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["sshkeyenabled"] = v
}
func (p *RegisterVnfTemplateParams) ResetSshkeyenabled() {
if p.p != nil && p.p["sshkeyenabled"] != nil {
delete(p.p, "sshkeyenabled")
}
}
func (p *RegisterVnfTemplateParams) GetSshkeyenabled() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["sshkeyenabled"].(bool)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetTemplatetag(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["templatetag"] = v
}
func (p *RegisterVnfTemplateParams) ResetTemplatetag() {
if p.p != nil && p.p["templatetag"] != nil {
delete(p.p, "templatetag")
}
}
func (p *RegisterVnfTemplateParams) GetTemplatetag() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["templatetag"].(string)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetTemplatetype(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["templatetype"] = v
}
func (p *RegisterVnfTemplateParams) ResetTemplatetype() {
if p.p != nil && p.p["templatetype"] != nil {
delete(p.p, "templatetype")
}
}
func (p *RegisterVnfTemplateParams) GetTemplatetype() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["templatetype"].(string)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetUrl(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["url"] = v
}
func (p *RegisterVnfTemplateParams) ResetUrl() {
if p.p != nil && p.p["url"] != nil {
delete(p.p, "url")
}
}
func (p *RegisterVnfTemplateParams) GetUrl() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["url"].(string)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetVnfdetails(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["vnfdetails"] = v
}
func (p *RegisterVnfTemplateParams) ResetVnfdetails() {
if p.p != nil && p.p["vnfdetails"] != nil {
delete(p.p, "vnfdetails")
}
}
func (p *RegisterVnfTemplateParams) GetVnfdetails() (map[string]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["vnfdetails"].(map[string]string)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetVnfnics(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["vnfnics"] = v
}
func (p *RegisterVnfTemplateParams) ResetVnfnics() {
if p.p != nil && p.p["vnfnics"] != nil {
delete(p.p, "vnfnics")
}
}
func (p *RegisterVnfTemplateParams) GetVnfnics() (map[string]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["vnfnics"].(map[string]string)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetZoneid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["zoneid"] = v
}
func (p *RegisterVnfTemplateParams) ResetZoneid() {
if p.p != nil && p.p["zoneid"] != nil {
delete(p.p, "zoneid")
}
}
func (p *RegisterVnfTemplateParams) GetZoneid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["zoneid"].(string)
return value, ok
}
func (p *RegisterVnfTemplateParams) SetZoneids(v []string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["zoneids"] = v
}
func (p *RegisterVnfTemplateParams) ResetZoneids() {
if p.p != nil && p.p["zoneids"] != nil {
delete(p.p, "zoneids")
}
}
func (p *RegisterVnfTemplateParams) GetZoneids() ([]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["zoneids"].([]string)
return value, ok
}
// You should always use this function to get a new RegisterVnfTemplateParams instance,
// as then you are sure you have configured all required params
func (s *VirtualNetworkFunctionsService) NewRegisterVnfTemplateParams(format string, hypervisor string, name string, url string) *RegisterVnfTemplateParams {
p := &RegisterVnfTemplateParams{}
p.p = make(map[string]interface{})
p.p["format"] = format
p.p["hypervisor"] = hypervisor
p.p["name"] = name
p.p["url"] = url
return p
}
// Registers an existing VNF template into the CloudStack cloud.
func (s *VirtualNetworkFunctionsService) RegisterVnfTemplate(p *RegisterVnfTemplateParams) (*RegisterVnfTemplateResponse, error) {
resp, err := s.cs.newRequest("registerVnfTemplate", p.toURLValues())
if err != nil {
return nil, err
}
var r RegisterVnfTemplateResponse
if err := json.Unmarshal(resp, &r); err != nil {
return nil, err
}
return &r, nil
}
type RegisterVnfTemplateResponse struct {
Account string `json:"account"`
Accountid string `json:"accountid"`
Arch string `json:"arch"`
Bits int `json:"bits"`
Bootable bool `json:"bootable"`
Checksum string `json:"checksum"`
Childtemplates []interface{} `json:"childtemplates"`
Created string `json:"created"`
CrossZones bool `json:"crossZones"`
Deployasis bool `json:"deployasis"`
Deployasisdetails map[string]string `json:"deployasisdetails"`
Details map[string]string `json:"details"`
Directdownload bool `json:"directdownload"`
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Downloaddetails []map[string]string `json:"downloaddetails"`
Format string `json:"format"`
Hasannotations bool `json:"hasannotations"`
Hostid string `json:"hostid"`
Hostname string `json:"hostname"`
Hypervisor string `json:"hypervisor"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
Isdynamicallyscalable bool `json:"isdynamicallyscalable"`
Isextractable bool `json:"isextractable"`
Isfeatured bool `json:"isfeatured"`
Ispublic bool `json:"ispublic"`
Isready bool `json:"isready"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Name string `json:"name"`
Ostypeid string `json:"ostypeid"`
Ostypename string `json:"ostypename"`
Parenttemplateid string `json:"parenttemplateid"`
Passwordenabled bool `json:"passwordenabled"`
Physicalsize int64 `json:"physicalsize"`
Project string `json:"project"`
Projectid string `json:"projectid"`
Removed string `json:"removed"`
Requireshvm bool `json:"requireshvm"`
Size int64 `json:"size"`
Sourcetemplateid string `json:"sourcetemplateid"`
Sshkeyenabled bool `json:"sshkeyenabled"`
Status string `json:"status"`
Tags []Tags `json:"tags"`
Templatetag string `json:"templatetag"`
Templatetype string `json:"templatetype"`
Url string `json:"url"`
Userdataid string `json:"userdataid"`
Userdataname string `json:"userdataname"`
Userdataparams string `json:"userdataparams"`
Userdatapolicy string `json:"userdatapolicy"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
func (r *RegisterVnfTemplateResponse) UnmarshalJSON(b []byte) error {
var m map[string]interface{}
err := json.Unmarshal(b, &m)
if err != nil {
return err
}
if success, ok := m["success"].(string); ok {
m["success"] = success == "true"
b, err = json.Marshal(m)
if err != nil {
return err
}
}
if ostypeid, ok := m["ostypeid"].(float64); ok {
m["ostypeid"] = strconv.Itoa(int(ostypeid))
b, err = json.Marshal(m)
if err != nil {
return err
}
}
type alias RegisterVnfTemplateResponse
return json.Unmarshal(b, (*alias)(r))
}
type UpdateVnfTemplateParams struct {
p map[string]interface{}
}
func (p *UpdateVnfTemplateParams) toURLValues() url.Values {
u := url.Values{}
if p.p == nil {
return u
}
if v, found := p.p["arch"]; found {
u.Set("arch", v.(string))
}
if v, found := p.p["bootable"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("bootable", vv)
}
if v, found := p.p["cleanupdetails"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("cleanupdetails", vv)
}
if v, found := p.p["cleanupvnfdetails"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("cleanupvnfdetails", vv)
}
if v, found := p.p["cleanupvnfnics"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("cleanupvnfnics", vv)
}
if v, found := p.p["details"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
u.Set(fmt.Sprintf("details[%d].%s", i, k), m[k])
}
}
if v, found := p.p["displaytext"]; found {
u.Set("displaytext", v.(string))
}
if v, found := p.p["format"]; found {
u.Set("format", v.(string))
}
if v, found := p.p["id"]; found {
u.Set("id", v.(string))
}
if v, found := p.p["isdynamicallyscalable"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("isdynamicallyscalable", vv)
}
if v, found := p.p["isrouting"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("isrouting", vv)
}
if v, found := p.p["name"]; found {
u.Set("name", v.(string))
}
if v, found := p.p["ostypeid"]; found {
u.Set("ostypeid", v.(string))
}
if v, found := p.p["passwordenabled"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("passwordenabled", vv)
}
if v, found := p.p["requireshvm"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("requireshvm", vv)
}
if v, found := p.p["sortkey"]; found {
vv := strconv.Itoa(v.(int))
u.Set("sortkey", vv)
}
if v, found := p.p["sshkeyenabled"]; found {
vv := strconv.FormatBool(v.(bool))
u.Set("sshkeyenabled", vv)
}
if v, found := p.p["templatetag"]; found {
u.Set("templatetag", v.(string))
}
if v, found := p.p["templatetype"]; found {
u.Set("templatetype", v.(string))
}
if v, found := p.p["vnfdetails"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
u.Set(fmt.Sprintf("vnfdetails[%d].key", i), k)
u.Set(fmt.Sprintf("vnfdetails[%d].value", i), m[k])
}
}
if v, found := p.p["vnfnics"]; found {
m := v.(map[string]string)
for i, k := range getSortedKeysFromMap(m) {
u.Set(fmt.Sprintf("vnfnics[%d].key", i), k)
u.Set(fmt.Sprintf("vnfnics[%d].value", i), m[k])
}
}
return u
}
func (p *UpdateVnfTemplateParams) SetArch(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["arch"] = v
}
func (p *UpdateVnfTemplateParams) ResetArch() {
if p.p != nil && p.p["arch"] != nil {
delete(p.p, "arch")
}
}
func (p *UpdateVnfTemplateParams) GetArch() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["arch"].(string)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetBootable(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["bootable"] = v
}
func (p *UpdateVnfTemplateParams) ResetBootable() {
if p.p != nil && p.p["bootable"] != nil {
delete(p.p, "bootable")
}
}
func (p *UpdateVnfTemplateParams) GetBootable() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["bootable"].(bool)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetCleanupdetails(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["cleanupdetails"] = v
}
func (p *UpdateVnfTemplateParams) ResetCleanupdetails() {
if p.p != nil && p.p["cleanupdetails"] != nil {
delete(p.p, "cleanupdetails")
}
}
func (p *UpdateVnfTemplateParams) GetCleanupdetails() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["cleanupdetails"].(bool)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetCleanupvnfdetails(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["cleanupvnfdetails"] = v
}
func (p *UpdateVnfTemplateParams) ResetCleanupvnfdetails() {
if p.p != nil && p.p["cleanupvnfdetails"] != nil {
delete(p.p, "cleanupvnfdetails")
}
}
func (p *UpdateVnfTemplateParams) GetCleanupvnfdetails() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["cleanupvnfdetails"].(bool)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetCleanupvnfnics(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["cleanupvnfnics"] = v
}
func (p *UpdateVnfTemplateParams) ResetCleanupvnfnics() {
if p.p != nil && p.p["cleanupvnfnics"] != nil {
delete(p.p, "cleanupvnfnics")
}
}
func (p *UpdateVnfTemplateParams) GetCleanupvnfnics() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["cleanupvnfnics"].(bool)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetDetails(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["details"] = v
}
func (p *UpdateVnfTemplateParams) ResetDetails() {
if p.p != nil && p.p["details"] != nil {
delete(p.p, "details")
}
}
func (p *UpdateVnfTemplateParams) GetDetails() (map[string]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["details"].(map[string]string)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetDisplaytext(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["displaytext"] = v
}
func (p *UpdateVnfTemplateParams) ResetDisplaytext() {
if p.p != nil && p.p["displaytext"] != nil {
delete(p.p, "displaytext")
}
}
func (p *UpdateVnfTemplateParams) GetDisplaytext() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["displaytext"].(string)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetFormat(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["format"] = v
}
func (p *UpdateVnfTemplateParams) ResetFormat() {
if p.p != nil && p.p["format"] != nil {
delete(p.p, "format")
}
}
func (p *UpdateVnfTemplateParams) GetFormat() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["format"].(string)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetId(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["id"] = v
}
func (p *UpdateVnfTemplateParams) ResetId() {
if p.p != nil && p.p["id"] != nil {
delete(p.p, "id")
}
}
func (p *UpdateVnfTemplateParams) GetId() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["id"].(string)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetIsdynamicallyscalable(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["isdynamicallyscalable"] = v
}
func (p *UpdateVnfTemplateParams) ResetIsdynamicallyscalable() {
if p.p != nil && p.p["isdynamicallyscalable"] != nil {
delete(p.p, "isdynamicallyscalable")
}
}
func (p *UpdateVnfTemplateParams) GetIsdynamicallyscalable() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["isdynamicallyscalable"].(bool)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetIsrouting(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["isrouting"] = v
}
func (p *UpdateVnfTemplateParams) ResetIsrouting() {
if p.p != nil && p.p["isrouting"] != nil {
delete(p.p, "isrouting")
}
}
func (p *UpdateVnfTemplateParams) GetIsrouting() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["isrouting"].(bool)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetName(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["name"] = v
}
func (p *UpdateVnfTemplateParams) ResetName() {
if p.p != nil && p.p["name"] != nil {
delete(p.p, "name")
}
}
func (p *UpdateVnfTemplateParams) GetName() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["name"].(string)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetOstypeid(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["ostypeid"] = v
}
func (p *UpdateVnfTemplateParams) ResetOstypeid() {
if p.p != nil && p.p["ostypeid"] != nil {
delete(p.p, "ostypeid")
}
}
func (p *UpdateVnfTemplateParams) GetOstypeid() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["ostypeid"].(string)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetPasswordenabled(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["passwordenabled"] = v
}
func (p *UpdateVnfTemplateParams) ResetPasswordenabled() {
if p.p != nil && p.p["passwordenabled"] != nil {
delete(p.p, "passwordenabled")
}
}
func (p *UpdateVnfTemplateParams) GetPasswordenabled() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["passwordenabled"].(bool)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetRequireshvm(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["requireshvm"] = v
}
func (p *UpdateVnfTemplateParams) ResetRequireshvm() {
if p.p != nil && p.p["requireshvm"] != nil {
delete(p.p, "requireshvm")
}
}
func (p *UpdateVnfTemplateParams) GetRequireshvm() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["requireshvm"].(bool)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetSortkey(v int) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["sortkey"] = v
}
func (p *UpdateVnfTemplateParams) ResetSortkey() {
if p.p != nil && p.p["sortkey"] != nil {
delete(p.p, "sortkey")
}
}
func (p *UpdateVnfTemplateParams) GetSortkey() (int, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["sortkey"].(int)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetSshkeyenabled(v bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["sshkeyenabled"] = v
}
func (p *UpdateVnfTemplateParams) ResetSshkeyenabled() {
if p.p != nil && p.p["sshkeyenabled"] != nil {
delete(p.p, "sshkeyenabled")
}
}
func (p *UpdateVnfTemplateParams) GetSshkeyenabled() (bool, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["sshkeyenabled"].(bool)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetTemplatetag(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["templatetag"] = v
}
func (p *UpdateVnfTemplateParams) ResetTemplatetag() {
if p.p != nil && p.p["templatetag"] != nil {
delete(p.p, "templatetag")
}
}
func (p *UpdateVnfTemplateParams) GetTemplatetag() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["templatetag"].(string)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetTemplatetype(v string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["templatetype"] = v
}
func (p *UpdateVnfTemplateParams) ResetTemplatetype() {
if p.p != nil && p.p["templatetype"] != nil {
delete(p.p, "templatetype")
}
}
func (p *UpdateVnfTemplateParams) GetTemplatetype() (string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["templatetype"].(string)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetVnfdetails(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["vnfdetails"] = v
}
func (p *UpdateVnfTemplateParams) ResetVnfdetails() {
if p.p != nil && p.p["vnfdetails"] != nil {
delete(p.p, "vnfdetails")
}
}
func (p *UpdateVnfTemplateParams) GetVnfdetails() (map[string]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["vnfdetails"].(map[string]string)
return value, ok
}
func (p *UpdateVnfTemplateParams) SetVnfnics(v map[string]string) {
if p.p == nil {
p.p = make(map[string]interface{})
}
p.p["vnfnics"] = v
}
func (p *UpdateVnfTemplateParams) ResetVnfnics() {
if p.p != nil && p.p["vnfnics"] != nil {
delete(p.p, "vnfnics")
}
}
func (p *UpdateVnfTemplateParams) GetVnfnics() (map[string]string, bool) {
if p.p == nil {
p.p = make(map[string]interface{})
}
value, ok := p.p["vnfnics"].(map[string]string)
return value, ok
}
// You should always use this function to get a new UpdateVnfTemplateParams instance,
// as then you are sure you have configured all required params
func (s *VirtualNetworkFunctionsService) NewUpdateVnfTemplateParams(id string) *UpdateVnfTemplateParams {
p := &UpdateVnfTemplateParams{}
p.p = make(map[string]interface{})
p.p["id"] = id
return p
}
// Updates a template to VNF template or attributes of a VNF template.
func (s *VirtualNetworkFunctionsService) UpdateVnfTemplate(p *UpdateVnfTemplateParams) (*UpdateVnfTemplateResponse, error) {
resp, err := s.cs.newRequest("updateVnfTemplate", p.toURLValues())
if err != nil {
return nil, err
}
var r UpdateVnfTemplateResponse
if err := json.Unmarshal(resp, &r); err != nil {
return nil, err
}
return &r, nil
}
type UpdateVnfTemplateResponse struct {
Account string `json:"account"`
Accountid string `json:"accountid"`
Arch string `json:"arch"`
Bits int `json:"bits"`
Bootable bool `json:"bootable"`
Checksum string `json:"checksum"`
Childtemplates []interface{} `json:"childtemplates"`
Created string `json:"created"`
CrossZones bool `json:"crossZones"`
Deployasis bool `json:"deployasis"`
Deployasisdetails map[string]string `json:"deployasisdetails"`
Details map[string]string `json:"details"`
Directdownload bool `json:"directdownload"`
Displaytext string `json:"displaytext"`
Domain string `json:"domain"`
Domainid string `json:"domainid"`
Domainpath string `json:"domainpath"`
Downloaddetails []map[string]string `json:"downloaddetails"`
Format string `json:"format"`
Hasannotations bool `json:"hasannotations"`
Hostid string `json:"hostid"`
Hostname string `json:"hostname"`
Hypervisor string `json:"hypervisor"`
Icon interface{} `json:"icon"`
Id string `json:"id"`
Isdynamicallyscalable bool `json:"isdynamicallyscalable"`
Isextractable bool `json:"isextractable"`
Isfeatured bool `json:"isfeatured"`
Ispublic bool `json:"ispublic"`
Isready bool `json:"isready"`
JobID string `json:"jobid"`
Jobstatus int `json:"jobstatus"`
Name string `json:"name"`
Ostypeid string `json:"ostypeid"`
Ostypename string `json:"ostypename"`
Parenttemplateid string `json:"parenttemplateid"`
Passwordenabled bool `json:"passwordenabled"`
Physicalsize int64 `json:"physicalsize"`
Project string `json:"project"`
Projectid string `json:"projectid"`
Removed string `json:"removed"`
Requireshvm bool `json:"requireshvm"`
Size int64 `json:"size"`
Sourcetemplateid string `json:"sourcetemplateid"`
Sshkeyenabled bool `json:"sshkeyenabled"`
Status string `json:"status"`
Tags []Tags `json:"tags"`
Templatetag string `json:"templatetag"`
Templatetype string `json:"templatetype"`
Url string `json:"url"`
Userdataid string `json:"userdataid"`
Userdataname string `json:"userdataname"`
Userdataparams string `json:"userdataparams"`
Userdatapolicy string `json:"userdatapolicy"`
Zoneid string `json:"zoneid"`
Zonename string `json:"zonename"`
}
func (r *UpdateVnfTemplateResponse) UnmarshalJSON(b []byte) error {
var m map[string]interface{}
err := json.Unmarshal(b, &m)
if err != nil {
return err
}
if success, ok := m["success"].(string); ok {
m["success"] = success == "true"
b, err = json.Marshal(m)
if err != nil {
return err
}
}
if ostypeid, ok := m["ostypeid"].(float64); ok {
m["ostypeid"] = strconv.Itoa(int(ostypeid))
b, err = json.Marshal(m)
if err != nil {
return err
}
}
type alias UpdateVnfTemplateResponse
return json.Unmarshal(b, (*alias)(r))
}