From 398522b051bef40709660cefc27e242e2ad2f703 Mon Sep 17 00:00:00 2001 From: scaleway-bot Date: Thu, 10 Apr 2025 12:38:55 +0000 Subject: [PATCH] feat: update generated APIs --- .../clients/src/api/cockpit/v1/api.gen.ts | 44 ++++++++++++ .../clients/src/api/cockpit/v1/index.gen.ts | 3 + .../src/api/cockpit/v1/marshalling.gen.ts | 38 +++++++++++ .../clients/src/api/cockpit/v1/types.gen.ts | 68 ++++++++++++++++++- 4 files changed, 151 insertions(+), 2 deletions(-) diff --git a/packages/clients/src/api/cockpit/v1/api.gen.ts b/packages/clients/src/api/cockpit/v1/api.gen.ts index 0195be9ab..e20eb303e 100644 --- a/packages/clients/src/api/cockpit/v1/api.gen.ts +++ b/packages/clients/src/api/cockpit/v1/api.gen.ts @@ -17,8 +17,10 @@ import { marshalRegionalApiCreateTokenRequest, marshalRegionalApiDeleteContactPointRequest, marshalRegionalApiDisableAlertManagerRequest, + marshalRegionalApiDisableAlertRulesRequest, marshalRegionalApiDisableManagedAlertsRequest, marshalRegionalApiEnableAlertManagerRequest, + marshalRegionalApiEnableAlertRulesRequest, marshalRegionalApiEnableManagedAlertsRequest, marshalRegionalApiTriggerTestAlertRequest, marshalRegionalApiUpdateContactPointRequest, @@ -75,8 +77,10 @@ import type { RegionalApiDeleteDataSourceRequest, RegionalApiDeleteTokenRequest, RegionalApiDisableAlertManagerRequest, + RegionalApiDisableAlertRulesRequest, RegionalApiDisableManagedAlertsRequest, RegionalApiEnableAlertManagerRequest, + RegionalApiEnableAlertRulesRequest, RegionalApiEnableManagedAlertsRequest, RegionalApiGetAlertManagerRequest, RegionalApiGetConfigRequest, @@ -853,6 +857,46 @@ If you need to receive alerts for other receivers, you can create additional con unmarshalAlertManager, ) + /** + * Enable preconfigured alert rules. Enable alert rules from the list of available preconfigured rules.. Enable preconfigured alert rules. Enable alert rules from the list of available preconfigured rules. + * + * @param request - The request {@link RegionalApiEnableAlertRulesRequest} + */ + enableAlertRules = ( + request: Readonly = {}, + ) => + this.client.fetch({ + body: JSON.stringify( + marshalRegionalApiEnableAlertRulesRequest( + request, + this.client.settings, + ), + ), + headers: jsonContentHeaders, + method: 'POST', + path: `/cockpit/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/alert-manager/enable-alert-rules`, + }) + + /** + * Disable preconfigured alert rules. Disable alert rules from the list of available preconfigured rules.. Disable preconfigured alert rules. Disable alert rules from the list of available preconfigured rules. + * + * @param request - The request {@link RegionalApiDisableAlertRulesRequest} + */ + disableAlertRules = ( + request: Readonly = {}, + ) => + this.client.fetch({ + body: JSON.stringify( + marshalRegionalApiDisableAlertRulesRequest( + request, + this.client.settings, + ), + ), + headers: jsonContentHeaders, + method: 'POST', + path: `/cockpit/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/alert-manager/disable-alert-rules`, + }) + /** * Trigger a test alert. Send a test alert to the Alert manager to make sure your contact points get notified. * diff --git a/packages/clients/src/api/cockpit/v1/index.gen.ts b/packages/clients/src/api/cockpit/v1/index.gen.ts index 443477b24..099f8632d 100644 --- a/packages/clients/src/api/cockpit/v1/index.gen.ts +++ b/packages/clients/src/api/cockpit/v1/index.gen.ts @@ -43,6 +43,7 @@ export type { ListTokensResponse, Plan, PlanName, + PreconfiguredAlertData, RegionalApiCreateContactPointRequest, RegionalApiCreateDataSourceRequest, RegionalApiCreateTokenRequest, @@ -50,8 +51,10 @@ export type { RegionalApiDeleteDataSourceRequest, RegionalApiDeleteTokenRequest, RegionalApiDisableAlertManagerRequest, + RegionalApiDisableAlertRulesRequest, RegionalApiDisableManagedAlertsRequest, RegionalApiEnableAlertManagerRequest, + RegionalApiEnableAlertRulesRequest, RegionalApiEnableManagedAlertsRequest, RegionalApiGetAlertManagerRequest, RegionalApiGetConfigRequest, diff --git a/packages/clients/src/api/cockpit/v1/marshalling.gen.ts b/packages/clients/src/api/cockpit/v1/marshalling.gen.ts index 5626b6c90..9e21dfb38 100644 --- a/packages/clients/src/api/cockpit/v1/marshalling.gen.ts +++ b/packages/clients/src/api/cockpit/v1/marshalling.gen.ts @@ -30,13 +30,16 @@ import type { ListPlansResponse, ListTokensResponse, Plan, + PreconfiguredAlertData, RegionalApiCreateContactPointRequest, RegionalApiCreateDataSourceRequest, RegionalApiCreateTokenRequest, RegionalApiDeleteContactPointRequest, RegionalApiDisableAlertManagerRequest, + RegionalApiDisableAlertRulesRequest, RegionalApiDisableManagedAlertsRequest, RegionalApiEnableAlertManagerRequest, + RegionalApiEnableAlertRulesRequest, RegionalApiEnableManagedAlertsRequest, RegionalApiTriggerTestAlertRequest, RegionalApiUpdateContactPointRequest, @@ -236,6 +239,22 @@ export const unmarshalGrafana = (data: unknown): Grafana => { } as Grafana } +const unmarshalPreconfiguredAlertData = ( + data: unknown, +): PreconfiguredAlertData => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'PreconfiguredAlertData' failed as data isn't a dictionary.`, + ) + } + + return { + displayDescription: data.display_description, + displayName: data.display_name, + preconfiguredRuleId: data.preconfigured_rule_id, + } as PreconfiguredAlertData +} + const unmarshalAlert = (data: unknown): Alert => { if (!isJSONObject(data)) { throw new TypeError( @@ -249,6 +268,9 @@ const unmarshalAlert = (data: unknown): Alert => { enabled: data.enabled, name: data.name, preconfigured: data.preconfigured, + preconfiguredData: data.preconfigured_data + ? unmarshalPreconfiguredAlertData(data.preconfigured_data) + : undefined, region: data.region, rule: data.rule, state: data.state ? data.state : undefined, @@ -514,6 +536,14 @@ export const marshalRegionalApiDisableAlertManagerRequest = ( project_id: request.projectId ?? defaults.defaultProjectId, }) +export const marshalRegionalApiDisableAlertRulesRequest = ( + request: RegionalApiDisableAlertRulesRequest, + defaults: DefaultValues, +): Record => ({ + project_id: request.projectId ?? defaults.defaultProjectId, + rule_ids: request.ruleIds, +}) + export const marshalRegionalApiDisableManagedAlertsRequest = ( request: RegionalApiDisableManagedAlertsRequest, defaults: DefaultValues, @@ -528,6 +558,14 @@ export const marshalRegionalApiEnableAlertManagerRequest = ( project_id: request.projectId ?? defaults.defaultProjectId, }) +export const marshalRegionalApiEnableAlertRulesRequest = ( + request: RegionalApiEnableAlertRulesRequest, + defaults: DefaultValues, +): Record => ({ + project_id: request.projectId ?? defaults.defaultProjectId, + rule_ids: request.ruleIds, +}) + export const marshalRegionalApiEnableManagedAlertsRequest = ( request: RegionalApiEnableManagedAlertsRequest, defaults: DefaultValues, diff --git a/packages/clients/src/api/cockpit/v1/types.gen.ts b/packages/clients/src/api/cockpit/v1/types.gen.ts index 03bc5d589..157c62fbe 100644 --- a/packages/clients/src/api/cockpit/v1/types.gen.ts +++ b/packages/clients/src/api/cockpit/v1/types.gen.ts @@ -48,6 +48,24 @@ export type TokenScope = export type UsageUnit = 'unknown_unit' | 'bytes' | 'samples' +/** + * Structure for additional data relative to preconfigured alerts. + */ +export interface PreconfiguredAlertData { + /** + * ID of the preconfigured rule if the alert is preconfigured. + */ + preconfiguredRuleId: string + /** + * Human readable name of the alert. + */ + displayName: string + /** + * Human readable description of the alert. + */ + displayDescription: string +} + export interface ContactPointEmail { to: string } @@ -58,18 +76,46 @@ export interface GetConfigResponseRetention { defaultDays: number } +/** + * Structure representing an alert. + */ export interface Alert { /** - * Region to target. If none is passed will use default region from the config. + * The region in which the alert is defined. */ region: ScwRegion + /** + * Indicates if the alert is preconfigured or custom. + */ preconfigured: boolean + /** + * Name of the alert. + */ name: string + /** + * Rule defining the alert condition. + */ rule: string + /** + * Duration for which the alert must be active before firing. The format of this duration follows the prometheus duration format. + */ duration: string + /** + * Indicates if the alert is enabled or disabled. Only preconfigured alerts can be disabled. + */ enabled: boolean + /** + * Current state of the alert. Possible states are `inactive`, `pending`, and `firing`. + */ state?: AlertState + /** + * Annotations for the alert, used to provide additional information about the alert. + */ annotations: Record + /** + * Contains additional data for preconfigured alerts, such as the rule ID, display name, and description. Only present if the alert is preconfigured. + */ + preconfiguredData?: PreconfiguredAlertData } /** @@ -765,6 +811,15 @@ export type RegionalApiDisableAlertManagerRequest = { projectId?: string } +export type RegionalApiDisableAlertRulesRequest = { + /** + * Region to target. If none is passed will use default region from the config. + */ + region?: ScwRegion + projectId?: string + ruleIds?: string[] +} + /** * Disable the sending of managed alerts. */ @@ -793,6 +848,15 @@ export type RegionalApiEnableAlertManagerRequest = { projectId?: string } +export type RegionalApiEnableAlertRulesRequest = { + /** + * Region to target. If none is passed will use default region from the config. + */ + region?: ScwRegion + projectId?: string + ruleIds?: string[] +} + /** * Enable the sending of managed alerts. */ @@ -889,7 +953,7 @@ export type RegionalApiListAlertsRequest = { */ isPreconfigured?: boolean /** - * Valid values to filter on are `disabled`, `enabled`, `pending` and `firing`. If omitted, no filtering is applied on alert states. Other filters may still apply. + * Valid values to filter on are `inactive`, `pending` and `firing`. If omitted, no filtering is applied on alert states. Other filters may still apply. */ state?: AlertState }