@datadog/datadog-api-client
Version:
OpenAPI client for Datadog APIs
211 lines (210 loc) • 10.2 kB
TypeScript
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>;
}