@scaleway/sdk-cockpit 1.3.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -232,12 +232,13 @@ class GlobalAPI extends sdkClient.API {
232
232
  );
233
233
  }
234
234
  class RegionalAPI extends sdkClient.API {
235
- /** Lists the available regions of the API. */
236
- static LOCALITIES = [
237
- "fr-par",
238
- "nl-ams",
239
- "pl-waw"
240
- ];
235
+ /**
236
+ * Locality of this API.
237
+ * type ∈ {'zone','region','global','unspecified'}
238
+ */
239
+ static LOCALITY = sdkClient.toApiLocality({
240
+ regions: ["fr-par", "nl-ams", "pl-waw"]
241
+ });
241
242
  /**
242
243
  * Get the Cockpit configuration.
243
244
  *
@@ -252,10 +253,7 @@ class RegionalAPI extends sdkClient.API {
252
253
  marshalling_gen.unmarshalGetConfigResponse
253
254
  );
254
255
  /**
255
- * Create a data source. You must specify the data source type upon creation. Available data source types include:
256
- - metrics
257
- - logs
258
- - traces
256
+ * Create a data source. You must specify the data source name and type (metrics, logs, traces) upon creation.
259
257
  The name of the data source will then be used as reference to name the associated Grafana data source.
260
258
  *
261
259
  * @param request - The request {@link RegionalApiCreateDataSourceRequest}
@@ -289,7 +287,7 @@ class RegionalAPI extends sdkClient.API {
289
287
  marshalling_gen.unmarshalDataSource
290
288
  );
291
289
  /**
292
- * Delete a data source. Delete a given data source, specified by the data source ID. Note that deleting a data source is irreversible, and cannot be undone.
290
+ * Delete a data source. Delete a given data source. Note that this action will permanently delete this data source and any data associated with it.
293
291
  *
294
292
  * @param request - The request {@link RegionalApiDeleteDataSourceRequest}
295
293
  */
@@ -319,15 +317,14 @@ class RegionalAPI extends sdkClient.API {
319
317
  marshalling_gen.unmarshalListDataSourcesResponse
320
318
  );
321
319
  /**
322
- * List data sources. Retrieve the list of data sources available in the specified region. By default, the data sources returned in the list are ordered by creation date, in ascending order.
323
- You can list data sources by Project, type and origin.
324
- *
325
- * @param request - The request {@link RegionalApiListDataSourcesRequest}
326
- * @returns A Promise of ListDataSourcesResponse
327
- */
320
+ * List data sources. Retrieve the list of data sources available in the specified region. By default, the data sources returned in the list are ordered by creation date, in ascending order.
321
+ *
322
+ * @param request - The request {@link RegionalApiListDataSourcesRequest}
323
+ * @returns A Promise of ListDataSourcesResponse
324
+ */
328
325
  listDataSources = (request = {}) => sdkClient.enrichForPagination("dataSources", this.pageOfListDataSources, request);
329
326
  /**
330
- * Update a data source. Update a given data source name, specified by the data source ID.
327
+ * Update a data source. Update a given data source attributes (name and/or retention_days).
331
328
  *
332
329
  * @param request - The request {@link RegionalApiUpdateDataSourceRequest}
333
330
  * @returns A Promise of DataSource
@@ -347,7 +344,7 @@ class RegionalAPI extends sdkClient.API {
347
344
  marshalling_gen.unmarshalDataSource
348
345
  );
349
346
  /**
350
- * Get data source usage overview. Retrieve the data source usage overview per type for the specified Project.
347
+ * Get data source usage overview. Retrieve the volume of data ingested for each of your data sources in the specified project and region.
351
348
  *
352
349
  * @param request - The request {@link RegionalApiGetUsageOverviewRequest}
353
350
  * @returns A Promise of UsageOverview
@@ -492,6 +489,23 @@ class RegionalAPI extends sdkClient.API {
492
489
  },
493
490
  marshalling_gen.unmarshalAlertManager
494
491
  );
492
+ /**
493
+ * Get a detailed count of enabled rules in the specified Project. Includes preconfigured and custom alerting and recording rules.. Get a detailed count of enabled rules in the specified Project. Includes preconfigured and custom alerting and recording rules.
494
+ *
495
+ * @param request - The request {@link RegionalApiGetRulesCountRequest}
496
+ * @returns A Promise of GetRulesCountResponse
497
+ */
498
+ getRulesCount = (request = {}) => this.client.fetch(
499
+ {
500
+ method: "GET",
501
+ path: `/cockpit/v1/regions/${sdkClient.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/rules/count`,
502
+ urlParams: sdkClient.urlParams([
503
+ "project_id",
504
+ request.projectId ?? this.client.settings.defaultProjectId
505
+ ])
506
+ },
507
+ marshalling_gen.unmarshalGetRulesCountResponse
508
+ );
495
509
  /**
496
510
  * Create a contact point. Contact points are email addresses associated with the default receiver, that the Alert manager sends alerts to.
497
511
  The source of the alerts are data sources within the same Project and region as the Alert manager.
@@ -1,6 +1,6 @@
1
1
  import { API as ParentAPI } from '@scaleway/sdk-client';
2
- import type { Region as ScwRegion } from '@scaleway/sdk-client';
3
- import type { AlertManager, ContactPoint, DataSource, DisableAlertRulesResponse, EnableAlertRulesResponse, GetConfigResponse, GlobalApiCreateGrafanaUserRequest, GlobalApiDeleteGrafanaUserRequest, GlobalApiGetCurrentPlanRequest, GlobalApiGetGrafanaProductDashboardRequest, GlobalApiGetGrafanaRequest, GlobalApiListGrafanaProductDashboardsRequest, GlobalApiListGrafanaUsersRequest, GlobalApiListPlansRequest, GlobalApiResetGrafanaUserPasswordRequest, GlobalApiSelectPlanRequest, GlobalApiSyncGrafanaDataSourcesRequest, Grafana, GrafanaProductDashboard, GrafanaUser, ListAlertsResponse, ListContactPointsResponse, ListDataSourcesResponse, ListGrafanaProductDashboardsResponse, ListGrafanaUsersResponse, ListPlansResponse, ListTokensResponse, Plan, RegionalApiCreateContactPointRequest, RegionalApiCreateDataSourceRequest, RegionalApiCreateTokenRequest, RegionalApiDeleteContactPointRequest, RegionalApiDeleteDataSourceRequest, RegionalApiDeleteTokenRequest, RegionalApiDisableAlertManagerRequest, RegionalApiDisableAlertRulesRequest, RegionalApiDisableManagedAlertsRequest, RegionalApiEnableAlertManagerRequest, RegionalApiEnableAlertRulesRequest, RegionalApiEnableManagedAlertsRequest, RegionalApiGetAlertManagerRequest, RegionalApiGetConfigRequest, RegionalApiGetDataSourceRequest, RegionalApiGetTokenRequest, RegionalApiGetUsageOverviewRequest, RegionalApiListAlertsRequest, RegionalApiListContactPointsRequest, RegionalApiListDataSourcesRequest, RegionalApiListTokensRequest, RegionalApiTriggerTestAlertRequest, RegionalApiUpdateContactPointRequest, RegionalApiUpdateDataSourceRequest, Token, UsageOverview } from './types.gen';
2
+ import type { ApiLocality } from '@scaleway/sdk-client';
3
+ import type { AlertManager, ContactPoint, DataSource, DisableAlertRulesResponse, EnableAlertRulesResponse, GetConfigResponse, GetRulesCountResponse, GlobalApiCreateGrafanaUserRequest, GlobalApiDeleteGrafanaUserRequest, GlobalApiGetCurrentPlanRequest, GlobalApiGetGrafanaProductDashboardRequest, GlobalApiGetGrafanaRequest, GlobalApiListGrafanaProductDashboardsRequest, GlobalApiListGrafanaUsersRequest, GlobalApiListPlansRequest, GlobalApiResetGrafanaUserPasswordRequest, GlobalApiSelectPlanRequest, GlobalApiSyncGrafanaDataSourcesRequest, Grafana, GrafanaProductDashboard, GrafanaUser, ListAlertsResponse, ListContactPointsResponse, ListDataSourcesResponse, ListGrafanaProductDashboardsResponse, ListGrafanaUsersResponse, ListPlansResponse, ListTokensResponse, Plan, RegionalApiCreateContactPointRequest, RegionalApiCreateDataSourceRequest, RegionalApiCreateTokenRequest, RegionalApiDeleteContactPointRequest, RegionalApiDeleteDataSourceRequest, RegionalApiDeleteTokenRequest, RegionalApiDisableAlertManagerRequest, RegionalApiDisableAlertRulesRequest, RegionalApiDisableManagedAlertsRequest, RegionalApiEnableAlertManagerRequest, RegionalApiEnableAlertRulesRequest, RegionalApiEnableManagedAlertsRequest, RegionalApiGetAlertManagerRequest, RegionalApiGetConfigRequest, RegionalApiGetDataSourceRequest, RegionalApiGetRulesCountRequest, RegionalApiGetTokenRequest, RegionalApiGetUsageOverviewRequest, RegionalApiListAlertsRequest, RegionalApiListContactPointsRequest, RegionalApiListDataSourcesRequest, RegionalApiListTokensRequest, RegionalApiTriggerTestAlertRequest, RegionalApiUpdateContactPointRequest, RegionalApiUpdateDataSourceRequest, Token, UsageOverview } from './types.gen';
4
4
  /**
5
5
  * Cockpit Global API.
6
6
 
@@ -110,8 +110,11 @@ export declare class GlobalAPI extends ParentAPI {
110
110
  The Cockpit API allows you to create data sources and Cockpit tokens to store and query data types such as metrics, logs, and traces. You can also push your data into Cockpit, and send alerts to your contact points when your resources may require your attention, using the regional Alert manager.
111
111
  */
112
112
  export declare class RegionalAPI extends ParentAPI {
113
- /** Lists the available regions of the API. */
114
- static readonly LOCALITIES: ScwRegion[];
113
+ /**
114
+ * Locality of this API.
115
+ * type ∈ {'zone','region','global','unspecified'}
116
+ */
117
+ static readonly LOCALITY: ApiLocality;
115
118
  /**
116
119
  * Get the Cockpit configuration.
117
120
  *
@@ -120,10 +123,7 @@ export declare class RegionalAPI extends ParentAPI {
120
123
  */
121
124
  getConfig: (request?: Readonly<RegionalApiGetConfigRequest>) => Promise<GetConfigResponse>;
122
125
  /**
123
- * Create a data source. You must specify the data source type upon creation. Available data source types include:
124
- - metrics
125
- - logs
126
- - traces
126
+ * Create a data source. You must specify the data source name and type (metrics, logs, traces) upon creation.
127
127
  The name of the data source will then be used as reference to name the associated Grafana data source.
128
128
  *
129
129
  * @param request - The request {@link RegionalApiCreateDataSourceRequest}
@@ -138,7 +138,7 @@ export declare class RegionalAPI extends ParentAPI {
138
138
  */
139
139
  getDataSource: (request: Readonly<RegionalApiGetDataSourceRequest>) => Promise<DataSource>;
140
140
  /**
141
- * Delete a data source. Delete a given data source, specified by the data source ID. Note that deleting a data source is irreversible, and cannot be undone.
141
+ * Delete a data source. Delete a given data source. Note that this action will permanently delete this data source and any data associated with it.
142
142
  *
143
143
  * @param request - The request {@link RegionalApiDeleteDataSourceRequest}
144
144
  */
@@ -146,7 +146,6 @@ export declare class RegionalAPI extends ParentAPI {
146
146
  protected pageOfListDataSources: (request?: Readonly<RegionalApiListDataSourcesRequest>) => Promise<ListDataSourcesResponse>;
147
147
  /**
148
148
  * List data sources. Retrieve the list of data sources available in the specified region. By default, the data sources returned in the list are ordered by creation date, in ascending order.
149
- You can list data sources by Project, type and origin.
150
149
  *
151
150
  * @param request - The request {@link RegionalApiListDataSourcesRequest}
152
151
  * @returns A Promise of ListDataSourcesResponse
@@ -156,14 +155,14 @@ export declare class RegionalAPI extends ParentAPI {
156
155
  [Symbol.asyncIterator]: () => AsyncGenerator<DataSource[], void, void>;
157
156
  };
158
157
  /**
159
- * Update a data source. Update a given data source name, specified by the data source ID.
158
+ * Update a data source. Update a given data source attributes (name and/or retention_days).
160
159
  *
161
160
  * @param request - The request {@link RegionalApiUpdateDataSourceRequest}
162
161
  * @returns A Promise of DataSource
163
162
  */
164
163
  updateDataSource: (request: Readonly<RegionalApiUpdateDataSourceRequest>) => Promise<DataSource>;
165
164
  /**
166
- * Get data source usage overview. Retrieve the data source usage overview per type for the specified Project.
165
+ * Get data source usage overview. Retrieve the volume of data ingested for each of your data sources in the specified project and region.
167
166
  *
168
167
  * @param request - The request {@link RegionalApiGetUsageOverviewRequest}
169
168
  * @returns A Promise of UsageOverview
@@ -224,6 +223,13 @@ export declare class RegionalAPI extends ParentAPI {
224
223
  * @returns A Promise of AlertManager
225
224
  */
226
225
  disableAlertManager: (request?: Readonly<RegionalApiDisableAlertManagerRequest>) => Promise<AlertManager>;
226
+ /**
227
+ * Get a detailed count of enabled rules in the specified Project. Includes preconfigured and custom alerting and recording rules.. Get a detailed count of enabled rules in the specified Project. Includes preconfigured and custom alerting and recording rules.
228
+ *
229
+ * @param request - The request {@link RegionalApiGetRulesCountRequest}
230
+ * @returns A Promise of GetRulesCountResponse
231
+ */
232
+ getRulesCount: (request?: Readonly<RegionalApiGetRulesCountRequest>) => Promise<GetRulesCountResponse>;
227
233
  /**
228
234
  * Create a contact point. Contact points are email addresses associated with the default receiver, that the Alert manager sends alerts to.
229
235
  The source of the alerts are data sources within the same Project and region as the Alert manager.
@@ -1,5 +1,5 @@
1
- import { API, urlParams, enrichForPagination, validatePathParam } from "@scaleway/sdk-client";
2
- import { unmarshalGrafana, marshalGlobalApiSyncGrafanaDataSourcesRequest, marshalGlobalApiCreateGrafanaUserRequest, unmarshalGrafanaUser, unmarshalListGrafanaUsersResponse, marshalGlobalApiResetGrafanaUserPasswordRequest, unmarshalListGrafanaProductDashboardsResponse, unmarshalGrafanaProductDashboard, unmarshalListPlansResponse, marshalGlobalApiSelectPlanRequest, unmarshalPlan, unmarshalGetConfigResponse, marshalRegionalApiCreateDataSourceRequest, unmarshalDataSource, unmarshalListDataSourcesResponse, marshalRegionalApiUpdateDataSourceRequest, unmarshalUsageOverview, marshalRegionalApiCreateTokenRequest, unmarshalToken, unmarshalListTokensResponse, unmarshalAlertManager, marshalRegionalApiEnableAlertManagerRequest, marshalRegionalApiDisableAlertManagerRequest, marshalRegionalApiCreateContactPointRequest, unmarshalContactPoint, unmarshalListContactPointsResponse, marshalRegionalApiUpdateContactPointRequest, marshalRegionalApiDeleteContactPointRequest, unmarshalListAlertsResponse, marshalRegionalApiEnableManagedAlertsRequest, marshalRegionalApiDisableManagedAlertsRequest, marshalRegionalApiEnableAlertRulesRequest, unmarshalEnableAlertRulesResponse, marshalRegionalApiDisableAlertRulesRequest, unmarshalDisableAlertRulesResponse, marshalRegionalApiTriggerTestAlertRequest } from "./marshalling.gen.js";
1
+ import { API, toApiLocality, validatePathParam, urlParams, enrichForPagination } from "@scaleway/sdk-client";
2
+ import { unmarshalGetConfigResponse, marshalRegionalApiCreateDataSourceRequest, unmarshalDataSource, unmarshalListDataSourcesResponse, marshalRegionalApiUpdateDataSourceRequest, unmarshalUsageOverview, marshalRegionalApiCreateTokenRequest, unmarshalToken, unmarshalListTokensResponse, unmarshalAlertManager, marshalRegionalApiEnableAlertManagerRequest, marshalRegionalApiDisableAlertManagerRequest, unmarshalGetRulesCountResponse, marshalRegionalApiCreateContactPointRequest, unmarshalContactPoint, unmarshalListContactPointsResponse, marshalRegionalApiUpdateContactPointRequest, marshalRegionalApiDeleteContactPointRequest, unmarshalListAlertsResponse, marshalRegionalApiEnableManagedAlertsRequest, marshalRegionalApiDisableManagedAlertsRequest, marshalRegionalApiEnableAlertRulesRequest, unmarshalEnableAlertRulesResponse, marshalRegionalApiDisableAlertRulesRequest, unmarshalDisableAlertRulesResponse, marshalRegionalApiTriggerTestAlertRequest, unmarshalGrafana, marshalGlobalApiSyncGrafanaDataSourcesRequest, marshalGlobalApiCreateGrafanaUserRequest, unmarshalGrafanaUser, unmarshalListGrafanaUsersResponse, marshalGlobalApiResetGrafanaUserPasswordRequest, unmarshalListGrafanaProductDashboardsResponse, unmarshalGrafanaProductDashboard, unmarshalListPlansResponse, marshalGlobalApiSelectPlanRequest, unmarshalPlan } from "./marshalling.gen.js";
3
3
  const jsonContentHeaders = {
4
4
  "Content-Type": "application/json; charset=utf-8"
5
5
  };
@@ -230,12 +230,13 @@ class GlobalAPI extends API {
230
230
  );
231
231
  }
232
232
  class RegionalAPI extends API {
233
- /** Lists the available regions of the API. */
234
- static LOCALITIES = [
235
- "fr-par",
236
- "nl-ams",
237
- "pl-waw"
238
- ];
233
+ /**
234
+ * Locality of this API.
235
+ * type ∈ {'zone','region','global','unspecified'}
236
+ */
237
+ static LOCALITY = toApiLocality({
238
+ regions: ["fr-par", "nl-ams", "pl-waw"]
239
+ });
239
240
  /**
240
241
  * Get the Cockpit configuration.
241
242
  *
@@ -250,10 +251,7 @@ class RegionalAPI extends API {
250
251
  unmarshalGetConfigResponse
251
252
  );
252
253
  /**
253
- * Create a data source. You must specify the data source type upon creation. Available data source types include:
254
- - metrics
255
- - logs
256
- - traces
254
+ * Create a data source. You must specify the data source name and type (metrics, logs, traces) upon creation.
257
255
  The name of the data source will then be used as reference to name the associated Grafana data source.
258
256
  *
259
257
  * @param request - The request {@link RegionalApiCreateDataSourceRequest}
@@ -287,7 +285,7 @@ class RegionalAPI extends API {
287
285
  unmarshalDataSource
288
286
  );
289
287
  /**
290
- * Delete a data source. Delete a given data source, specified by the data source ID. Note that deleting a data source is irreversible, and cannot be undone.
288
+ * Delete a data source. Delete a given data source. Note that this action will permanently delete this data source and any data associated with it.
291
289
  *
292
290
  * @param request - The request {@link RegionalApiDeleteDataSourceRequest}
293
291
  */
@@ -317,15 +315,14 @@ class RegionalAPI extends API {
317
315
  unmarshalListDataSourcesResponse
318
316
  );
319
317
  /**
320
- * List data sources. Retrieve the list of data sources available in the specified region. By default, the data sources returned in the list are ordered by creation date, in ascending order.
321
- You can list data sources by Project, type and origin.
322
- *
323
- * @param request - The request {@link RegionalApiListDataSourcesRequest}
324
- * @returns A Promise of ListDataSourcesResponse
325
- */
318
+ * List data sources. Retrieve the list of data sources available in the specified region. By default, the data sources returned in the list are ordered by creation date, in ascending order.
319
+ *
320
+ * @param request - The request {@link RegionalApiListDataSourcesRequest}
321
+ * @returns A Promise of ListDataSourcesResponse
322
+ */
326
323
  listDataSources = (request = {}) => enrichForPagination("dataSources", this.pageOfListDataSources, request);
327
324
  /**
328
- * Update a data source. Update a given data source name, specified by the data source ID.
325
+ * Update a data source. Update a given data source attributes (name and/or retention_days).
329
326
  *
330
327
  * @param request - The request {@link RegionalApiUpdateDataSourceRequest}
331
328
  * @returns A Promise of DataSource
@@ -345,7 +342,7 @@ class RegionalAPI extends API {
345
342
  unmarshalDataSource
346
343
  );
347
344
  /**
348
- * Get data source usage overview. Retrieve the data source usage overview per type for the specified Project.
345
+ * Get data source usage overview. Retrieve the volume of data ingested for each of your data sources in the specified project and region.
349
346
  *
350
347
  * @param request - The request {@link RegionalApiGetUsageOverviewRequest}
351
348
  * @returns A Promise of UsageOverview
@@ -490,6 +487,23 @@ class RegionalAPI extends API {
490
487
  },
491
488
  unmarshalAlertManager
492
489
  );
490
+ /**
491
+ * Get a detailed count of enabled rules in the specified Project. Includes preconfigured and custom alerting and recording rules.. Get a detailed count of enabled rules in the specified Project. Includes preconfigured and custom alerting and recording rules.
492
+ *
493
+ * @param request - The request {@link RegionalApiGetRulesCountRequest}
494
+ * @returns A Promise of GetRulesCountResponse
495
+ */
496
+ getRulesCount = (request = {}) => this.client.fetch(
497
+ {
498
+ method: "GET",
499
+ path: `/cockpit/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/rules/count`,
500
+ urlParams: urlParams([
501
+ "project_id",
502
+ request.projectId ?? this.client.settings.defaultProjectId
503
+ ])
504
+ },
505
+ unmarshalGetRulesCountResponse
506
+ );
493
507
  /**
494
508
  * Create a contact point. Contact points are email addresses associated with the default receiver, that the Alert manager sends alerts to.
495
509
  The source of the alerts are data sources within the same Project and region as the Alert manager.
@@ -28,6 +28,7 @@ exports.unmarshalDataSource = marshalling_gen.unmarshalDataSource;
28
28
  exports.unmarshalDisableAlertRulesResponse = marshalling_gen.unmarshalDisableAlertRulesResponse;
29
29
  exports.unmarshalEnableAlertRulesResponse = marshalling_gen.unmarshalEnableAlertRulesResponse;
30
30
  exports.unmarshalGetConfigResponse = marshalling_gen.unmarshalGetConfigResponse;
31
+ exports.unmarshalGetRulesCountResponse = marshalling_gen.unmarshalGetRulesCountResponse;
31
32
  exports.unmarshalGrafana = marshalling_gen.unmarshalGrafana;
32
33
  exports.unmarshalGrafanaProductDashboard = marshalling_gen.unmarshalGrafanaProductDashboard;
33
34
  exports.unmarshalGrafanaUser = marshalling_gen.unmarshalGrafanaUser;
@@ -1,4 +1,4 @@
1
1
  export { GlobalAPI, RegionalAPI, } from './api.gen';
2
2
  export * from './marshalling.gen';
3
- export type { Alert, AlertManager, AlertState, ContactPoint, ContactPointEmail, DataSource, DataSourceOrigin, DataSourceType, DisableAlertRulesResponse, EnableAlertRulesResponse, GetConfigResponse, GetConfigResponseRetention, GlobalApiCreateGrafanaUserRequest, GlobalApiDeleteGrafanaUserRequest, GlobalApiGetCurrentPlanRequest, GlobalApiGetGrafanaProductDashboardRequest, GlobalApiGetGrafanaRequest, GlobalApiListGrafanaProductDashboardsRequest, GlobalApiListGrafanaUsersRequest, GlobalApiListPlansRequest, GlobalApiResetGrafanaUserPasswordRequest, GlobalApiSelectPlanRequest, GlobalApiSyncGrafanaDataSourcesRequest, Grafana, GrafanaProductDashboard, GrafanaUser, GrafanaUserRole, ListAlertsResponse, ListContactPointsResponse, ListDataSourcesRequestOrderBy, ListDataSourcesResponse, ListGrafanaProductDashboardsResponse, ListGrafanaUsersRequestOrderBy, ListGrafanaUsersResponse, ListPlansRequestOrderBy, ListPlansResponse, ListTokensRequestOrderBy, ListTokensResponse, Plan, PlanName, PreconfiguredAlertData, RegionalApiCreateContactPointRequest, RegionalApiCreateDataSourceRequest, RegionalApiCreateTokenRequest, RegionalApiDeleteContactPointRequest, RegionalApiDeleteDataSourceRequest, RegionalApiDeleteTokenRequest, RegionalApiDisableAlertManagerRequest, RegionalApiDisableAlertRulesRequest, RegionalApiDisableManagedAlertsRequest, RegionalApiEnableAlertManagerRequest, RegionalApiEnableAlertRulesRequest, RegionalApiEnableManagedAlertsRequest, RegionalApiGetAlertManagerRequest, RegionalApiGetConfigRequest, RegionalApiGetDataSourceRequest, RegionalApiGetTokenRequest, RegionalApiGetUsageOverviewRequest, RegionalApiListAlertsRequest, RegionalApiListContactPointsRequest, RegionalApiListDataSourcesRequest, RegionalApiListTokensRequest, RegionalApiTriggerTestAlertRequest, RegionalApiUpdateContactPointRequest, RegionalApiUpdateDataSourceRequest, Token, TokenScope, Usage, UsageOverview, UsageUnit, } from './types.gen';
3
+ export type { Alert, AlertManager, AlertState, ContactPoint, ContactPointEmail, DataSource, DataSourceOrigin, DataSourceType, DisableAlertRulesResponse, EnableAlertRulesResponse, GetConfigResponse, GetConfigResponseRetention, GetRulesCountResponse, GlobalApiCreateGrafanaUserRequest, GlobalApiDeleteGrafanaUserRequest, GlobalApiGetCurrentPlanRequest, GlobalApiGetGrafanaProductDashboardRequest, GlobalApiGetGrafanaRequest, GlobalApiListGrafanaProductDashboardsRequest, GlobalApiListGrafanaUsersRequest, GlobalApiListPlansRequest, GlobalApiResetGrafanaUserPasswordRequest, GlobalApiSelectPlanRequest, GlobalApiSyncGrafanaDataSourcesRequest, Grafana, GrafanaProductDashboard, GrafanaUser, GrafanaUserRole, ListAlertsResponse, ListContactPointsResponse, ListDataSourcesRequestOrderBy, ListDataSourcesResponse, ListGrafanaProductDashboardsResponse, ListGrafanaUsersRequestOrderBy, ListGrafanaUsersResponse, ListPlansRequestOrderBy, ListPlansResponse, ListTokensRequestOrderBy, ListTokensResponse, Plan, PlanName, PreconfiguredAlertData, RegionalApiCreateContactPointRequest, RegionalApiCreateDataSourceRequest, RegionalApiCreateTokenRequest, RegionalApiDeleteContactPointRequest, RegionalApiDeleteDataSourceRequest, RegionalApiDeleteTokenRequest, RegionalApiDisableAlertManagerRequest, RegionalApiDisableAlertRulesRequest, RegionalApiDisableManagedAlertsRequest, RegionalApiEnableAlertManagerRequest, RegionalApiEnableAlertRulesRequest, RegionalApiEnableManagedAlertsRequest, RegionalApiGetAlertManagerRequest, RegionalApiGetConfigRequest, RegionalApiGetDataSourceRequest, RegionalApiGetRulesCountRequest, RegionalApiGetTokenRequest, RegionalApiGetUsageOverviewRequest, RegionalApiListAlertsRequest, RegionalApiListContactPointsRequest, RegionalApiListDataSourcesRequest, RegionalApiListTokensRequest, RegionalApiTriggerTestAlertRequest, RegionalApiUpdateContactPointRequest, RegionalApiUpdateDataSourceRequest, RulesCount, Token, TokenScope, Usage, UsageOverview, UsageUnit, } from './types.gen';
4
4
  export * as ValidationRules from './validation-rules.gen';
@@ -1,5 +1,5 @@
1
1
  import { GlobalAPI, RegionalAPI } from "./api.gen.js";
2
- import { marshalGlobalApiCreateGrafanaUserRequest, marshalGlobalApiResetGrafanaUserPasswordRequest, marshalGlobalApiSelectPlanRequest, marshalGlobalApiSyncGrafanaDataSourcesRequest, marshalRegionalApiCreateContactPointRequest, marshalRegionalApiCreateDataSourceRequest, marshalRegionalApiCreateTokenRequest, marshalRegionalApiDeleteContactPointRequest, marshalRegionalApiDisableAlertManagerRequest, marshalRegionalApiDisableAlertRulesRequest, marshalRegionalApiDisableManagedAlertsRequest, marshalRegionalApiEnableAlertManagerRequest, marshalRegionalApiEnableAlertRulesRequest, marshalRegionalApiEnableManagedAlertsRequest, marshalRegionalApiTriggerTestAlertRequest, marshalRegionalApiUpdateContactPointRequest, marshalRegionalApiUpdateDataSourceRequest, unmarshalAlertManager, unmarshalContactPoint, unmarshalDataSource, unmarshalDisableAlertRulesResponse, unmarshalEnableAlertRulesResponse, unmarshalGetConfigResponse, unmarshalGrafana, unmarshalGrafanaProductDashboard, unmarshalGrafanaUser, unmarshalListAlertsResponse, unmarshalListContactPointsResponse, unmarshalListDataSourcesResponse, unmarshalListGrafanaProductDashboardsResponse, unmarshalListGrafanaUsersResponse, unmarshalListPlansResponse, unmarshalListTokensResponse, unmarshalPlan, unmarshalToken, unmarshalUsageOverview } from "./marshalling.gen.js";
2
+ import { marshalGlobalApiCreateGrafanaUserRequest, marshalGlobalApiResetGrafanaUserPasswordRequest, marshalGlobalApiSelectPlanRequest, marshalGlobalApiSyncGrafanaDataSourcesRequest, marshalRegionalApiCreateContactPointRequest, marshalRegionalApiCreateDataSourceRequest, marshalRegionalApiCreateTokenRequest, marshalRegionalApiDeleteContactPointRequest, marshalRegionalApiDisableAlertManagerRequest, marshalRegionalApiDisableAlertRulesRequest, marshalRegionalApiDisableManagedAlertsRequest, marshalRegionalApiEnableAlertManagerRequest, marshalRegionalApiEnableAlertRulesRequest, marshalRegionalApiEnableManagedAlertsRequest, marshalRegionalApiTriggerTestAlertRequest, marshalRegionalApiUpdateContactPointRequest, marshalRegionalApiUpdateDataSourceRequest, unmarshalAlertManager, unmarshalContactPoint, unmarshalDataSource, unmarshalDisableAlertRulesResponse, unmarshalEnableAlertRulesResponse, unmarshalGetConfigResponse, unmarshalGetRulesCountResponse, unmarshalGrafana, unmarshalGrafanaProductDashboard, unmarshalGrafanaUser, unmarshalListAlertsResponse, unmarshalListContactPointsResponse, unmarshalListDataSourcesResponse, unmarshalListGrafanaProductDashboardsResponse, unmarshalListGrafanaUsersResponse, unmarshalListPlansResponse, unmarshalListTokensResponse, unmarshalPlan, unmarshalToken, unmarshalUsageOverview } from "./marshalling.gen.js";
3
3
  import * as validationRules_gen from "./validation-rules.gen.js";
4
4
  export {
5
5
  GlobalAPI,
@@ -28,6 +28,7 @@ export {
28
28
  unmarshalDisableAlertRulesResponse,
29
29
  unmarshalEnableAlertRulesResponse,
30
30
  unmarshalGetConfigResponse,
31
+ unmarshalGetRulesCountResponse,
31
32
  unmarshalGrafana,
32
33
  unmarshalGrafanaProductDashboard,
33
34
  unmarshalGrafanaUser,
@@ -163,6 +163,33 @@ const unmarshalGetConfigResponse = (data) => {
163
163
  productMetricsRetention: data.product_metrics_retention ? unmarshalGetConfigResponseRetention(data.product_metrics_retention) : void 0
164
164
  };
165
165
  };
166
+ const unmarshalRulesCount = (data) => {
167
+ if (!sdkClient.isJSONObject(data)) {
168
+ throw new TypeError(
169
+ `Unmarshalling the type 'RulesCount' failed as data isn't a dictionary.`
170
+ );
171
+ }
172
+ return {
173
+ dataSourceId: data.data_source_id,
174
+ dataSourceName: data.data_source_name,
175
+ rulesCount: data.rules_count
176
+ };
177
+ };
178
+ const unmarshalGetRulesCountResponse = (data) => {
179
+ if (!sdkClient.isJSONObject(data)) {
180
+ throw new TypeError(
181
+ `Unmarshalling the type 'GetRulesCountResponse' failed as data isn't a dictionary.`
182
+ );
183
+ }
184
+ return {
185
+ customRulesCount: data.custom_rules_count,
186
+ preconfiguredRulesCount: data.preconfigured_rules_count,
187
+ rulesCountByDatasource: sdkClient.unmarshalArrayOfObject(
188
+ data.rules_count_by_datasource,
189
+ unmarshalRulesCount
190
+ )
191
+ };
192
+ };
166
193
  const unmarshalGrafana = (data) => {
167
194
  if (!sdkClient.isJSONObject(data)) {
168
195
  throw new TypeError(
@@ -433,6 +460,7 @@ exports.unmarshalDataSource = unmarshalDataSource;
433
460
  exports.unmarshalDisableAlertRulesResponse = unmarshalDisableAlertRulesResponse;
434
461
  exports.unmarshalEnableAlertRulesResponse = unmarshalEnableAlertRulesResponse;
435
462
  exports.unmarshalGetConfigResponse = unmarshalGetConfigResponse;
463
+ exports.unmarshalGetRulesCountResponse = unmarshalGetRulesCountResponse;
436
464
  exports.unmarshalGrafana = unmarshalGrafana;
437
465
  exports.unmarshalGrafanaProductDashboard = unmarshalGrafanaProductDashboard;
438
466
  exports.unmarshalGrafanaUser = unmarshalGrafanaUser;
@@ -1,5 +1,5 @@
1
1
  import type { DefaultValues } from '@scaleway/sdk-client';
2
- import type { AlertManager, ContactPoint, DataSource, DisableAlertRulesResponse, EnableAlertRulesResponse, GetConfigResponse, GlobalApiCreateGrafanaUserRequest, GlobalApiResetGrafanaUserPasswordRequest, GlobalApiSelectPlanRequest, GlobalApiSyncGrafanaDataSourcesRequest, Grafana, GrafanaProductDashboard, GrafanaUser, ListAlertsResponse, ListContactPointsResponse, ListDataSourcesResponse, ListGrafanaProductDashboardsResponse, ListGrafanaUsersResponse, ListPlansResponse, ListTokensResponse, Plan, RegionalApiCreateContactPointRequest, RegionalApiCreateDataSourceRequest, RegionalApiCreateTokenRequest, RegionalApiDeleteContactPointRequest, RegionalApiDisableAlertManagerRequest, RegionalApiDisableAlertRulesRequest, RegionalApiDisableManagedAlertsRequest, RegionalApiEnableAlertManagerRequest, RegionalApiEnableAlertRulesRequest, RegionalApiEnableManagedAlertsRequest, RegionalApiTriggerTestAlertRequest, RegionalApiUpdateContactPointRequest, RegionalApiUpdateDataSourceRequest, Token, UsageOverview } from './types.gen';
2
+ import type { AlertManager, ContactPoint, DataSource, DisableAlertRulesResponse, EnableAlertRulesResponse, GetConfigResponse, GetRulesCountResponse, GlobalApiCreateGrafanaUserRequest, GlobalApiResetGrafanaUserPasswordRequest, GlobalApiSelectPlanRequest, GlobalApiSyncGrafanaDataSourcesRequest, Grafana, GrafanaProductDashboard, GrafanaUser, ListAlertsResponse, ListContactPointsResponse, ListDataSourcesResponse, ListGrafanaProductDashboardsResponse, ListGrafanaUsersResponse, ListPlansResponse, ListTokensResponse, Plan, RegionalApiCreateContactPointRequest, RegionalApiCreateDataSourceRequest, RegionalApiCreateTokenRequest, RegionalApiDeleteContactPointRequest, RegionalApiDisableAlertManagerRequest, RegionalApiDisableAlertRulesRequest, RegionalApiDisableManagedAlertsRequest, RegionalApiEnableAlertManagerRequest, RegionalApiEnableAlertRulesRequest, RegionalApiEnableManagedAlertsRequest, RegionalApiTriggerTestAlertRequest, RegionalApiUpdateContactPointRequest, RegionalApiUpdateDataSourceRequest, Token, UsageOverview } from './types.gen';
3
3
  export declare const unmarshalContactPoint: (data: unknown) => ContactPoint;
4
4
  export declare const unmarshalDataSource: (data: unknown) => DataSource;
5
5
  export declare const unmarshalGrafanaProductDashboard: (data: unknown) => GrafanaProductDashboard;
@@ -10,6 +10,7 @@ export declare const unmarshalAlertManager: (data: unknown) => AlertManager;
10
10
  export declare const unmarshalDisableAlertRulesResponse: (data: unknown) => DisableAlertRulesResponse;
11
11
  export declare const unmarshalEnableAlertRulesResponse: (data: unknown) => EnableAlertRulesResponse;
12
12
  export declare const unmarshalGetConfigResponse: (data: unknown) => GetConfigResponse;
13
+ export declare const unmarshalGetRulesCountResponse: (data: unknown) => GetRulesCountResponse;
13
14
  export declare const unmarshalGrafana: (data: unknown) => Grafana;
14
15
  export declare const unmarshalListAlertsResponse: (data: unknown) => ListAlertsResponse;
15
16
  export declare const unmarshalListContactPointsResponse: (data: unknown) => ListContactPointsResponse;
@@ -161,6 +161,33 @@ const unmarshalGetConfigResponse = (data) => {
161
161
  productMetricsRetention: data.product_metrics_retention ? unmarshalGetConfigResponseRetention(data.product_metrics_retention) : void 0
162
162
  };
163
163
  };
164
+ const unmarshalRulesCount = (data) => {
165
+ if (!isJSONObject(data)) {
166
+ throw new TypeError(
167
+ `Unmarshalling the type 'RulesCount' failed as data isn't a dictionary.`
168
+ );
169
+ }
170
+ return {
171
+ dataSourceId: data.data_source_id,
172
+ dataSourceName: data.data_source_name,
173
+ rulesCount: data.rules_count
174
+ };
175
+ };
176
+ const unmarshalGetRulesCountResponse = (data) => {
177
+ if (!isJSONObject(data)) {
178
+ throw new TypeError(
179
+ `Unmarshalling the type 'GetRulesCountResponse' failed as data isn't a dictionary.`
180
+ );
181
+ }
182
+ return {
183
+ customRulesCount: data.custom_rules_count,
184
+ preconfiguredRulesCount: data.preconfigured_rules_count,
185
+ rulesCountByDatasource: unmarshalArrayOfObject(
186
+ data.rules_count_by_datasource,
187
+ unmarshalRulesCount
188
+ )
189
+ };
190
+ };
164
191
  const unmarshalGrafana = (data) => {
165
192
  if (!isJSONObject(data)) {
166
193
  throw new TypeError(
@@ -432,6 +459,7 @@ export {
432
459
  unmarshalDisableAlertRulesResponse,
433
460
  unmarshalEnableAlertRulesResponse,
434
461
  unmarshalGetConfigResponse,
462
+ unmarshalGetRulesCountResponse,
435
463
  unmarshalGrafana,
436
464
  unmarshalGrafanaProductDashboard,
437
465
  unmarshalGrafanaUser,
@@ -43,6 +43,20 @@ export interface GetConfigResponseRetention {
43
43
  maxDays: number;
44
44
  defaultDays: number;
45
45
  }
46
+ export interface RulesCount {
47
+ /**
48
+ * ID of the data source.
49
+ */
50
+ dataSourceId: string;
51
+ /**
52
+ * Name of the data source.
53
+ */
54
+ dataSourceName: string;
55
+ /**
56
+ * Total count of rules associated with this data source.
57
+ */
58
+ rulesCount: number;
59
+ }
46
60
  /**
47
61
  * Structure representing an alert.
48
62
  */
@@ -148,7 +162,7 @@ export interface DataSource {
148
162
  */
149
163
  synchronizedWithGrafana: boolean;
150
164
  /**
151
- * BETA - Duration for which the data will be retained in the data source.
165
+ * Duration for which the data will be retained in the data source.
152
166
  */
153
167
  retentionDays: number;
154
168
  /**
@@ -334,10 +348,22 @@ export interface AlertManager {
334
348
  */
335
349
  region: ScwRegion;
336
350
  }
351
+ /**
352
+ * Output returned when alert rules are disabled.
353
+ */
337
354
  export interface DisableAlertRulesResponse {
355
+ /**
356
+ * Only newly disabled rules are listed. Rules that were already disabled are not returned in the output.
357
+ */
338
358
  disabledRuleIds: string[];
339
359
  }
360
+ /**
361
+ * Output returned when alert rules are enabled.
362
+ */
340
363
  export interface EnableAlertRulesResponse {
364
+ /**
365
+ * Only newly enabled rules are listed. Rules that were already enabled are not returned in the output.
366
+ */
341
367
  enabledRuleIds: string[];
342
368
  }
343
369
  /**
@@ -365,6 +391,20 @@ export interface GetConfigResponse {
365
391
  */
366
392
  productLogsRetention?: GetConfigResponseRetention;
367
393
  }
394
+ export interface GetRulesCountResponse {
395
+ /**
396
+ * Total count of rules grouped by data source.
397
+ */
398
+ rulesCountByDatasource: RulesCount[];
399
+ /**
400
+ * Total count of preconfigured rules.
401
+ */
402
+ preconfiguredRulesCount: number;
403
+ /**
404
+ * Total count of custom rules.
405
+ */
406
+ customRulesCount: number;
407
+ }
368
408
  /**
369
409
  * Create a Grafana user.
370
410
  */
@@ -669,7 +709,7 @@ export type RegionalApiCreateDataSourceRequest = {
669
709
  */
670
710
  type?: DataSourceType;
671
711
  /**
672
- * Default values are 30 days for metrics, 7 days for logs and traces.
712
+ * Default values are 31 days for metrics, 7 days for logs and traces.
673
713
  */
674
714
  retentionDays?: number;
675
715
  };
@@ -757,7 +797,13 @@ export type RegionalApiDisableAlertRulesRequest = {
757
797
  * Region to target. If none is passed will use default region from the config.
758
798
  */
759
799
  region?: ScwRegion;
800
+ /**
801
+ * ID of the Project.
802
+ */
760
803
  projectId?: string;
804
+ /**
805
+ * List of IDs of the rules to enable. If empty, disables all preconfigured rules.
806
+ */
761
807
  ruleIds?: string[];
762
808
  };
763
809
  /**
@@ -791,7 +837,13 @@ export type RegionalApiEnableAlertRulesRequest = {
791
837
  * Region to target. If none is passed will use default region from the config.
792
838
  */
793
839
  region?: ScwRegion;
840
+ /**
841
+ * ID of the Project.
842
+ */
794
843
  projectId?: string;
844
+ /**
845
+ * List of IDs of the rules to enable. If empty, enables all preconfigured rules.
846
+ */
795
847
  ruleIds?: string[];
796
848
  };
797
849
  /**
@@ -842,6 +894,16 @@ export type RegionalApiGetDataSourceRequest = {
842
894
  */
843
895
  dataSourceId: string;
844
896
  };
897
+ export type RegionalApiGetRulesCountRequest = {
898
+ /**
899
+ * Region to target. If none is passed will use default region from the config.
900
+ */
901
+ region?: ScwRegion;
902
+ /**
903
+ * ID of the Project to retrieve the rule count for.
904
+ */
905
+ projectId?: string;
906
+ };
845
907
  /**
846
908
  * Get a token.
847
909
  */
@@ -938,11 +1000,11 @@ export type RegionalApiListDataSourcesRequest = {
938
1000
  */
939
1001
  projectId?: string;
940
1002
  /**
941
- * Origin to filter for, only data sources with matching origin will be returned.
1003
+ * Origin to filter for, only data sources with matching origin will be returned. If omitted, all types will be returned.
942
1004
  */
943
1005
  origin?: DataSourceOrigin;
944
1006
  /**
945
- * Types to filter for, only data sources with matching types will be returned.
1007
+ * Types to filter for (metrics, logs, traces), only data sources with matching types will be returned. If omitted, all types will be returned.
946
1008
  */
947
1009
  types?: DataSourceType[];
948
1010
  };
@@ -1028,7 +1090,7 @@ export type RegionalApiUpdateDataSourceRequest = {
1028
1090
  */
1029
1091
  name?: string;
1030
1092
  /**
1031
- * BETA - Duration for which the data will be retained in the data source.
1093
+ * Duration for which the data will be retained in the data source.
1032
1094
  */
1033
1095
  retentionDays?: number;
1034
1096
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scaleway/sdk-cockpit",
3
- "version": "1.3.1",
3
+ "version": "1.4.0",
4
4
  "description": "Scaleway SDK cockpit",
5
5
  "license": "Apache-2.0",
6
6
  "files": [
@@ -30,13 +30,13 @@
30
30
  },
31
31
  "dependencies": {
32
32
  "@scaleway/random-name": "5.1.1",
33
- "@scaleway/sdk-std": "1.0.4"
33
+ "@scaleway/sdk-std": "1.0.5"
34
34
  },
35
35
  "peerDependencies": {
36
- "@scaleway/sdk-client": "^1.2.3"
36
+ "@scaleway/sdk-client": "^1.3.0"
37
37
  },
38
38
  "devDependencies": {
39
- "@scaleway/sdk-client": "^1.2.3"
39
+ "@scaleway/sdk-client": "^1.3.0"
40
40
  },
41
41
  "scripts": {
42
42
  "package:check": "pnpm publint",