UNPKG

fetch-statuspage

Version:

411 lines (410 loc) 25.3 kB
"use strict"; // tslint:disable /** * Statuspage API * # Code of Conduct Please don\'t abuse the API, and please report all feature requests and issues to https://help.statuspage.io/help/contact-us-30 # Rate Limiting Each API token is limited to 1 request / second as measured on a 60 second rolling window. To get this limit increased or lifted, please contact us at https://help.statuspage.io/help/contact-us-30 # Basics ## HTTPS It\'s required ## URL Prefix In order to maintain version integrity into the future, the API is versioned. All calls currently begin with the following prefix: https://api.statuspage.io/v1/ ## RESTful Interface Wherever possible, the API seeks to implement repeatable patterns with logical, representative URLs and descriptive HTTP verbs. Below are some examples and conventions you will see throughout the documentation. * Collections are buckets: https://api.statuspage.io/v1/pages/asdf123/incidents.json * Elements have unique IDs: https://api.statuspage.io/v1/pages/asdf123/incidents/jklm456.json * GET will retrieve information about a collection/element * POST will create an element in a collection * PATCH will update a single element * PUT will replace a single element in a collection (rarely used) * DELETE will destroy a single element ## Sending Data Information can be sent in the body as form urlencoded or JSON, but make sure the Content-Type header matches the body structure or the server gremlins will be angry. All examples are provided in JSON format, however they can easily be converted to form encoding if required. Some examples of how to convert things are below: // JSON { \"incident\": { \"name\": \"test incident\", \"components\": [\"8kbf7d35c070\", \"vtnh60py4yd7\"] } } // Form Encoded (using curl as an example): curl -X POST https://api.statuspage.io/v1/example \\ -d \"incident[name]=test incident\" \\ -d \"incident[components][]=8kbf7d35c070\" \\ -d \"incident[components][]=vtnh60py4yd7\" # Authentication <!-- ReDoc-Inject: <security-definitions> --> * * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const runtime = require("../runtime"); const models_1 = require("../models"); /** * no description */ class MetricsApi extends runtime.BaseAPI { /** * Delete a metric * Delete a metric */ deletePagesPageIdMetricsMetricIdRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.page_id === null || requestParameters.page_id === undefined) { throw new runtime.RequiredError('page_id', 'Required parameter requestParameters.page_id was null or undefined when calling deletePagesPageIdMetricsMetricId.'); } if (requestParameters.metric_id === null || requestParameters.metric_id === undefined) { throw new runtime.RequiredError('metric_id', 'Required parameter requestParameters.metric_id was null or undefined when calling deletePagesPageIdMetricsMetricId.'); } const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // api_key authentication } const response = yield this.request({ path: `/pages/{page_id}/metrics/{metric_id}`.replace(`{${"page_id"}}`, encodeURIComponent(String(requestParameters.page_id))).replace(`{${"metric_id"}}`, encodeURIComponent(String(requestParameters.metric_id))), method: 'DELETE', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.MetricFromJSON(jsonValue)); }); } /** * Delete a metric * Delete a metric */ deletePagesPageIdMetricsMetricId(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.deletePagesPageIdMetricsMetricIdRaw(requestParameters); return yield response.value(); }); } /** * Reset data for a metric * Reset data for a metric */ deletePagesPageIdMetricsMetricIdDataRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.page_id === null || requestParameters.page_id === undefined) { throw new runtime.RequiredError('page_id', 'Required parameter requestParameters.page_id was null or undefined when calling deletePagesPageIdMetricsMetricIdData.'); } if (requestParameters.metric_id === null || requestParameters.metric_id === undefined) { throw new runtime.RequiredError('metric_id', 'Required parameter requestParameters.metric_id was null or undefined when calling deletePagesPageIdMetricsMetricIdData.'); } const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // api_key authentication } const response = yield this.request({ path: `/pages/{page_id}/metrics/{metric_id}/data`.replace(`{${"page_id"}}`, encodeURIComponent(String(requestParameters.page_id))).replace(`{${"metric_id"}}`, encodeURIComponent(String(requestParameters.metric_id))), method: 'DELETE', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.MetricFromJSON(jsonValue)); }); } /** * Reset data for a metric * Reset data for a metric */ deletePagesPageIdMetricsMetricIdData(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.deletePagesPageIdMetricsMetricIdDataRaw(requestParameters); return yield response.value(); }); } /** * Get a list of metrics * Get a list of metrics */ getPagesPageIdMetricsRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.page_id === null || requestParameters.page_id === undefined) { throw new runtime.RequiredError('page_id', 'Required parameter requestParameters.page_id was null or undefined when calling getPagesPageIdMetrics.'); } const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // api_key authentication } const response = yield this.request({ path: `/pages/{page_id}/metrics`.replace(`{${"page_id"}}`, encodeURIComponent(String(requestParameters.page_id))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.MetricFromJSON(jsonValue)); }); } /** * Get a list of metrics * Get a list of metrics */ getPagesPageIdMetrics(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.getPagesPageIdMetricsRaw(requestParameters); return yield response.value(); }); } /** * Get a metric * Get a metric */ getPagesPageIdMetricsMetricIdRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.page_id === null || requestParameters.page_id === undefined) { throw new runtime.RequiredError('page_id', 'Required parameter requestParameters.page_id was null or undefined when calling getPagesPageIdMetricsMetricId.'); } if (requestParameters.metric_id === null || requestParameters.metric_id === undefined) { throw new runtime.RequiredError('metric_id', 'Required parameter requestParameters.metric_id was null or undefined when calling getPagesPageIdMetricsMetricId.'); } const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // api_key authentication } const response = yield this.request({ path: `/pages/{page_id}/metrics/{metric_id}`.replace(`{${"page_id"}}`, encodeURIComponent(String(requestParameters.page_id))).replace(`{${"metric_id"}}`, encodeURIComponent(String(requestParameters.metric_id))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.MetricFromJSON(jsonValue)); }); } /** * Get a metric * Get a metric */ getPagesPageIdMetricsMetricId(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.getPagesPageIdMetricsMetricIdRaw(requestParameters); return yield response.value(); }); } /** * List metrics for a metric provider * List metrics for a metric provider */ getPagesPageIdMetricsProvidersMetricsProviderIdMetricsRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.page_id === null || requestParameters.page_id === undefined) { throw new runtime.RequiredError('page_id', 'Required parameter requestParameters.page_id was null or undefined when calling getPagesPageIdMetricsProvidersMetricsProviderIdMetrics.'); } if (requestParameters.metrics_provider_id === null || requestParameters.metrics_provider_id === undefined) { throw new runtime.RequiredError('metrics_provider_id', 'Required parameter requestParameters.metrics_provider_id was null or undefined when calling getPagesPageIdMetricsProvidersMetricsProviderIdMetrics.'); } const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // api_key authentication } const response = yield this.request({ path: `/pages/{page_id}/metrics_providers/{metrics_provider_id}/metrics`.replace(`{${"page_id"}}`, encodeURIComponent(String(requestParameters.page_id))).replace(`{${"metrics_provider_id"}}`, encodeURIComponent(String(requestParameters.metrics_provider_id))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.MetricFromJSON(jsonValue)); }); } /** * List metrics for a metric provider * List metrics for a metric provider */ getPagesPageIdMetricsProvidersMetricsProviderIdMetrics(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.getPagesPageIdMetricsProvidersMetricsProviderIdMetricsRaw(requestParameters); return yield response.value(); }); } /** * Update a metric * Update a metric */ patchPagesPageIdMetricsMetricIdRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.page_id === null || requestParameters.page_id === undefined) { throw new runtime.RequiredError('page_id', 'Required parameter requestParameters.page_id was null or undefined when calling patchPagesPageIdMetricsMetricId.'); } if (requestParameters.metric_id === null || requestParameters.metric_id === undefined) { throw new runtime.RequiredError('metric_id', 'Required parameter requestParameters.metric_id was null or undefined when calling patchPagesPageIdMetricsMetricId.'); } if (requestParameters.PatchPagesPageIdMetrics === null || requestParameters.PatchPagesPageIdMetrics === undefined) { throw new runtime.RequiredError('PatchPagesPageIdMetrics', 'Required parameter requestParameters.PatchPagesPageIdMetrics was null or undefined when calling patchPagesPageIdMetricsMetricId.'); } const queryParameters = {}; const headerParameters = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // api_key authentication } const response = yield this.request({ path: `/pages/{page_id}/metrics/{metric_id}`.replace(`{${"page_id"}}`, encodeURIComponent(String(requestParameters.page_id))).replace(`{${"metric_id"}}`, encodeURIComponent(String(requestParameters.metric_id))), method: 'PATCH', headers: headerParameters, query: queryParameters, body: models_1.PatchPagesPageIdMetricsToJSON(requestParameters.PatchPagesPageIdMetrics), }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.MetricFromJSON(jsonValue)); }); } /** * Update a metric * Update a metric */ patchPagesPageIdMetricsMetricId(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.patchPagesPageIdMetricsMetricIdRaw(requestParameters); return yield response.value(); }); } /** * Add data points to metrics * Add data points to metrics */ postPagesPageIdMetricsDataRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.page_id === null || requestParameters.page_id === undefined) { throw new runtime.RequiredError('page_id', 'Required parameter requestParameters.page_id was null or undefined when calling postPagesPageIdMetricsData.'); } if (requestParameters.PostPagesPageIdMetricsData === null || requestParameters.PostPagesPageIdMetricsData === undefined) { throw new runtime.RequiredError('PostPagesPageIdMetricsData', 'Required parameter requestParameters.PostPagesPageIdMetricsData was null or undefined when calling postPagesPageIdMetricsData.'); } const queryParameters = {}; const headerParameters = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // api_key authentication } const response = yield this.request({ path: `/pages/{page_id}/metrics/data`.replace(`{${"page_id"}}`, encodeURIComponent(String(requestParameters.page_id))), method: 'POST', headers: headerParameters, query: queryParameters, body: models_1.PostPagesPageIdMetricsDataToJSON(requestParameters.PostPagesPageIdMetricsData), }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.MetricAddResponseFromJSON(jsonValue)); }); } /** * Add data points to metrics * Add data points to metrics */ postPagesPageIdMetricsData(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.postPagesPageIdMetricsDataRaw(requestParameters); return yield response.value(); }); } /** * Add data to a metric * Add data to a metric */ postPagesPageIdMetricsMetricIdDataRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.page_id === null || requestParameters.page_id === undefined) { throw new runtime.RequiredError('page_id', 'Required parameter requestParameters.page_id was null or undefined when calling postPagesPageIdMetricsMetricIdData.'); } if (requestParameters.metric_id === null || requestParameters.metric_id === undefined) { throw new runtime.RequiredError('metric_id', 'Required parameter requestParameters.metric_id was null or undefined when calling postPagesPageIdMetricsMetricIdData.'); } if (requestParameters.PostPagesPageIdMetricsMetricIdData === null || requestParameters.PostPagesPageIdMetricsMetricIdData === undefined) { throw new runtime.RequiredError('PostPagesPageIdMetricsMetricIdData', 'Required parameter requestParameters.PostPagesPageIdMetricsMetricIdData was null or undefined when calling postPagesPageIdMetricsMetricIdData.'); } const queryParameters = {}; const headerParameters = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // api_key authentication } const response = yield this.request({ path: `/pages/{page_id}/metrics/{metric_id}/data`.replace(`{${"page_id"}}`, encodeURIComponent(String(requestParameters.page_id))).replace(`{${"metric_id"}}`, encodeURIComponent(String(requestParameters.metric_id))), method: 'POST', headers: headerParameters, query: queryParameters, body: models_1.PostPagesPageIdMetricsMetricIdDataToJSON(requestParameters.PostPagesPageIdMetricsMetricIdData), }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.SingleMetricAddResponseFromJSON(jsonValue)); }); } /** * Add data to a metric * Add data to a metric */ postPagesPageIdMetricsMetricIdData(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.postPagesPageIdMetricsMetricIdDataRaw(requestParameters); return yield response.value(); }); } /** * Create a metric for a metric provider * Create a metric for a metric provider */ postPagesPageIdMetricsProvidersMetricsProviderIdMetricsRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.page_id === null || requestParameters.page_id === undefined) { throw new runtime.RequiredError('page_id', 'Required parameter requestParameters.page_id was null or undefined when calling postPagesPageIdMetricsProvidersMetricsProviderIdMetrics.'); } if (requestParameters.metrics_provider_id === null || requestParameters.metrics_provider_id === undefined) { throw new runtime.RequiredError('metrics_provider_id', 'Required parameter requestParameters.metrics_provider_id was null or undefined when calling postPagesPageIdMetricsProvidersMetricsProviderIdMetrics.'); } if (requestParameters.PostPagesPageIdMetricsProvidersMetricsProviderIdMetrics === null || requestParameters.PostPagesPageIdMetricsProvidersMetricsProviderIdMetrics === undefined) { throw new runtime.RequiredError('PostPagesPageIdMetricsProvidersMetricsProviderIdMetrics', 'Required parameter requestParameters.PostPagesPageIdMetricsProvidersMetricsProviderIdMetrics was null or undefined when calling postPagesPageIdMetricsProvidersMetricsProviderIdMetrics.'); } const queryParameters = {}; const headerParameters = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // api_key authentication } const response = yield this.request({ path: `/pages/{page_id}/metrics_providers/{metrics_provider_id}/metrics`.replace(`{${"page_id"}}`, encodeURIComponent(String(requestParameters.page_id))).replace(`{${"metrics_provider_id"}}`, encodeURIComponent(String(requestParameters.metrics_provider_id))), method: 'POST', headers: headerParameters, query: queryParameters, body: models_1.PostPagesPageIdMetricsProvidersMetricsProviderIdMetricsToJSON(requestParameters.PostPagesPageIdMetricsProvidersMetricsProviderIdMetrics), }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.MetricFromJSON(jsonValue)); }); } /** * Create a metric for a metric provider * Create a metric for a metric provider */ postPagesPageIdMetricsProvidersMetricsProviderIdMetrics(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.postPagesPageIdMetricsProvidersMetricsProviderIdMetricsRaw(requestParameters); return yield response.value(); }); } /** * Update a metric * Update a metric */ putPagesPageIdMetricsMetricIdRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.page_id === null || requestParameters.page_id === undefined) { throw new runtime.RequiredError('page_id', 'Required parameter requestParameters.page_id was null or undefined when calling putPagesPageIdMetricsMetricId.'); } if (requestParameters.metric_id === null || requestParameters.metric_id === undefined) { throw new runtime.RequiredError('metric_id', 'Required parameter requestParameters.metric_id was null or undefined when calling putPagesPageIdMetricsMetricId.'); } if (requestParameters.PutPagesPageIdMetrics === null || requestParameters.PutPagesPageIdMetrics === undefined) { throw new runtime.RequiredError('PutPagesPageIdMetrics', 'Required parameter requestParameters.PutPagesPageIdMetrics was null or undefined when calling putPagesPageIdMetricsMetricId.'); } const queryParameters = {}; const headerParameters = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // api_key authentication } const response = yield this.request({ path: `/pages/{page_id}/metrics/{metric_id}`.replace(`{${"page_id"}}`, encodeURIComponent(String(requestParameters.page_id))).replace(`{${"metric_id"}}`, encodeURIComponent(String(requestParameters.metric_id))), method: 'PUT', headers: headerParameters, query: queryParameters, body: models_1.PutPagesPageIdMetricsToJSON(requestParameters.PutPagesPageIdMetrics), }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.MetricFromJSON(jsonValue)); }); } /** * Update a metric * Update a metric */ putPagesPageIdMetricsMetricId(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.putPagesPageIdMetricsMetricIdRaw(requestParameters); return yield response.value(); }); } } exports.MetricsApi = MetricsApi;