@scaleway/sdk-cockpit 2.2.0 → 2.2.1

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.
@@ -1,6 +1,6 @@
1
- import type { ApiLocality } from '@scaleway/sdk-client';
1
+ import type { ApiLocality, WaitForOptions } from '@scaleway/sdk-client';
2
2
  import { API as ParentAPI } 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, ListProductsResponse, ListTokensResponse, Plan, RegionalApiCreateContactPointRequest, RegionalApiCreateDataSourceRequest, RegionalApiCreateTokenRequest, RegionalApiDeleteContactPointRequest, RegionalApiDeleteDataSourceRequest, RegionalApiDeleteTokenRequest, RegionalApiDisableAlertManagerRequest, RegionalApiDisableAlertRulesRequest, RegionalApiDisableManagedAlertsRequest, RegionalApiEnableAlertManagerRequest, RegionalApiEnableAlertRulesRequest, RegionalApiEnableManagedAlertsRequest, RegionalApiGetAlertManagerRequest, RegionalApiGetConfigRequest, RegionalApiGetDataSourceRequest, RegionalApiGetRulesCountRequest, RegionalApiGetTokenRequest, RegionalApiGetUsageOverviewRequest, RegionalApiListAlertsRequest, RegionalApiListContactPointsRequest, RegionalApiListDataSourcesRequest, RegionalApiListProductsRequest, RegionalApiListTokensRequest, RegionalApiTriggerTestAlertRequest, RegionalApiUpdateContactPointRequest, RegionalApiUpdateDataSourceRequest, Token, UsageOverview } from './types.gen.js';
3
+ import type { AlertManager, ContactPoint, DataSource, DisableAlertRulesResponse, EnableAlertRulesResponse, Exporter, GetConfigResponse, GetRulesCountResponse, GlobalApiCreateGrafanaUserRequest, GlobalApiDeleteGrafanaUserRequest, GlobalApiGetCurrentPlanRequest, GlobalApiGetGrafanaProductDashboardRequest, GlobalApiGetGrafanaRequest, GlobalApiListGrafanaProductDashboardsRequest, GlobalApiListGrafanaUsersRequest, GlobalApiListPlansRequest, GlobalApiResetGrafanaUserPasswordRequest, GlobalApiSelectPlanRequest, GlobalApiSyncGrafanaDataSourcesRequest, Grafana, GrafanaProductDashboard, GrafanaUser, ListAlertsResponse, ListContactPointsResponse, ListDataSourcesResponse, ListExportersResponse, ListGrafanaProductDashboardsResponse, ListGrafanaUsersResponse, ListPlansResponse, ListProductsResponse, ListTokensResponse, Plan, RegionalApiCreateContactPointRequest, RegionalApiCreateDataSourceRequest, RegionalApiCreateExporterRequest, RegionalApiCreateTokenRequest, RegionalApiDeleteContactPointRequest, RegionalApiDeleteDataSourceRequest, RegionalApiDeleteExporterRequest, RegionalApiDeleteTokenRequest, RegionalApiDisableAlertManagerRequest, RegionalApiDisableAlertRulesRequest, RegionalApiDisableManagedAlertsRequest, RegionalApiEnableAlertManagerRequest, RegionalApiEnableAlertRulesRequest, RegionalApiEnableManagedAlertsRequest, RegionalApiGetAlertManagerRequest, RegionalApiGetConfigRequest, RegionalApiGetDataSourceRequest, RegionalApiGetExporterRequest, RegionalApiGetRulesCountRequest, RegionalApiGetTokenRequest, RegionalApiGetUsageOverviewRequest, RegionalApiListAlertsRequest, RegionalApiListContactPointsRequest, RegionalApiListDataSourcesRequest, RegionalApiListExportersRequest, RegionalApiListProductsRequest, RegionalApiListTokensRequest, RegionalApiTriggerTestAlertRequest, RegionalApiUpdateContactPointRequest, RegionalApiUpdateDataSourceRequest, RegionalApiUpdateExporterRequest, Token, UsageOverview } from './types.gen.js';
4
4
  /**
5
5
  * Cockpit Global API.
6
6
 
@@ -130,6 +130,57 @@ export declare class RegionalAPI extends ParentAPI {
130
130
  * @returns A Promise of GetConfigResponse
131
131
  */
132
132
  getConfig: (request?: Readonly<RegionalApiGetConfigRequest>) => Promise<GetConfigResponse>;
133
+ /**
134
+ * Create a data export. Create an export to send your metrics/logs from a Scaleway data source to an external destination.
135
+ Current supported destination for data exports are Datadog and OTLP endpoints.
136
+ This feature is in Beta phase. During Beta phase, exporter can take up to 30 min to be effectively active.
137
+ *
138
+ * @param request - The request {@link RegionalApiCreateExporterRequest}
139
+ * @returns A Promise of Exporter
140
+ */
141
+ createExporter: (request: Readonly<RegionalApiCreateExporterRequest>) => Promise<Exporter>;
142
+ protected pageOfListExporters: (request?: Readonly<RegionalApiListExportersRequest>) => Promise<ListExportersResponse>;
143
+ /**
144
+ * List data exports. List all data exports within a given Scaleway Project, specified by its ID.
145
+ Optionally, specify a Scaleway data source ID to retrieve only data exports associated with that data source.
146
+ *
147
+ * @param request - The request {@link RegionalApiListExportersRequest}
148
+ * @returns A Promise of ListExportersResponse
149
+ */
150
+ listExporters: (request?: Readonly<RegionalApiListExportersRequest>) => Promise<ListExportersResponse> & {
151
+ all: () => Promise<Exporter[]>;
152
+ [Symbol.asyncIterator]: () => AsyncGenerator<Exporter[], void, void>;
153
+ };
154
+ /**
155
+ * Get a data export. Retrieve information about a given data export, specified by its ID.
156
+ *
157
+ * @param request - The request {@link RegionalApiGetExporterRequest}
158
+ * @returns A Promise of Exporter
159
+ */
160
+ getExporter: (request: Readonly<RegionalApiGetExporterRequest>) => Promise<Exporter>;
161
+ /**
162
+ * Waits for {@link Exporter} to be in a final state.
163
+ *
164
+ * @param request - The request {@link RegionalApiGetExporterRequest}
165
+ * @param options - The waiting options
166
+ * @returns A Promise of Exporter
167
+ */
168
+ waitForExporter: (request: Readonly<RegionalApiGetExporterRequest>, options?: Readonly<WaitForOptions<Exporter>>) => Promise<Exporter>;
169
+ /**
170
+ * Delete a data export. Delete a given data export, specified by its ID.
171
+ Note that this action will immediatly and permanently delete this data exports.
172
+ *
173
+ * @param request - The request {@link RegionalApiDeleteExporterRequest}
174
+ */
175
+ deleteExporter: (request: Readonly<RegionalApiDeleteExporterRequest>) => Promise<void>;
176
+ /**
177
+ * Update a data export. Update a data export attributes. Changes are effective immediatly even during Beta phase.
178
+ Note that you can not change the data source linked to the export. If you need to do so, you will need to re-create the export.
179
+ *
180
+ * @param request - The request {@link RegionalApiUpdateExporterRequest}
181
+ * @returns A Promise of Exporter
182
+ */
183
+ updateExporter: (request: Readonly<RegionalApiUpdateExporterRequest>) => Promise<Exporter>;
133
184
  /**
134
185
  * Create a data source. You must specify the data source name and type (metrics, logs, traces) upon creation.
135
186
  The name of the data source will then be used as reference to name the associated Grafana data source.
@@ -211,7 +262,9 @@ export declare class RegionalAPI extends ParentAPI {
211
262
  deleteToken: (request: Readonly<RegionalApiDeleteTokenRequest>) => Promise<void>;
212
263
  protected pageOfListProducts: (request?: Readonly<RegionalApiListProductsRequest>) => Promise<ListProductsResponse>;
213
264
  /**
214
- * List all Scaleway products that send metrics and/or logs to Cockpit.. List all Scaleway products that send metrics and/or logs to Cockpit.
265
+ * List Scaleway products. List all Scaleway products that send metrics and/or logs to Cockpit.
266
+ Note that all of those products send at least metrics, but only a subset send logs to Cockpit.
267
+ For more information, see https://www.scaleway.com/en/docs/cockpit/reference-content/cockpit-product-integration/.
215
268
  *
216
269
  * @param request - The request {@link RegionalApiListProductsRequest}
217
270
  * @returns A Promise of ListProductsResponse
@@ -1,5 +1,6 @@
1
- import { API, toApiLocality, validatePathParam, urlParams, enrichForPagination } from "@scaleway/sdk-client";
2
- import { unmarshalGetConfigResponse, marshalRegionalApiCreateDataSourceRequest, unmarshalDataSource, unmarshalListDataSourcesResponse, marshalRegionalApiUpdateDataSourceRequest, unmarshalUsageOverview, marshalRegionalApiCreateTokenRequest, unmarshalToken, unmarshalListTokensResponse, unmarshalListProductsResponse, 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";
1
+ import { API, toApiLocality, validatePathParam, urlParams, enrichForPagination, waitForResource } from "@scaleway/sdk-client";
2
+ import { EXPORTER_TRANSIENT_STATUSES } from "./content.gen.js";
3
+ import { unmarshalGetConfigResponse, marshalRegionalApiCreateExporterRequest, unmarshalExporter, unmarshalListExportersResponse, marshalRegionalApiUpdateExporterRequest, marshalRegionalApiCreateDataSourceRequest, unmarshalDataSource, unmarshalListDataSourcesResponse, marshalRegionalApiUpdateDataSourceRequest, unmarshalUsageOverview, marshalRegionalApiCreateTokenRequest, unmarshalToken, unmarshalListTokensResponse, unmarshalListProductsResponse, 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
4
  const jsonContentHeaders = {
4
5
  "Content-Type": "application/json; charset=utf-8"
5
6
  };
@@ -258,6 +259,115 @@ class RegionalAPI extends API {
258
259
  },
259
260
  unmarshalGetConfigResponse
260
261
  );
262
+ /**
263
+ * Create a data export. Create an export to send your metrics/logs from a Scaleway data source to an external destination.
264
+ Current supported destination for data exports are Datadog and OTLP endpoints.
265
+ This feature is in Beta phase. During Beta phase, exporter can take up to 30 min to be effectively active.
266
+ *
267
+ * @param request - The request {@link RegionalApiCreateExporterRequest}
268
+ * @returns A Promise of Exporter
269
+ */
270
+ createExporter = (request) => this.client.fetch(
271
+ {
272
+ body: JSON.stringify(
273
+ marshalRegionalApiCreateExporterRequest(
274
+ request,
275
+ this.client.settings
276
+ )
277
+ ),
278
+ headers: jsonContentHeaders,
279
+ method: "POST",
280
+ path: `/cockpit/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/exporters`
281
+ },
282
+ unmarshalExporter
283
+ );
284
+ pageOfListExporters = (request = {}) => this.client.fetch(
285
+ {
286
+ method: "GET",
287
+ path: `/cockpit/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/exporters`,
288
+ urlParams: urlParams(
289
+ ["datasource_id", request.datasourceId],
290
+ ["order_by", request.orderBy],
291
+ ["page", request.page],
292
+ [
293
+ "page_size",
294
+ request.pageSize ?? this.client.settings.defaultPageSize
295
+ ],
296
+ [
297
+ "project_id",
298
+ request.projectId ?? this.client.settings.defaultProjectId
299
+ ]
300
+ )
301
+ },
302
+ unmarshalListExportersResponse
303
+ );
304
+ /**
305
+ * List data exports. List all data exports within a given Scaleway Project, specified by its ID.
306
+ Optionally, specify a Scaleway data source ID to retrieve only data exports associated with that data source.
307
+ *
308
+ * @param request - The request {@link RegionalApiListExportersRequest}
309
+ * @returns A Promise of ListExportersResponse
310
+ */
311
+ listExporters = (request = {}) => enrichForPagination("exporters", this.pageOfListExporters, request);
312
+ /**
313
+ * Get a data export. Retrieve information about a given data export, specified by its ID.
314
+ *
315
+ * @param request - The request {@link RegionalApiGetExporterRequest}
316
+ * @returns A Promise of Exporter
317
+ */
318
+ getExporter = (request) => this.client.fetch(
319
+ {
320
+ method: "GET",
321
+ path: `/cockpit/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/exporters/${validatePathParam("exporterId", request.exporterId)}`
322
+ },
323
+ unmarshalExporter
324
+ );
325
+ /**
326
+ * Waits for {@link Exporter} to be in a final state.
327
+ *
328
+ * @param request - The request {@link RegionalApiGetExporterRequest}
329
+ * @param options - The waiting options
330
+ * @returns A Promise of Exporter
331
+ */
332
+ waitForExporter = (request, options) => waitForResource(
333
+ options?.stop ?? ((res) => Promise.resolve(
334
+ !EXPORTER_TRANSIENT_STATUSES.includes(res.status)
335
+ )),
336
+ this.getExporter,
337
+ request,
338
+ options
339
+ );
340
+ /**
341
+ * Delete a data export. Delete a given data export, specified by its ID.
342
+ Note that this action will immediatly and permanently delete this data exports.
343
+ *
344
+ * @param request - The request {@link RegionalApiDeleteExporterRequest}
345
+ */
346
+ deleteExporter = (request) => this.client.fetch({
347
+ method: "DELETE",
348
+ path: `/cockpit/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/exporters/${validatePathParam("exporterId", request.exporterId)}`
349
+ });
350
+ /**
351
+ * Update a data export. Update a data export attributes. Changes are effective immediatly even during Beta phase.
352
+ Note that you can not change the data source linked to the export. If you need to do so, you will need to re-create the export.
353
+ *
354
+ * @param request - The request {@link RegionalApiUpdateExporterRequest}
355
+ * @returns A Promise of Exporter
356
+ */
357
+ updateExporter = (request) => this.client.fetch(
358
+ {
359
+ body: JSON.stringify(
360
+ marshalRegionalApiUpdateExporterRequest(
361
+ request,
362
+ this.client.settings
363
+ )
364
+ ),
365
+ headers: jsonContentHeaders,
366
+ method: "PATCH",
367
+ path: `/cockpit/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/exporters/${validatePathParam("exporterId", request.exporterId)}`
368
+ },
369
+ unmarshalExporter
370
+ );
261
371
  /**
262
372
  * Create a data source. You must specify the data source name and type (metrics, logs, traces) upon creation.
263
373
  The name of the data source will then be used as reference to name the associated Grafana data source.
@@ -453,11 +563,13 @@ class RegionalAPI extends API {
453
563
  unmarshalListProductsResponse
454
564
  );
455
565
  /**
456
- * List all Scaleway products that send metrics and/or logs to Cockpit.. List all Scaleway products that send metrics and/or logs to Cockpit.
457
- *
458
- * @param request - The request {@link RegionalApiListProductsRequest}
459
- * @returns A Promise of ListProductsResponse
460
- */
566
+ * List Scaleway products. List all Scaleway products that send metrics and/or logs to Cockpit.
567
+ Note that all of those products send at least metrics, but only a subset send logs to Cockpit.
568
+ For more information, see https://www.scaleway.com/en/docs/cockpit/reference-content/cockpit-product-integration/.
569
+ *
570
+ * @param request - The request {@link RegionalApiListProductsRequest}
571
+ * @returns A Promise of ListProductsResponse
572
+ */
461
573
  listProducts = (request = {}) => enrichForPagination("productsList", this.pageOfListProducts, request);
462
574
  /**
463
575
  * Get the Alert manager. Retrieve information about the Alert manager which is unique per Project and region. By default the Alert manager is disabled.
@@ -0,0 +1,3 @@
1
+ import type { ExporterStatus } from './types.gen.js';
2
+ /** Lists transient statutes of the enum {@link ExporterStatus}. */
3
+ export declare const EXPORTER_TRANSIENT_STATUSES: ExporterStatus[];
@@ -0,0 +1,4 @@
1
+ const EXPORTER_TRANSIENT_STATUSES = ["creating"];
2
+ export {
3
+ EXPORTER_TRANSIENT_STATUSES
4
+ };
@@ -1,4 +1,5 @@
1
1
  export { GlobalAPI, RegionalAPI, } from './api.gen.js';
2
+ export * from './content.gen.js';
2
3
  export * from './marshalling.gen.js';
3
- export type { Alert, AlertManager, AlertState, AlertStatus, 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, ListProductsRequestOrderBy, ListProductsResponse, ListTokensRequestOrderBy, ListTokensResponse, Plan, PlanName, PreconfiguredAlertData, Product, RegionalApiCreateContactPointRequest, RegionalApiCreateDataSourceRequest, RegionalApiCreateTokenRequest, RegionalApiDeleteContactPointRequest, RegionalApiDeleteDataSourceRequest, RegionalApiDeleteTokenRequest, RegionalApiDisableAlertManagerRequest, RegionalApiDisableAlertRulesRequest, RegionalApiDisableManagedAlertsRequest, RegionalApiEnableAlertManagerRequest, RegionalApiEnableAlertRulesRequest, RegionalApiEnableManagedAlertsRequest, RegionalApiGetAlertManagerRequest, RegionalApiGetConfigRequest, RegionalApiGetDataSourceRequest, RegionalApiGetRulesCountRequest, RegionalApiGetTokenRequest, RegionalApiGetUsageOverviewRequest, RegionalApiListAlertsRequest, RegionalApiListContactPointsRequest, RegionalApiListDataSourcesRequest, RegionalApiListProductsRequest, RegionalApiListTokensRequest, RegionalApiTriggerTestAlertRequest, RegionalApiUpdateContactPointRequest, RegionalApiUpdateDataSourceRequest, RulesCount, Token, TokenScope, Usage, UsageOverview, UsageUnit, } from './types.gen.js';
4
+ export type { Alert, AlertManager, AlertState, AlertStatus, ContactPoint, ContactPointEmail, DataSource, DataSourceOrigin, DataSourceType, DisableAlertRulesResponse, EnableAlertRulesResponse, Exporter, ExporterDatadogDestination, ExporterOTLPDestination, ExporterStatus, GetConfigResponse, GetConfigResponseRetention, GetRulesCountResponse, GlobalApiCreateGrafanaUserRequest, GlobalApiDeleteGrafanaUserRequest, GlobalApiGetCurrentPlanRequest, GlobalApiGetGrafanaProductDashboardRequest, GlobalApiGetGrafanaRequest, GlobalApiListGrafanaProductDashboardsRequest, GlobalApiListGrafanaUsersRequest, GlobalApiListPlansRequest, GlobalApiResetGrafanaUserPasswordRequest, GlobalApiSelectPlanRequest, GlobalApiSyncGrafanaDataSourcesRequest, Grafana, GrafanaProductDashboard, GrafanaUser, GrafanaUserRole, ListAlertsResponse, ListContactPointsResponse, ListDataSourcesRequestOrderBy, ListDataSourcesResponse, ListExportersRequestOrderBy, ListExportersResponse, ListGrafanaProductDashboardsResponse, ListGrafanaUsersRequestOrderBy, ListGrafanaUsersResponse, ListPlansRequestOrderBy, ListPlansResponse, ListProductsRequestOrderBy, ListProductsResponse, ListTokensRequestOrderBy, ListTokensResponse, Plan, PlanName, PreconfiguredAlertData, Product, RegionalApiCreateContactPointRequest, RegionalApiCreateDataSourceRequest, RegionalApiCreateExporterRequest, RegionalApiCreateTokenRequest, RegionalApiDeleteContactPointRequest, RegionalApiDeleteDataSourceRequest, RegionalApiDeleteExporterRequest, RegionalApiDeleteTokenRequest, RegionalApiDisableAlertManagerRequest, RegionalApiDisableAlertRulesRequest, RegionalApiDisableManagedAlertsRequest, RegionalApiEnableAlertManagerRequest, RegionalApiEnableAlertRulesRequest, RegionalApiEnableManagedAlertsRequest, RegionalApiGetAlertManagerRequest, RegionalApiGetConfigRequest, RegionalApiGetDataSourceRequest, RegionalApiGetExporterRequest, RegionalApiGetRulesCountRequest, RegionalApiGetTokenRequest, RegionalApiGetUsageOverviewRequest, RegionalApiListAlertsRequest, RegionalApiListContactPointsRequest, RegionalApiListDataSourcesRequest, RegionalApiListExportersRequest, RegionalApiListProductsRequest, RegionalApiListTokensRequest, RegionalApiTriggerTestAlertRequest, RegionalApiUpdateContactPointRequest, RegionalApiUpdateDataSourceRequest, RegionalApiUpdateExporterRequest, RulesCount, Token, TokenScope, Usage, UsageOverview, UsageUnit, } from './types.gen.js';
4
5
  export * as ValidationRules from './validation-rules.gen.js';
@@ -1,7 +1,9 @@
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, unmarshalGetRulesCountResponse, unmarshalGrafana, unmarshalGrafanaProductDashboard, unmarshalGrafanaUser, unmarshalListAlertsResponse, unmarshalListContactPointsResponse, unmarshalListDataSourcesResponse, unmarshalListGrafanaProductDashboardsResponse, unmarshalListGrafanaUsersResponse, unmarshalListPlansResponse, unmarshalListProductsResponse, unmarshalListTokensResponse, unmarshalPlan, unmarshalToken, unmarshalUsageOverview } from "./marshalling.gen.js";
2
+ import { EXPORTER_TRANSIENT_STATUSES } from "./content.gen.js";
3
+ import { marshalGlobalApiCreateGrafanaUserRequest, marshalGlobalApiResetGrafanaUserPasswordRequest, marshalGlobalApiSelectPlanRequest, marshalGlobalApiSyncGrafanaDataSourcesRequest, marshalRegionalApiCreateContactPointRequest, marshalRegionalApiCreateDataSourceRequest, marshalRegionalApiCreateExporterRequest, marshalRegionalApiCreateTokenRequest, marshalRegionalApiDeleteContactPointRequest, marshalRegionalApiDisableAlertManagerRequest, marshalRegionalApiDisableAlertRulesRequest, marshalRegionalApiDisableManagedAlertsRequest, marshalRegionalApiEnableAlertManagerRequest, marshalRegionalApiEnableAlertRulesRequest, marshalRegionalApiEnableManagedAlertsRequest, marshalRegionalApiTriggerTestAlertRequest, marshalRegionalApiUpdateContactPointRequest, marshalRegionalApiUpdateDataSourceRequest, marshalRegionalApiUpdateExporterRequest, unmarshalAlertManager, unmarshalContactPoint, unmarshalDataSource, unmarshalDisableAlertRulesResponse, unmarshalEnableAlertRulesResponse, unmarshalExporter, unmarshalGetConfigResponse, unmarshalGetRulesCountResponse, unmarshalGrafana, unmarshalGrafanaProductDashboard, unmarshalGrafanaUser, unmarshalListAlertsResponse, unmarshalListContactPointsResponse, unmarshalListDataSourcesResponse, unmarshalListExportersResponse, unmarshalListGrafanaProductDashboardsResponse, unmarshalListGrafanaUsersResponse, unmarshalListPlansResponse, unmarshalListProductsResponse, unmarshalListTokensResponse, unmarshalPlan, unmarshalToken, unmarshalUsageOverview } from "./marshalling.gen.js";
3
4
  import * as validationRules_gen from "./validation-rules.gen.js";
4
5
  export {
6
+ EXPORTER_TRANSIENT_STATUSES,
5
7
  GlobalAPI,
6
8
  RegionalAPI,
7
9
  validationRules_gen as ValidationRules,
@@ -11,6 +13,7 @@ export {
11
13
  marshalGlobalApiSyncGrafanaDataSourcesRequest,
12
14
  marshalRegionalApiCreateContactPointRequest,
13
15
  marshalRegionalApiCreateDataSourceRequest,
16
+ marshalRegionalApiCreateExporterRequest,
14
17
  marshalRegionalApiCreateTokenRequest,
15
18
  marshalRegionalApiDeleteContactPointRequest,
16
19
  marshalRegionalApiDisableAlertManagerRequest,
@@ -22,11 +25,13 @@ export {
22
25
  marshalRegionalApiTriggerTestAlertRequest,
23
26
  marshalRegionalApiUpdateContactPointRequest,
24
27
  marshalRegionalApiUpdateDataSourceRequest,
28
+ marshalRegionalApiUpdateExporterRequest,
25
29
  unmarshalAlertManager,
26
30
  unmarshalContactPoint,
27
31
  unmarshalDataSource,
28
32
  unmarshalDisableAlertRulesResponse,
29
33
  unmarshalEnableAlertRulesResponse,
34
+ unmarshalExporter,
30
35
  unmarshalGetConfigResponse,
31
36
  unmarshalGetRulesCountResponse,
32
37
  unmarshalGrafana,
@@ -35,6 +40,7 @@ export {
35
40
  unmarshalListAlertsResponse,
36
41
  unmarshalListContactPointsResponse,
37
42
  unmarshalListDataSourcesResponse,
43
+ unmarshalListExportersResponse,
38
44
  unmarshalListGrafanaProductDashboardsResponse,
39
45
  unmarshalListGrafanaUsersResponse,
40
46
  unmarshalListPlansResponse,
@@ -1,7 +1,8 @@
1
1
  import type { DefaultValues } from '@scaleway/sdk-client';
2
- import type { AlertManager, ContactPoint, DataSource, DisableAlertRulesResponse, EnableAlertRulesResponse, GetConfigResponse, GetRulesCountResponse, GlobalApiCreateGrafanaUserRequest, GlobalApiResetGrafanaUserPasswordRequest, GlobalApiSelectPlanRequest, GlobalApiSyncGrafanaDataSourcesRequest, Grafana, GrafanaProductDashboard, GrafanaUser, ListAlertsResponse, ListContactPointsResponse, ListDataSourcesResponse, ListGrafanaProductDashboardsResponse, ListGrafanaUsersResponse, ListPlansResponse, ListProductsResponse, ListTokensResponse, Plan, RegionalApiCreateContactPointRequest, RegionalApiCreateDataSourceRequest, RegionalApiCreateTokenRequest, RegionalApiDeleteContactPointRequest, RegionalApiDisableAlertManagerRequest, RegionalApiDisableAlertRulesRequest, RegionalApiDisableManagedAlertsRequest, RegionalApiEnableAlertManagerRequest, RegionalApiEnableAlertRulesRequest, RegionalApiEnableManagedAlertsRequest, RegionalApiTriggerTestAlertRequest, RegionalApiUpdateContactPointRequest, RegionalApiUpdateDataSourceRequest, Token, UsageOverview } from './types.gen.js';
2
+ import type { AlertManager, ContactPoint, DataSource, DisableAlertRulesResponse, EnableAlertRulesResponse, Exporter, GetConfigResponse, GetRulesCountResponse, GlobalApiCreateGrafanaUserRequest, GlobalApiResetGrafanaUserPasswordRequest, GlobalApiSelectPlanRequest, GlobalApiSyncGrafanaDataSourcesRequest, Grafana, GrafanaProductDashboard, GrafanaUser, ListAlertsResponse, ListContactPointsResponse, ListDataSourcesResponse, ListExportersResponse, ListGrafanaProductDashboardsResponse, ListGrafanaUsersResponse, ListPlansResponse, ListProductsResponse, ListTokensResponse, Plan, RegionalApiCreateContactPointRequest, RegionalApiCreateDataSourceRequest, RegionalApiCreateExporterRequest, RegionalApiCreateTokenRequest, RegionalApiDeleteContactPointRequest, RegionalApiDisableAlertManagerRequest, RegionalApiDisableAlertRulesRequest, RegionalApiDisableManagedAlertsRequest, RegionalApiEnableAlertManagerRequest, RegionalApiEnableAlertRulesRequest, RegionalApiEnableManagedAlertsRequest, RegionalApiTriggerTestAlertRequest, RegionalApiUpdateContactPointRequest, RegionalApiUpdateDataSourceRequest, RegionalApiUpdateExporterRequest, Token, UsageOverview } from './types.gen.js';
3
3
  export declare const unmarshalContactPoint: (data: unknown) => ContactPoint;
4
4
  export declare const unmarshalDataSource: (data: unknown) => DataSource;
5
+ export declare const unmarshalExporter: (data: unknown) => Exporter;
5
6
  export declare const unmarshalGrafanaProductDashboard: (data: unknown) => GrafanaProductDashboard;
6
7
  export declare const unmarshalGrafanaUser: (data: unknown) => GrafanaUser;
7
8
  export declare const unmarshalPlan: (data: unknown) => Plan;
@@ -15,6 +16,7 @@ export declare const unmarshalGrafana: (data: unknown) => Grafana;
15
16
  export declare const unmarshalListAlertsResponse: (data: unknown) => ListAlertsResponse;
16
17
  export declare const unmarshalListContactPointsResponse: (data: unknown) => ListContactPointsResponse;
17
18
  export declare const unmarshalListDataSourcesResponse: (data: unknown) => ListDataSourcesResponse;
19
+ export declare const unmarshalListExportersResponse: (data: unknown) => ListExportersResponse;
18
20
  export declare const unmarshalListGrafanaProductDashboardsResponse: (data: unknown) => ListGrafanaProductDashboardsResponse;
19
21
  export declare const unmarshalListGrafanaUsersResponse: (data: unknown) => ListGrafanaUsersResponse;
20
22
  export declare const unmarshalListPlansResponse: (data: unknown) => ListPlansResponse;
@@ -27,6 +29,7 @@ export declare const marshalGlobalApiSelectPlanRequest: (request: GlobalApiSelec
27
29
  export declare const marshalGlobalApiSyncGrafanaDataSourcesRequest: (request: GlobalApiSyncGrafanaDataSourcesRequest, defaults: DefaultValues) => Record<string, unknown>;
28
30
  export declare const marshalRegionalApiCreateContactPointRequest: (request: RegionalApiCreateContactPointRequest, defaults: DefaultValues) => Record<string, unknown>;
29
31
  export declare const marshalRegionalApiCreateDataSourceRequest: (request: RegionalApiCreateDataSourceRequest, defaults: DefaultValues) => Record<string, unknown>;
32
+ export declare const marshalRegionalApiCreateExporterRequest: (request: RegionalApiCreateExporterRequest, defaults: DefaultValues) => Record<string, unknown>;
30
33
  export declare const marshalRegionalApiCreateTokenRequest: (request: RegionalApiCreateTokenRequest, defaults: DefaultValues) => Record<string, unknown>;
31
34
  export declare const marshalRegionalApiDeleteContactPointRequest: (request: RegionalApiDeleteContactPointRequest, defaults: DefaultValues) => Record<string, unknown>;
32
35
  export declare const marshalRegionalApiDisableAlertManagerRequest: (request: RegionalApiDisableAlertManagerRequest, defaults: DefaultValues) => Record<string, unknown>;
@@ -38,3 +41,4 @@ export declare const marshalRegionalApiEnableManagedAlertsRequest: (request: Reg
38
41
  export declare const marshalRegionalApiTriggerTestAlertRequest: (request: RegionalApiTriggerTestAlertRequest, defaults: DefaultValues) => Record<string, unknown>;
39
42
  export declare const marshalRegionalApiUpdateContactPointRequest: (request: RegionalApiUpdateContactPointRequest, defaults: DefaultValues) => Record<string, unknown>;
40
43
  export declare const marshalRegionalApiUpdateDataSourceRequest: (request: RegionalApiUpdateDataSourceRequest, defaults: DefaultValues) => Record<string, unknown>;
44
+ export declare const marshalRegionalApiUpdateExporterRequest: (request: RegionalApiUpdateExporterRequest, defaults: DefaultValues) => Record<string, unknown>;
@@ -42,6 +42,47 @@ const unmarshalDataSource = (data) => {
42
42
  url: data.url
43
43
  };
44
44
  };
45
+ const unmarshalExporterDatadogDestination = (data) => {
46
+ if (!isJSONObject(data)) {
47
+ throw new TypeError(
48
+ `Unmarshalling the type 'ExporterDatadogDestination' failed as data isn't a dictionary.`
49
+ );
50
+ }
51
+ return {
52
+ apiKey: data.api_key,
53
+ endpoint: data.endpoint
54
+ };
55
+ };
56
+ const unmarshalExporterOTLPDestination = (data) => {
57
+ if (!isJSONObject(data)) {
58
+ throw new TypeError(
59
+ `Unmarshalling the type 'ExporterOTLPDestination' failed as data isn't a dictionary.`
60
+ );
61
+ }
62
+ return {
63
+ endpoint: data.endpoint,
64
+ headers: data.headers
65
+ };
66
+ };
67
+ const unmarshalExporter = (data) => {
68
+ if (!isJSONObject(data)) {
69
+ throw new TypeError(
70
+ `Unmarshalling the type 'Exporter' failed as data isn't a dictionary.`
71
+ );
72
+ }
73
+ return {
74
+ createdAt: unmarshalDate(data.created_at),
75
+ datadogDestination: data.datadog_destination ? unmarshalExporterDatadogDestination(data.datadog_destination) : void 0,
76
+ datasourceId: data.datasource_id,
77
+ description: data.description,
78
+ exportedProducts: data.exported_products,
79
+ id: data.id,
80
+ name: data.name,
81
+ otlpDestination: data.otlp_destination ? unmarshalExporterOTLPDestination(data.otlp_destination) : void 0,
82
+ status: data.status,
83
+ updatedAt: unmarshalDate(data.updated_at)
84
+ };
85
+ };
45
86
  const unmarshalGrafanaProductDashboard = (data) => {
46
87
  if (!isJSONObject(data)) {
47
88
  throw new TypeError(
@@ -270,6 +311,17 @@ const unmarshalListDataSourcesResponse = (data) => {
270
311
  totalCount: data.total_count
271
312
  };
272
313
  };
314
+ const unmarshalListExportersResponse = (data) => {
315
+ if (!isJSONObject(data)) {
316
+ throw new TypeError(
317
+ `Unmarshalling the type 'ListExportersResponse' failed as data isn't a dictionary.`
318
+ );
319
+ }
320
+ return {
321
+ exporters: unmarshalArrayOfObject(data.exporters, unmarshalExporter),
322
+ totalCount: data.total_count
323
+ };
324
+ };
273
325
  const unmarshalListGrafanaProductDashboardsResponse = (data) => {
274
326
  if (!isJSONObject(data)) {
275
327
  throw new TypeError(
@@ -409,6 +461,32 @@ const marshalRegionalApiCreateDataSourceRequest = (request, defaults) => ({
409
461
  retention_days: request.retentionDays,
410
462
  type: request.type
411
463
  });
464
+ const marshalExporterDatadogDestination = (request, defaults) => ({
465
+ api_key: request.apiKey,
466
+ endpoint: request.endpoint
467
+ });
468
+ const marshalExporterOTLPDestination = (request, defaults) => ({
469
+ endpoint: request.endpoint,
470
+ headers: request.headers
471
+ });
472
+ const marshalRegionalApiCreateExporterRequest = (request, defaults) => ({
473
+ datasource_id: request.datasourceId,
474
+ description: request.description,
475
+ exported_products: request.exportedProducts,
476
+ name: request.name,
477
+ ...resolveOneOf([
478
+ {
479
+ param: "datadog_destination",
480
+ value: request.datadogDestination !== void 0 ? marshalExporterDatadogDestination(
481
+ request.datadogDestination
482
+ ) : void 0
483
+ },
484
+ {
485
+ param: "otlp_destination",
486
+ value: request.otlpDestination !== void 0 ? marshalExporterOTLPDestination(request.otlpDestination) : void 0
487
+ }
488
+ ])
489
+ });
412
490
  const marshalRegionalApiCreateTokenRequest = (request, defaults) => ({
413
491
  name: request.name,
414
492
  project_id: request.projectId ?? defaults.defaultProjectId,
@@ -460,6 +538,23 @@ const marshalRegionalApiUpdateDataSourceRequest = (request, defaults) => ({
460
538
  name: request.name,
461
539
  retention_days: request.retentionDays
462
540
  });
541
+ const marshalRegionalApiUpdateExporterRequest = (request, defaults) => ({
542
+ description: request.description,
543
+ exported_products: request.exportedProducts,
544
+ name: request.name,
545
+ ...resolveOneOf([
546
+ {
547
+ param: "datadog_destination",
548
+ value: request.datadogDestination !== void 0 ? marshalExporterDatadogDestination(
549
+ request.datadogDestination
550
+ ) : void 0
551
+ },
552
+ {
553
+ param: "otlp_destination",
554
+ value: request.otlpDestination !== void 0 ? marshalExporterOTLPDestination(request.otlpDestination) : void 0
555
+ }
556
+ ])
557
+ });
463
558
  export {
464
559
  marshalGlobalApiCreateGrafanaUserRequest,
465
560
  marshalGlobalApiResetGrafanaUserPasswordRequest,
@@ -467,6 +562,7 @@ export {
467
562
  marshalGlobalApiSyncGrafanaDataSourcesRequest,
468
563
  marshalRegionalApiCreateContactPointRequest,
469
564
  marshalRegionalApiCreateDataSourceRequest,
565
+ marshalRegionalApiCreateExporterRequest,
470
566
  marshalRegionalApiCreateTokenRequest,
471
567
  marshalRegionalApiDeleteContactPointRequest,
472
568
  marshalRegionalApiDisableAlertManagerRequest,
@@ -478,11 +574,13 @@ export {
478
574
  marshalRegionalApiTriggerTestAlertRequest,
479
575
  marshalRegionalApiUpdateContactPointRequest,
480
576
  marshalRegionalApiUpdateDataSourceRequest,
577
+ marshalRegionalApiUpdateExporterRequest,
481
578
  unmarshalAlertManager,
482
579
  unmarshalContactPoint,
483
580
  unmarshalDataSource,
484
581
  unmarshalDisableAlertRulesResponse,
485
582
  unmarshalEnableAlertRulesResponse,
583
+ unmarshalExporter,
486
584
  unmarshalGetConfigResponse,
487
585
  unmarshalGetRulesCountResponse,
488
586
  unmarshalGrafana,
@@ -491,6 +589,7 @@ export {
491
589
  unmarshalListAlertsResponse,
492
590
  unmarshalListContactPointsResponse,
493
591
  unmarshalListDataSourcesResponse,
592
+ unmarshalListExportersResponse,
494
593
  unmarshalListGrafanaProductDashboardsResponse,
495
594
  unmarshalListGrafanaUsersResponse,
496
595
  unmarshalListPlansResponse,
@@ -3,8 +3,10 @@ export type AlertState = 'unknown_state' | 'inactive' | 'pending' | 'firing';
3
3
  export type AlertStatus = 'unknown_status' | 'enabled' | 'disabled' | 'enabling' | 'disabling';
4
4
  export type DataSourceOrigin = 'unknown_origin' | 'scaleway' | 'external' | 'custom';
5
5
  export type DataSourceType = 'unknown_type' | 'metrics' | 'logs' | 'traces';
6
+ export type ExporterStatus = 'unknown_status' | 'creating' | 'ready' | 'error';
6
7
  export type GrafanaUserRole = 'unknown_role' | 'editor' | 'viewer';
7
8
  export type ListDataSourcesRequestOrderBy = 'created_at_asc' | 'created_at_desc' | 'name_asc' | 'name_desc' | 'type_asc' | 'type_desc';
9
+ export type ListExportersRequestOrderBy = 'created_at_asc' | 'created_at_desc' | 'name_asc' | 'name_desc';
8
10
  export type ListGrafanaUsersRequestOrderBy = 'login_asc' | 'login_desc';
9
11
  export type ListPlansRequestOrderBy = 'name_asc' | 'name_desc';
10
12
  export type ListProductsRequestOrderBy = 'created_at_asc' | 'created_at_desc' | 'display_name_asc' | 'display_name_desc' | 'family_name_asc' | 'family_name_desc';
@@ -40,6 +42,14 @@ export interface PreconfiguredAlertData {
40
42
  export interface ContactPointEmail {
41
43
  to: string;
42
44
  }
45
+ export interface ExporterDatadogDestination {
46
+ apiKey?: string;
47
+ endpoint?: string;
48
+ }
49
+ export interface ExporterOTLPDestination {
50
+ endpoint: string;
51
+ headers: Record<string, string>;
52
+ }
43
53
  export interface GetConfigResponseRetention {
44
54
  minDays: number;
45
55
  maxDays: number;
@@ -176,6 +186,55 @@ export interface DataSource {
176
186
  */
177
187
  currentMonthUsage?: number;
178
188
  }
189
+ /**
190
+ * Data exporter.
191
+ */
192
+ export interface Exporter {
193
+ /**
194
+ * ID of the data export.
195
+ */
196
+ id: string;
197
+ /**
198
+ * Name of the data export.
199
+ */
200
+ name: string;
201
+ /**
202
+ * Description of the data export.
203
+ */
204
+ description: string;
205
+ /**
206
+ * ID of the data source linked to the data export.
207
+ */
208
+ datasourceId: string;
209
+ /**
210
+ * Datadog destination configuration for the data export.
211
+ *
212
+ * One-of ('destination'): at most one of 'datadogDestination', 'otlpDestination' could be set.
213
+ */
214
+ datadogDestination?: ExporterDatadogDestination;
215
+ /**
216
+ * OTLP destination configuration for the data export.
217
+ *
218
+ * One-of ('destination'): at most one of 'datadogDestination', 'otlpDestination' could be set.
219
+ */
220
+ otlpDestination?: ExporterOTLPDestination;
221
+ /**
222
+ * Status of the data export.
223
+ */
224
+ status: ExporterStatus;
225
+ /**
226
+ * List of Scaleway products name exported by the data export.
227
+ */
228
+ exportedProducts: string[];
229
+ /**
230
+ * A timestamp of the creation date of the data export.
231
+ */
232
+ createdAt?: Date;
233
+ /**
234
+ * A timestamp of the last update date of the data export.
235
+ */
236
+ updatedAt?: Date;
237
+ }
179
238
  /**
180
239
  * Grafana dashboard.
181
240
  */
@@ -625,6 +684,19 @@ export interface ListDataSourcesResponse {
625
684
  */
626
685
  dataSources: DataSource[];
627
686
  }
687
+ /**
688
+ * Response returned when listing data exports.
689
+ */
690
+ export interface ListExportersResponse {
691
+ /**
692
+ * Total count of data exports matching the request.
693
+ */
694
+ totalCount: number;
695
+ /**
696
+ * Data exports matching the request within the pagination.
697
+ */
698
+ exporters: Exporter[];
699
+ }
628
700
  /**
629
701
  * Output returned when listing dashboards.
630
702
  */
@@ -723,12 +795,50 @@ export type RegionalApiCreateDataSourceRequest = {
723
795
  /**
724
796
  * Data source type.
725
797
  */
726
- type?: DataSourceType;
798
+ type: DataSourceType;
727
799
  /**
728
800
  * Default values are 31 days for metrics, 7 days for logs and traces.
729
801
  */
730
802
  retentionDays?: number;
731
803
  };
804
+ /**
805
+ * Create a data export.
806
+ */
807
+ export type RegionalApiCreateExporterRequest = {
808
+ /**
809
+ * Region to target. If none is passed will use default region from the config.
810
+ */
811
+ region?: ScwRegion;
812
+ /**
813
+ * ID of the data source linked to the data export.
814
+ */
815
+ datasourceId: string;
816
+ /**
817
+ * Datadog destination configuration for the data export.
818
+ *
819
+ * One-of ('destination'): at most one of 'datadogDestination', 'otlpDestination' could be set.
820
+ */
821
+ datadogDestination?: ExporterDatadogDestination;
822
+ /**
823
+ * OTLP destination configuration for the data export.
824
+ *
825
+ * One-of ('destination'): at most one of 'datadogDestination', 'otlpDestination' could be set.
826
+ */
827
+ otlpDestination?: ExporterOTLPDestination;
828
+ /**
829
+ * To include all products in your data export, you can use an array containing "all"
830
+ You can retrieve the complete list of product names using the `ListProducts` endpoint.
831
+ */
832
+ exportedProducts: string[];
833
+ /**
834
+ * Name of the data export.
835
+ */
836
+ name: string;
837
+ /**
838
+ * Description of the data export.
839
+ */
840
+ description?: string;
841
+ };
732
842
  /**
733
843
  * Create a token.
734
844
  */
@@ -782,6 +892,19 @@ export type RegionalApiDeleteDataSourceRequest = {
782
892
  */
783
893
  dataSourceId: string;
784
894
  };
895
+ /**
896
+ * Delete a data export.
897
+ */
898
+ export type RegionalApiDeleteExporterRequest = {
899
+ /**
900
+ * Region to target. If none is passed will use default region from the config.
901
+ */
902
+ region?: ScwRegion;
903
+ /**
904
+ * ID of the data export to update.
905
+ */
906
+ exporterId: string;
907
+ };
785
908
  /**
786
909
  * Delete a token.
787
910
  */
@@ -910,6 +1033,19 @@ export type RegionalApiGetDataSourceRequest = {
910
1033
  */
911
1034
  dataSourceId: string;
912
1035
  };
1036
+ /**
1037
+ * Retrieve a specific data export.
1038
+ */
1039
+ export type RegionalApiGetExporterRequest = {
1040
+ /**
1041
+ * Region to target. If none is passed will use default region from the config.
1042
+ */
1043
+ region?: ScwRegion;
1044
+ /**
1045
+ * ID of the data export to retrieve.
1046
+ */
1047
+ exporterId: string;
1048
+ };
913
1049
  export type RegionalApiGetRulesCountRequest = {
914
1050
  /**
915
1051
  * Region to target. If none is passed will use default region from the config.
@@ -978,6 +1114,10 @@ export type RegionalApiListContactPointsRequest = {
978
1114
  * Region to target. If none is passed will use default region from the config.
979
1115
  */
980
1116
  region?: ScwRegion;
1117
+ /**
1118
+ * ID of the Project containing the contact points to list.
1119
+ */
1120
+ projectId?: string;
981
1121
  /**
982
1122
  * Page number to return, from the paginated results.
983
1123
  */
@@ -986,10 +1126,6 @@ export type RegionalApiListContactPointsRequest = {
986
1126
  * Total count of contact points to return per page.
987
1127
  */
988
1128
  pageSize?: number;
989
- /**
990
- * ID of the Project containing the contact points to list.
991
- */
992
- projectId?: string;
993
1129
  };
994
1130
  /**
995
1131
  * List data sources.
@@ -999,6 +1135,18 @@ export type RegionalApiListDataSourcesRequest = {
999
1135
  * Region to target. If none is passed will use default region from the config.
1000
1136
  */
1001
1137
  region?: ScwRegion;
1138
+ /**
1139
+ * Project ID to filter for, only data sources from this Project will be returned.
1140
+ */
1141
+ projectId?: string;
1142
+ /**
1143
+ * Origin to filter for, only data sources with matching origin will be returned. If omitted, all types will be returned.
1144
+ */
1145
+ origin?: DataSourceOrigin;
1146
+ /**
1147
+ * Types to filter for (metrics, logs, traces), only data sources with matching types will be returned. If omitted, all types will be returned.
1148
+ */
1149
+ types?: DataSourceType[];
1002
1150
  /**
1003
1151
  * Page number to return, from the paginated results.
1004
1152
  */
@@ -1011,18 +1159,35 @@ export type RegionalApiListDataSourcesRequest = {
1011
1159
  * Sort order for data sources in the response.
1012
1160
  */
1013
1161
  orderBy?: ListDataSourcesRequestOrderBy;
1162
+ };
1163
+ /**
1164
+ * List all data exports.
1165
+ */
1166
+ export type RegionalApiListExportersRequest = {
1014
1167
  /**
1015
- * Project ID to filter for, only data sources from this Project will be returned.
1168
+ * Region to target. If none is passed will use default region from the config.
1169
+ */
1170
+ region?: ScwRegion;
1171
+ /**
1172
+ * Project ID to filter for. Only data exports from this Project will be returned.
1016
1173
  */
1017
1174
  projectId?: string;
1018
1175
  /**
1019
- * Origin to filter for, only data sources with matching origin will be returned. If omitted, all types will be returned.
1176
+ * Data source ID to filter for. Only data exports linked to this data source will be returned.
1020
1177
  */
1021
- origin?: DataSourceOrigin;
1178
+ datasourceId?: string;
1022
1179
  /**
1023
- * Types to filter for (metrics, logs, traces), only data sources with matching types will be returned. If omitted, all types will be returned.
1180
+ * Page number to return from the paginated results.
1024
1181
  */
1025
- types?: DataSourceType[];
1182
+ page?: number;
1183
+ /**
1184
+ * Number of data exports to return per page.
1185
+ */
1186
+ pageSize?: number;
1187
+ /**
1188
+ * Sort order for data exports in the response.
1189
+ */
1190
+ orderBy?: ListExportersRequestOrderBy;
1026
1191
  };
1027
1192
  /**
1028
1193
  * List all Scaleway products that send metrics and/or logs to Cockpit.
@@ -1053,6 +1218,14 @@ export type RegionalApiListTokensRequest = {
1053
1218
  * Region to target. If none is passed will use default region from the config.
1054
1219
  */
1055
1220
  region?: ScwRegion;
1221
+ /**
1222
+ * ID of the Project the tokens belong to.
1223
+ */
1224
+ projectId?: string;
1225
+ /**
1226
+ * Token scopes to filter for.
1227
+ */
1228
+ tokenScopes?: TokenScope[];
1056
1229
  /**
1057
1230
  * Page number to return, from the paginated results.
1058
1231
  */
@@ -1065,14 +1238,6 @@ export type RegionalApiListTokensRequest = {
1065
1238
  * Order in which to return results.
1066
1239
  */
1067
1240
  orderBy?: ListTokensRequestOrderBy;
1068
- /**
1069
- * ID of the Project the tokens belong to.
1070
- */
1071
- projectId?: string;
1072
- /**
1073
- * Token scopes to filter for.
1074
- */
1075
- tokenScopes?: TokenScope[];
1076
1241
  };
1077
1242
  /**
1078
1243
  * Request to trigger a test alert.
@@ -1131,6 +1296,44 @@ export type RegionalApiUpdateDataSourceRequest = {
1131
1296
  */
1132
1297
  retentionDays?: number;
1133
1298
  };
1299
+ /**
1300
+ * Update an existing data export.
1301
+ */
1302
+ export type RegionalApiUpdateExporterRequest = {
1303
+ /**
1304
+ * Region to target. If none is passed will use default region from the config.
1305
+ */
1306
+ region?: ScwRegion;
1307
+ /**
1308
+ * ID of the data export to update.
1309
+ */
1310
+ exporterId: string;
1311
+ /**
1312
+ * Updated Datadog destination configuration for the data export.
1313
+ *
1314
+ * One-of ('destination'): at most one of 'datadogDestination', 'otlpDestination' could be set.
1315
+ */
1316
+ datadogDestination?: ExporterDatadogDestination;
1317
+ /**
1318
+ * Updated OTLP destination configuration for the data export.
1319
+ *
1320
+ * One-of ('destination'): at most one of 'datadogDestination', 'otlpDestination' could be set.
1321
+ */
1322
+ otlpDestination?: ExporterOTLPDestination;
1323
+ /**
1324
+ * Updated name of the data export.
1325
+ */
1326
+ name?: string;
1327
+ /**
1328
+ * Updated description of the data export.
1329
+ */
1330
+ description?: string;
1331
+ /**
1332
+ * To include all products in your data export, you can use an array containing "all"
1333
+ You can retrieve the complete list of product names using the `ListProducts` endpoint.
1334
+ */
1335
+ exportedProducts?: string[];
1336
+ };
1134
1337
  export interface UsageOverview {
1135
1338
  scalewayMetricsUsage?: Usage;
1136
1339
  scalewayLogsUsage?: Usage;
@@ -10,6 +10,15 @@ export declare const RegionalApiCreateDataSourceRequest: {
10
10
  lessThanOrEqual: number;
11
11
  };
12
12
  };
13
+ export declare const RegionalApiCreateExporterRequest: {
14
+ description: {
15
+ maxLength: number;
16
+ };
17
+ name: {
18
+ maxLength: number;
19
+ minLength: number;
20
+ };
21
+ };
13
22
  export declare const RegionalApiCreateTokenRequest: {
14
23
  name: {
15
24
  maxLength: number;
@@ -35,6 +44,16 @@ export declare const RegionalApiListDataSourcesRequest: {
35
44
  lessThanOrEqual: number;
36
45
  };
37
46
  };
47
+ export declare const RegionalApiListExportersRequest: {
48
+ page: {
49
+ greaterThanOrEqual: number;
50
+ lessThanOrEqual: number;
51
+ };
52
+ pageSize: {
53
+ greaterThanOrEqual: number;
54
+ lessThanOrEqual: number;
55
+ };
56
+ };
38
57
  export declare const RegionalApiListProductsRequest: {
39
58
  page: {
40
59
  greaterThanOrEqual: number;
@@ -67,3 +86,12 @@ export declare const RegionalApiUpdateDataSourceRequest: {
67
86
  lessThanOrEqual: number;
68
87
  };
69
88
  };
89
+ export declare const RegionalApiUpdateExporterRequest: {
90
+ description: {
91
+ maxLength: number;
92
+ };
93
+ name: {
94
+ maxLength: number;
95
+ minLength: number;
96
+ };
97
+ };
@@ -10,6 +10,15 @@ const RegionalApiCreateDataSourceRequest = {
10
10
  lessThanOrEqual: 1825
11
11
  }
12
12
  };
13
+ const RegionalApiCreateExporterRequest = {
14
+ description: {
15
+ maxLength: 200
16
+ },
17
+ name: {
18
+ maxLength: 60,
19
+ minLength: 1
20
+ }
21
+ };
13
22
  const RegionalApiCreateTokenRequest = {
14
23
  name: {
15
24
  maxLength: 50,
@@ -35,6 +44,16 @@ const RegionalApiListDataSourcesRequest = {
35
44
  lessThanOrEqual: 1e3
36
45
  }
37
46
  };
47
+ const RegionalApiListExportersRequest = {
48
+ page: {
49
+ greaterThanOrEqual: 1,
50
+ lessThanOrEqual: 1e4
51
+ },
52
+ pageSize: {
53
+ greaterThanOrEqual: 1,
54
+ lessThanOrEqual: 100
55
+ }
56
+ };
38
57
  const RegionalApiListProductsRequest = {
39
58
  page: {
40
59
  greaterThanOrEqual: 1,
@@ -67,12 +86,24 @@ const RegionalApiUpdateDataSourceRequest = {
67
86
  lessThanOrEqual: 1825
68
87
  }
69
88
  };
89
+ const RegionalApiUpdateExporterRequest = {
90
+ description: {
91
+ maxLength: 200
92
+ },
93
+ name: {
94
+ maxLength: 60,
95
+ minLength: 1
96
+ }
97
+ };
70
98
  export {
71
99
  RegionalApiCreateDataSourceRequest,
100
+ RegionalApiCreateExporterRequest,
72
101
  RegionalApiCreateTokenRequest,
73
102
  RegionalApiListContactPointsRequest,
74
103
  RegionalApiListDataSourcesRequest,
104
+ RegionalApiListExportersRequest,
75
105
  RegionalApiListProductsRequest,
76
106
  RegionalApiListTokensRequest,
77
- RegionalApiUpdateDataSourceRequest
107
+ RegionalApiUpdateDataSourceRequest,
108
+ RegionalApiUpdateExporterRequest
78
109
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scaleway/sdk-cockpit",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "Scaleway SDK cockpit",
5
5
  "license": "Apache-2.0",
6
6
  "files": [