UNPKG

@datadog/datadog-api-client

Version:
211 lines (210 loc) 10.2 kB
import { BaseAPIRequestFactory } from "../../datadog-api-client-common/baseapi"; import { Configuration } from "../../datadog-api-client-common/configuration"; import { RequestContext, ResponseContext } from "../../datadog-api-client-common/http/http"; import { ReportScheduleCreateRequest } from "../models/ReportScheduleCreateRequest"; import { ReportScheduleListResponse } from "../models/ReportScheduleListResponse"; import { ReportSchedulePatchRequest } from "../models/ReportSchedulePatchRequest"; import { ReportScheduleResourceType } from "../models/ReportScheduleResourceType"; import { ReportScheduleResponse } from "../models/ReportScheduleResponse"; import { ReportScheduleToggleRequest } from "../models/ReportScheduleToggleRequest"; export declare class ReportSchedulesApiRequestFactory extends BaseAPIRequestFactory { createReportSchedule(body: ReportScheduleCreateRequest, _options?: Configuration): Promise<RequestContext>; deleteReportSchedule(scheduleUuid: string, _options?: Configuration): Promise<RequestContext>; getReportSchedule(scheduleUuid: string, _options?: Configuration): Promise<RequestContext>; getReportSchedulesForResource(resourceType: ReportScheduleResourceType, resourceId: string, _options?: Configuration): Promise<RequestContext>; listReportSchedules(pageLimit?: number, pageOffset?: number, filterTitle?: string, filterAuthorUuid?: string, filterRecipients?: string, _options?: Configuration): Promise<RequestContext>; patchReportSchedule(scheduleUuid: string, body: ReportSchedulePatchRequest, _options?: Configuration): Promise<RequestContext>; toggleReportSchedule(scheduleUuid: string, body: ReportScheduleToggleRequest, _options?: Configuration): Promise<RequestContext>; } export declare class ReportSchedulesApiResponseProcessor { /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to createReportSchedule * @throws ApiException if the response code was not in [200, 299] */ createReportSchedule(response: ResponseContext): Promise<ReportScheduleResponse>; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to deleteReportSchedule * @throws ApiException if the response code was not in [200, 299] */ deleteReportSchedule(response: ResponseContext): Promise<ReportScheduleResponse>; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getReportSchedule * @throws ApiException if the response code was not in [200, 299] */ getReportSchedule(response: ResponseContext): Promise<ReportScheduleResponse>; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getReportSchedulesForResource * @throws ApiException if the response code was not in [200, 299] */ getReportSchedulesForResource(response: ResponseContext): Promise<ReportScheduleListResponse>; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to listReportSchedules * @throws ApiException if the response code was not in [200, 299] */ listReportSchedules(response: ResponseContext): Promise<ReportScheduleListResponse>; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to patchReportSchedule * @throws ApiException if the response code was not in [200, 299] */ patchReportSchedule(response: ResponseContext): Promise<ReportScheduleResponse>; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to toggleReportSchedule * @throws ApiException if the response code was not in [200, 299] */ toggleReportSchedule(response: ResponseContext): Promise<ReportScheduleResponse>; } export interface ReportSchedulesApiCreateReportScheduleRequest { /** * @type ReportScheduleCreateRequest */ body: ReportScheduleCreateRequest; } export interface ReportSchedulesApiDeleteReportScheduleRequest { /** * The unique identifier of the report schedule to delete. * @type string */ scheduleUuid: string; } export interface ReportSchedulesApiGetReportScheduleRequest { /** * The unique identifier of the report schedule to fetch. * @type string */ scheduleUuid: string; } export interface ReportSchedulesApiGetReportSchedulesForResourceRequest { /** * The type of resource to fetch report schedules for. * @type ReportScheduleResourceType */ resourceType: ReportScheduleResourceType; /** * The identifier of the resource to fetch report schedules for. * @type string */ resourceId: string; } export interface ReportSchedulesApiListReportSchedulesRequest { /** * The maximum number of schedules to return. The maximum value is 50. * @type number */ pageLimit?: number; /** * The offset from which to start returning schedules. * @type number */ pageOffset?: number; /** * Filter schedules by report title. * @type string */ filterTitle?: string; /** * Filter schedules by author UUID. * @type string */ filterAuthorUuid?: string; /** * Filter schedules by a comma-separated list of recipients. * @type string */ filterRecipients?: string; } export interface ReportSchedulesApiPatchReportScheduleRequest { /** * The unique identifier of the report schedule to update. * @type string */ scheduleUuid: string; /** * @type ReportSchedulePatchRequest */ body: ReportSchedulePatchRequest; } export interface ReportSchedulesApiToggleReportScheduleRequest { /** * The unique identifier of the report schedule to toggle. * @type string */ scheduleUuid: string; /** * @type ReportScheduleToggleRequest */ body: ReportScheduleToggleRequest; } export declare class ReportSchedulesApi { private requestFactory; private responseProcessor; private configuration; constructor(configuration: Configuration, requestFactory?: ReportSchedulesApiRequestFactory, responseProcessor?: ReportSchedulesApiResponseProcessor); /** * Create a new scheduled report. A schedule renders a dashboard or integration dashboard * on a recurring cadence and delivers it to the configured recipients over email, Slack, * or Microsoft Teams. * Requires the `generate_dashboard_reports` permission. * @param param The request object */ createReportSchedule(param: ReportSchedulesApiCreateReportScheduleRequest, options?: Configuration): Promise<ReportScheduleResponse>; /** * Delete a report schedule by its unique identifier. The response returns the deleted schedule. * Requires a reporting write permission appropriate to the targeted resource type and schedule ownership. * @param param The request object */ deleteReportSchedule(param: ReportSchedulesApiDeleteReportScheduleRequest, options?: Configuration): Promise<ReportScheduleResponse>; /** * Get a report schedule by its unique identifier. * Requires a reporting read permission appropriate to the targeted resource type. * @param param The request object */ getReportSchedule(param: ReportSchedulesApiGetReportScheduleRequest, options?: Configuration): Promise<ReportScheduleResponse>; /** * Get all report schedules that target a dashboard or integration dashboard resource. * Requires a reporting read permission appropriate to the targeted resource type. * @param param The request object */ getReportSchedulesForResource(param: ReportSchedulesApiGetReportSchedulesForResourceRequest, options?: Configuration): Promise<ReportScheduleListResponse>; /** * List dashboard and integration dashboard report schedules for the organization. * The response is paginated and can be filtered by title, author UUID, or recipients. * Requires the `generate_dashboard_reports` permission. * @param param The request object */ listReportSchedules(param?: ReportSchedulesApiListReportSchedulesRequest, options?: Configuration): Promise<ReportScheduleListResponse>; /** * Update an existing scheduled report by its identifier. The editable attributes * are replaced with the supplied values; the targeted resource (`resource_id` and * `resource_type`) cannot be changed after creation. * Requires the `generate_dashboard_reports` permission and schedule ownership. * @param param The request object */ patchReportSchedule(param: ReportSchedulesApiPatchReportScheduleRequest, options?: Configuration): Promise<ReportScheduleResponse>; /** * Activate or pause a report schedule by setting its status to `active` or `inactive`. * Requires a reporting write permission appropriate to the targeted resource type and schedule ownership. * @param param The request object */ toggleReportSchedule(param: ReportSchedulesApiToggleReportScheduleRequest, options?: Configuration): Promise<ReportScheduleResponse>; }