This is an automated email from the ASF dual-hosted git repository. dahn pushed a commit to branch pr90 in repository https://gitbox.apache.org/repos/asf/cloudstack-go.git
commit 8cb2dbceef9e714ad40481c2bc3152d80d79dfd9 Author: tonymmm1 <[email protected]> AuthorDate: Sat Jul 27 10:17:59 2024 -0500 fix types for QuotaService --- cloudstack/QuotaService.go | 175 +++++++++++++++++++++++---------------------- generate/generate.go | 7 +- 2 files changed, 95 insertions(+), 87 deletions(-) diff --git a/cloudstack/QuotaService.go b/cloudstack/QuotaService.go index bb3959c..287905b 100644 --- a/cloudstack/QuotaService.go +++ b/cloudstack/QuotaService.go @@ -206,15 +206,15 @@ func (s *QuotaService) QuotaBalance(p *QuotaBalanceParams) (*QuotaBalanceRespons } type QuotaBalanceResponse struct { - Account string `json:"account"` - Accountid int64 `json:"accountid"` - Domain int64 `json:"domain"` - JobID string `json:"jobid"` - Jobstatus int `json:"jobstatus"` - Name string `json:"name"` - Quota string `json:"quota"` - Type int `json:"type"` - Unit string `json:"unit"` + Account string `json:"account"` + Accountid int64 `json:"accountid"` + Domain int64 `json:"domain"` + JobID string `json:"jobid"` + Jobstatus int `json:"jobstatus"` + Name string `json:"name"` + Quota float64 `json:"quota"` + Type int `json:"type"` + Unit string `json:"unit"` } type QuotaCreditsParams struct { @@ -379,12 +379,12 @@ func (s *QuotaService) QuotaCredits(p *QuotaCreditsParams) (*QuotaCreditsRespons } type QuotaCreditsResponse struct { - Credits string `json:"credits"` - Currency string `json:"currency"` - JobID string `json:"jobid"` - Jobstatus int `json:"jobstatus"` - Updated_by string `json:"updated_by"` - Updated_on string `json:"updated_on"` + Credits float64 `json:"credits"` + Currency string `json:"currency"` + JobID string `json:"jobid"` + Jobstatus int `json:"jobstatus"` + Updated_by string `json:"updated_by"` + Updated_on string `json:"updated_on"` } type QuotaIsEnabledParams struct { @@ -613,15 +613,15 @@ func (s *QuotaService) QuotaStatement(p *QuotaStatementParams) (*QuotaStatementR } type QuotaStatementResponse struct { - Account string `json:"account"` - Accountid int64 `json:"accountid"` - Domain int64 `json:"domain"` - JobID string `json:"jobid"` - Jobstatus int `json:"jobstatus"` - Name string `json:"name"` - Quota string `json:"quota"` - Type int `json:"type"` - Unit string `json:"unit"` + Account string `json:"account"` + Accountid int64 `json:"accountid"` + Domain int64 `json:"domain"` + JobID string `json:"jobid"` + Jobstatus int `json:"jobstatus"` + Name string `json:"name"` + Quota float64 `json:"quota"` + Type int `json:"type"` + Unit string `json:"unit"` } type QuotaSummaryParams struct { @@ -807,19 +807,24 @@ func (s *QuotaService) QuotaSummary(p *QuotaSummaryParams) (*QuotaSummaryRespons } type QuotaSummaryResponse struct { - Account string `json:"account"` - Accountid string `json:"accountid"` - Balance string `json:"balance"` - Currency string `json:"currency"` - Domain string `json:"domain"` - Domainid string `json:"domainid"` - Enddate string `json:"enddate"` - JobID string `json:"jobid"` - Jobstatus int `json:"jobstatus"` - Quota string `json:"quota"` - Quotaenabled bool `json:"quotaenabled"` - Startdate string `json:"startdate"` - State string `json:"state"` + Count int `json:"count"` + QuotaSummary []*QuotaSummary `json:"summary"` +} + +type QuotaSummary struct { + Account string `json:"account"` + Accountid string `json:"accountid"` + Balance float64 `json:"balance"` + Currency string `json:"currency"` + Domain string `json:"domain"` + Domainid string `json:"domainid"` + Enddate string `json:"enddate"` + JobID string `json:"jobid"` + Jobstatus int `json:"jobstatus"` + Quota float64 `json:"quota"` + Quotaenabled bool `json:"quotaenabled"` + Startdate string `json:"startdate"` + State string `json:"state"` } type QuotaTariffCreateParams struct { @@ -1031,22 +1036,22 @@ func (s *QuotaService) QuotaTariffCreate(p *QuotaTariffCreateParams) (*QuotaTari } type QuotaTariffCreateResponse struct { - ActivationRule string `json:"activationRule"` - Currency string `json:"currency"` - Description string `json:"description"` - EffectiveDate string `json:"effectiveDate"` - EndDate string `json:"endDate"` - JobID string `json:"jobid"` - Jobstatus int `json:"jobstatus"` - Name string `json:"name"` - Removed string `json:"removed"` - TariffValue string `json:"tariffValue"` - UsageDiscriminator string `json:"usageDiscriminator"` - UsageName string `json:"usageName"` - UsageType int `json:"usageType"` - UsageTypeDescription string `json:"usageTypeDescription"` - UsageUnit string `json:"usageUnit"` - Uuid string `json:"uuid"` + ActivationRule string `json:"activationRule"` + Currency string `json:"currency"` + Description string `json:"description"` + EffectiveDate string `json:"effectiveDate"` + EndDate string `json:"endDate"` + JobID string `json:"jobid"` + Jobstatus int `json:"jobstatus"` + Name string `json:"name"` + Removed string `json:"removed"` + TariffValue float64 `json:"tariffValue"` + UsageDiscriminator string `json:"usageDiscriminator"` + UsageName string `json:"usageName"` + UsageType int `json:"usageType"` + UsageTypeDescription string `json:"usageTypeDescription"` + UsageUnit string `json:"usageUnit"` + Uuid string `json:"uuid"` } type QuotaTariffDeleteParams struct { @@ -1375,22 +1380,22 @@ func (s *QuotaService) QuotaTariffList(p *QuotaTariffListParams) (*QuotaTariffLi } type QuotaTariffListResponse struct { - ActivationRule string `json:"activationRule"` - Currency string `json:"currency"` - Description string `json:"description"` - EffectiveDate string `json:"effectiveDate"` - EndDate string `json:"endDate"` - JobID string `json:"jobid"` - Jobstatus int `json:"jobstatus"` - Name string `json:"name"` - Removed string `json:"removed"` - TariffValue string `json:"tariffValue"` - UsageDiscriminator string `json:"usageDiscriminator"` - UsageName string `json:"usageName"` - UsageType int `json:"usageType"` - UsageTypeDescription string `json:"usageTypeDescription"` - UsageUnit string `json:"usageUnit"` - Uuid string `json:"uuid"` + ActivationRule string `json:"activationRule"` + Currency string `json:"currency"` + Description string `json:"description"` + EffectiveDate string `json:"effectiveDate"` + EndDate string `json:"endDate"` + JobID string `json:"jobid"` + Jobstatus int `json:"jobstatus"` + Name string `json:"name"` + Removed string `json:"removed"` + TariffValue float64 `json:"tariffValue"` + UsageDiscriminator string `json:"usageDiscriminator"` + UsageName string `json:"usageName"` + UsageType int `json:"usageType"` + UsageTypeDescription string `json:"usageTypeDescription"` + UsageUnit string `json:"usageUnit"` + Uuid string `json:"uuid"` } type QuotaTariffUpdateParams struct { @@ -1600,22 +1605,22 @@ func (s *QuotaService) QuotaTariffUpdate(p *QuotaTariffUpdateParams) (*QuotaTari } type QuotaTariffUpdateResponse struct { - ActivationRule string `json:"activationRule"` - Currency string `json:"currency"` - Description string `json:"description"` - EffectiveDate string `json:"effectiveDate"` - EndDate string `json:"endDate"` - JobID string `json:"jobid"` - Jobstatus int `json:"jobstatus"` - Name string `json:"name"` - Removed string `json:"removed"` - TariffValue string `json:"tariffValue"` - UsageDiscriminator string `json:"usageDiscriminator"` - UsageName string `json:"usageName"` - UsageType int `json:"usageType"` - UsageTypeDescription string `json:"usageTypeDescription"` - UsageUnit string `json:"usageUnit"` - Uuid string `json:"uuid"` + ActivationRule string `json:"activationRule"` + Currency string `json:"currency"` + Description string `json:"description"` + EffectiveDate string `json:"effectiveDate"` + EndDate string `json:"endDate"` + JobID string `json:"jobid"` + Jobstatus int `json:"jobstatus"` + Name string `json:"name"` + Removed string `json:"removed"` + TariffValue float64 `json:"tariffValue"` + UsageDiscriminator string `json:"usageDiscriminator"` + UsageName string `json:"usageName"` + UsageType int `json:"usageType"` + UsageTypeDescription string `json:"usageTypeDescription"` + UsageUnit string `json:"usageUnit"` + Uuid string `json:"uuid"` } type QuotaUpdateParams struct { diff --git a/generate/generate.go b/generate/generate.go index ba93c8c..74807f1 100644 --- a/generate/generate.go +++ b/generate/generate.go @@ -1905,7 +1905,7 @@ func (s *service) generateResponseType(a *API) { // If this is a 'list' response, we need an separate list struct. There seem to be other // types of responses that also need a separate list struct, so checking on exact matches // for those once. - if strings.HasPrefix(a.Name, "list") || a.Name == "registerTemplate" || a.Name == "findHostsForMigration" || a.Name == "registerUserData" { + if strings.HasPrefix(a.Name, "list") || a.Name == "registerTemplate" || a.Name == "findHostsForMigration" || a.Name == "registerUserData" || a.Name == "quotaSummary" { pn("type %s struct {", tn) // This nasty check is for some specific response that do not behave consistent @@ -1981,6 +1981,9 @@ func (s *service) generateResponseType(a *API) { case "listStoragePoolsMetrics": pn(" Count int `json:\"count\"`") pn(" %s []*%s `json:\"%s\"`", ln, parseSingular(ln), "storagepool") + case "quotaSummary": + pn(" Count int `json:\"count\"`") + pn(" %s []*%s `json:\"%s\"`", ln, parseSingular(ln), "summary") default: pn(" Count int `json:\"count\"`") pn(" %s []*%s `json:\"%s\"`", ln, parseSingular(ln), strings.ToLower(parseSingular(ln))) @@ -2244,7 +2247,7 @@ func mapType(aName string, pName string, pType string) string { return "int" case "long": return "int64" - case "float", "double": + case "float", "double", "bigdecimal": return "float64" case "list": if pName == "downloaddetails" || pName == "owner" {
