This is an automated email from the ASF dual-hosted git repository.

rohit pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack-go.git


The following commit(s) were added to refs/heads/main by this push:
     new 6ea480b  Fix type of downloaddetails (#10)
6ea480b is described below

commit 6ea480bcb87598a15fb53684e157de2a1a476946
Author: davidjumani <[email protected]>
AuthorDate: Fri Oct 1 15:31:22 2021 +0530

    Fix type of downloaddetails (#10)
---
 cloudstack/ISOService.go      | 384 ++++++++++++++--------------
 cloudstack/TemplateService.go | 576 +++++++++++++++++++++---------------------
 generate/generate.go          |   3 +
 3 files changed, 483 insertions(+), 480 deletions(-)

diff --git a/cloudstack/ISOService.go b/cloudstack/ISOService.go
index e31ac1e..3b0b9d7 100644
--- a/cloudstack/ISOService.go
+++ b/cloudstack/ISOService.go
@@ -356,54 +356,54 @@ func (s *ISOService) CopyIso(p *CopyIsoParams) 
(*CopyIsoResponse, error) {
 }
 
 type CopyIsoResponse struct {
-       Account               string            `json:"account"`
-       Accountid             string            `json:"accountid"`
-       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"`
-       Downloaddetails       []string          `json:"downloaddetails"`
-       Format                string            `json:"format"`
-       Hostid                string            `json:"hostid"`
-       Hostname              string            `json:"hostname"`
-       Hypervisor            string            `json:"hypervisor"`
-       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"`
-       Zoneid                string            `json:"zoneid"`
-       Zonename              string            `json:"zonename"`
+       Account               string              `json:"account"`
+       Accountid             string              `json:"accountid"`
+       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"`
+       Downloaddetails       []map[string]string `json:"downloaddetails"`
+       Format                string              `json:"format"`
+       Hostid                string              `json:"hostid"`
+       Hostname              string              `json:"hostname"`
+       Hypervisor            string              `json:"hypervisor"`
+       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"`
+       Zoneid                string              `json:"zoneid"`
+       Zonename              string              `json:"zonename"`
 }
 
 func (r *CopyIsoResponse) UnmarshalJSON(b []byte) error {
@@ -1270,54 +1270,54 @@ type ListIsosResponse struct {
 }
 
 type Iso struct {
-       Account               string            `json:"account"`
-       Accountid             string            `json:"accountid"`
-       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"`
-       Downloaddetails       []string          `json:"downloaddetails"`
-       Format                string            `json:"format"`
-       Hostid                string            `json:"hostid"`
-       Hostname              string            `json:"hostname"`
-       Hypervisor            string            `json:"hypervisor"`
-       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"`
-       Zoneid                string            `json:"zoneid"`
-       Zonename              string            `json:"zonename"`
+       Account               string              `json:"account"`
+       Accountid             string              `json:"accountid"`
+       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"`
+       Downloaddetails       []map[string]string `json:"downloaddetails"`
+       Format                string              `json:"format"`
+       Hostid                string              `json:"hostid"`
+       Hostname              string              `json:"hostname"`
+       Hypervisor            string              `json:"hypervisor"`
+       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"`
+       Zoneid                string              `json:"zoneid"`
+       Zonename              string              `json:"zonename"`
 }
 
 func (r *Iso) UnmarshalJSON(b []byte) error {
@@ -1564,54 +1564,54 @@ func (s *ISOService) RegisterIso(p *RegisterIsoParams) 
(*RegisterIsoResponse, er
 }
 
 type RegisterIsoResponse struct {
-       Account               string            `json:"account"`
-       Accountid             string            `json:"accountid"`
-       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"`
-       Downloaddetails       []string          `json:"downloaddetails"`
-       Format                string            `json:"format"`
-       Hostid                string            `json:"hostid"`
-       Hostname              string            `json:"hostname"`
-       Hypervisor            string            `json:"hypervisor"`
-       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"`
-       Zoneid                string            `json:"zoneid"`
-       Zonename              string            `json:"zonename"`
+       Account               string              `json:"account"`
+       Accountid             string              `json:"accountid"`
+       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"`
+       Downloaddetails       []map[string]string `json:"downloaddetails"`
+       Format                string              `json:"format"`
+       Hostid                string              `json:"hostid"`
+       Hostname              string              `json:"hostname"`
+       Hypervisor            string              `json:"hypervisor"`
+       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"`
+       Zoneid                string              `json:"zoneid"`
+       Zonename              string              `json:"zonename"`
 }
 
 func (r *RegisterIsoResponse) UnmarshalJSON(b []byte) error {
@@ -1829,54 +1829,54 @@ func (s *ISOService) UpdateIso(p *UpdateIsoParams) 
(*UpdateIsoResponse, error) {
 }
 
 type UpdateIsoResponse struct {
-       Account               string            `json:"account"`
-       Accountid             string            `json:"accountid"`
-       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"`
-       Downloaddetails       []string          `json:"downloaddetails"`
-       Format                string            `json:"format"`
-       Hostid                string            `json:"hostid"`
-       Hostname              string            `json:"hostname"`
-       Hypervisor            string            `json:"hypervisor"`
-       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"`
-       Zoneid                string            `json:"zoneid"`
-       Zonename              string            `json:"zonename"`
+       Account               string              `json:"account"`
+       Accountid             string              `json:"accountid"`
+       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"`
+       Downloaddetails       []map[string]string `json:"downloaddetails"`
+       Format                string              `json:"format"`
+       Hostid                string              `json:"hostid"`
+       Hostname              string              `json:"hostname"`
+       Hypervisor            string              `json:"hypervisor"`
+       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"`
+       Zoneid                string              `json:"zoneid"`
+       Zonename              string              `json:"zonename"`
 }
 
 func (r *UpdateIsoResponse) UnmarshalJSON(b []byte) error {
diff --git a/cloudstack/TemplateService.go b/cloudstack/TemplateService.go
index 30198aa..7f1d68d 100644
--- a/cloudstack/TemplateService.go
+++ b/cloudstack/TemplateService.go
@@ -125,54 +125,54 @@ func (s *TemplateService) CopyTemplate(p 
*CopyTemplateParams) (*CopyTemplateResp
 }
 
 type CopyTemplateResponse struct {
-       Account               string            `json:"account"`
-       Accountid             string            `json:"accountid"`
-       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"`
-       Downloaddetails       []string          `json:"downloaddetails"`
-       Format                string            `json:"format"`
-       Hostid                string            `json:"hostid"`
-       Hostname              string            `json:"hostname"`
-       Hypervisor            string            `json:"hypervisor"`
-       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"`
-       Zoneid                string            `json:"zoneid"`
-       Zonename              string            `json:"zonename"`
+       Account               string              `json:"account"`
+       Accountid             string              `json:"accountid"`
+       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"`
+       Downloaddetails       []map[string]string `json:"downloaddetails"`
+       Format                string              `json:"format"`
+       Hostid                string              `json:"hostid"`
+       Hostname              string              `json:"hostname"`
+       Hypervisor            string              `json:"hypervisor"`
+       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"`
+       Zoneid                string              `json:"zoneid"`
+       Zonename              string              `json:"zonename"`
 }
 
 func (r *CopyTemplateResponse) UnmarshalJSON(b []byte) error {
@@ -441,54 +441,54 @@ func (s *TemplateService) CreateTemplate(p 
*CreateTemplateParams) (*CreateTempla
 }
 
 type CreateTemplateResponse struct {
-       Account               string            `json:"account"`
-       Accountid             string            `json:"accountid"`
-       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"`
-       Downloaddetails       []string          `json:"downloaddetails"`
-       Format                string            `json:"format"`
-       Hostid                string            `json:"hostid"`
-       Hostname              string            `json:"hostname"`
-       Hypervisor            string            `json:"hypervisor"`
-       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"`
-       Zoneid                string            `json:"zoneid"`
-       Zonename              string            `json:"zonename"`
+       Account               string              `json:"account"`
+       Accountid             string              `json:"accountid"`
+       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"`
+       Downloaddetails       []map[string]string `json:"downloaddetails"`
+       Format                string              `json:"format"`
+       Hostid                string              `json:"hostid"`
+       Hostname              string              `json:"hostname"`
+       Hypervisor            string              `json:"hypervisor"`
+       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"`
+       Zoneid                string              `json:"zoneid"`
+       Zonename              string              `json:"zonename"`
 }
 
 func (r *CreateTemplateResponse) UnmarshalJSON(b []byte) error {
@@ -1430,54 +1430,54 @@ type ListTemplatesResponse struct {
 }
 
 type Template struct {
-       Account               string            `json:"account"`
-       Accountid             string            `json:"accountid"`
-       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"`
-       Downloaddetails       []string          `json:"downloaddetails"`
-       Format                string            `json:"format"`
-       Hostid                string            `json:"hostid"`
-       Hostname              string            `json:"hostname"`
-       Hypervisor            string            `json:"hypervisor"`
-       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"`
-       Zoneid                string            `json:"zoneid"`
-       Zonename              string            `json:"zonename"`
+       Account               string              `json:"account"`
+       Accountid             string              `json:"accountid"`
+       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"`
+       Downloaddetails       []map[string]string `json:"downloaddetails"`
+       Format                string              `json:"format"`
+       Hostid                string              `json:"hostid"`
+       Hostname              string              `json:"hostname"`
+       Hypervisor            string              `json:"hypervisor"`
+       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"`
+       Zoneid                string              `json:"zoneid"`
+       Zonename              string              `json:"zonename"`
 }
 
 func (r *Template) UnmarshalJSON(b []byte) error {
@@ -1575,54 +1575,54 @@ func (s *TemplateService) PrepareTemplate(p 
*PrepareTemplateParams) (*PrepareTem
 }
 
 type PrepareTemplateResponse struct {
-       Account               string            `json:"account"`
-       Accountid             string            `json:"accountid"`
-       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"`
-       Downloaddetails       []string          `json:"downloaddetails"`
-       Format                string            `json:"format"`
-       Hostid                string            `json:"hostid"`
-       Hostname              string            `json:"hostname"`
-       Hypervisor            string            `json:"hypervisor"`
-       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"`
-       Zoneid                string            `json:"zoneid"`
-       Zonename              string            `json:"zonename"`
+       Account               string              `json:"account"`
+       Accountid             string              `json:"accountid"`
+       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"`
+       Downloaddetails       []map[string]string `json:"downloaddetails"`
+       Format                string              `json:"format"`
+       Hostid                string              `json:"hostid"`
+       Hostname              string              `json:"hostname"`
+       Hypervisor            string              `json:"hypervisor"`
+       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"`
+       Zoneid                string              `json:"zoneid"`
+       Zonename              string              `json:"zonename"`
 }
 
 func (r *PrepareTemplateResponse) UnmarshalJSON(b []byte) error {
@@ -1963,54 +1963,54 @@ type RegisterTemplateResponse struct {
 }
 
 type RegisterTemplate struct {
-       Account               string            `json:"account"`
-       Accountid             string            `json:"accountid"`
-       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"`
-       Downloaddetails       []string          `json:"downloaddetails"`
-       Format                string            `json:"format"`
-       Hostid                string            `json:"hostid"`
-       Hostname              string            `json:"hostname"`
-       Hypervisor            string            `json:"hypervisor"`
-       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"`
-       Zoneid                string            `json:"zoneid"`
-       Zonename              string            `json:"zonename"`
+       Account               string              `json:"account"`
+       Accountid             string              `json:"accountid"`
+       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"`
+       Downloaddetails       []map[string]string `json:"downloaddetails"`
+       Format                string              `json:"format"`
+       Hostid                string              `json:"hostid"`
+       Hostname              string              `json:"hostname"`
+       Hypervisor            string              `json:"hypervisor"`
+       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"`
+       Zoneid                string              `json:"zoneid"`
+       Zonename              string              `json:"zonename"`
 }
 
 func (r *RegisterTemplate) UnmarshalJSON(b []byte) error {
@@ -2238,54 +2238,54 @@ func (s *TemplateService) UpdateTemplate(p 
*UpdateTemplateParams) (*UpdateTempla
 }
 
 type UpdateTemplateResponse struct {
-       Account               string            `json:"account"`
-       Accountid             string            `json:"accountid"`
-       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"`
-       Downloaddetails       []string          `json:"downloaddetails"`
-       Format                string            `json:"format"`
-       Hostid                string            `json:"hostid"`
-       Hostname              string            `json:"hostname"`
-       Hypervisor            string            `json:"hypervisor"`
-       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"`
-       Zoneid                string            `json:"zoneid"`
-       Zonename              string            `json:"zonename"`
+       Account               string              `json:"account"`
+       Accountid             string              `json:"accountid"`
+       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"`
+       Downloaddetails       []map[string]string `json:"downloaddetails"`
+       Format                string              `json:"format"`
+       Hostid                string              `json:"hostid"`
+       Hostname              string              `json:"hostname"`
+       Hypervisor            string              `json:"hypervisor"`
+       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"`
+       Zoneid                string              `json:"zoneid"`
+       Zonename              string              `json:"zonename"`
 }
 
 func (r *UpdateTemplateResponse) UnmarshalJSON(b []byte) error {
diff --git a/generate/generate.go b/generate/generate.go
index 20d6f97..495baf4 100644
--- a/generate/generate.go
+++ b/generate/generate.go
@@ -1636,6 +1636,9 @@ func mapType(aName string, pName string, pType string) 
string {
        case "float", "double":
                return "float64"
        case "list":
+               if pName == "downloaddetails" {
+                       return "[]map[string]string"
+               }
                return "[]string"
        case "map":
                if mapRequireList[aName] != nil && mapRequireList[aName][pName] 
{

Reply via email to