Skip to content

Commit ce11174

Browse files
committed
feat: update generated APIs
1 parent dbbe692 commit ce11174

File tree

1 file changed

+136
-0
lines changed

1 file changed

+136
-0
lines changed

api/cockpit/v1/cockpit_sdk.go

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,51 @@ func (enum *ListPlansRequestOrderBy) UnmarshalJSON(data []byte) error {
381381
return nil
382382
}
383383

384+
type ListProductsRequestOrderBy string
385+
386+
const (
387+
ListProductsRequestOrderByCreatedAtAsc = ListProductsRequestOrderBy("created_at_asc")
388+
ListProductsRequestOrderByCreatedAtDesc = ListProductsRequestOrderBy("created_at_desc")
389+
ListProductsRequestOrderByDisplayNameAsc = ListProductsRequestOrderBy("display_name_asc")
390+
ListProductsRequestOrderByDisplayNameDesc = ListProductsRequestOrderBy("display_name_desc")
391+
ListProductsRequestOrderByFamilyNameAsc = ListProductsRequestOrderBy("family_name_asc")
392+
ListProductsRequestOrderByFamilyNameDesc = ListProductsRequestOrderBy("family_name_desc")
393+
)
394+
395+
func (enum ListProductsRequestOrderBy) String() string {
396+
if enum == "" {
397+
// return default value if empty
398+
return string(ListProductsRequestOrderByCreatedAtAsc)
399+
}
400+
return string(enum)
401+
}
402+
403+
func (enum ListProductsRequestOrderBy) Values() []ListProductsRequestOrderBy {
404+
return []ListProductsRequestOrderBy{
405+
"created_at_asc",
406+
"created_at_desc",
407+
"display_name_asc",
408+
"display_name_desc",
409+
"family_name_asc",
410+
"family_name_desc",
411+
}
412+
}
413+
414+
func (enum ListProductsRequestOrderBy) MarshalJSON() ([]byte, error) {
415+
return []byte(fmt.Sprintf(`"%s"`, enum)), nil
416+
}
417+
418+
func (enum *ListProductsRequestOrderBy) UnmarshalJSON(data []byte) error {
419+
tmp := ""
420+
421+
if err := json.Unmarshal(data, &tmp); err != nil {
422+
return err
423+
}
424+
425+
*enum = ListProductsRequestOrderBy(ListProductsRequestOrderBy(tmp).String())
426+
return nil
427+
}
428+
384429
type ListTokensRequestOrderBy string
385430

386431
const (
@@ -757,6 +802,17 @@ type Plan struct {
757802
MonthlyPrice uint32 `json:"monthly_price"`
758803
}
759804

805+
// Product: product.
806+
type Product struct {
807+
Name string `json:"name"`
808+
809+
DisplayName string `json:"display_name"`
810+
811+
FamilyName string `json:"family_name"`
812+
813+
ResourceTypes []string `json:"resource_types"`
814+
}
815+
760816
// Token: Token.
761817
type Token struct {
762818
// ID: ID of the token.
@@ -1162,6 +1218,32 @@ func (r *ListPlansResponse) UnsafeAppend(res any) (uint64, error) {
11621218
return uint64(len(results.Plans)), nil
11631219
}
11641220

1221+
// ListProductsResponse: list products response.
1222+
type ListProductsResponse struct {
1223+
ProductsList []*Product `json:"products_list"`
1224+
1225+
TotalCount uint64 `json:"total_count"`
1226+
}
1227+
1228+
// UnsafeGetTotalCount should not be used
1229+
// Internal usage only
1230+
func (r *ListProductsResponse) UnsafeGetTotalCount() uint64 {
1231+
return r.TotalCount
1232+
}
1233+
1234+
// UnsafeAppend should not be used
1235+
// Internal usage only
1236+
func (r *ListProductsResponse) UnsafeAppend(res any) (uint64, error) {
1237+
results, ok := res.(*ListProductsResponse)
1238+
if !ok {
1239+
return 0, errors.New("%T type cannot be appended to type %T", res, r)
1240+
}
1241+
1242+
r.ProductsList = append(r.ProductsList, results.ProductsList...)
1243+
r.TotalCount += uint64(len(results.ProductsList))
1244+
return uint64(len(results.ProductsList)), nil
1245+
}
1246+
11651247
// ListTokensResponse: Response returned when listing tokens.
11661248
type ListTokensResponse struct {
11671249
// TotalCount: total count of tokens matching the request.
@@ -1429,6 +1511,22 @@ type RegionalAPIListDataSourcesRequest struct {
14291511
Types []DataSourceType `json:"-"`
14301512
}
14311513

1514+
// RegionalAPIListProductsRequest: List all Scaleway products that send metrics and/or logs to Cockpit.
1515+
type RegionalAPIListProductsRequest struct {
1516+
// Region: region to target. If none is passed will use default region from the config.
1517+
Region scw.Region `json:"-"`
1518+
1519+
// Page: page number to return from the paginated results.
1520+
Page *int32 `json:"-"`
1521+
1522+
// PageSize: number of products to return per page.
1523+
PageSize *uint32 `json:"-"`
1524+
1525+
// OrderBy: sort order for products in the response.
1526+
// Default value: created_at_asc
1527+
OrderBy ListProductsRequestOrderBy `json:"-"`
1528+
}
1529+
14321530
// RegionalAPIListTokensRequest: List tokens.
14331531
type RegionalAPIListTokensRequest struct {
14341532
// Region: region to target. If none is passed will use default region from the config.
@@ -2257,6 +2355,44 @@ func (s *RegionalAPI) DeleteToken(req *RegionalAPIDeleteTokenRequest, opts ...sc
22572355
return nil
22582356
}
22592357

2358+
// ListProducts: List all Scaleway products that send metrics and/or logs to Cockpit.
2359+
func (s *RegionalAPI) ListProducts(req *RegionalAPIListProductsRequest, opts ...scw.RequestOption) (*ListProductsResponse, error) {
2360+
var err error
2361+
2362+
if req.Region == "" {
2363+
defaultRegion, _ := s.client.GetDefaultRegion()
2364+
req.Region = defaultRegion
2365+
}
2366+
2367+
defaultPageSize, exist := s.client.GetDefaultPageSize()
2368+
if (req.PageSize == nil || *req.PageSize == 0) && exist {
2369+
req.PageSize = &defaultPageSize
2370+
}
2371+
2372+
query := url.Values{}
2373+
parameter.AddToQuery(query, "page", req.Page)
2374+
parameter.AddToQuery(query, "page_size", req.PageSize)
2375+
parameter.AddToQuery(query, "order_by", req.OrderBy)
2376+
2377+
if fmt.Sprint(req.Region) == "" {
2378+
return nil, errors.New("field Region cannot be empty in request")
2379+
}
2380+
2381+
scwReq := &scw.ScalewayRequest{
2382+
Method: "GET",
2383+
Path: "/cockpit/v1/regions/" + fmt.Sprint(req.Region) + "/products",
2384+
Query: query,
2385+
}
2386+
2387+
var resp ListProductsResponse
2388+
2389+
err = s.client.Do(scwReq, &resp, opts...)
2390+
if err != nil {
2391+
return nil, err
2392+
}
2393+
return &resp, nil
2394+
}
2395+
22602396
// GetAlertManager: Retrieve information about the Alert manager which is unique per Project and region. By default the Alert manager is disabled.
22612397
// The output returned displays a URL to access the Alert manager, and whether the Alert manager and managed alerts are enabled.
22622398
func (s *RegionalAPI) GetAlertManager(req *RegionalAPIGetAlertManagerRequest, opts ...scw.RequestOption) (*AlertManager, error) {

0 commit comments

Comments
 (0)