import { API as ParentAPI } from '@scaleway/sdk-client'; import type { ApiLocality } from '@scaleway/sdk-client'; import type { CreateExportJobRequest, DeleteExportJobRequest, DisableAlertRulesRequest, DisableAlertRulesResponse, EnableAlertRulesRequest, EnableAlertRulesResponse, EventsOverview, ExportJob, GetLastEventsOverviewRequest, ListAlertRulesRequest, ListAlertRulesResponse, ListAuthenticationEventsRequest, ListAuthenticationEventsResponse, ListCombinedEventsRequest, ListCombinedEventsResponse, ListEventsRequest, ListEventsResponse, ListExportJobsRequest, ListExportJobsResponse, ListProductsRequest, ListProductsResponse, ListSystemEventsRequest, ListSystemEventsResponse, SetEnabledAlertRulesRequest, SetEnabledAlertRulesResponse } from './types.gen.js'; /** * Audit Trail API. This API allows you to ensure accountability and security by recording events and changes performed within your Scaleway Organization. */ export declare class API extends ParentAPI { /** * Locality of this API. * type ∈ {'zone','region','global','unspecified'} */ static readonly LOCALITY: ApiLocality; /** * List events. Retrieve the list of Audit Trail events for a Scaleway Organization and/or Project. You must specify the `organization_id` and optionally, the `project_id`. * * @param request - The request {@link ListEventsRequest} * @returns A Promise of ListEventsResponse */ listEvents: (request?: Readonly) => Promise; /** * List authentication events. Retrieve the list of Audit Trail authentication events for a Scaleway Organization. You must specify the `organization_id`. * * @param request - The request {@link ListAuthenticationEventsRequest} * @returns A Promise of ListAuthenticationEventsResponse */ listAuthenticationEvents: (request?: Readonly) => Promise; /** * List system events. Retrieve the list of Audit Trail system events for a Scaleway Organization. You must specify the `organization_id`. * * @param request - The request {@link ListSystemEventsRequest} * @returns A Promise of ListSystemEventsResponse */ listSystemEvents: (request?: Readonly) => Promise; listCombinedEvents: (request?: Readonly) => Promise; /** * Retrieve the list of Scaleway resources for which you have Audit Trail events. * * @param request - The request {@link ListProductsRequest} * @returns A Promise of ListProductsResponse */ listProducts: (request?: Readonly) => Promise; getLastEventsOverview: (request?: Readonly) => Promise; /** * Create an export job. Create an export job for a specified organization. This allows you to export audit trail events to a destination, such as an S3 bucket. The request requires the organization ID, a name for the export, and a destination configuration. * * @param request - The request {@link CreateExportJobRequest} * @returns A Promise of ExportJob */ createExportJob: (request: Readonly) => Promise; /** * Delete an export job. Deletes an export job for a specified id. * * @param request - The request {@link DeleteExportJobRequest} */ deleteExportJob: (request: Readonly) => Promise; protected pageOfListExportJobs: (request?: Readonly) => Promise; listExportJobs: (request?: Readonly) => Promise & { all: () => Promise; [Symbol.asyncIterator]: () => AsyncGenerator; }; protected pageOfListAlertRules: (request?: Readonly) => Promise; /** * List alert rules for a specified organization and their current status (enabled or disabled). * * @param request - The request {@link ListAlertRulesRequest} * @returns A Promise of ListAlertRulesResponse */ listAlertRules: (request?: Readonly) => Promise & { all: () => Promise; [Symbol.asyncIterator]: () => AsyncGenerator; }; /** * Enable alert rules. Enable alert rules for a specified organization. Enabled rules will trigger alerts when matching events occur. * * @param request - The request {@link EnableAlertRulesRequest} * @returns A Promise of EnableAlertRulesResponse */ enableAlertRules: (request?: Readonly) => Promise; /** * Disable alert rules. Disable alert rules for a specified organization. Disabled rules will no longer trigger alerts when matching events occur. * * @param request - The request {@link DisableAlertRulesRequest} * @returns A Promise of DisableAlertRulesResponse */ disableAlertRules: (request?: Readonly) => Promise; /** * Set the alert rules to enabled. Set the alert rules to enabled by replacing the set of enabled alert rules for a specified organization. The provided list defines the complete set of rules that should be enabled. Any previously enabled rule not included in the request will be disabled. * * @param request - The request {@link SetEnabledAlertRulesRequest} * @returns A Promise of SetEnabledAlertRulesResponse */ setEnabledAlertRules: (request?: Readonly) => Promise; }