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] {