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

pearl11594 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 ab2a5ff  Update counter, condition and autoscale policies type in 
responses (#119)
ab2a5ff is described below

commit ab2a5ffd0f9e750bdc362037b8e05783e140da11
Author: Pearl Dsilva <pearl1...@gmail.com>
AuthorDate: Thu Sep 18 08:59:25 2025 -0400

    Update counter, condition and autoscale policies type in responses (#119)
---
 cloudstack/AutoScaleService.go | 434 ++++++++++++++++++++---------------------
 generate/generate.go           |  10 +
 2 files changed, 227 insertions(+), 217 deletions(-)

diff --git a/cloudstack/AutoScaleService.go b/cloudstack/AutoScaleService.go
index b54c005..38bd14c 100644
--- a/cloudstack/AutoScaleService.go
+++ b/cloudstack/AutoScaleService.go
@@ -265,20 +265,20 @@ func (s *AutoScaleService) CreateAutoScalePolicy(p 
*CreateAutoScalePolicyParams)
 }
 
 type CreateAutoScalePolicyResponse struct {
-       Account    string   `json:"account"`
-       Action     string   `json:"action"`
-       Conditions []string `json:"conditions"`
-       Domain     string   `json:"domain"`
-       Domainid   string   `json:"domainid"`
-       Domainpath string   `json:"domainpath"`
-       Duration   int      `json:"duration"`
-       Id         string   `json:"id"`
-       JobID      string   `json:"jobid"`
-       Jobstatus  int      `json:"jobstatus"`
-       Name       string   `json:"name"`
-       Project    string   `json:"project"`
-       Projectid  string   `json:"projectid"`
-       Quiettime  int      `json:"quiettime"`
+       Account    string       `json:"account"`
+       Action     string       `json:"action"`
+       Conditions []*Condition `json:"conditions"`
+       Domain     string       `json:"domain"`
+       Domainid   string       `json:"domainid"`
+       Domainpath string       `json:"domainpath"`
+       Duration   int          `json:"duration"`
+       Id         string       `json:"id"`
+       JobID      string       `json:"jobid"`
+       Jobstatus  int          `json:"jobstatus"`
+       Name       string       `json:"name"`
+       Project    string       `json:"project"`
+       Projectid  string       `json:"projectid"`
+       Quiettime  int          `json:"quiettime"`
 }
 
 type CreateAutoScaleVmGroupParams struct {
@@ -565,35 +565,35 @@ func (s *AutoScaleService) CreateAutoScaleVmGroup(p 
*CreateAutoScaleVmGroupParam
 }
 
 type CreateAutoScaleVmGroupResponse struct {
-       Account                      string   `json:"account"`
-       Associatednetworkid          string   `json:"associatednetworkid"`
-       Associatednetworkname        string   `json:"associatednetworkname"`
-       Availablevirtualmachinecount int      
`json:"availablevirtualmachinecount"`
-       Created                      string   `json:"created"`
-       Domain                       string   `json:"domain"`
-       Domainid                     string   `json:"domainid"`
-       Domainpath                   string   `json:"domainpath"`
-       Fordisplay                   bool     `json:"fordisplay"`
-       Hasannotations               bool     `json:"hasannotations"`
-       Id                           string   `json:"id"`
-       Interval                     int      `json:"interval"`
-       JobID                        string   `json:"jobid"`
-       Jobstatus                    int      `json:"jobstatus"`
-       Lbprovider                   string   `json:"lbprovider"`
-       Lbruleid                     string   `json:"lbruleid"`
-       Maxmembers                   int      `json:"maxmembers"`
-       Minmembers                   int      `json:"minmembers"`
-       Name                         string   `json:"name"`
-       Privateport                  string   `json:"privateport"`
-       Project                      string   `json:"project"`
-       Projectid                    string   `json:"projectid"`
-       Publicip                     string   `json:"publicip"`
-       Publicipid                   string   `json:"publicipid"`
-       Publicport                   string   `json:"publicport"`
-       Scaledownpolicies            []string `json:"scaledownpolicies"`
-       Scaleuppolicies              []string `json:"scaleuppolicies"`
-       State                        string   `json:"state"`
-       Vmprofileid                  string   `json:"vmprofileid"`
+       Account                      string             `json:"account"`
+       Associatednetworkid          string             
`json:"associatednetworkid"`
+       Associatednetworkname        string             
`json:"associatednetworkname"`
+       Availablevirtualmachinecount int                
`json:"availablevirtualmachinecount"`
+       Created                      string             `json:"created"`
+       Domain                       string             `json:"domain"`
+       Domainid                     string             `json:"domainid"`
+       Domainpath                   string             `json:"domainpath"`
+       Fordisplay                   bool               `json:"fordisplay"`
+       Hasannotations               bool               `json:"hasannotations"`
+       Id                           string             `json:"id"`
+       Interval                     int                `json:"interval"`
+       JobID                        string             `json:"jobid"`
+       Jobstatus                    int                `json:"jobstatus"`
+       Lbprovider                   string             `json:"lbprovider"`
+       Lbruleid                     string             `json:"lbruleid"`
+       Maxmembers                   int                `json:"maxmembers"`
+       Minmembers                   int                `json:"minmembers"`
+       Name                         string             `json:"name"`
+       Privateport                  string             `json:"privateport"`
+       Project                      string             `json:"project"`
+       Projectid                    string             `json:"projectid"`
+       Publicip                     string             `json:"publicip"`
+       Publicipid                   string             `json:"publicipid"`
+       Publicport                   string             `json:"publicport"`
+       Scaledownpolicies            []*AutoScalePolicy 
`json:"scaledownpolicies"`
+       Scaleuppolicies              []*AutoScalePolicy `json:"scaleuppolicies"`
+       State                        string             `json:"state"`
+       Vmprofileid                  string             `json:"vmprofileid"`
 }
 
 type CreateAutoScaleVmProfileParams struct {
@@ -1232,21 +1232,21 @@ func (s *AutoScaleService) CreateCondition(p 
*CreateConditionParams) (*CreateCon
 }
 
 type CreateConditionResponse struct {
-       Account            string `json:"account"`
-       Counter            string `json:"counter"`
-       Counterid          string `json:"counterid"`
-       Countername        string `json:"countername"`
-       Domain             string `json:"domain"`
-       Domainid           string `json:"domainid"`
-       Domainpath         string `json:"domainpath"`
-       Id                 string `json:"id"`
-       JobID              string `json:"jobid"`
-       Jobstatus          int    `json:"jobstatus"`
-       Project            string `json:"project"`
-       Projectid          string `json:"projectid"`
-       Relationaloperator string `json:"relationaloperator"`
-       Threshold          int64  `json:"threshold"`
-       Zoneid             string `json:"zoneid"`
+       Account            string   `json:"account"`
+       Counter            *Counter `json:"counter"`
+       Counterid          string   `json:"counterid"`
+       Countername        string   `json:"countername"`
+       Domain             string   `json:"domain"`
+       Domainid           string   `json:"domainid"`
+       Domainpath         string   `json:"domainpath"`
+       Id                 string   `json:"id"`
+       JobID              string   `json:"jobid"`
+       Jobstatus          int      `json:"jobstatus"`
+       Project            string   `json:"project"`
+       Projectid          string   `json:"projectid"`
+       Relationaloperator string   `json:"relationaloperator"`
+       Threshold          int64    `json:"threshold"`
+       Zoneid             string   `json:"zoneid"`
 }
 
 type CreateCounterParams struct {
@@ -1931,35 +1931,35 @@ func (s *AutoScaleService) DisableAutoScaleVmGroup(p 
*DisableAutoScaleVmGroupPar
 }
 
 type DisableAutoScaleVmGroupResponse struct {
-       Account                      string   `json:"account"`
-       Associatednetworkid          string   `json:"associatednetworkid"`
-       Associatednetworkname        string   `json:"associatednetworkname"`
-       Availablevirtualmachinecount int      
`json:"availablevirtualmachinecount"`
-       Created                      string   `json:"created"`
-       Domain                       string   `json:"domain"`
-       Domainid                     string   `json:"domainid"`
-       Domainpath                   string   `json:"domainpath"`
-       Fordisplay                   bool     `json:"fordisplay"`
-       Hasannotations               bool     `json:"hasannotations"`
-       Id                           string   `json:"id"`
-       Interval                     int      `json:"interval"`
-       JobID                        string   `json:"jobid"`
-       Jobstatus                    int      `json:"jobstatus"`
-       Lbprovider                   string   `json:"lbprovider"`
-       Lbruleid                     string   `json:"lbruleid"`
-       Maxmembers                   int      `json:"maxmembers"`
-       Minmembers                   int      `json:"minmembers"`
-       Name                         string   `json:"name"`
-       Privateport                  string   `json:"privateport"`
-       Project                      string   `json:"project"`
-       Projectid                    string   `json:"projectid"`
-       Publicip                     string   `json:"publicip"`
-       Publicipid                   string   `json:"publicipid"`
-       Publicport                   string   `json:"publicport"`
-       Scaledownpolicies            []string `json:"scaledownpolicies"`
-       Scaleuppolicies              []string `json:"scaleuppolicies"`
-       State                        string   `json:"state"`
-       Vmprofileid                  string   `json:"vmprofileid"`
+       Account                      string             `json:"account"`
+       Associatednetworkid          string             
`json:"associatednetworkid"`
+       Associatednetworkname        string             
`json:"associatednetworkname"`
+       Availablevirtualmachinecount int                
`json:"availablevirtualmachinecount"`
+       Created                      string             `json:"created"`
+       Domain                       string             `json:"domain"`
+       Domainid                     string             `json:"domainid"`
+       Domainpath                   string             `json:"domainpath"`
+       Fordisplay                   bool               `json:"fordisplay"`
+       Hasannotations               bool               `json:"hasannotations"`
+       Id                           string             `json:"id"`
+       Interval                     int                `json:"interval"`
+       JobID                        string             `json:"jobid"`
+       Jobstatus                    int                `json:"jobstatus"`
+       Lbprovider                   string             `json:"lbprovider"`
+       Lbruleid                     string             `json:"lbruleid"`
+       Maxmembers                   int                `json:"maxmembers"`
+       Minmembers                   int                `json:"minmembers"`
+       Name                         string             `json:"name"`
+       Privateport                  string             `json:"privateport"`
+       Project                      string             `json:"project"`
+       Projectid                    string             `json:"projectid"`
+       Publicip                     string             `json:"publicip"`
+       Publicipid                   string             `json:"publicipid"`
+       Publicport                   string             `json:"publicport"`
+       Scaledownpolicies            []*AutoScalePolicy 
`json:"scaledownpolicies"`
+       Scaleuppolicies              []*AutoScalePolicy `json:"scaleuppolicies"`
+       State                        string             `json:"state"`
+       Vmprofileid                  string             `json:"vmprofileid"`
 }
 
 type EnableAutoScaleVmGroupParams struct {
@@ -2043,35 +2043,35 @@ func (s *AutoScaleService) EnableAutoScaleVmGroup(p 
*EnableAutoScaleVmGroupParam
 }
 
 type EnableAutoScaleVmGroupResponse struct {
-       Account                      string   `json:"account"`
-       Associatednetworkid          string   `json:"associatednetworkid"`
-       Associatednetworkname        string   `json:"associatednetworkname"`
-       Availablevirtualmachinecount int      
`json:"availablevirtualmachinecount"`
-       Created                      string   `json:"created"`
-       Domain                       string   `json:"domain"`
-       Domainid                     string   `json:"domainid"`
-       Domainpath                   string   `json:"domainpath"`
-       Fordisplay                   bool     `json:"fordisplay"`
-       Hasannotations               bool     `json:"hasannotations"`
-       Id                           string   `json:"id"`
-       Interval                     int      `json:"interval"`
-       JobID                        string   `json:"jobid"`
-       Jobstatus                    int      `json:"jobstatus"`
-       Lbprovider                   string   `json:"lbprovider"`
-       Lbruleid                     string   `json:"lbruleid"`
-       Maxmembers                   int      `json:"maxmembers"`
-       Minmembers                   int      `json:"minmembers"`
-       Name                         string   `json:"name"`
-       Privateport                  string   `json:"privateport"`
-       Project                      string   `json:"project"`
-       Projectid                    string   `json:"projectid"`
-       Publicip                     string   `json:"publicip"`
-       Publicipid                   string   `json:"publicipid"`
-       Publicport                   string   `json:"publicport"`
-       Scaledownpolicies            []string `json:"scaledownpolicies"`
-       Scaleuppolicies              []string `json:"scaleuppolicies"`
-       State                        string   `json:"state"`
-       Vmprofileid                  string   `json:"vmprofileid"`
+       Account                      string             `json:"account"`
+       Associatednetworkid          string             
`json:"associatednetworkid"`
+       Associatednetworkname        string             
`json:"associatednetworkname"`
+       Availablevirtualmachinecount int                
`json:"availablevirtualmachinecount"`
+       Created                      string             `json:"created"`
+       Domain                       string             `json:"domain"`
+       Domainid                     string             `json:"domainid"`
+       Domainpath                   string             `json:"domainpath"`
+       Fordisplay                   bool               `json:"fordisplay"`
+       Hasannotations               bool               `json:"hasannotations"`
+       Id                           string             `json:"id"`
+       Interval                     int                `json:"interval"`
+       JobID                        string             `json:"jobid"`
+       Jobstatus                    int                `json:"jobstatus"`
+       Lbprovider                   string             `json:"lbprovider"`
+       Lbruleid                     string             `json:"lbruleid"`
+       Maxmembers                   int                `json:"maxmembers"`
+       Minmembers                   int                `json:"minmembers"`
+       Name                         string             `json:"name"`
+       Privateport                  string             `json:"privateport"`
+       Project                      string             `json:"project"`
+       Projectid                    string             `json:"projectid"`
+       Publicip                     string             `json:"publicip"`
+       Publicipid                   string             `json:"publicipid"`
+       Publicport                   string             `json:"publicport"`
+       Scaledownpolicies            []*AutoScalePolicy 
`json:"scaledownpolicies"`
+       Scaleuppolicies              []*AutoScalePolicy `json:"scaleuppolicies"`
+       State                        string             `json:"state"`
+       Vmprofileid                  string             `json:"vmprofileid"`
 }
 
 type ListAutoScalePoliciesParams struct {
@@ -2514,20 +2514,20 @@ type ListAutoScalePoliciesResponse struct {
 }
 
 type AutoScalePolicy struct {
-       Account    string   `json:"account"`
-       Action     string   `json:"action"`
-       Conditions []string `json:"conditions"`
-       Domain     string   `json:"domain"`
-       Domainid   string   `json:"domainid"`
-       Domainpath string   `json:"domainpath"`
-       Duration   int      `json:"duration"`
-       Id         string   `json:"id"`
-       JobID      string   `json:"jobid"`
-       Jobstatus  int      `json:"jobstatus"`
-       Name       string   `json:"name"`
-       Project    string   `json:"project"`
-       Projectid  string   `json:"projectid"`
-       Quiettime  int      `json:"quiettime"`
+       Account    string       `json:"account"`
+       Action     string       `json:"action"`
+       Conditions []*Condition `json:"conditions"`
+       Domain     string       `json:"domain"`
+       Domainid   string       `json:"domainid"`
+       Domainpath string       `json:"domainpath"`
+       Duration   int          `json:"duration"`
+       Id         string       `json:"id"`
+       JobID      string       `json:"jobid"`
+       Jobstatus  int          `json:"jobstatus"`
+       Name       string       `json:"name"`
+       Project    string       `json:"project"`
+       Projectid  string       `json:"projectid"`
+       Quiettime  int          `json:"quiettime"`
 }
 
 type ListAutoScaleVmGroupsParams struct {
@@ -3019,35 +3019,35 @@ type ListAutoScaleVmGroupsResponse struct {
 }
 
 type AutoScaleVmGroup struct {
-       Account                      string   `json:"account"`
-       Associatednetworkid          string   `json:"associatednetworkid"`
-       Associatednetworkname        string   `json:"associatednetworkname"`
-       Availablevirtualmachinecount int      
`json:"availablevirtualmachinecount"`
-       Created                      string   `json:"created"`
-       Domain                       string   `json:"domain"`
-       Domainid                     string   `json:"domainid"`
-       Domainpath                   string   `json:"domainpath"`
-       Fordisplay                   bool     `json:"fordisplay"`
-       Hasannotations               bool     `json:"hasannotations"`
-       Id                           string   `json:"id"`
-       Interval                     int      `json:"interval"`
-       JobID                        string   `json:"jobid"`
-       Jobstatus                    int      `json:"jobstatus"`
-       Lbprovider                   string   `json:"lbprovider"`
-       Lbruleid                     string   `json:"lbruleid"`
-       Maxmembers                   int      `json:"maxmembers"`
-       Minmembers                   int      `json:"minmembers"`
-       Name                         string   `json:"name"`
-       Privateport                  string   `json:"privateport"`
-       Project                      string   `json:"project"`
-       Projectid                    string   `json:"projectid"`
-       Publicip                     string   `json:"publicip"`
-       Publicipid                   string   `json:"publicipid"`
-       Publicport                   string   `json:"publicport"`
-       Scaledownpolicies            []string `json:"scaledownpolicies"`
-       Scaleuppolicies              []string `json:"scaleuppolicies"`
-       State                        string   `json:"state"`
-       Vmprofileid                  string   `json:"vmprofileid"`
+       Account                      string             `json:"account"`
+       Associatednetworkid          string             
`json:"associatednetworkid"`
+       Associatednetworkname        string             
`json:"associatednetworkname"`
+       Availablevirtualmachinecount int                
`json:"availablevirtualmachinecount"`
+       Created                      string             `json:"created"`
+       Domain                       string             `json:"domain"`
+       Domainid                     string             `json:"domainid"`
+       Domainpath                   string             `json:"domainpath"`
+       Fordisplay                   bool               `json:"fordisplay"`
+       Hasannotations               bool               `json:"hasannotations"`
+       Id                           string             `json:"id"`
+       Interval                     int                `json:"interval"`
+       JobID                        string             `json:"jobid"`
+       Jobstatus                    int                `json:"jobstatus"`
+       Lbprovider                   string             `json:"lbprovider"`
+       Lbruleid                     string             `json:"lbruleid"`
+       Maxmembers                   int                `json:"maxmembers"`
+       Minmembers                   int                `json:"minmembers"`
+       Name                         string             `json:"name"`
+       Privateport                  string             `json:"privateport"`
+       Project                      string             `json:"project"`
+       Projectid                    string             `json:"projectid"`
+       Publicip                     string             `json:"publicip"`
+       Publicipid                   string             `json:"publicipid"`
+       Publicport                   string             `json:"publicport"`
+       Scaledownpolicies            []*AutoScalePolicy 
`json:"scaledownpolicies"`
+       Scaleuppolicies              []*AutoScalePolicy `json:"scaleuppolicies"`
+       State                        string             `json:"state"`
+       Vmprofileid                  string             `json:"vmprofileid"`
 }
 
 type ListAutoScaleVmProfilesParams struct {
@@ -3830,21 +3830,21 @@ type ListConditionsResponse struct {
 }
 
 type Condition struct {
-       Account            string `json:"account"`
-       Counter            string `json:"counter"`
-       Counterid          string `json:"counterid"`
-       Countername        string `json:"countername"`
-       Domain             string `json:"domain"`
-       Domainid           string `json:"domainid"`
-       Domainpath         string `json:"domainpath"`
-       Id                 string `json:"id"`
-       JobID              string `json:"jobid"`
-       Jobstatus          int    `json:"jobstatus"`
-       Project            string `json:"project"`
-       Projectid          string `json:"projectid"`
-       Relationaloperator string `json:"relationaloperator"`
-       Threshold          int64  `json:"threshold"`
-       Zoneid             string `json:"zoneid"`
+       Account            string   `json:"account"`
+       Counter            *Counter `json:"counter"`
+       Counterid          string   `json:"counterid"`
+       Countername        string   `json:"countername"`
+       Domain             string   `json:"domain"`
+       Domainid           string   `json:"domainid"`
+       Domainpath         string   `json:"domainpath"`
+       Id                 string   `json:"id"`
+       JobID              string   `json:"jobid"`
+       Jobstatus          int      `json:"jobstatus"`
+       Project            string   `json:"project"`
+       Projectid          string   `json:"projectid"`
+       Relationaloperator string   `json:"relationaloperator"`
+       Threshold          int64    `json:"threshold"`
+       Zoneid             string   `json:"zoneid"`
 }
 
 type ListCountersParams struct {
@@ -4331,20 +4331,20 @@ func (s *AutoScaleService) UpdateAutoScalePolicy(p 
*UpdateAutoScalePolicyParams)
 }
 
 type UpdateAutoScalePolicyResponse struct {
-       Account    string   `json:"account"`
-       Action     string   `json:"action"`
-       Conditions []string `json:"conditions"`
-       Domain     string   `json:"domain"`
-       Domainid   string   `json:"domainid"`
-       Domainpath string   `json:"domainpath"`
-       Duration   int      `json:"duration"`
-       Id         string   `json:"id"`
-       JobID      string   `json:"jobid"`
-       Jobstatus  int      `json:"jobstatus"`
-       Name       string   `json:"name"`
-       Project    string   `json:"project"`
-       Projectid  string   `json:"projectid"`
-       Quiettime  int      `json:"quiettime"`
+       Account    string       `json:"account"`
+       Action     string       `json:"action"`
+       Conditions []*Condition `json:"conditions"`
+       Domain     string       `json:"domain"`
+       Domainid   string       `json:"domainid"`
+       Domainpath string       `json:"domainpath"`
+       Duration   int          `json:"duration"`
+       Id         string       `json:"id"`
+       JobID      string       `json:"jobid"`
+       Jobstatus  int          `json:"jobstatus"`
+       Name       string       `json:"name"`
+       Project    string       `json:"project"`
+       Projectid  string       `json:"projectid"`
+       Quiettime  int          `json:"quiettime"`
 }
 
 type UpdateAutoScaleVmGroupParams struct {
@@ -4626,35 +4626,35 @@ func (s *AutoScaleService) UpdateAutoScaleVmGroup(p 
*UpdateAutoScaleVmGroupParam
 }
 
 type UpdateAutoScaleVmGroupResponse struct {
-       Account                      string   `json:"account"`
-       Associatednetworkid          string   `json:"associatednetworkid"`
-       Associatednetworkname        string   `json:"associatednetworkname"`
-       Availablevirtualmachinecount int      
`json:"availablevirtualmachinecount"`
-       Created                      string   `json:"created"`
-       Domain                       string   `json:"domain"`
-       Domainid                     string   `json:"domainid"`
-       Domainpath                   string   `json:"domainpath"`
-       Fordisplay                   bool     `json:"fordisplay"`
-       Hasannotations               bool     `json:"hasannotations"`
-       Id                           string   `json:"id"`
-       Interval                     int      `json:"interval"`
-       JobID                        string   `json:"jobid"`
-       Jobstatus                    int      `json:"jobstatus"`
-       Lbprovider                   string   `json:"lbprovider"`
-       Lbruleid                     string   `json:"lbruleid"`
-       Maxmembers                   int      `json:"maxmembers"`
-       Minmembers                   int      `json:"minmembers"`
-       Name                         string   `json:"name"`
-       Privateport                  string   `json:"privateport"`
-       Project                      string   `json:"project"`
-       Projectid                    string   `json:"projectid"`
-       Publicip                     string   `json:"publicip"`
-       Publicipid                   string   `json:"publicipid"`
-       Publicport                   string   `json:"publicport"`
-       Scaledownpolicies            []string `json:"scaledownpolicies"`
-       Scaleuppolicies              []string `json:"scaleuppolicies"`
-       State                        string   `json:"state"`
-       Vmprofileid                  string   `json:"vmprofileid"`
+       Account                      string             `json:"account"`
+       Associatednetworkid          string             
`json:"associatednetworkid"`
+       Associatednetworkname        string             
`json:"associatednetworkname"`
+       Availablevirtualmachinecount int                
`json:"availablevirtualmachinecount"`
+       Created                      string             `json:"created"`
+       Domain                       string             `json:"domain"`
+       Domainid                     string             `json:"domainid"`
+       Domainpath                   string             `json:"domainpath"`
+       Fordisplay                   bool               `json:"fordisplay"`
+       Hasannotations               bool               `json:"hasannotations"`
+       Id                           string             `json:"id"`
+       Interval                     int                `json:"interval"`
+       JobID                        string             `json:"jobid"`
+       Jobstatus                    int                `json:"jobstatus"`
+       Lbprovider                   string             `json:"lbprovider"`
+       Lbruleid                     string             `json:"lbruleid"`
+       Maxmembers                   int                `json:"maxmembers"`
+       Minmembers                   int                `json:"minmembers"`
+       Name                         string             `json:"name"`
+       Privateport                  string             `json:"privateport"`
+       Project                      string             `json:"project"`
+       Projectid                    string             `json:"projectid"`
+       Publicip                     string             `json:"publicip"`
+       Publicipid                   string             `json:"publicipid"`
+       Publicport                   string             `json:"publicport"`
+       Scaledownpolicies            []*AutoScalePolicy 
`json:"scaledownpolicies"`
+       Scaleuppolicies              []*AutoScalePolicy `json:"scaleuppolicies"`
+       State                        string             `json:"state"`
+       Vmprofileid                  string             `json:"vmprofileid"`
 }
 
 type UpdateAutoScaleVmProfileParams struct {
diff --git a/generate/generate.go b/generate/generate.go
index 975bcf2..d65be25 100644
--- a/generate/generate.go
+++ b/generate/generate.go
@@ -2326,6 +2326,10 @@ func mapType(aName string, pName string, pType string) 
string {
                pType = "UUID"
        }
 
+       if pName == "counter" {
+               return "*Counter"
+       }
+
        switch pType {
        case "UUID":
                return "UUID"
@@ -2346,6 +2350,12 @@ func mapType(aName string, pName string, pType string) 
string {
                if pName == "virtualmachines" {
                        return "[]*VirtualMachine"
                }
+               if pName == "conditions" {
+                       return "[]*Condition"
+               }
+               if pName == "scaledownpolicies" || pName == "scaleuppolicies" {
+                       return "[]*AutoScalePolicy"
+               }
                return "[]string"
        case "map":
                if mapRequireList[aName] != nil && mapRequireList[aName][pName] 
{

Reply via email to