From c4e4bfc52cdfc524ef977cde715da4a5aad31dcb Mon Sep 17 00:00:00 2001 From: "cloudquery-ci[bot]" <271027272+cloudquery-ci[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 16:56:16 +0000 Subject: [PATCH] fix: Generate CloudQuery Go API Client from `spec.json` --- client.gen.go | 953 ++++---------------------------------------------- models.gen.go | 154 -------- spec.json | 335 ------------------ 3 files changed, 60 insertions(+), 1382 deletions(-) diff --git a/client.gen.go b/client.gen.go index f55118b..3fe9b8e 100644 --- a/client.gen.go +++ b/client.gen.go @@ -414,25 +414,6 @@ type ClientInterface interface { UpdateSettings(ctx context.Context, teamName TeamName, body UpdateSettingsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) - // GetTeamSpend request - GetTeamSpend(ctx context.Context, teamName TeamName, params *GetTeamSpendParams, reqEditors ...RequestEditorFn) (*http.Response, error) - - // DeleteSpendingLimit request - DeleteSpendingLimit(ctx context.Context, teamName TeamName, reqEditors ...RequestEditorFn) (*http.Response, error) - - // GetSpendingLimit request - GetSpendingLimit(ctx context.Context, teamName TeamName, reqEditors ...RequestEditorFn) (*http.Response, error) - - // CreateSpendingLimitWithBody request with any body - CreateSpendingLimitWithBody(ctx context.Context, teamName TeamName, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) - - CreateSpendingLimit(ctx context.Context, teamName TeamName, body CreateSpendingLimitJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) - - // UpdateSpendingLimitWithBody request with any body - UpdateSpendingLimitWithBody(ctx context.Context, teamName TeamName, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) - - UpdateSpendingLimit(ctx context.Context, teamName TeamName, body UpdateSpendingLimitJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) - // ListSubscriptionOrdersByTeam request ListSubscriptionOrdersByTeam(ctx context.Context, teamName TeamName, params *ListSubscriptionOrdersByTeamParams, reqEditors ...RequestEditorFn) (*http.Response, error) @@ -1961,90 +1942,6 @@ func (c *Client) UpdateSettings(ctx context.Context, teamName TeamName, body Upd return c.Client.Do(req) } -func (c *Client) GetTeamSpend(ctx context.Context, teamName TeamName, params *GetTeamSpendParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewGetTeamSpendRequest(c.Server, teamName, params) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) DeleteSpendingLimit(ctx context.Context, teamName TeamName, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewDeleteSpendingLimitRequest(c.Server, teamName) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) GetSpendingLimit(ctx context.Context, teamName TeamName, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewGetSpendingLimitRequest(c.Server, teamName) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) CreateSpendingLimitWithBody(ctx context.Context, teamName TeamName, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewCreateSpendingLimitRequestWithBody(c.Server, teamName, contentType, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) CreateSpendingLimit(ctx context.Context, teamName TeamName, body CreateSpendingLimitJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewCreateSpendingLimitRequest(c.Server, teamName, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) UpdateSpendingLimitWithBody(ctx context.Context, teamName TeamName, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewUpdateSpendingLimitRequestWithBody(c.Server, teamName, contentType, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) UpdateSpendingLimit(ctx context.Context, teamName TeamName, body UpdateSpendingLimitJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewUpdateSpendingLimitRequest(c.Server, teamName, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - func (c *Client) ListSubscriptionOrdersByTeam(ctx context.Context, teamName TeamName, params *ListSubscriptionOrdersByTeamParams, reqEditors ...RequestEditorFn) (*http.Response, error) { req, err := NewListSubscriptionOrdersByTeamRequest(c.Server, teamName, params) if err != nil { @@ -7435,8 +7332,8 @@ func NewUpdateSettingsRequestWithBody(server string, teamName TeamName, contentT return req, nil } -// NewGetTeamSpendRequest generates requests for GetTeamSpend -func NewGetTeamSpendRequest(server string, teamName TeamName, params *GetTeamSpendParams) (*http.Request, error) { +// NewListSubscriptionOrdersByTeamRequest generates requests for ListSubscriptionOrdersByTeam +func NewListSubscriptionOrdersByTeamRequest(server string, teamName TeamName, params *ListSubscriptionOrdersByTeamParams) (*http.Request, error) { var err error var pathParam0 string @@ -7451,7 +7348,7 @@ func NewGetTeamSpendRequest(server string, teamName TeamName, params *GetTeamSpe return nil, err } - operationPath := fmt.Sprintf("/teams/%s/spend", pathParam0) + operationPath := fmt.Sprintf("/teams/%s/subscription-orders", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -7464,9 +7361,9 @@ func NewGetTeamSpendRequest(server string, teamName TeamName, params *GetTeamSpe if params != nil { queryValues := queryURL.Query() - if params.Start != nil { + if params.Page != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "start", runtime.ParamLocationQuery, *params.Start); err != nil { + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "page", runtime.ParamLocationQuery, *params.Page); err != nil { return nil, err } else if parsed, err := url.ParseQuery(queryFrag); err != nil { return nil, err @@ -7480,9 +7377,9 @@ func NewGetTeamSpendRequest(server string, teamName TeamName, params *GetTeamSpe } - if params.End != nil { + if params.PerPage != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "end", runtime.ParamLocationQuery, *params.End); err != nil { + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "per_page", runtime.ParamLocationQuery, *params.PerPage); err != nil { return nil, err } else if parsed, err := url.ParseQuery(queryFrag); err != nil { return nil, err @@ -7507,87 +7404,19 @@ func NewGetTeamSpendRequest(server string, teamName TeamName, params *GetTeamSpe return req, nil } -// NewDeleteSpendingLimitRequest generates requests for DeleteSpendingLimit -func NewDeleteSpendingLimitRequest(server string, teamName TeamName) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "team_name", runtime.ParamLocationPath, teamName) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/teams/%s/spending-limits", pathParam0) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("DELETE", queryURL.String(), nil) - if err != nil { - return nil, err - } - - return req, nil -} - -// NewGetSpendingLimitRequest generates requests for GetSpendingLimit -func NewGetSpendingLimitRequest(server string, teamName TeamName) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "team_name", runtime.ParamLocationPath, teamName) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/teams/%s/spending-limits", pathParam0) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("GET", queryURL.String(), nil) - if err != nil { - return nil, err - } - - return req, nil -} - -// NewCreateSpendingLimitRequest calls the generic CreateSpendingLimit builder with application/json body -func NewCreateSpendingLimitRequest(server string, teamName TeamName, body CreateSpendingLimitJSONRequestBody) (*http.Request, error) { +// NewCreateSubscriptionOrderForTeamRequest calls the generic CreateSubscriptionOrderForTeam builder with application/json body +func NewCreateSubscriptionOrderForTeamRequest(server string, teamName TeamName, body CreateSubscriptionOrderForTeamJSONRequestBody) (*http.Request, error) { var bodyReader io.Reader buf, err := json.Marshal(body) if err != nil { return nil, err } bodyReader = bytes.NewReader(buf) - return NewCreateSpendingLimitRequestWithBody(server, teamName, "application/json", bodyReader) + return NewCreateSubscriptionOrderForTeamRequestWithBody(server, teamName, "application/json", bodyReader) } -// NewCreateSpendingLimitRequestWithBody generates requests for CreateSpendingLimit with any type of body -func NewCreateSpendingLimitRequestWithBody(server string, teamName TeamName, contentType string, body io.Reader) (*http.Request, error) { +// NewCreateSubscriptionOrderForTeamRequestWithBody generates requests for CreateSubscriptionOrderForTeam with any type of body +func NewCreateSubscriptionOrderForTeamRequestWithBody(server string, teamName TeamName, contentType string, body io.Reader) (*http.Request, error) { var err error var pathParam0 string @@ -7602,7 +7431,7 @@ func NewCreateSpendingLimitRequestWithBody(server string, teamName TeamName, con return nil, err } - operationPath := fmt.Sprintf("/teams/%s/spending-limits", pathParam0) + operationPath := fmt.Sprintf("/teams/%s/subscription-orders", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -7622,19 +7451,8 @@ func NewCreateSpendingLimitRequestWithBody(server string, teamName TeamName, con return req, nil } -// NewUpdateSpendingLimitRequest calls the generic UpdateSpendingLimit builder with application/json body -func NewUpdateSpendingLimitRequest(server string, teamName TeamName, body UpdateSpendingLimitJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewUpdateSpendingLimitRequestWithBody(server, teamName, "application/json", bodyReader) -} - -// NewUpdateSpendingLimitRequestWithBody generates requests for UpdateSpendingLimit with any type of body -func NewUpdateSpendingLimitRequestWithBody(server string, teamName TeamName, contentType string, body io.Reader) (*http.Request, error) { +// NewGetSubscriptionOrderByTeamRequest generates requests for GetSubscriptionOrderByTeam +func NewGetSubscriptionOrderByTeamRequest(server string, teamName TeamName, teamSubscriptionOrderID TeamSubscriptionOrderID) (*http.Request, error) { var err error var pathParam0 string @@ -7644,12 +7462,19 @@ func NewUpdateSpendingLimitRequestWithBody(server string, teamName TeamName, con return nil, err } + var pathParam1 string + + pathParam1, err = runtime.StyleParamWithLocation("simple", false, "subscription_order_id", runtime.ParamLocationPath, teamSubscriptionOrderID) + if err != nil { + return nil, err + } + serverURL, err := url.Parse(server) if err != nil { return nil, err } - operationPath := fmt.Sprintf("/teams/%s/spending-limits", pathParam0) + operationPath := fmt.Sprintf("/teams/%s/subscription-orders/%s", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -7659,18 +7484,16 @@ func NewUpdateSpendingLimitRequestWithBody(server string, teamName TeamName, con return nil, err } - req, err := http.NewRequest("PUT", queryURL.String(), body) + req, err := http.NewRequest("GET", queryURL.String(), nil) if err != nil { return nil, err } - req.Header.Add("Content-Type", contentType) - return req, nil } -// NewListSubscriptionOrdersByTeamRequest generates requests for ListSubscriptionOrdersByTeam -func NewListSubscriptionOrdersByTeamRequest(server string, teamName TeamName, params *ListSubscriptionOrdersByTeamParams) (*http.Request, error) { +// NewListTeamPluginUsageRequest generates requests for ListTeamPluginUsage +func NewListTeamPluginUsageRequest(server string, teamName TeamName, params *ListTeamPluginUsageParams) (*http.Request, error) { var err error var pathParam0 string @@ -7685,7 +7508,7 @@ func NewListSubscriptionOrdersByTeamRequest(server string, teamName TeamName, pa return nil, err } - operationPath := fmt.Sprintf("/teams/%s/subscription-orders", pathParam0) + operationPath := fmt.Sprintf("/teams/%s/usage", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -7741,19 +7564,19 @@ func NewListSubscriptionOrdersByTeamRequest(server string, teamName TeamName, pa return req, nil } -// NewCreateSubscriptionOrderForTeamRequest calls the generic CreateSubscriptionOrderForTeam builder with application/json body -func NewCreateSubscriptionOrderForTeamRequest(server string, teamName TeamName, body CreateSubscriptionOrderForTeamJSONRequestBody) (*http.Request, error) { +// NewIncreaseTeamPluginUsageRequest calls the generic IncreaseTeamPluginUsage builder with application/json body +func NewIncreaseTeamPluginUsageRequest(server string, teamName TeamName, body IncreaseTeamPluginUsageJSONRequestBody) (*http.Request, error) { var bodyReader io.Reader buf, err := json.Marshal(body) if err != nil { return nil, err } bodyReader = bytes.NewReader(buf) - return NewCreateSubscriptionOrderForTeamRequestWithBody(server, teamName, "application/json", bodyReader) + return NewIncreaseTeamPluginUsageRequestWithBody(server, teamName, "application/json", bodyReader) } -// NewCreateSubscriptionOrderForTeamRequestWithBody generates requests for CreateSubscriptionOrderForTeam with any type of body -func NewCreateSubscriptionOrderForTeamRequestWithBody(server string, teamName TeamName, contentType string, body io.Reader) (*http.Request, error) { +// NewIncreaseTeamPluginUsageRequestWithBody generates requests for IncreaseTeamPluginUsage with any type of body +func NewIncreaseTeamPluginUsageRequestWithBody(server string, teamName TeamName, contentType string, body io.Reader) (*http.Request, error) { var err error var pathParam0 string @@ -7768,7 +7591,7 @@ func NewCreateSubscriptionOrderForTeamRequestWithBody(server string, teamName Te return nil, err } - operationPath := fmt.Sprintf("/teams/%s/subscription-orders", pathParam0) + operationPath := fmt.Sprintf("/teams/%s/usage", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -7788,49 +7611,8 @@ func NewCreateSubscriptionOrderForTeamRequestWithBody(server string, teamName Te return req, nil } -// NewGetSubscriptionOrderByTeamRequest generates requests for GetSubscriptionOrderByTeam -func NewGetSubscriptionOrderByTeamRequest(server string, teamName TeamName, teamSubscriptionOrderID TeamSubscriptionOrderID) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "team_name", runtime.ParamLocationPath, teamName) - if err != nil { - return nil, err - } - - var pathParam1 string - - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "subscription_order_id", runtime.ParamLocationPath, teamSubscriptionOrderID) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/teams/%s/subscription-orders/%s", pathParam0, pathParam1) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("GET", queryURL.String(), nil) - if err != nil { - return nil, err - } - - return req, nil -} - -// NewListTeamPluginUsageRequest generates requests for ListTeamPluginUsage -func NewListTeamPluginUsageRequest(server string, teamName TeamName, params *ListTeamPluginUsageParams) (*http.Request, error) { +// NewGetTeamUsageSummaryRequest generates requests for GetTeamUsageSummary +func NewGetTeamUsageSummaryRequest(server string, teamName TeamName, params *GetTeamUsageSummaryParams) (*http.Request, error) { var err error var pathParam0 string @@ -7845,7 +7627,7 @@ func NewListTeamPluginUsageRequest(server string, teamName TeamName, params *Lis return nil, err } - operationPath := fmt.Sprintf("/teams/%s/usage", pathParam0) + operationPath := fmt.Sprintf("/teams/%s/usage-summary", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -7858,9 +7640,9 @@ func NewListTeamPluginUsageRequest(server string, teamName TeamName, params *Lis if params != nil { queryValues := queryURL.Query() - if params.Page != nil { + if params.Metrics != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "page", runtime.ParamLocationQuery, *params.Page); err != nil { + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "metrics", runtime.ParamLocationQuery, *params.Metrics); err != nil { return nil, err } else if parsed, err := url.ParseQuery(queryFrag); err != nil { return nil, err @@ -7874,9 +7656,9 @@ func NewListTeamPluginUsageRequest(server string, teamName TeamName, params *Lis } - if params.PerPage != nil { + if params.Start != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "per_page", runtime.ParamLocationQuery, *params.PerPage); err != nil { + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "start", runtime.ParamLocationQuery, *params.Start); err != nil { return nil, err } else if parsed, err := url.ParseQuery(queryFrag); err != nil { return nil, err @@ -7890,126 +7672,7 @@ func NewListTeamPluginUsageRequest(server string, teamName TeamName, params *Lis } - queryURL.RawQuery = queryValues.Encode() - } - - req, err := http.NewRequest("GET", queryURL.String(), nil) - if err != nil { - return nil, err - } - - return req, nil -} - -// NewIncreaseTeamPluginUsageRequest calls the generic IncreaseTeamPluginUsage builder with application/json body -func NewIncreaseTeamPluginUsageRequest(server string, teamName TeamName, body IncreaseTeamPluginUsageJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewIncreaseTeamPluginUsageRequestWithBody(server, teamName, "application/json", bodyReader) -} - -// NewIncreaseTeamPluginUsageRequestWithBody generates requests for IncreaseTeamPluginUsage with any type of body -func NewIncreaseTeamPluginUsageRequestWithBody(server string, teamName TeamName, contentType string, body io.Reader) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "team_name", runtime.ParamLocationPath, teamName) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/teams/%s/usage", pathParam0) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("POST", queryURL.String(), body) - if err != nil { - return nil, err - } - - req.Header.Add("Content-Type", contentType) - - return req, nil -} - -// NewGetTeamUsageSummaryRequest generates requests for GetTeamUsageSummary -func NewGetTeamUsageSummaryRequest(server string, teamName TeamName, params *GetTeamUsageSummaryParams) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "team_name", runtime.ParamLocationPath, teamName) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/teams/%s/usage-summary", pathParam0) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - if params != nil { - queryValues := queryURL.Query() - - if params.Metrics != nil { - - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "metrics", runtime.ParamLocationQuery, *params.Metrics); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { - return nil, err - } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } - } - } - - } - - if params.Start != nil { - - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "start", runtime.ParamLocationQuery, *params.Start); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { - return nil, err - } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } - } - } - - } - - if params.End != nil { + if params.End != nil { if queryFrag, err := runtime.StyleParamWithLocation("form", true, "end", runtime.ParamLocationQuery, *params.End); err != nil { return nil, err @@ -9441,25 +9104,6 @@ type ClientWithResponsesInterface interface { UpdateSettingsWithResponse(ctx context.Context, teamName TeamName, body UpdateSettingsJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateSettingsResponse, error) - // GetTeamSpendWithResponse request - GetTeamSpendWithResponse(ctx context.Context, teamName TeamName, params *GetTeamSpendParams, reqEditors ...RequestEditorFn) (*GetTeamSpendResponse, error) - - // DeleteSpendingLimitWithResponse request - DeleteSpendingLimitWithResponse(ctx context.Context, teamName TeamName, reqEditors ...RequestEditorFn) (*DeleteSpendingLimitResponse, error) - - // GetSpendingLimitWithResponse request - GetSpendingLimitWithResponse(ctx context.Context, teamName TeamName, reqEditors ...RequestEditorFn) (*GetSpendingLimitResponse, error) - - // CreateSpendingLimitWithBodyWithResponse request with any body - CreateSpendingLimitWithBodyWithResponse(ctx context.Context, teamName TeamName, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateSpendingLimitResponse, error) - - CreateSpendingLimitWithResponse(ctx context.Context, teamName TeamName, body CreateSpendingLimitJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateSpendingLimitResponse, error) - - // UpdateSpendingLimitWithBodyWithResponse request with any body - UpdateSpendingLimitWithBodyWithResponse(ctx context.Context, teamName TeamName, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateSpendingLimitResponse, error) - - UpdateSpendingLimitWithResponse(ctx context.Context, teamName TeamName, body UpdateSpendingLimitJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateSpendingLimitResponse, error) - // ListSubscriptionOrdersByTeamWithResponse request ListSubscriptionOrdersByTeamWithResponse(ctx context.Context, teamName TeamName, params *ListSubscriptionOrdersByTeamParams, reqEditors ...RequestEditorFn) (*ListSubscriptionOrdersByTeamResponse, error) @@ -11763,138 +11407,6 @@ func (r UpdateSettingsResponse) StatusCode() int { return 0 } -type GetTeamSpendResponse struct { - Body []byte - HTTPResponse *http.Response - JSON200 *SpendSummary - JSON400 *BadRequest - JSON401 *RequiresAuthentication - JSON403 *Forbidden - JSON404 *NotFound - JSON500 *InternalError -} - -// Status returns HTTPResponse.Status -func (r GetTeamSpendResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r GetTeamSpendResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type DeleteSpendingLimitResponse struct { - Body []byte - HTTPResponse *http.Response - JSON401 *RequiresAuthentication - JSON403 *Forbidden - JSON404 *NotFound - JSON500 *InternalError -} - -// Status returns HTTPResponse.Status -func (r DeleteSpendingLimitResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r DeleteSpendingLimitResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type GetSpendingLimitResponse struct { - Body []byte - HTTPResponse *http.Response - JSON200 *SpendingLimit - JSON401 *RequiresAuthentication - JSON403 *Forbidden - JSON404 *NotFound - JSON500 *InternalError -} - -// Status returns HTTPResponse.Status -func (r GetSpendingLimitResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r GetSpendingLimitResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type CreateSpendingLimitResponse struct { - Body []byte - HTTPResponse *http.Response - JSON201 *SpendingLimit - JSON401 *RequiresAuthentication - JSON403 *Forbidden - JSON404 *NotFound - JSON422 *UnprocessableEntity - JSON500 *InternalError -} - -// Status returns HTTPResponse.Status -func (r CreateSpendingLimitResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r CreateSpendingLimitResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type UpdateSpendingLimitResponse struct { - Body []byte - HTTPResponse *http.Response - JSON200 *SpendingLimit - JSON400 *BadRequest - JSON401 *RequiresAuthentication - JSON403 *Forbidden - JSON404 *NotFound - JSON500 *InternalError -} - -// Status returns HTTPResponse.Status -func (r UpdateSpendingLimitResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r UpdateSpendingLimitResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - type ListSubscriptionOrdersByTeamResponse struct { Body []byte HTTPResponse *http.Response @@ -13680,109 +13192,48 @@ func (c *ClientWithResponses) UpdateSettingsWithResponse(ctx context.Context, te return ParseUpdateSettingsResponse(rsp) } -// GetTeamSpendWithResponse request returning *GetTeamSpendResponse -func (c *ClientWithResponses) GetTeamSpendWithResponse(ctx context.Context, teamName TeamName, params *GetTeamSpendParams, reqEditors ...RequestEditorFn) (*GetTeamSpendResponse, error) { - rsp, err := c.GetTeamSpend(ctx, teamName, params, reqEditors...) +// ListSubscriptionOrdersByTeamWithResponse request returning *ListSubscriptionOrdersByTeamResponse +func (c *ClientWithResponses) ListSubscriptionOrdersByTeamWithResponse(ctx context.Context, teamName TeamName, params *ListSubscriptionOrdersByTeamParams, reqEditors ...RequestEditorFn) (*ListSubscriptionOrdersByTeamResponse, error) { + rsp, err := c.ListSubscriptionOrdersByTeam(ctx, teamName, params, reqEditors...) if err != nil { return nil, err } - return ParseGetTeamSpendResponse(rsp) + return ParseListSubscriptionOrdersByTeamResponse(rsp) } -// DeleteSpendingLimitWithResponse request returning *DeleteSpendingLimitResponse -func (c *ClientWithResponses) DeleteSpendingLimitWithResponse(ctx context.Context, teamName TeamName, reqEditors ...RequestEditorFn) (*DeleteSpendingLimitResponse, error) { - rsp, err := c.DeleteSpendingLimit(ctx, teamName, reqEditors...) +// CreateSubscriptionOrderForTeamWithBodyWithResponse request with arbitrary body returning *CreateSubscriptionOrderForTeamResponse +func (c *ClientWithResponses) CreateSubscriptionOrderForTeamWithBodyWithResponse(ctx context.Context, teamName TeamName, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateSubscriptionOrderForTeamResponse, error) { + rsp, err := c.CreateSubscriptionOrderForTeamWithBody(ctx, teamName, contentType, body, reqEditors...) if err != nil { return nil, err } - return ParseDeleteSpendingLimitResponse(rsp) + return ParseCreateSubscriptionOrderForTeamResponse(rsp) } -// GetSpendingLimitWithResponse request returning *GetSpendingLimitResponse -func (c *ClientWithResponses) GetSpendingLimitWithResponse(ctx context.Context, teamName TeamName, reqEditors ...RequestEditorFn) (*GetSpendingLimitResponse, error) { - rsp, err := c.GetSpendingLimit(ctx, teamName, reqEditors...) +func (c *ClientWithResponses) CreateSubscriptionOrderForTeamWithResponse(ctx context.Context, teamName TeamName, body CreateSubscriptionOrderForTeamJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateSubscriptionOrderForTeamResponse, error) { + rsp, err := c.CreateSubscriptionOrderForTeam(ctx, teamName, body, reqEditors...) if err != nil { return nil, err } - return ParseGetSpendingLimitResponse(rsp) + return ParseCreateSubscriptionOrderForTeamResponse(rsp) } -// CreateSpendingLimitWithBodyWithResponse request with arbitrary body returning *CreateSpendingLimitResponse -func (c *ClientWithResponses) CreateSpendingLimitWithBodyWithResponse(ctx context.Context, teamName TeamName, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateSpendingLimitResponse, error) { - rsp, err := c.CreateSpendingLimitWithBody(ctx, teamName, contentType, body, reqEditors...) +// GetSubscriptionOrderByTeamWithResponse request returning *GetSubscriptionOrderByTeamResponse +func (c *ClientWithResponses) GetSubscriptionOrderByTeamWithResponse(ctx context.Context, teamName TeamName, teamSubscriptionOrderID TeamSubscriptionOrderID, reqEditors ...RequestEditorFn) (*GetSubscriptionOrderByTeamResponse, error) { + rsp, err := c.GetSubscriptionOrderByTeam(ctx, teamName, teamSubscriptionOrderID, reqEditors...) if err != nil { return nil, err } - return ParseCreateSpendingLimitResponse(rsp) + return ParseGetSubscriptionOrderByTeamResponse(rsp) } -func (c *ClientWithResponses) CreateSpendingLimitWithResponse(ctx context.Context, teamName TeamName, body CreateSpendingLimitJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateSpendingLimitResponse, error) { - rsp, err := c.CreateSpendingLimit(ctx, teamName, body, reqEditors...) +// ListTeamPluginUsageWithResponse request returning *ListTeamPluginUsageResponse +func (c *ClientWithResponses) ListTeamPluginUsageWithResponse(ctx context.Context, teamName TeamName, params *ListTeamPluginUsageParams, reqEditors ...RequestEditorFn) (*ListTeamPluginUsageResponse, error) { + rsp, err := c.ListTeamPluginUsage(ctx, teamName, params, reqEditors...) if err != nil { return nil, err } - return ParseCreateSpendingLimitResponse(rsp) -} - -// UpdateSpendingLimitWithBodyWithResponse request with arbitrary body returning *UpdateSpendingLimitResponse -func (c *ClientWithResponses) UpdateSpendingLimitWithBodyWithResponse(ctx context.Context, teamName TeamName, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateSpendingLimitResponse, error) { - rsp, err := c.UpdateSpendingLimitWithBody(ctx, teamName, contentType, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseUpdateSpendingLimitResponse(rsp) -} - -func (c *ClientWithResponses) UpdateSpendingLimitWithResponse(ctx context.Context, teamName TeamName, body UpdateSpendingLimitJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateSpendingLimitResponse, error) { - rsp, err := c.UpdateSpendingLimit(ctx, teamName, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseUpdateSpendingLimitResponse(rsp) -} - -// ListSubscriptionOrdersByTeamWithResponse request returning *ListSubscriptionOrdersByTeamResponse -func (c *ClientWithResponses) ListSubscriptionOrdersByTeamWithResponse(ctx context.Context, teamName TeamName, params *ListSubscriptionOrdersByTeamParams, reqEditors ...RequestEditorFn) (*ListSubscriptionOrdersByTeamResponse, error) { - rsp, err := c.ListSubscriptionOrdersByTeam(ctx, teamName, params, reqEditors...) - if err != nil { - return nil, err - } - return ParseListSubscriptionOrdersByTeamResponse(rsp) -} - -// CreateSubscriptionOrderForTeamWithBodyWithResponse request with arbitrary body returning *CreateSubscriptionOrderForTeamResponse -func (c *ClientWithResponses) CreateSubscriptionOrderForTeamWithBodyWithResponse(ctx context.Context, teamName TeamName, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateSubscriptionOrderForTeamResponse, error) { - rsp, err := c.CreateSubscriptionOrderForTeamWithBody(ctx, teamName, contentType, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseCreateSubscriptionOrderForTeamResponse(rsp) -} - -func (c *ClientWithResponses) CreateSubscriptionOrderForTeamWithResponse(ctx context.Context, teamName TeamName, body CreateSubscriptionOrderForTeamJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateSubscriptionOrderForTeamResponse, error) { - rsp, err := c.CreateSubscriptionOrderForTeam(ctx, teamName, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseCreateSubscriptionOrderForTeamResponse(rsp) -} - -// GetSubscriptionOrderByTeamWithResponse request returning *GetSubscriptionOrderByTeamResponse -func (c *ClientWithResponses) GetSubscriptionOrderByTeamWithResponse(ctx context.Context, teamName TeamName, teamSubscriptionOrderID TeamSubscriptionOrderID, reqEditors ...RequestEditorFn) (*GetSubscriptionOrderByTeamResponse, error) { - rsp, err := c.GetSubscriptionOrderByTeam(ctx, teamName, teamSubscriptionOrderID, reqEditors...) - if err != nil { - return nil, err - } - return ParseGetSubscriptionOrderByTeamResponse(rsp) -} - -// ListTeamPluginUsageWithResponse request returning *ListTeamPluginUsageResponse -func (c *ClientWithResponses) ListTeamPluginUsageWithResponse(ctx context.Context, teamName TeamName, params *ListTeamPluginUsageParams, reqEditors ...RequestEditorFn) (*ListTeamPluginUsageResponse, error) { - rsp, err := c.ListTeamPluginUsage(ctx, teamName, params, reqEditors...) - if err != nil { - return nil, err - } - return ParseListTeamPluginUsageResponse(rsp) + return ParseListTeamPluginUsageResponse(rsp) } // IncreaseTeamPluginUsageWithBodyWithResponse request with arbitrary body returning *IncreaseTeamPluginUsageResponse @@ -18680,290 +18131,6 @@ func ParseUpdateSettingsResponse(rsp *http.Response) (*UpdateSettingsResponse, e return response, nil } -// ParseGetTeamSpendResponse parses an HTTP response from a GetTeamSpendWithResponse call -func ParseGetTeamSpendResponse(rsp *http.Response) (*GetTeamSpendResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &GetTeamSpendResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest SpendSummary - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON200 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: - var dest BadRequest - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON400 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 401: - var dest RequiresAuthentication - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON401 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest Forbidden - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON403 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest NotFound - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON404 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 500: - var dest InternalError - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON500 = &dest - - } - - return response, nil -} - -// ParseDeleteSpendingLimitResponse parses an HTTP response from a DeleteSpendingLimitWithResponse call -func ParseDeleteSpendingLimitResponse(rsp *http.Response) (*DeleteSpendingLimitResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &DeleteSpendingLimitResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 401: - var dest RequiresAuthentication - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON401 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest Forbidden - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON403 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest NotFound - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON404 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 500: - var dest InternalError - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON500 = &dest - - } - - return response, nil -} - -// ParseGetSpendingLimitResponse parses an HTTP response from a GetSpendingLimitWithResponse call -func ParseGetSpendingLimitResponse(rsp *http.Response) (*GetSpendingLimitResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &GetSpendingLimitResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest SpendingLimit - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON200 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 401: - var dest RequiresAuthentication - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON401 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest Forbidden - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON403 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest NotFound - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON404 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 500: - var dest InternalError - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON500 = &dest - - } - - return response, nil -} - -// ParseCreateSpendingLimitResponse parses an HTTP response from a CreateSpendingLimitWithResponse call -func ParseCreateSpendingLimitResponse(rsp *http.Response) (*CreateSpendingLimitResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &CreateSpendingLimitResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 201: - var dest SpendingLimit - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON201 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 401: - var dest RequiresAuthentication - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON401 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest Forbidden - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON403 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest NotFound - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON404 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 422: - var dest UnprocessableEntity - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON422 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 500: - var dest InternalError - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON500 = &dest - - } - - return response, nil -} - -// ParseUpdateSpendingLimitResponse parses an HTTP response from a UpdateSpendingLimitWithResponse call -func ParseUpdateSpendingLimitResponse(rsp *http.Response) (*UpdateSpendingLimitResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &UpdateSpendingLimitResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest SpendingLimit - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON200 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: - var dest BadRequest - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON400 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 401: - var dest RequiresAuthentication - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON401 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest Forbidden - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON403 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest NotFound - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON404 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 500: - var dest InternalError - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON500 = &dest - - } - - return response, nil -} - // ParseListSubscriptionOrdersByTeamResponse parses an HTTP response from a ListSubscriptionOrdersByTeamWithResponse call func ParseListSubscriptionOrdersByTeamResponse(rsp *http.Response) (*ListSubscriptionOrdersByTeamResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) diff --git a/models.gen.go b/models.gen.go index f1c7bd7..68ff4f8 100644 --- a/models.gen.go +++ b/models.gen.go @@ -1722,13 +1722,6 @@ type PluginVersionUpdate struct { SupportedTargets *[]string `json:"supported_targets,omitempty"` } -// PriceCategorySpend Spend by price category for a defined period. -type PriceCategorySpend struct { - // Category Supported price categories for billing - Category PluginPriceCategory `json:"category"` - Total string `json:"total"` -} - // RegisterUser201Response defines model for RegisterUser_201_response. type RegisterUser201Response struct { // CustomToken Token to exchange for ID token @@ -1843,59 +1836,6 @@ type SettingsUpdate struct { EnforceMfa *bool `json:"enforce_mfa,omitempty"` } -// SpendSummary A spend summary for a team, summarizing the spend by each price category over a given time range. -// Note that empty or all-zero values are not included in the response. -type SpendSummary struct { - // Metadata Additional metadata about the spend summary. This may include information about the time range, the aggregation period, or other details. - Metadata SpendSummaryMetadata `json:"metadata"` - Values interface{} `json:"values"` - AdditionalProperties map[string]interface{} `json:"-"` -} - -// SpendSummaryValue A spend summary value. -type SpendSummaryValue struct { - ByCategory []PriceCategorySpend `json:"by_category"` - - // Date The timestamp for the spend summary. - Date time.Time `json:"date"` - - // Total Total spend for the period in USD. - Total string `json:"total"` -} - -// SpendSummaryMetadata Additional metadata about the spend summary. This may include information about the time range, the aggregation period, or other details. -type SpendSummaryMetadata struct { - // End The exclusive end of the query time range. - End interface{} `json:"end"` - - // Start The inclusive start of the query time range. - Start interface{} `json:"start"` -} - -// SpendingLimit A configurable spending limit for the team. Empty values indicate no limit. -type SpendingLimit struct { - // CreatedAt The date and time the team limit was created. - CreatedAt *time.Time `json:"created_at,omitempty"` - - // UpdatedAt The date and time the team limit was last updated. - UpdatedAt *time.Time `json:"updated_at,omitempty"` - - // USD The maximum USD amount the team is allowed to use within a calendar month. - USD *int `json:"usd,omitempty"` -} - -// SpendingLimitCreate A configurable monthly limit for team usage. -type SpendingLimitCreate struct { - // USD The maximum USD amount the team is allowed to use within a calendar month. - USD int `json:"usd"` -} - -// SpendingLimitUpdate A configurable spending limit for the team. -type SpendingLimitUpdate struct { - // USD The maximum USD amount the team is allowed to use within a calendar month. - USD int `json:"usd"` -} - // Team CloudQuery Team type Team struct { CreatedAt *time.Time `json:"created_at,omitempty"` @@ -2527,15 +2467,6 @@ type DownloadPluginAssetByTeamParams struct { Accept *string `json:"Accept,omitempty"` } -// GetTeamSpendParams defines parameters for GetTeamSpend. -type GetTeamSpendParams struct { - // Start A valid ISO 8601 date string representing the inclusive start of the period. - Start *time.Time `form:"start,omitempty" json:"start,omitempty"` - - // End A valid ISO 8601 date string representing the exclusive end of the period. - End *time.Time `form:"end,omitempty" json:"end,omitempty"` -} - // ListSubscriptionOrdersByTeamParams defines parameters for ListSubscriptionOrdersByTeam. type ListSubscriptionOrdersByTeamParams struct { // Page Page number of the results to fetch @@ -2728,12 +2659,6 @@ type RemoveTeamMembershipJSONRequestBody = RemoveTeamMembershipRequest // UpdateSettingsJSONRequestBody defines body for UpdateSettings for application/json ContentType. type UpdateSettingsJSONRequestBody = SettingsUpdate -// CreateSpendingLimitJSONRequestBody defines body for CreateSpendingLimit for application/json ContentType. -type CreateSpendingLimitJSONRequestBody = SpendingLimitCreate - -// UpdateSpendingLimitJSONRequestBody defines body for UpdateSpendingLimit for application/json ContentType. -type UpdateSpendingLimitJSONRequestBody = SpendingLimitUpdate - // CreateSubscriptionOrderForTeamJSONRequestBody defines body for CreateSubscriptionOrderForTeam for application/json ContentType. type CreateSubscriptionOrderForTeamJSONRequestBody = TeamSubscriptionOrderCreate @@ -4385,85 +4310,6 @@ func (a SendUserEventRequest) MarshalJSON() ([]byte, error) { return json.Marshal(object) } -// Getter for additional properties for SpendSummary. Returns the specified -// element and whether it was found -func (a SpendSummary) Get(fieldName string) (value interface{}, found bool) { - if a.AdditionalProperties != nil { - value, found = a.AdditionalProperties[fieldName] - } - return -} - -// Setter for additional properties for SpendSummary -func (a *SpendSummary) Set(fieldName string, value interface{}) { - if a.AdditionalProperties == nil { - a.AdditionalProperties = make(map[string]interface{}) - } - a.AdditionalProperties[fieldName] = value -} - -// Override default JSON handling for SpendSummary to handle AdditionalProperties -func (a *SpendSummary) UnmarshalJSON(b []byte) error { - object := make(map[string]json.RawMessage) - err := json.Unmarshal(b, &object) - if err != nil { - return err - } - - if raw, found := object["metadata"]; found { - err = json.Unmarshal(raw, &a.Metadata) - if err != nil { - return fmt.Errorf("error reading 'metadata': %w", err) - } - delete(object, "metadata") - } - - if raw, found := object["values"]; found { - err = json.Unmarshal(raw, &a.Values) - if err != nil { - return fmt.Errorf("error reading 'values': %w", err) - } - delete(object, "values") - } - - if len(object) != 0 { - a.AdditionalProperties = make(map[string]interface{}) - for fieldName, fieldBuf := range object { - var fieldVal interface{} - err := json.Unmarshal(fieldBuf, &fieldVal) - if err != nil { - return fmt.Errorf("error unmarshaling field %s: %w", fieldName, err) - } - a.AdditionalProperties[fieldName] = fieldVal - } - } - return nil -} - -// Override default JSON handling for SpendSummary to handle AdditionalProperties -func (a SpendSummary) MarshalJSON() ([]byte, error) { - var err error - object := make(map[string]json.RawMessage) - - object["metadata"], err = json.Marshal(a.Metadata) - if err != nil { - return nil, fmt.Errorf("error marshaling 'metadata': %w", err) - } - - object["values"], err = json.Marshal(a.Values) - if err != nil { - return nil, fmt.Errorf("error marshaling 'values': %w", err) - } - - for fieldName, field := range a.AdditionalProperties { - object[fieldName], err = json.Marshal(field) - if err != nil { - return nil, fmt.Errorf("error marshaling '%s': %w", fieldName, err) - } - } - return json.Marshal(object) -} - // Getter for additional properties for UpdateCurrentUserRequest. Returns the specified // element and whether it was found func (a UpdateCurrentUserRequest) Get(fieldName string) (value interface{}, found bool) { diff --git a/spec.json b/spec.json index 0c46e28..f5863e1 100644 --- a/spec.json +++ b/spec.json @@ -2492,153 +2492,6 @@ "tags" : [ "teams" ] } }, - "/teams/{team_name}/spending-limits" : { - "delete" : { - "description" : "Delete a spending limit for a team", - "operationId" : "DeleteSpendingLimit", - "parameters" : [ { - "$ref" : "#/components/parameters/team_name" - } ], - "responses" : { - "204" : { - "description" : "Spending limit deleted." - }, - "401" : { - "$ref" : "#/components/responses/RequiresAuthentication" - }, - "403" : { - "$ref" : "#/components/responses/Forbidden" - }, - "404" : { - "$ref" : "#/components/responses/NotFound" - }, - "500" : { - "$ref" : "#/components/responses/InternalError" - } - }, - "tags" : [ "teams" ] - }, - "get" : { - "description" : "Get monthly spending limit for team.", - "operationId" : "GetSpendingLimit", - "parameters" : [ { - "$ref" : "#/components/parameters/team_name" - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SpendingLimit" - } - } - }, - "description" : "Spending limit retrieved." - }, - "401" : { - "$ref" : "#/components/responses/RequiresAuthentication" - }, - "403" : { - "$ref" : "#/components/responses/Forbidden" - }, - "404" : { - "$ref" : "#/components/responses/NotFound" - }, - "500" : { - "$ref" : "#/components/responses/InternalError" - } - }, - "tags" : [ "teams" ] - }, - "post" : { - "description" : "Create a spending limit for a team. Deprecated.", - "operationId" : "CreateSpendingLimit", - "parameters" : [ { - "$ref" : "#/components/parameters/team_name" - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SpendingLimitCreate" - } - } - } - }, - "responses" : { - "201" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SpendingLimit" - } - } - }, - "description" : "New spending limit created." - }, - "401" : { - "$ref" : "#/components/responses/RequiresAuthentication" - }, - "403" : { - "$ref" : "#/components/responses/Forbidden" - }, - "404" : { - "$ref" : "#/components/responses/NotFound" - }, - "422" : { - "$ref" : "#/components/responses/UnprocessableEntity" - }, - "500" : { - "$ref" : "#/components/responses/InternalError" - } - }, - "tags" : [ "teams" ] - }, - "put" : { - "description" : "Update a spending limit for a team. Deprecated.", - "operationId" : "UpdateSpendingLimit", - "parameters" : [ { - "$ref" : "#/components/parameters/team_name" - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SpendingLimitUpdate" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SpendingLimit" - } - } - }, - "description" : "Spending limit updated." - }, - "400" : { - "$ref" : "#/components/responses/BadRequest" - }, - "401" : { - "$ref" : "#/components/responses/RequiresAuthentication" - }, - "403" : { - "$ref" : "#/components/responses/Forbidden" - }, - "404" : { - "$ref" : "#/components/responses/NotFound" - }, - "500" : { - "$ref" : "#/components/responses/InternalError" - } - }, - "tags" : [ "teams" ] - } - }, "/teams/{team_name}/invoices" : { "get" : { "description" : "List all past invoices for the team.", @@ -3024,65 +2877,6 @@ "tags" : [ "teams" ] } }, - "/teams/{team_name}/spend" : { - "get" : { - "description" : "Get team spend for defined period. Deprecated.", - "operationId" : "GetTeamSpend", - "parameters" : [ { - "$ref" : "#/components/parameters/team_name" - }, { - "description" : "A valid ISO 8601 date string representing the inclusive start of the period.", - "explode" : true, - "in" : "query", - "name" : "start", - "required" : false, - "schema" : { - "format" : "date-time", - "type" : "string" - }, - "style" : "form" - }, { - "description" : "A valid ISO 8601 date string representing the exclusive end of the period.", - "explode" : true, - "in" : "query", - "name" : "end", - "required" : false, - "schema" : { - "format" : "date-time", - "type" : "string" - }, - "style" : "form" - } ], - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SpendSummary" - } - } - }, - "description" : "Team spend for defined period." - }, - "400" : { - "$ref" : "#/components/responses/BadRequest" - }, - "401" : { - "$ref" : "#/components/responses/RequiresAuthentication" - }, - "403" : { - "$ref" : "#/components/responses/Forbidden" - }, - "404" : { - "$ref" : "#/components/responses/NotFound" - }, - "500" : { - "$ref" : "#/components/responses/InternalError" - } - }, - "tags" : [ "teams" ] - } - }, "/teams/{team_name}/plugins/{plugin_team}/{plugin_kind}/{plugin_name}/versions/{version_name}/assets/{target_name}" : { "get" : { "description" : "Download an asset for a given plugin version as the current team.", @@ -5557,11 +5351,9 @@ "ImageURL" : { "properties" : { "upload_url" : { - "example" : "https://cloudquery.io/api/v1/upload/1234567890abcdef1234567890abcdef", "type" : "string" }, "download_url" : { - "example" : "https://cloudquery.io/api/v1/download/1234567890abcdef1234567890abcdef", "type" : "string" }, "required_headers" : { @@ -7105,65 +6897,6 @@ "required" : [ "role", "user" ], "title" : "CloudQuery User Membership" }, - "SpendingLimit" : { - "additionalProperties" : false, - "description" : "A configurable spending limit for the team. Empty values indicate no limit.", - "properties" : { - "created_at" : { - "description" : "The date and time the team limit was created.", - "example" : "2017-07-14T16:53:42Z", - "format" : "date-time", - "type" : "string" - }, - "updated_at" : { - "description" : "The date and time the team limit was last updated.", - "example" : "2017-07-14T16:53:42Z", - "format" : "date-time", - "type" : "string" - }, - "usd" : { - "description" : "The maximum USD amount the team is allowed to use within a calendar month.", - "example" : 1000, - "maximum" : 1000000000, - "minimum" : 0, - "type" : "integer", - "x-go-name" : "USD" - } - }, - "title" : "Team Spending Limit" - }, - "SpendingLimitUpdate" : { - "additionalProperties" : false, - "description" : "A configurable spending limit for the team.", - "properties" : { - "usd" : { - "description" : "The maximum USD amount the team is allowed to use within a calendar month.", - "example" : 1000, - "maximum" : 1000000000, - "minimum" : 0, - "type" : "integer", - "x-go-name" : "USD" - } - }, - "required" : [ "usd" ], - "title" : "Team Spending Limit" - }, - "SpendingLimitCreate" : { - "additionalProperties" : false, - "description" : "A configurable monthly limit for team usage.", - "properties" : { - "usd" : { - "description" : "The maximum USD amount the team is allowed to use within a calendar month.", - "example" : 1000, - "maximum" : 1000000000, - "minimum" : 0, - "type" : "integer", - "x-go-name" : "USD" - } - }, - "required" : [ "usd" ], - "title" : "Team Spending Limit" - }, "Invoice" : { "additionalProperties" : false, "description" : "Invoice details", @@ -7382,59 +7115,6 @@ "required" : [ "groups", "metadata", "values" ], "title" : "CloudQuery Usage Summary" }, - "PriceCategorySpend" : { - "additionalProperties" : false, - "description" : "Spend by price category for a defined period.", - "properties" : { - "category" : { - "$ref" : "#/components/schemas/PluginPriceCategory" - }, - "total" : { - "type" : "string" - } - }, - "required" : [ "category", "total" ], - "title" : "Spend by price category" - }, - "SpendSummaryValue" : { - "additionalProperties" : false, - "description" : "A spend summary value.", - "properties" : { - "date" : { - "description" : "The timestamp for the spend summary.", - "format" : "date-time", - "type" : "string" - }, - "by_category" : { - "items" : { - "$ref" : "#/components/schemas/PriceCategorySpend" - }, - "type" : "array" - }, - "total" : { - "description" : "Total spend for the period in USD.", - "type" : "string" - } - }, - "required" : [ "by_category", "date", "total" ], - "title" : "CloudQuery Spend Summary Value" - }, - "SpendSummary" : { - "additionalProperties" : { }, - "description" : "A spend summary for a team, summarizing the spend by each price category over a given time range.\nNote that empty or all-zero values are not included in the response.\n", - "properties" : { - "values" : { - "items" : { - "$ref" : "#/components/schemas/SpendSummaryValue" - } - }, - "metadata" : { - "$ref" : "#/components/schemas/SpendSummary_metadata" - } - }, - "required" : [ "metadata", "values" ], - "title" : "CloudQuery Spend Summary" - }, "Email" : { "example" : "user@example.com", "format" : "email", @@ -8868,21 +8548,6 @@ } }, "required" : [ "aggregation_period", "end", "metrics", "start" ] - }, - "SpendSummary_metadata" : { - "additionalProperties" : false, - "description" : "Additional metadata about the spend summary. This may include information about the time range, the aggregation period, or other details.", - "properties" : { - "start" : { - "description" : "The inclusive start of the query time range.", - "format" : "date-time" - }, - "end" : { - "description" : "The exclusive end of the query time range.", - "format" : "date-time" - } - }, - "required" : [ "end", "start" ] } }, "securitySchemes" : {