@datadog/datadog-api-client 1.16.0 → 1.17.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.
Files changed (86) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/LICENSE-3rdparty.csv +1 -0
  3. package/README.md +23 -0
  4. package/dist/packages/datadog-api-client-common/configuration.d.ts +21 -1
  5. package/dist/packages/datadog-api-client-common/configuration.js +13 -8
  6. package/dist/packages/datadog-api-client-common/configuration.js.map +1 -1
  7. package/dist/packages/datadog-api-client-common/http/http.d.ts +4 -0
  8. package/dist/packages/datadog-api-client-common/http/isomorphic-fetch.d.ts +8 -0
  9. package/dist/packages/datadog-api-client-common/http/isomorphic-fetch.js +60 -36
  10. package/dist/packages/datadog-api-client-common/http/isomorphic-fetch.js.map +1 -1
  11. package/dist/packages/datadog-api-client-v1/apis/DashboardsApi.d.ts +16 -1
  12. package/dist/packages/datadog-api-client-v1/apis/DashboardsApi.js +54 -2
  13. package/dist/packages/datadog-api-client-v1/apis/DashboardsApi.js.map +1 -1
  14. package/dist/packages/datadog-api-client-v1/apis/MonitorsApi.d.ts +4 -0
  15. package/dist/packages/datadog-api-client-v1/apis/MonitorsApi.js +38 -0
  16. package/dist/packages/datadog-api-client-v1/apis/MonitorsApi.js.map +1 -1
  17. package/dist/packages/datadog-api-client-v1/apis/NotebooksApi.d.ts +5 -0
  18. package/dist/packages/datadog-api-client-v1/apis/NotebooksApi.js +46 -0
  19. package/dist/packages/datadog-api-client-v1/apis/NotebooksApi.js.map +1 -1
  20. package/dist/packages/datadog-api-client-v1/apis/ServiceLevelObjectiveCorrectionsApi.d.ts +5 -0
  21. package/dist/packages/datadog-api-client-v1/apis/ServiceLevelObjectiveCorrectionsApi.js +46 -0
  22. package/dist/packages/datadog-api-client-v1/apis/ServiceLevelObjectiveCorrectionsApi.js.map +1 -1
  23. package/dist/packages/datadog-api-client-v1/apis/ServiceLevelObjectivesApi.d.ts +4 -0
  24. package/dist/packages/datadog-api-client-v1/apis/ServiceLevelObjectivesApi.js +46 -0
  25. package/dist/packages/datadog-api-client-v1/apis/ServiceLevelObjectivesApi.js.map +1 -1
  26. package/dist/packages/datadog-api-client-v1/apis/SyntheticsApi.d.ts +9 -5
  27. package/dist/packages/datadog-api-client-v1/apis/SyntheticsApi.js +44 -3
  28. package/dist/packages/datadog-api-client-v1/apis/SyntheticsApi.js.map +1 -1
  29. package/dist/packages/datadog-api-client-v1/index.d.ts +1 -0
  30. package/dist/packages/datadog-api-client-v1/index.js.map +1 -1
  31. package/dist/packages/datadog-api-client-v1/models/HeatMapWidgetRequest.d.ts +15 -0
  32. package/dist/packages/datadog-api-client-v1/models/HeatMapWidgetRequest.js +12 -0
  33. package/dist/packages/datadog-api-client-v1/models/HeatMapWidgetRequest.js.map +1 -1
  34. package/dist/packages/datadog-api-client-v1/models/HourlyUsageAttributionUsageType.d.ts +2 -1
  35. package/dist/packages/datadog-api-client-v1/models/HourlyUsageAttributionUsageType.js +2 -1
  36. package/dist/packages/datadog-api-client-v1/models/HourlyUsageAttributionUsageType.js.map +1 -1
  37. package/dist/packages/datadog-api-client-v1/models/ListStreamSource.d.ts +2 -1
  38. package/dist/packages/datadog-api-client-v1/models/ListStreamSource.js +2 -1
  39. package/dist/packages/datadog-api-client-v1/models/ListStreamSource.js.map +1 -1
  40. package/dist/packages/datadog-api-client-v1/models/Monitor.d.ts +1 -1
  41. package/dist/packages/datadog-api-client-v1/models/MonitorOptions.d.ts +1 -1
  42. package/dist/packages/datadog-api-client-v1/models/MonthlyUsageAttributionSupportedMetrics.d.ts +3 -1
  43. package/dist/packages/datadog-api-client-v1/models/MonthlyUsageAttributionSupportedMetrics.js +3 -1
  44. package/dist/packages/datadog-api-client-v1/models/MonthlyUsageAttributionSupportedMetrics.js.map +1 -1
  45. package/dist/packages/datadog-api-client-v1/models/MonthlyUsageAttributionValues.d.ts +8 -0
  46. package/dist/packages/datadog-api-client-v1/models/MonthlyUsageAttributionValues.js +10 -0
  47. package/dist/packages/datadog-api-client-v1/models/MonthlyUsageAttributionValues.js.map +1 -1
  48. package/dist/packages/datadog-api-client-v1/models/ObjectSerializer.js +5 -0
  49. package/dist/packages/datadog-api-client-v1/models/ObjectSerializer.js.map +1 -1
  50. package/dist/packages/datadog-api-client-v1/models/SunburstWidgetRequest.d.ts +5 -0
  51. package/dist/packages/datadog-api-client-v1/models/SunburstWidgetRequest.js +4 -0
  52. package/dist/packages/datadog-api-client-v1/models/SunburstWidgetRequest.js.map +1 -1
  53. package/dist/packages/datadog-api-client-v1/models/SyntheticsAssertionTarget.d.ts +5 -0
  54. package/dist/packages/datadog-api-client-v1/models/SyntheticsAssertionTarget.js +4 -0
  55. package/dist/packages/datadog-api-client-v1/models/SyntheticsAssertionTarget.js.map +1 -1
  56. package/dist/packages/datadog-api-client-v1/models/SyntheticsAssertionTimingsScope.d.ts +12 -0
  57. package/dist/packages/datadog-api-client-v1/models/SyntheticsAssertionTimingsScope.js +11 -0
  58. package/dist/packages/datadog-api-client-v1/models/SyntheticsAssertionTimingsScope.js.map +1 -0
  59. package/dist/packages/datadog-api-client-v1/models/UsageProfilingHour.d.ts +4 -0
  60. package/dist/packages/datadog-api-client-v1/models/UsageProfilingHour.js +5 -0
  61. package/dist/packages/datadog-api-client-v1/models/UsageProfilingHour.js.map +1 -1
  62. package/dist/packages/datadog-api-client-v1/models/UsageSummaryDate.d.ts +8 -0
  63. package/dist/packages/datadog-api-client-v1/models/UsageSummaryDate.js +10 -0
  64. package/dist/packages/datadog-api-client-v1/models/UsageSummaryDate.js.map +1 -1
  65. package/dist/packages/datadog-api-client-v1/models/UsageSummaryDateOrg.d.ts +8 -0
  66. package/dist/packages/datadog-api-client-v1/models/UsageSummaryDateOrg.js +10 -0
  67. package/dist/packages/datadog-api-client-v1/models/UsageSummaryDateOrg.js.map +1 -1
  68. package/dist/packages/datadog-api-client-v1/models/UsageSummaryResponse.d.ts +8 -0
  69. package/dist/packages/datadog-api-client-v1/models/UsageSummaryResponse.js +10 -0
  70. package/dist/packages/datadog-api-client-v1/models/UsageSummaryResponse.js.map +1 -1
  71. package/dist/packages/datadog-api-client-v2/apis/DowntimesApi.d.ts +16 -1
  72. package/dist/packages/datadog-api-client-v2/apis/DowntimesApi.js +54 -26
  73. package/dist/packages/datadog-api-client-v2/apis/DowntimesApi.js.map +1 -1
  74. package/dist/packages/datadog-api-client-v2/apis/TeamsApi.d.ts +5 -0
  75. package/dist/packages/datadog-api-client-v2/apis/TeamsApi.js +42 -0
  76. package/dist/packages/datadog-api-client-v2/apis/TeamsApi.js.map +1 -1
  77. package/dist/packages/datadog-api-client-v2/apis/UsageMeteringApi.d.ts +1 -1
  78. package/dist/packages/datadog-api-client-v2/apis/UsersApi.d.ts +5 -0
  79. package/dist/packages/datadog-api-client-v2/apis/UsersApi.js +42 -0
  80. package/dist/packages/datadog-api-client-v2/apis/UsersApi.js.map +1 -1
  81. package/dist/packages/datadog-api-client-v2/models/DowntimeRelationshipsMonitorData.d.ts +1 -1
  82. package/dist/packages/datadog-api-client-v2/models/DowntimeRelationshipsMonitorData.js +1 -2
  83. package/dist/packages/datadog-api-client-v2/models/DowntimeRelationshipsMonitorData.js.map +1 -1
  84. package/dist/version.d.ts +1 -1
  85. package/dist/version.js +1 -1
  86. package/package.json +2 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 1.17.0 / 2023-09-14
4
+
5
+ ### Fixed
6
+ * Fix downtimes monitor relationship id schema type by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-typescript/pull/1309
7
+ * Fix passing body in retry logic by @therve in https://github.com/DataDog/datadog-api-client-typescript/pull/1321
8
+ ### Added
9
+ * Add trace_stream to dashboard ListStreamSource by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-typescript/pull/1282
10
+ * Add pagination extension to SLO corrections by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-typescript/pull/1294
11
+ * Adding aas count to the documentation for summary and hourly usage endpoints by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-typescript/pull/1297
12
+ * Add pagination extension to SLOs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-typescript/pull/1295
13
+ * Add pagination extension to monitors by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-typescript/pull/1296
14
+ * Add pagination extension to synthetics tests by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-typescript/pull/1301
15
+ * Add 'style' to sunburst requests by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-typescript/pull/1300
16
+ * Add pagination extension to notebook by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-typescript/pull/1302
17
+ * Add support for dashboard listing pagination parameters by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-typescript/pull/1306
18
+ * Add pagination parameters to downtimes listing by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-typescript/pull/1308
19
+ * Add pagination extension to user list by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-typescript/pull/1307
20
+ * Add pagination extension to team listing by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-typescript/pull/1310
21
+ * Add retry support by @HantingZhang2 in https://github.com/DataDog/datadog-api-client-typescript/pull/1293
22
+ * Remove private beta for Downtimes v2 by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-typescript/pull/1305
23
+ * Update v1 monitor api docs to exclude downtimes v2 by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-typescript/pull/1318
24
+ * Add timing scope for response time assertions by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-typescript/pull/1311
25
+ * Add Formula and Function query support to heatmap widgets by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-typescript/pull/1319
26
+ * Add synthetics mobile application testing to usage metering API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-typescript/pull/1315
27
+
28
+ ## New Contributors
29
+ * @HantingZhang2 made their first contribution in https://github.com/DataDog/datadog-api-client-typescript/pull/1293
30
+
31
+ **Full Changelog**: https://github.com/DataDog/datadog-api-client-typescript/compare/v1.16.0...v1.17.0
32
+
3
33
  ## 1.16.0 / 2023-08-23
4
34
 
5
35
  ### Fixed
@@ -26,6 +26,7 @@ eslint-plugin-unused-imports,MIT,Copyright (c) 2021 Mikkel Holmer
26
26
  eslint,MIT,Copyright JS Foundation and other contributors, https://js.foundation
27
27
  form-data,MIT,Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors
28
28
  pako,MIT,Copyright (C) 2014-2017 Vitaly Puzrin and Andrei Tuputcyn
29
+ nock,MIT,Copyright (c) 2011-2019 Pedro Teixeira and other contributors
29
30
  prettier,MIT,Copyright © James Long and contributors
30
31
  ts-node,MIT,Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)
31
32
  typedoc,Apache-2.0,Copyright (c) 2015 Sebastian Lenz Copyright (c) 2016-2021 TypeDoc Contributors.
package/README.md CHANGED
@@ -108,6 +108,29 @@ const configurationOpts = {
108
108
  const configuration = client.createConfiguration(configurationOpts);
109
109
  ```
110
110
 
111
+ ### Enable retry
112
+
113
+ To enable the client to retry when rate limited (status 429) or status 500 and above:
114
+
115
+ ```typescript
116
+ import { client } from '@datadog/datadog-api-client';
117
+ const configurationOpts = {
118
+ enableRetry: true
119
+ };
120
+
121
+ const configuration = client.createConfiguration(configurationOpts);
122
+ ```
123
+ The interval between 2 retry attempts will be the value of the x-ratelimit-reset response header when available. If not, it will be :
124
+
125
+ ```typescript
126
+ (backoffMultiplier ** current_retry_count) * backoffBase
127
+ ```
128
+ The maximum number of retry attempts is 3 by default and can be modified with
129
+
130
+ ```typescript
131
+ maxRetries
132
+ ```
133
+
111
134
  ### Adding timeout to requests
112
135
 
113
136
  To add timeout or other mechanism to cancel requests, you need an abort
@@ -11,6 +11,10 @@ export declare class Configuration {
11
11
  readonly authMethods: AuthMethods;
12
12
  readonly httpConfig: HttpConfiguration;
13
13
  readonly debug: boolean | undefined;
14
+ readonly enableRetry: boolean | undefined;
15
+ readonly maxRetries: number | undefined;
16
+ readonly backoffBase: number | undefined;
17
+ readonly backoffMultiplier: number | undefined;
14
18
  unstableOperations: {
15
19
  [name: string]: boolean;
16
20
  };
@@ -20,7 +24,7 @@ export declare class Configuration {
20
24
  };
21
25
  constructor(baseServer: BaseServerConfiguration | undefined, serverIndex: number, operationServerIndices: {
22
26
  [name: string]: number;
23
- }, httpApi: HttpLibrary, authMethods: AuthMethods, httpConfig: HttpConfiguration, debug: boolean | undefined, unstableOperations: {
27
+ }, httpApi: HttpLibrary, authMethods: AuthMethods, httpConfig: HttpConfiguration, debug: boolean | undefined, enableRetry: boolean | undefined, maxRetries: number | undefined, backoffBase: number | undefined, backoffMultiplier: number | undefined, unstableOperations: {
24
28
  [name: string]: boolean;
25
29
  });
26
30
  setServerVariables(serverVariables: {
@@ -66,6 +70,22 @@ export interface ConfigurationParameters {
66
70
  * Callback method to compress string body with zstd
67
71
  */
68
72
  zstdCompressorCallback?: ZstdCompressorCallback;
73
+ /**
74
+ * Maximum of retry attempts allowed
75
+ */
76
+ maxRetries?: number;
77
+ /**
78
+ * Backoff base
79
+ */
80
+ backoffBase?: number;
81
+ /**
82
+ * Backoff multiplier
83
+ */
84
+ backoffMultiplier?: number;
85
+ /**
86
+ * Enable retry on status code 429 or 5xx
87
+ */
88
+ enableRetry?: boolean;
69
89
  }
70
90
  /**
71
91
  * Configuration factory function
@@ -6,7 +6,7 @@ const servers_1 = require("./servers");
6
6
  const auth_1 = require("./auth");
7
7
  const logger_1 = require("../../logger");
8
8
  class Configuration {
9
- constructor(baseServer, serverIndex, operationServerIndices, httpApi, authMethods, httpConfig, debug, unstableOperations) {
9
+ constructor(baseServer, serverIndex, operationServerIndices, httpApi, authMethods, httpConfig, debug, enableRetry, maxRetries, backoffBase, backoffMultiplier, unstableOperations) {
10
10
  this.baseServer = baseServer;
11
11
  this.serverIndex = serverIndex;
12
12
  this.operationServerIndices = operationServerIndices;
@@ -14,6 +14,10 @@ class Configuration {
14
14
  this.authMethods = authMethods;
15
15
  this.httpConfig = httpConfig;
16
16
  this.debug = debug;
17
+ this.enableRetry = enableRetry;
18
+ this.maxRetries = maxRetries;
19
+ this.backoffBase = backoffBase;
20
+ this.backoffMultiplier = backoffMultiplier;
17
21
  this.unstableOperations = unstableOperations;
18
22
  this.servers = [];
19
23
  for (const server of servers_1.servers) {
@@ -26,6 +30,9 @@ class Configuration {
26
30
  this.operationServers[endpoint].push(server.clone());
27
31
  }
28
32
  }
33
+ if (backoffBase && backoffBase < 2) {
34
+ throw new Error("Backoff base must be at least 2");
35
+ }
29
36
  }
30
37
  setServerVariables(serverVariables) {
31
38
  if (this.baseServer !== undefined) {
@@ -86,14 +93,8 @@ function createConfiguration(conf = {}) {
86
93
  process.env.DD_APP_KEY) {
87
94
  authMethods["appKeyAuth"] = process.env.DD_APP_KEY;
88
95
  }
89
- const configuration = new Configuration(conf.baseServer, conf.serverIndex || 0, conf.operationServerIndices || {}, conf.httpApi || new isomorphic_fetch_1.IsomorphicFetchHttpLibrary(), (0, auth_1.configureAuthMethods)(authMethods), conf.httpConfig || {}, conf.debug, {
96
+ const configuration = new Configuration(conf.baseServer, conf.serverIndex || 0, conf.operationServerIndices || {}, conf.httpApi || new isomorphic_fetch_1.IsomorphicFetchHttpLibrary(), (0, auth_1.configureAuthMethods)(authMethods), conf.httpConfig || {}, conf.debug, conf.enableRetry || false, conf.maxRetries || 3, conf.backoffBase || 2, conf.backoffMultiplier || 2, {
90
97
  "v2.createCIAppPipelineEvent": false,
91
- "v2.cancelDowntime": false,
92
- "v2.createDowntime": false,
93
- "v2.getDowntime": false,
94
- "v2.listDowntimes": false,
95
- "v2.listMonitorDowntimes": false,
96
- "v2.updateDowntime": false,
97
98
  "v2.listEvents": false,
98
99
  "v2.searchEvents": false,
99
100
  "v2.createIncident": false,
@@ -132,6 +133,10 @@ function createConfiguration(conf = {}) {
132
133
  });
133
134
  configuration.httpApi.zstdCompressorCallback = conf.zstdCompressorCallback;
134
135
  configuration.httpApi.debug = configuration.debug;
136
+ configuration.httpApi.enableRetry = configuration.enableRetry;
137
+ configuration.httpApi.maxRetries = configuration.maxRetries;
138
+ configuration.httpApi.backoffBase = configuration.backoffBase;
139
+ configuration.httpApi.backoffMultiplier = configuration.backoffMultiplier;
135
140
  return configuration;
136
141
  }
137
142
  exports.createConfiguration = createConfiguration;
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../packages/datadog-api-client-common/configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../packages/datadog-api-client-common/configuration.ts"],"names":[],"mappings":"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"}
@@ -136,6 +136,10 @@ export declare class ResponseContext {
136
136
  }
137
137
  export declare type ZstdCompressorCallback = (body: string) => Buffer;
138
138
  export interface HttpLibrary {
139
+ enableRetry?: boolean | undefined;
140
+ maxRetries?: number;
141
+ backoffBase?: number;
142
+ backoffMultiplier?: number;
139
143
  debug?: boolean;
140
144
  zstdCompressorCallback?: ZstdCompressorCallback;
141
145
  send(request: RequestContext): Promise<ResponseContext>;
@@ -2,7 +2,15 @@ import { HttpLibrary, RequestContext, ResponseContext, ZstdCompressorCallback }
2
2
  export declare class IsomorphicFetchHttpLibrary implements HttpLibrary {
3
3
  debug: boolean;
4
4
  zstdCompressorCallback: ZstdCompressorCallback | undefined;
5
+ enableRetry: boolean;
6
+ maxRetries: number;
7
+ backoffBase: number;
8
+ backoffMultiplier: number;
5
9
  send(request: RequestContext): Promise<ResponseContext>;
10
+ private executeRequest;
11
+ private sleep;
12
+ private shouldRetry;
13
+ private calculateRetryInterval;
6
14
  private logRequest;
7
15
  private logResponse;
8
16
  }
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
13
  };
@@ -51,56 +60,71 @@ class IsomorphicFetchHttpLibrary {
51
60
  }
52
61
  }
53
62
  }
54
- let resultPromise;
55
- // On non-node environments, use native fetch if available.
56
- // `cross-fetch` incorrectly assumes all browsers have XHR available.
57
- // See https://github.com/lquixada/cross-fetch/issues/78
58
- // TODO: Remove once once above issue is resolved.
59
- if (!util_1.isNode && typeof fetch === "function") {
60
- resultPromise = fetch(request.getUrl(), {
61
- method: method,
63
+ return this.executeRequest(request, body, 0, headers);
64
+ }
65
+ executeRequest(request, body, currentAttempt, headers) {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ // On non-node environments, use native fetch if available.
68
+ // `cross-fetch` incorrectly assumes all browsers have XHR available.
69
+ // See https://github.com/lquixada/cross-fetch/issues/78
70
+ // TODO: Remove once once above issue is resolved.
71
+ const fetchFunction = !util_1.isNode && typeof fetch === "function" ? fetch : cross_fetch_1.fetch;
72
+ const fetchOptions = {
73
+ method: request.getHttpMethod().toString(),
62
74
  body: body,
63
75
  headers: headers,
64
76
  signal: request.getHttpConfig().signal,
65
- }).then((resp) => {
66
- const headers = {};
77
+ };
78
+ try {
79
+ const resp = yield fetchFunction(request.getUrl(), fetchOptions);
80
+ const responseHeaders = {};
67
81
  resp.headers.forEach((value, name) => {
68
- headers[name] = value;
82
+ responseHeaders[name] = value;
69
83
  });
70
- const body = {
84
+ const responseBody = {
71
85
  text: () => resp.text(),
72
- binary: () => resp.buffer(),
86
+ binary: () => __awaiter(this, void 0, void 0, function* () {
87
+ const arrayBuffer = yield resp.arrayBuffer();
88
+ return Buffer.from(arrayBuffer);
89
+ }),
73
90
  };
74
- const response = new http_1.ResponseContext(resp.status, headers, body);
91
+ const response = new http_1.ResponseContext(resp.status, responseHeaders, responseBody);
75
92
  if (this.debug) {
76
93
  this.logResponse(response);
77
94
  }
95
+ if (this.shouldRetry(this.enableRetry, currentAttempt, this.maxRetries, response.httpStatusCode)) {
96
+ const delay = this.calculateRetryInterval(currentAttempt, this.backoffBase, this.backoffMultiplier, responseHeaders);
97
+ currentAttempt++;
98
+ yield this.sleep(delay * 1000);
99
+ return this.executeRequest(request, body, currentAttempt, headers);
100
+ }
78
101
  return response;
79
- });
102
+ }
103
+ catch (error) {
104
+ console.error("An error occurred during the HTTP request:", error);
105
+ throw error;
106
+ }
107
+ });
108
+ }
109
+ sleep(milliseconds) {
110
+ return new Promise((resolve) => {
111
+ setTimeout(resolve, milliseconds);
112
+ });
113
+ }
114
+ shouldRetry(enableRetry, currentAttempt, maxRetries, responseCode) {
115
+ return ((responseCode == 429 || responseCode >= 500) &&
116
+ maxRetries > currentAttempt &&
117
+ enableRetry);
118
+ }
119
+ calculateRetryInterval(currentAttempt, backoffBase, backoffMultiplier, headers) {
120
+ if ("x-ratelimit-reset" in headers) {
121
+ const rateLimitHeaderString = headers["x-ratelimit-reset"];
122
+ const retryIntervalFromHeader = parseInt(rateLimitHeaderString, 10);
123
+ return retryIntervalFromHeader;
80
124
  }
81
125
  else {
82
- resultPromise = (0, cross_fetch_1.fetch)(request.getUrl(), {
83
- method: method,
84
- body: body,
85
- headers: headers,
86
- signal: request.getHttpConfig().signal,
87
- }).then((resp) => {
88
- const headers = {};
89
- resp.headers.forEach((value, name) => {
90
- headers[name] = value;
91
- });
92
- const body = {
93
- text: () => resp.text(),
94
- binary: () => resp.buffer(),
95
- };
96
- const response = new http_1.ResponseContext(resp.status, headers, body);
97
- if (this.debug) {
98
- this.logResponse(response);
99
- }
100
- return response;
101
- });
126
+ return Math.pow(backoffMultiplier, currentAttempt) * backoffBase;
102
127
  }
103
- return resultPromise;
104
128
  }
105
129
  logRequest(request) {
106
130
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"isomorphic-fetch.js","sourceRoot":"","sources":["../../../../packages/datadog-api-client-common/http/isomorphic-fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"isomorphic-fetch.js","sourceRoot":"","sources":["../../../../packages/datadog-api-client-common/http/isomorphic-fetch.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { DashboardBulkDeleteRequest } from "../models/DashboardBulkDeleteRequest
6
6
  import { DashboardDeleteResponse } from "../models/DashboardDeleteResponse";
7
7
  import { DashboardRestoreRequest } from "../models/DashboardRestoreRequest";
8
8
  import { DashboardSummary } from "../models/DashboardSummary";
9
+ import { DashboardSummaryDefinition } from "../models/DashboardSummaryDefinition";
9
10
  import { DeleteSharedDashboardResponse } from "../models/DeleteSharedDashboardResponse";
10
11
  import { SharedDashboard } from "../models/SharedDashboard";
11
12
  import { SharedDashboardInvites } from "../models/SharedDashboardInvites";
@@ -20,7 +21,7 @@ export declare class DashboardsApiRequestFactory extends BaseAPIRequestFactory {
20
21
  getDashboard(dashboardId: string, _options?: Configuration): Promise<RequestContext>;
21
22
  getPublicDashboard(token: string, _options?: Configuration): Promise<RequestContext>;
22
23
  getPublicDashboardInvitations(token: string, pageSize?: number, pageNumber?: number, _options?: Configuration): Promise<RequestContext>;
23
- listDashboards(filterShared?: boolean, filterDeleted?: boolean, _options?: Configuration): Promise<RequestContext>;
24
+ listDashboards(filterShared?: boolean, filterDeleted?: boolean, count?: number, start?: number, _options?: Configuration): Promise<RequestContext>;
24
25
  restoreDashboards(body: DashboardRestoreRequest, _options?: Configuration): Promise<RequestContext>;
25
26
  sendPublicDashboardInvitation(token: string, body: SharedDashboardInvites, _options?: Configuration): Promise<RequestContext>;
26
27
  updateDashboard(dashboardId: string, body: Dashboard, _options?: Configuration): Promise<RequestContext>;
@@ -231,6 +232,16 @@ export interface DashboardsApiListDashboardsRequest {
231
232
  * @type boolean
232
233
  */
233
234
  filterDeleted?: boolean;
235
+ /**
236
+ * The maximum number of dashboards returned in the list.
237
+ * @type number
238
+ */
239
+ count?: number;
240
+ /**
241
+ * The specific offset to use as the beginning of the returned response.
242
+ * @type number
243
+ */
244
+ start?: number;
234
245
  }
235
246
  export interface DashboardsApiRestoreDashboardsRequest {
236
247
  /**
@@ -334,6 +345,10 @@ export declare class DashboardsApi {
334
345
  * @param param The request object
335
346
  */
336
347
  listDashboards(param?: DashboardsApiListDashboardsRequest, options?: Configuration): Promise<DashboardSummary>;
348
+ /**
349
+ * Provide a paginated version of listDashboards returning a generator with all the items.
350
+ */
351
+ listDashboardsWithPagination(param?: DashboardsApiListDashboardsRequest, options?: Configuration): AsyncGenerator<DashboardSummaryDefinition>;
337
352
  /**
338
353
  * Restore dashboards using the specified IDs. If there are any failures, no dashboards will be restored (partial success is not allowed).
339
354
  * @param param The request object
@@ -8,6 +8,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
12
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
13
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
14
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
15
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
16
+ function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
17
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
18
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
19
+ function fulfill(value) { resume("next", value); }
20
+ function reject(value) { resume("throw", value); }
21
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
22
+ };
11
23
  Object.defineProperty(exports, "__esModule", { value: true });
12
24
  exports.DashboardsApi = exports.DashboardsApiResponseProcessor = exports.DashboardsApiRequestFactory = void 0;
13
25
  const baseapi_1 = require("../../datadog-api-client-common/baseapi");
@@ -272,7 +284,7 @@ class DashboardsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
272
284
  return requestContext;
273
285
  });
274
286
  }
275
- listDashboards(filterShared, filterDeleted, _options) {
287
+ listDashboards(filterShared, filterDeleted, count, start, _options) {
276
288
  return __awaiter(this, void 0, void 0, function* () {
277
289
  const _config = _options || this.configuration;
278
290
  // Path Params
@@ -290,6 +302,12 @@ class DashboardsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
290
302
  if (filterDeleted !== undefined) {
291
303
  requestContext.setQueryParam("filter[deleted]", ObjectSerializer_1.ObjectSerializer.serialize(filterDeleted, "boolean", ""));
292
304
  }
305
+ if (count !== undefined) {
306
+ requestContext.setQueryParam("count", ObjectSerializer_1.ObjectSerializer.serialize(count, "number", "int64"));
307
+ }
308
+ if (start !== undefined) {
309
+ requestContext.setQueryParam("start", ObjectSerializer_1.ObjectSerializer.serialize(start, "number", "int64"));
310
+ }
293
311
  // Apply auth methods
294
312
  (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
295
313
  "AuthZ",
@@ -1102,7 +1120,7 @@ class DashboardsApi {
1102
1120
  * @param param The request object
1103
1121
  */
1104
1122
  listDashboards(param = {}, options) {
1105
- const requestContextPromise = this.requestFactory.listDashboards(param.filterShared, param.filterDeleted, options);
1123
+ const requestContextPromise = this.requestFactory.listDashboards(param.filterShared, param.filterDeleted, param.count, param.start, options);
1106
1124
  return requestContextPromise.then((requestContext) => {
1107
1125
  return this.configuration.httpApi
1108
1126
  .send(requestContext)
@@ -1111,6 +1129,40 @@ class DashboardsApi {
1111
1129
  });
1112
1130
  });
1113
1131
  }
1132
+ /**
1133
+ * Provide a paginated version of listDashboards returning a generator with all the items.
1134
+ */
1135
+ listDashboardsWithPagination(param = {}, options) {
1136
+ return __asyncGenerator(this, arguments, function* listDashboardsWithPagination_1() {
1137
+ let pageSize = 100;
1138
+ if (param.count !== undefined) {
1139
+ pageSize = param.count;
1140
+ }
1141
+ param.count = pageSize;
1142
+ while (true) {
1143
+ const requestContext = yield __await(this.requestFactory.listDashboards(param.filterShared, param.filterDeleted, param.count, param.start, options));
1144
+ const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
1145
+ const response = yield __await(this.responseProcessor.listDashboards(responseContext));
1146
+ const responseDashboards = response.dashboards;
1147
+ if (responseDashboards === undefined) {
1148
+ break;
1149
+ }
1150
+ const results = responseDashboards;
1151
+ for (const item of results) {
1152
+ yield yield __await(item);
1153
+ }
1154
+ if (results.length < pageSize) {
1155
+ break;
1156
+ }
1157
+ if (param.start === undefined) {
1158
+ param.start = pageSize;
1159
+ }
1160
+ else {
1161
+ param.start = param.start + pageSize;
1162
+ }
1163
+ }
1164
+ });
1165
+ }
1114
1166
  /**
1115
1167
  * Restore dashboards using the specified IDs. If there are any failures, no dashboards will be restored (partial success is not allowed).
1116
1168
  * @param param The request object