@camunda/ccma-api 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +2 -2
- package/dist/services/accounts/orgs.service.d.ts +3 -2
- package/dist/services/accounts/orgs.service.js.map +2 -2
- package/dist/services/audit-logger/audit-logger.service.d.ts +1 -0
- package/dist/services/audit-logger/audit-logger.service.js +9 -2
- package/dist/services/audit-logger/audit-logger.service.js.map +2 -2
- package/dist/services/console/console.admin.service.d.ts +1 -1
- package/dist/services/console/console.admin.service.js.map +1 -1
- package/dist/services/console/console.hotbackups.service.d.ts +9 -1
- package/dist/services/console/console.hotbackups.service.js +28 -0
- package/dist/services/console/console.hotbackups.service.js.map +2 -2
- package/dist/services/console/generation.service.d.ts +11 -0
- package/dist/services/console/generation.service.js +37 -0
- package/dist/services/console/generation.service.js.map +2 -2
- package/package.json +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/services/console/console.admin.service.ts"],
|
|
4
|
-
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type {\n ClusterBulkOperationAck,\n ClusterBulkOperationDto,\n ClusterBulkOperationPostContent,\n ClusterModificationConfigDto,\n ClusterModificationDto,\n ClusterPlanTypeDto,\n ClusterUsageMetricsData,\n CommonClusterDto,\n UniqueTaskUser,\n ValueMetrics,\n} from '@camunda/ccma-shared-types'\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n} from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { HttpError } from '../../utils/errors.js'\nimport type { OpenIncident } from '../incident-io/incident-io.service.js'\n\nexport interface UpdateClusterToNewPlanTypeRequest extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n targetPlanTypeId: string\n attemptClusterPlanUpdate?: boolean\n numberOfAllocatedHwPackages?: number\n keepModification?: boolean\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface SignalSignupRequest extends RequestBaseParams {\n params: {\n orgId: string\n targetPlanTypeId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface UpdateClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetClustersOfOrgRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface CreateLiteLLMSecretsForOrgRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport type SpecExplainerFieldSource =\n | 'plan'\n | 'generation'\n | 'planType'\n | 'override'\n | 'modification'\n | 'infra'\n | 'computed'\n | 'featureFlag'\n | 'org'\n | 'cluster'\n\nexport interface SpecExplainerFieldAnnotation {\n source: SpecExplainerFieldSource\n sourcePath?: string\n sourceValue?: unknown\n finalValue: unknown\n transforms?: string[]\n overrides?: Array<{\n by: SpecExplainerFieldSource\n originalValue: unknown\n }>\n fallbackChain?: Array<{\n source: SpecExplainerFieldSource\n value: unknown\n used: boolean\n }>\n}\n\nexport interface SpecExplainerResponse {\n spec: Record<string, unknown>\n annotations: Record<string, SpecExplainerFieldAnnotation>\n sources: {\n plan: Record<string, unknown>\n generation: Record<string, unknown>\n planType: Record<string, unknown>\n overrideEnvVars?: Record<string, unknown>\n activeModification?: {\n planModifications: Array<{ key: string; value: unknown }>\n }\n featureFlags: Record<string, boolean>\n }\n}\n\nexport interface GetSpecExplainerRequest extends RequestBaseParams {\n params: {\n clusterId: string\n }\n}\n\nexport interface GetAllClustersRequest extends RequestBaseParams {\n params: {\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetClusterRequest extends RequestBaseParams {\n params: {\n clusterId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetCreatedClusterInstancesRequest extends RequestBaseParams {\n params: {\n range: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetClusterPlanTypeRequest extends RequestBaseParams {\n params: {\n clusterPlanTypeId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetAllClusterPlanTypesRequest extends RequestBaseParams {\n params: {\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetValueMetricsUsageDataRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetValueMetricsRequest extends RequestBaseParams {\n params: {\n orgId: string\n lastAvailableTimestamp: number\n timeframe: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetValueMetricsForAllRequest extends RequestBaseParams {\n params: {\n lastAvailableTimestamp: number\n timeframe: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetTaskUsersRequest extends RequestBaseParams {\n params: {\n orgId: string\n lastAvailableTimestamp: number\n timeframe: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetTaskUsersForAllRequest extends RequestBaseParams {\n params: {\n lastAvailableTimestamp: number\n timeframe: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface DeleteClustersOfOrgRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetUpgradableClusterPlanTypesRequest\n extends RequestBaseParams {\n params: {\n sourceClusterPlanTypeId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface UpdateClustersOfOrgToNewPlanTypeRequest\n extends RequestBaseParams {\n params: {\n orgId: string\n sourceClusterPlanTypeId: string\n targetClusterPlanTypeId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface UpdateClusterMetricsStartDateRequest\n extends RequestBaseParams {\n params: {\n orgId: string\n startDate: number\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport class ConsoleAdminService {\n public static async updateClusterToNewPlanType(\n params: UpdateClusterToNewPlanTypeRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateClusterToNewPlanType`,\n url: `api/admin/clusters/${params.params.clusterId}/org/${params.params.orgId}/clusterplantype`,\n normalizedUrl: `api/admin/clusters/:clusterId/org/:orgId/clusterplantype`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'console',\n },\n body: {\n toPlanTypeUuid: params.params.targetPlanTypeId,\n numberOfAllocatedHwPackages: params.params.numberOfAllocatedHwPackages,\n attemptClusterPlanUpdate: params.params.attemptClusterPlanUpdate,\n keepModification: params.params.keepModification,\n },\n headers: params.params.headers,\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async updateClusterMetricsStartDate(\n params: UpdateClusterMetricsStartDateRequest,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateClusterMetricsStartDate`,\n url: `api/admin/metrics/clusters/org/${params.params.orgId}/start-date`,\n normalizedUrl: `api/admin/metrics/clusters/org/:orgId/start-date`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ success: boolean }>({\n config: params.config,\n base: {\n id: 'console',\n },\n body: {\n startDate: params.params.startDate,\n },\n headers: params.params.headers,\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async signalSignup(params: SignalSignupRequest): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.signalSignup`,\n url: `api/admin/clusters/org/${params.params.orgId}/signup`,\n normalizedUrl: `api/admin/clusters/org/:orgId/signup`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'console',\n },\n body: {\n planTypeUuid: params.params.targetPlanTypeId,\n },\n headers: params.params.headers,\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async unlinkClusterFromModification(\n params: {\n uuid: string\n } & RequestBaseParams,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.unlinkClusterFromModification`,\n url: `api/admin/clusters/modifications/clusterUnlink/${params.uuid}`,\n normalizedUrl: `api/admin/clusters/modifications/clusterUnlink/:clusterId`,\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async repairClustersActiveModification(\n params: {\n uuid: string\n } & RequestBaseParams,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.repairClustersActiveModification`,\n\n url: `api/admin/clusters/modifications/clusterRepair/${params.uuid}`,\n normalizedUrl: `api/clusters/modifications/clusterRepair/:clusterId`,\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async updateClusters(\n params: UpdateClusterRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateClusters`,\n url: `api/admin/clusters/org/${params.params.orgId}`,\n normalizedUrl: `api/admin/clusters/org/:orgId`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'console',\n },\n body: {},\n headers: params.params.headers,\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getClustersOfOrg(\n params: GetClustersOfOrgRequest,\n ): Promise<any[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getClustersOfOrg`,\n url: `api/orgs/${params.params.orgId}/clusters`,\n normalizedUrl: `api/orgs/:orgId/clusters`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<any[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getAllClusters(\n params: GetAllClustersRequest,\n ): Promise<any[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getAllClusters`,\n url: `api/admin/clusters`,\n normalizedUrl: `api/admin/clusters`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<any[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getCluster(params: GetClusterRequest): Promise<any> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getCluster`,\n url: `api/admin/clusters/${params.params.clusterId}`,\n normalizedUrl: `api/admin/clusters/:clusterId`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<any>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getCreatedClusterInstances(\n params: GetCreatedClusterInstancesRequest,\n ): Promise<{ clusters: Array<{ uuid: string; count: number }> }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getCreatedClusterInstances`,\n url: `api/admin/clusters/instances/created?range=${params.params.range}`,\n normalizedUrl: `api/admin/clusters/instances/created?range=:range`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{\n clusters: Array<{ uuid: string; count: number }>\n }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getClusterPlanType(\n params: GetClusterPlanTypeRequest,\n ): Promise<ClusterPlanTypeDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getClusterPlanType`,\n url: `api/plans/type/${params.params.clusterPlanTypeId}`,\n normalizedUrl: `api/plans/type/:clusterPlanTypeId`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterPlanTypeDto>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getAllClusterPlanTypes(\n params: GetAllClusterPlanTypesRequest,\n ): Promise<ClusterPlanTypeDto[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getAllClusterPlanTypes`,\n url: `api/plans/type`,\n normalizedUrl: `api/plans/type`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterPlanTypeDto[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getValueMetricsUsageData(\n params: GetValueMetricsUsageDataRequest,\n ): Promise<ClusterUsageMetricsData[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getValueMetricsUsageData`,\n url: `api/orgs/${params.params.orgId}/clusters/usage/value-metrics`,\n normalizedUrl: `api/orgs/:orgId/clusters/usage/value-metrics`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterUsageMetricsData[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getValueMetrics(\n params: GetValueMetricsRequest,\n ): Promise<ValueMetrics | undefined> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getValueMetrics`,\n url: `api/admin/clusters/org/${params.params.orgId}/valuemetrics/${params.params.lastAvailableTimestamp}/${params.params.timeframe}`,\n normalizedUrl: `api/admin/clusters/org/:orgId/valuemetrics/:lastAvailableTimestamp/:timeframe`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ valueMetrics: ValueMetrics }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body?.valueMetrics\n }\n\n public static async getValueMetricsForAll(\n params: GetValueMetricsForAllRequest,\n ): Promise<ValueMetrics[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getValueMetricsForAll`,\n url: `api/admin/clusters/valuemetrics/${params.params.lastAvailableTimestamp}/${params.params.timeframe}`,\n normalizedUrl: `api/admin/clusters/valuemetrics/:lastAvailableTimestamp/:timeframe`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ valueMetrics: ValueMetrics[] }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body?.valueMetrics ?? []\n }\n\n public static async getTaskUsers(\n params: GetTaskUsersRequest,\n ): Promise<UniqueTaskUser[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getTaskUsers`,\n url: `api/admin/clusters/org/${params.params.orgId}/valuemetrics/taskusers/${params.params.lastAvailableTimestamp}/${params.params.timeframe}`,\n normalizedUrl: `api/admin/clusters/org/:orgId/valuemetrics/taskusers/:lastAvailableTimestamp/:timeframe`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ taskUsers: UniqueTaskUser[] }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body?.taskUsers ?? []\n }\n\n public static async getTaskUsersForAll(\n params: GetTaskUsersForAllRequest,\n ): Promise<UniqueTaskUser[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getTaskUsersForAll`,\n url: `api/admin/clusters/valuemetrics/taskusers/${params.params.lastAvailableTimestamp}/${params.params.timeframe}`,\n normalizedUrl: `api/admin/clusters/valuemetrics/taskusers/:lastAvailableTimestamp/:timeframe`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ taskUsers: UniqueTaskUser[] }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body?.taskUsers ?? []\n }\n\n public static async deleteClustersOfOrg(\n params: DeleteClustersOfOrgRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deleteClustersOfOrg`,\n url: `api/admin/clusters/org/${params.params.orgId}`,\n normalizedUrl: `api/admin/clusters/org/:orgId`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getUpgradableClusterPlanTypes(\n params: GetUpgradableClusterPlanTypesRequest,\n ): Promise<ClusterPlanTypeDto[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getUpgradableClusterPlanTypes`,\n url: `api/admin/clusters/clusterplantype/${params.params.sourceClusterPlanTypeId}/upgradable`,\n normalizedUrl: `api/admin/clusters/clusterplantype/:sourceClusterPlanTypeId/upgradable`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterPlanTypeDto[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async updateClustersOfOrgToNewPlanType(\n params: UpdateClustersOfOrgToNewPlanTypeRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateClustersOfOrgToNewPlanType`,\n url: `api/admin/clusters/org/${params.params.orgId}/clusterplantype`,\n normalizedUrl: `api/admin/clusters/org/:orgId/clusterplantype`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n headers: params.params.headers,\n body: {\n fromPlanTypeUuid: params.params.sourceClusterPlanTypeId,\n toPlanTypeUuid: params.params.targetClusterPlanTypeId,\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getApiClients(\n params: { orgId: string } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getBulkClusterPlanUpdate`,\n url: `api/admin/apiClients/${params.orgId}`,\n normalizedUrl: `api/apiClients/:orgId`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<any[]>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async deleteApiClient(\n params: { orgId: string; clientId: string } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getBulkClusterPlanUpdate`,\n url: `api/admin/apiClients/${params.orgId}/clientId/${params.clientId}`,\n normalizedUrl: `api/apiClients/:orgId/clientId/:clientId`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async wakeCluster(\n params: { clusterId: string } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getBulkClusterPlanUpdate`,\n url: `api/admin/clusters/${params.clusterId}/wake`,\n normalizedUrl: `api/clusters/:clusterId/wake`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getAllModifications(\n params: RequestBaseParams & {\n headers?: {\n 'x-camunda-email'?: string\n }\n },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getAllModifications`,\n url: `api/admin/clusters/modifications`,\n normalizedUrl: `api/clusters/modifications`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n clusters: CommonClusterDto[]\n modifications: ClusterModificationDto[]\n }>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n headers: params.headers,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async createModification(\n params: RequestBaseParams & {\n clusterUuid: string\n headers?: {\n 'x-camunda-email'?: string\n }\n },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.createModification`,\n url: `api/admin/clusters/modifications`,\n normalizedUrl: `api/clusters/modifications`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n clusterUuid: params.clusterUuid,\n },\n headers: params.headers,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async createModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n description?: string\n url?: string\n planModifications?: Array<{ key: string; value: string | number }>\n expiresAt?: Date | null\n headers?: {\n 'x-camunda-email'?: string\n }\n },\n ) {\n const { uuid, description, url, planModifications, expiresAt } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.createModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}`,\n normalizedUrl: `api/clusters/modifications/:uuid`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n description,\n url,\n planModifications,\n expiresAt,\n },\n headers: params.headers,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async claimModification(\n params: RequestBaseParams & { uuid: string },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.claimModificationConfig`,\n url: `api/admin/clusters/modifications/${params.uuid}/claim`,\n normalizedUrl: `api/clusters/modifications/:uuid/claim`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async dropModification(\n params: RequestBaseParams & { uuid: string },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.dropModificationConfig`,\n url: `api/admin/clusters/modifications/${params.uuid}/drop`,\n normalizedUrl: `api/clusters/modifications/:uuid/drop`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n public static async archiveModification(\n params: RequestBaseParams & { uuid: string },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.archiveModificationConfig`,\n url: `api/admin/clusters/modifications/${params.uuid}/archive`,\n normalizedUrl: `api/clusters/modifications/:uuid/archive`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async refineModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n description?: string\n url?: string\n planModifications?: Array<{\n key: string\n value: string | number | boolean\n }>\n expiresAt?: Date | null\n },\n ) {\n const { uuid, configId, description, url, planModifications, expiresAt } =\n params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.refineModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n description,\n url,\n planModifications,\n expiresAt,\n },\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async cloneModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n description: string\n url?: string\n expiresAt?: Date | null\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.cloneModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/clone`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/clone`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n description: params.description,\n url: params.url,\n expiresAt: params.expiresAt,\n },\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async sealModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.sealModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/seal`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/seal`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async unsealModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.unsealModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/unseal`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/unseal`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async ackModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.ackModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/ack`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/ack`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async deleteModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deleteModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n public static async activateModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n body?: { yoloJustification?: string }\n },\n ) {\n const { uuid, configId, body } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.activateModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/activate`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/activate`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async deactivateModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n skipK8sUpdate?: boolean\n },\n ) {\n const { uuid, configId, skipK8sUpdate } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deactivateModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/deactivate`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/deactivate`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n body: { skipK8sUpdate },\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async updateModificationConfigExpiration(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n expiresAt: Date | null\n description?: string\n },\n ) {\n const { uuid, configId, expiresAt, description } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateModificationConfigExpiration`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/expiration`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/expiration`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n expiresAt,\n ...(description !== undefined && { description }),\n },\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getAllClusterBulkOperations(params: RequestBaseParams) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getAllClusterBulkOperations`,\n url: `api/admin/clusters/bulkoperation`,\n normalizedUrl: `api/clusters/bulkoperation`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto[]>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getClusterBulkOperation(\n params: { uuid: string } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}`,\n normalizedUrl: `api/clusters/bulkoperation/:uuid`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async createClusterBulkOperation(\n params: {\n body: ClusterBulkOperationPostContent\n } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.createClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation`,\n normalizedUrl: `api/clusters/bulkoperation`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async ackClusterBulkOperation(\n params: {\n uuid: string\n ack: ClusterBulkOperationAck\n } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.ackClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}/ack`,\n normalizedUrl: `api/clusters/bulkoperation/${params.uuid}/ack`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async executeClusterBulkOperation(\n params: {\n uuid: string\n } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.executeClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}/execute`,\n normalizedUrl: `api/clusters/bulkoperation/${params.uuid}/execute`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async deleteClusterBulkOperation(\n params: {\n uuid: string\n } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.executeClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}`,\n normalizedUrl: `api/clusters/bulkoperation/${params.uuid}`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getDbCorpses(params: RequestBaseParams): Promise<{\n corpses: Array<{\n clusterId: string\n orgId: string\n name: string\n created: string\n k8sContextUuid?: string\n k8sContext?: string\n }>\n }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getDbCorpses`,\n url: `api/admin/clusters/db-corpses`,\n normalizedUrl: `api/admin/clusters/db-corpses`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n corpses: Array<{\n clusterId: string\n orgId: string\n name: string\n created: string\n k8sContextUuid?: string\n k8sContext?: string\n }>\n }>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getK8sCorpses(params: RequestBaseParams): Promise<{\n corpses: Array<{\n clusterId: string\n orgId: string\n status: string\n k8sContextUuid: string\n k8sContext?: string\n }>\n }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getK8sCorpses`,\n url: `api/admin/clusters/corpses`,\n normalizedUrl: `api/admin/clusters/corpses`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n corpses: Array<{\n clusterId: string\n orgId: string\n status: string\n k8sContextUuid: string\n k8sContext?: string\n }>\n }>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async deleteDbCorpses(params: RequestBaseParams): Promise<{\n deleted: number\n corpses: Array<{\n clusterId: string\n orgId: string\n }>\n }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deleteDbCorpses`,\n url: `api/admin/clusters/db-corpses`,\n normalizedUrl: `api/admin/clusters/db-corpses`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n deleted: number\n corpses: Array<{\n clusterId: string\n orgId: string\n }>\n }>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async deleteK8sCorpses(params: RequestBaseParams): Promise<{\n deleted: number\n corpses: Array<{\n clusterId: string\n orgId: string\n }>\n }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deleteK8sCorpses`,\n url: `api/admin/clusters/corpses`,\n normalizedUrl: `api/admin/clusters/corpses`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n deleted: number\n corpses: Array<{\n clusterId: string\n orgId: string\n }>\n }>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async createLiteLLMSecretsForOrg(\n params: CreateLiteLLMSecretsForOrgRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.createLiteLLMSecretsForOrg`,\n url: `api/admin/clusters/org/${params.params.orgId}/litellm-secrets`,\n normalizedUrl: `api/admin/clusters/org/:orgId/litellm-secrets`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getSpecExplainer(\n params: GetSpecExplainerRequest,\n ): Promise<SpecExplainerResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getSpecExplainer`,\n url: `api/admin/clusters/${params.params.clusterId}/spec-explainer`,\n normalizedUrl: `api/admin/clusters/:clusterId/spec-explainer`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<SpecExplainerResponse>({\n ...params,\n base: {\n id: 'console',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getOpenIncidents(\n params: RequestBaseParams,\n ): Promise<{ incidents: OpenIncident[] }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleAdminService.getOpenIncidents',\n url: 'api/admin/clusters/incidents',\n normalizedUrl: 'api/admin/clusters/incidents',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ incidents: OpenIncident[] }>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getClusterIncidents(\n params: RequestBaseParams & { clusterId: string },\n ): Promise<OpenIncident[]> {\n const url = `api/admin/clusters/${params.clusterId}/incidents`\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleAdminService.getClusterIncidents',\n url,\n normalizedUrl: 'api/admin/clusters/:clusterId/incidents',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ incidents: OpenIncident[] }>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!.incidents\n }\n}\n"],
|
|
4
|
+
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type {\n ClusterBulkOperationAck,\n ClusterBulkOperationDto,\n ClusterBulkOperationPostContent,\n ClusterModificationConfigDto,\n ClusterModificationDto,\n ClusterPlanTypeDto,\n ClusterUsageMetricsData,\n CommonClusterDto,\n UniqueTaskUser,\n ValueMetrics,\n} from '@camunda/ccma-shared-types'\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n} from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { HttpError } from '../../utils/errors.js'\nimport type { OpenIncident } from '../incident-io/incident-io.service.js'\n\nexport interface UpdateClusterToNewPlanTypeRequest extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n targetPlanTypeId: string\n attemptClusterPlanUpdate?: boolean\n numberOfAllocatedHwPackages?: number\n keepModification?: boolean\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface SignalSignupRequest extends RequestBaseParams {\n params: {\n orgId: string\n targetPlanTypeId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface UpdateClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetClustersOfOrgRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface CreateLiteLLMSecretsForOrgRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport type SpecExplainerFieldSource =\n | 'plan'\n | 'generation'\n | 'planType'\n | 'override'\n | 'modification'\n | 'infra'\n | 'computed'\n | 'featureFlag'\n | 'org'\n | 'cluster'\n\nexport interface SpecExplainerFieldAnnotation {\n source: SpecExplainerFieldSource\n sourcePath?: string\n sourceValue?: unknown\n finalValue: unknown\n transforms?: string[]\n overrides?: Array<{\n by: SpecExplainerFieldSource\n originalValue: unknown\n }>\n fallbackChain?: Array<{\n source: SpecExplainerFieldSource\n value: unknown\n used: boolean\n }>\n}\n\nexport interface SpecExplainerResponse {\n spec: Record<string, unknown>\n annotations: Record<string, SpecExplainerFieldAnnotation>\n sources: {\n plan: Record<string, unknown>\n generation: Record<string, unknown>\n planType: Record<string, unknown>\n overrideEnvVars?: Record<string, unknown>\n activeModification?: {\n planModifications: Array<{ key: string; value: unknown }>\n }\n featureFlags?: Record<string, boolean>\n }\n}\n\nexport interface GetSpecExplainerRequest extends RequestBaseParams {\n params: {\n clusterId: string\n }\n}\n\nexport interface GetAllClustersRequest extends RequestBaseParams {\n params: {\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetClusterRequest extends RequestBaseParams {\n params: {\n clusterId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetCreatedClusterInstancesRequest extends RequestBaseParams {\n params: {\n range: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetClusterPlanTypeRequest extends RequestBaseParams {\n params: {\n clusterPlanTypeId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetAllClusterPlanTypesRequest extends RequestBaseParams {\n params: {\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetValueMetricsUsageDataRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetValueMetricsRequest extends RequestBaseParams {\n params: {\n orgId: string\n lastAvailableTimestamp: number\n timeframe: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetValueMetricsForAllRequest extends RequestBaseParams {\n params: {\n lastAvailableTimestamp: number\n timeframe: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetTaskUsersRequest extends RequestBaseParams {\n params: {\n orgId: string\n lastAvailableTimestamp: number\n timeframe: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetTaskUsersForAllRequest extends RequestBaseParams {\n params: {\n lastAvailableTimestamp: number\n timeframe: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface DeleteClustersOfOrgRequest extends RequestBaseParams {\n params: {\n orgId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface GetUpgradableClusterPlanTypesRequest\n extends RequestBaseParams {\n params: {\n sourceClusterPlanTypeId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface UpdateClustersOfOrgToNewPlanTypeRequest\n extends RequestBaseParams {\n params: {\n orgId: string\n sourceClusterPlanTypeId: string\n targetClusterPlanTypeId: string\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport interface UpdateClusterMetricsStartDateRequest\n extends RequestBaseParams {\n params: {\n orgId: string\n startDate: number\n headers: {\n [key: string]: string\n }\n }\n}\n\nexport class ConsoleAdminService {\n public static async updateClusterToNewPlanType(\n params: UpdateClusterToNewPlanTypeRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateClusterToNewPlanType`,\n url: `api/admin/clusters/${params.params.clusterId}/org/${params.params.orgId}/clusterplantype`,\n normalizedUrl: `api/admin/clusters/:clusterId/org/:orgId/clusterplantype`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'console',\n },\n body: {\n toPlanTypeUuid: params.params.targetPlanTypeId,\n numberOfAllocatedHwPackages: params.params.numberOfAllocatedHwPackages,\n attemptClusterPlanUpdate: params.params.attemptClusterPlanUpdate,\n keepModification: params.params.keepModification,\n },\n headers: params.params.headers,\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async updateClusterMetricsStartDate(\n params: UpdateClusterMetricsStartDateRequest,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateClusterMetricsStartDate`,\n url: `api/admin/metrics/clusters/org/${params.params.orgId}/start-date`,\n normalizedUrl: `api/admin/metrics/clusters/org/:orgId/start-date`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ success: boolean }>({\n config: params.config,\n base: {\n id: 'console',\n },\n body: {\n startDate: params.params.startDate,\n },\n headers: params.params.headers,\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async signalSignup(params: SignalSignupRequest): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.signalSignup`,\n url: `api/admin/clusters/org/${params.params.orgId}/signup`,\n normalizedUrl: `api/admin/clusters/org/:orgId/signup`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'console',\n },\n body: {\n planTypeUuid: params.params.targetPlanTypeId,\n },\n headers: params.params.headers,\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async unlinkClusterFromModification(\n params: {\n uuid: string\n } & RequestBaseParams,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.unlinkClusterFromModification`,\n url: `api/admin/clusters/modifications/clusterUnlink/${params.uuid}`,\n normalizedUrl: `api/admin/clusters/modifications/clusterUnlink/:clusterId`,\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async repairClustersActiveModification(\n params: {\n uuid: string\n } & RequestBaseParams,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.repairClustersActiveModification`,\n\n url: `api/admin/clusters/modifications/clusterRepair/${params.uuid}`,\n normalizedUrl: `api/clusters/modifications/clusterRepair/:clusterId`,\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async updateClusters(\n params: UpdateClusterRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateClusters`,\n url: `api/admin/clusters/org/${params.params.orgId}`,\n normalizedUrl: `api/admin/clusters/org/:orgId`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'console',\n },\n body: {},\n headers: params.params.headers,\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getClustersOfOrg(\n params: GetClustersOfOrgRequest,\n ): Promise<any[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getClustersOfOrg`,\n url: `api/orgs/${params.params.orgId}/clusters`,\n normalizedUrl: `api/orgs/:orgId/clusters`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<any[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getAllClusters(\n params: GetAllClustersRequest,\n ): Promise<any[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getAllClusters`,\n url: `api/admin/clusters`,\n normalizedUrl: `api/admin/clusters`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<any[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getCluster(params: GetClusterRequest): Promise<any> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getCluster`,\n url: `api/admin/clusters/${params.params.clusterId}`,\n normalizedUrl: `api/admin/clusters/:clusterId`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<any>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getCreatedClusterInstances(\n params: GetCreatedClusterInstancesRequest,\n ): Promise<{ clusters: Array<{ uuid: string; count: number }> }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getCreatedClusterInstances`,\n url: `api/admin/clusters/instances/created?range=${params.params.range}`,\n normalizedUrl: `api/admin/clusters/instances/created?range=:range`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{\n clusters: Array<{ uuid: string; count: number }>\n }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getClusterPlanType(\n params: GetClusterPlanTypeRequest,\n ): Promise<ClusterPlanTypeDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getClusterPlanType`,\n url: `api/plans/type/${params.params.clusterPlanTypeId}`,\n normalizedUrl: `api/plans/type/:clusterPlanTypeId`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterPlanTypeDto>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getAllClusterPlanTypes(\n params: GetAllClusterPlanTypesRequest,\n ): Promise<ClusterPlanTypeDto[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getAllClusterPlanTypes`,\n url: `api/plans/type`,\n normalizedUrl: `api/plans/type`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterPlanTypeDto[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getValueMetricsUsageData(\n params: GetValueMetricsUsageDataRequest,\n ): Promise<ClusterUsageMetricsData[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getValueMetricsUsageData`,\n url: `api/orgs/${params.params.orgId}/clusters/usage/value-metrics`,\n normalizedUrl: `api/orgs/:orgId/clusters/usage/value-metrics`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterUsageMetricsData[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getValueMetrics(\n params: GetValueMetricsRequest,\n ): Promise<ValueMetrics | undefined> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getValueMetrics`,\n url: `api/admin/clusters/org/${params.params.orgId}/valuemetrics/${params.params.lastAvailableTimestamp}/${params.params.timeframe}`,\n normalizedUrl: `api/admin/clusters/org/:orgId/valuemetrics/:lastAvailableTimestamp/:timeframe`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ valueMetrics: ValueMetrics }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body?.valueMetrics\n }\n\n public static async getValueMetricsForAll(\n params: GetValueMetricsForAllRequest,\n ): Promise<ValueMetrics[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getValueMetricsForAll`,\n url: `api/admin/clusters/valuemetrics/${params.params.lastAvailableTimestamp}/${params.params.timeframe}`,\n normalizedUrl: `api/admin/clusters/valuemetrics/:lastAvailableTimestamp/:timeframe`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ valueMetrics: ValueMetrics[] }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body?.valueMetrics ?? []\n }\n\n public static async getTaskUsers(\n params: GetTaskUsersRequest,\n ): Promise<UniqueTaskUser[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getTaskUsers`,\n url: `api/admin/clusters/org/${params.params.orgId}/valuemetrics/taskusers/${params.params.lastAvailableTimestamp}/${params.params.timeframe}`,\n normalizedUrl: `api/admin/clusters/org/:orgId/valuemetrics/taskusers/:lastAvailableTimestamp/:timeframe`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ taskUsers: UniqueTaskUser[] }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body?.taskUsers ?? []\n }\n\n public static async getTaskUsersForAll(\n params: GetTaskUsersForAllRequest,\n ): Promise<UniqueTaskUser[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getTaskUsersForAll`,\n url: `api/admin/clusters/valuemetrics/taskusers/${params.params.lastAvailableTimestamp}/${params.params.timeframe}`,\n normalizedUrl: `api/admin/clusters/valuemetrics/taskusers/:lastAvailableTimestamp/:timeframe`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ taskUsers: UniqueTaskUser[] }>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body?.taskUsers ?? []\n }\n\n public static async deleteClustersOfOrg(\n params: DeleteClustersOfOrgRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deleteClustersOfOrg`,\n url: `api/admin/clusters/org/${params.params.orgId}`,\n normalizedUrl: `api/admin/clusters/org/:orgId`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getUpgradableClusterPlanTypes(\n params: GetUpgradableClusterPlanTypesRequest,\n ): Promise<ClusterPlanTypeDto[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getUpgradableClusterPlanTypes`,\n url: `api/admin/clusters/clusterplantype/${params.params.sourceClusterPlanTypeId}/upgradable`,\n normalizedUrl: `api/admin/clusters/clusterplantype/:sourceClusterPlanTypeId/upgradable`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterPlanTypeDto[]>({\n ...params,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async updateClustersOfOrgToNewPlanType(\n params: UpdateClustersOfOrgToNewPlanTypeRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateClustersOfOrgToNewPlanType`,\n url: `api/admin/clusters/org/${params.params.orgId}/clusterplantype`,\n normalizedUrl: `api/admin/clusters/org/:orgId/clusterplantype`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n headers: params.params.headers,\n body: {\n fromPlanTypeUuid: params.params.sourceClusterPlanTypeId,\n toPlanTypeUuid: params.params.targetClusterPlanTypeId,\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getApiClients(\n params: { orgId: string } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getBulkClusterPlanUpdate`,\n url: `api/admin/apiClients/${params.orgId}`,\n normalizedUrl: `api/apiClients/:orgId`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<any[]>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async deleteApiClient(\n params: { orgId: string; clientId: string } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getBulkClusterPlanUpdate`,\n url: `api/admin/apiClients/${params.orgId}/clientId/${params.clientId}`,\n normalizedUrl: `api/apiClients/:orgId/clientId/:clientId`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async wakeCluster(\n params: { clusterId: string } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getBulkClusterPlanUpdate`,\n url: `api/admin/clusters/${params.clusterId}/wake`,\n normalizedUrl: `api/clusters/:clusterId/wake`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getAllModifications(\n params: RequestBaseParams & {\n headers?: {\n 'x-camunda-email'?: string\n }\n },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getAllModifications`,\n url: `api/admin/clusters/modifications`,\n normalizedUrl: `api/clusters/modifications`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n clusters: CommonClusterDto[]\n modifications: ClusterModificationDto[]\n }>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n headers: params.headers,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async createModification(\n params: RequestBaseParams & {\n clusterUuid: string\n headers?: {\n 'x-camunda-email'?: string\n }\n },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.createModification`,\n url: `api/admin/clusters/modifications`,\n normalizedUrl: `api/clusters/modifications`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n clusterUuid: params.clusterUuid,\n },\n headers: params.headers,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async createModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n description?: string\n url?: string\n planModifications?: Array<{ key: string; value: string | number }>\n expiresAt?: Date | null\n headers?: {\n 'x-camunda-email'?: string\n }\n },\n ) {\n const { uuid, description, url, planModifications, expiresAt } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.createModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}`,\n normalizedUrl: `api/clusters/modifications/:uuid`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n description,\n url,\n planModifications,\n expiresAt,\n },\n headers: params.headers,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async claimModification(\n params: RequestBaseParams & { uuid: string },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.claimModificationConfig`,\n url: `api/admin/clusters/modifications/${params.uuid}/claim`,\n normalizedUrl: `api/clusters/modifications/:uuid/claim`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async dropModification(\n params: RequestBaseParams & { uuid: string },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.dropModificationConfig`,\n url: `api/admin/clusters/modifications/${params.uuid}/drop`,\n normalizedUrl: `api/clusters/modifications/:uuid/drop`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n public static async archiveModification(\n params: RequestBaseParams & { uuid: string },\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.archiveModificationConfig`,\n url: `api/admin/clusters/modifications/${params.uuid}/archive`,\n normalizedUrl: `api/clusters/modifications/:uuid/archive`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async refineModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n description?: string\n url?: string\n planModifications?: Array<{\n key: string\n value: string | number | boolean\n }>\n expiresAt?: Date | null\n },\n ) {\n const { uuid, configId, description, url, planModifications, expiresAt } =\n params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.refineModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n description,\n url,\n planModifications,\n expiresAt,\n },\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async cloneModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n description: string\n url?: string\n expiresAt?: Date | null\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.cloneModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/clone`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/clone`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n description: params.description,\n url: params.url,\n expiresAt: params.expiresAt,\n },\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async sealModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.sealModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/seal`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/seal`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async unsealModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.unsealModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/unseal`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/unseal`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async ackModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.ackModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/ack`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/ack`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async deleteModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n },\n ) {\n const { uuid, configId } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deleteModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n public static async activateModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n body?: { yoloJustification?: string }\n },\n ) {\n const { uuid, configId, body } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.activateModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/activate`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/activate`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n public static async deactivateModificationConfig(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n skipK8sUpdate?: boolean\n },\n ) {\n const { uuid, configId, skipK8sUpdate } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deactivateModificationConfig`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/deactivate`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/deactivate`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n body: { skipK8sUpdate },\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async updateModificationConfigExpiration(\n params: RequestBaseParams & {\n uuid: string\n configId: string\n expiresAt: Date | null\n description?: string\n },\n ) {\n const { uuid, configId, expiresAt, description } = params\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.updateModificationConfigExpiration`,\n url: `api/admin/clusters/modifications/${uuid}/${configId}/expiration`,\n normalizedUrl: `api/clusters/modifications/:uuid/:configId/expiration`,\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterModificationConfigDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {\n expiresAt,\n ...(description !== undefined && { description }),\n },\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getAllClusterBulkOperations(params: RequestBaseParams) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getAllClusterBulkOperations`,\n url: `api/admin/clusters/bulkoperation`,\n normalizedUrl: `api/clusters/bulkoperation`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto[]>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async getClusterBulkOperation(\n params: { uuid: string } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}`,\n normalizedUrl: `api/clusters/bulkoperation/:uuid`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async createClusterBulkOperation(\n params: {\n body: ClusterBulkOperationPostContent\n } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.createClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation`,\n normalizedUrl: `api/clusters/bulkoperation`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async ackClusterBulkOperation(\n params: {\n uuid: string\n ack: ClusterBulkOperationAck\n } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.ackClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}/ack`,\n normalizedUrl: `api/clusters/bulkoperation/${params.uuid}/ack`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async executeClusterBulkOperation(\n params: {\n uuid: string\n } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.executeClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}/execute`,\n normalizedUrl: `api/clusters/bulkoperation/${params.uuid}/execute`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<ClusterBulkOperationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body\n }\n\n public static async deleteClusterBulkOperation(\n params: {\n uuid: string\n } & RequestBaseParams,\n ) {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.executeClusterBulkOperation`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}`,\n normalizedUrl: `api/clusters/bulkoperation/${params.uuid}`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'none',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getDbCorpses(params: RequestBaseParams): Promise<{\n corpses: Array<{\n clusterId: string\n orgId: string\n name: string\n created: string\n k8sContextUuid?: string\n k8sContext?: string\n }>\n }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getDbCorpses`,\n url: `api/admin/clusters/db-corpses`,\n normalizedUrl: `api/admin/clusters/db-corpses`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n corpses: Array<{\n clusterId: string\n orgId: string\n name: string\n created: string\n k8sContextUuid?: string\n k8sContext?: string\n }>\n }>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getK8sCorpses(params: RequestBaseParams): Promise<{\n corpses: Array<{\n clusterId: string\n orgId: string\n status: string\n k8sContextUuid: string\n k8sContext?: string\n }>\n }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getK8sCorpses`,\n url: `api/admin/clusters/corpses`,\n normalizedUrl: `api/admin/clusters/corpses`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n corpses: Array<{\n clusterId: string\n orgId: string\n status: string\n k8sContextUuid: string\n k8sContext?: string\n }>\n }>({\n ...params,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async deleteDbCorpses(params: RequestBaseParams): Promise<{\n deleted: number\n corpses: Array<{\n clusterId: string\n orgId: string\n }>\n }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deleteDbCorpses`,\n url: `api/admin/clusters/db-corpses`,\n normalizedUrl: `api/admin/clusters/db-corpses`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n deleted: number\n corpses: Array<{\n clusterId: string\n orgId: string\n }>\n }>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async deleteK8sCorpses(params: RequestBaseParams): Promise<{\n deleted: number\n corpses: Array<{\n clusterId: string\n orgId: string\n }>\n }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.deleteK8sCorpses`,\n url: `api/admin/clusters/corpses`,\n normalizedUrl: `api/admin/clusters/corpses`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n const response = await request<{\n deleted: number\n corpses: Array<{\n clusterId: string\n orgId: string\n }>\n }>({\n config: params.config,\n base: {\n id: 'console',\n },\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async createLiteLLMSecretsForOrg(\n params: CreateLiteLLMSecretsForOrgRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.createLiteLLMSecretsForOrg`,\n url: `api/admin/clusters/org/${params.params.orgId}/litellm-secrets`,\n normalizedUrl: `api/admin/clusters/org/:orgId/litellm-secrets`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request({\n config: params.config,\n base: {\n id: 'console',\n },\n headers: params.params.headers,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async getSpecExplainer(\n params: GetSpecExplainerRequest,\n ): Promise<SpecExplainerResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleAdminService.getSpecExplainer`,\n url: `api/admin/clusters/${params.params.clusterId}/spec-explainer`,\n normalizedUrl: `api/admin/clusters/:clusterId/spec-explainer`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<SpecExplainerResponse>({\n ...params,\n base: {\n id: 'console',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getOpenIncidents(\n params: RequestBaseParams,\n ): Promise<{ incidents: OpenIncident[] }> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleAdminService.getOpenIncidents',\n url: 'api/admin/clusters/incidents',\n normalizedUrl: 'api/admin/clusters/incidents',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ incidents: OpenIncident[] }>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n\n public static async getClusterIncidents(\n params: RequestBaseParams & { clusterId: string },\n ): Promise<OpenIncident[]> {\n const url = `api/admin/clusters/${params.clusterId}/incidents`\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleAdminService.getClusterIncidents',\n url,\n normalizedUrl: 'api/admin/clusters/:clusterId/incidents',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<{ incidents: OpenIncident[] }>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!.incidents\n }\n}\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BackupDto } from '@camunda/ccma-shared-types';
|
|
1
|
+
import type { BackupDto, RestoreDto } from '@camunda/ccma-shared-types';
|
|
2
2
|
import type { RequestBaseParams } from '../../types/general.types.js';
|
|
3
3
|
export interface GetConsoleHotBackupsParams extends RequestBaseParams {
|
|
4
4
|
params: {
|
|
@@ -26,9 +26,17 @@ export interface RetryConsoleHotBackupParams extends RequestBaseParams {
|
|
|
26
26
|
backupId: string;
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
|
+
export interface RestoreConsoleHotBackupParams extends RequestBaseParams {
|
|
30
|
+
params: {
|
|
31
|
+
orgId: string;
|
|
32
|
+
clusterId: string;
|
|
33
|
+
backupId: string;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
29
36
|
export declare class ConsoleHotBackupsService {
|
|
30
37
|
static getHotBackups(params: GetConsoleHotBackupsParams): Promise<BackupDto[]>;
|
|
31
38
|
static createHotBackup(params: CreateConsoleHotBackupParams): Promise<BackupDto>;
|
|
32
39
|
static deleteHotBackup(params: DeleteConsoleHotBackupParams): Promise<void>;
|
|
33
40
|
static retryHotBackup(params: RetryConsoleHotBackupParams): Promise<BackupDto>;
|
|
41
|
+
static restoreHotBackup(params: RestoreConsoleHotBackupParams): Promise<RestoreDto>;
|
|
34
42
|
}
|
|
@@ -113,6 +113,34 @@ class ConsoleHotBackupsService {
|
|
|
113
113
|
}
|
|
114
114
|
return response.body;
|
|
115
115
|
}
|
|
116
|
+
static async restoreHotBackup(params) {
|
|
117
|
+
const serviceContext = {
|
|
118
|
+
method: {
|
|
119
|
+
name: "ConsoleHotBackupsService.restoreHotBackup",
|
|
120
|
+
url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}/backups/${params.params.backupId}/restore`,
|
|
121
|
+
normalizedUrl: "api/orgs/:orgId/clusters/:clusterId/backups/:backupId/restore",
|
|
122
|
+
type: "post"
|
|
123
|
+
},
|
|
124
|
+
source: params.config.metrics?.source || "unset",
|
|
125
|
+
target: { name: "console", type: "internal" }
|
|
126
|
+
};
|
|
127
|
+
const response = await request({
|
|
128
|
+
...params,
|
|
129
|
+
base: { id: "console" },
|
|
130
|
+
url: serviceContext.method.url,
|
|
131
|
+
method: serviceContext.method.type,
|
|
132
|
+
metricsDetails: serviceContext,
|
|
133
|
+
responseType: "json"
|
|
134
|
+
});
|
|
135
|
+
if (!response.ok) {
|
|
136
|
+
throw new HttpError(
|
|
137
|
+
`${serviceContext.method.name}: ${response.status} ${response.statusText}`,
|
|
138
|
+
response.status,
|
|
139
|
+
response.statusText
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
return response.body;
|
|
143
|
+
}
|
|
116
144
|
}
|
|
117
145
|
export {
|
|
118
146
|
ConsoleHotBackupsService
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/services/console/console.hotbackups.service.ts"],
|
|
4
|
-
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type { BackupDto } from '@camunda/ccma-shared-types'\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n} from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { HttpError } from '../../utils/errors.js'\n\nexport interface GetConsoleHotBackupsParams extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n }\n}\n\nexport interface CreateConsoleHotBackupParams extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n }\n}\n\nexport interface DeleteConsoleHotBackupParams extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n backupId: string\n }\n}\n\nexport interface RetryConsoleHotBackupParams extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n backupId: string\n }\n}\n\nexport class ConsoleHotBackupsService {\n public static async getHotBackups(\n params: GetConsoleHotBackupsParams,\n ): Promise<BackupDto[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleHotBackupsService.getHotBackups',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}/backups`,\n normalizedUrl: 'api/orgs/:orgId/clusters/:clusterId/backups',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<BackupDto[]>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'json',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body ?? []\n }\n\n public static async createHotBackup(\n params: CreateConsoleHotBackupParams,\n ): Promise<BackupDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleHotBackupsService.createHotBackup',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}/backups`,\n normalizedUrl: 'api/orgs/:orgId/clusters/:clusterId/backups',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<BackupDto>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {},\n responseType: 'json',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n public static async deleteHotBackup(\n params: DeleteConsoleHotBackupParams,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleHotBackupsService.deleteHotBackup',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}/backups/${params.params.backupId}`,\n normalizedUrl: 'api/orgs/:orgId/clusters/:clusterId/backups/:backupId',\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<void>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'none',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async retryHotBackup(\n params: RetryConsoleHotBackupParams,\n ): Promise<BackupDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleHotBackupsService.retryHotBackup',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}/backups/${params.params.backupId}/retry`,\n normalizedUrl:\n 'api/orgs/:orgId/clusters/:clusterId/backups/:backupId/retry',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<BackupDto>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'json',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n}\n"],
|
|
5
|
-
"mappings": "AAWA,SAAS,eAAe;AACxB,SAAS,iBAAiB;
|
|
4
|
+
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type { BackupDto, RestoreDto } from '@camunda/ccma-shared-types'\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n} from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { HttpError } from '../../utils/errors.js'\n\nexport interface GetConsoleHotBackupsParams extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n }\n}\n\nexport interface CreateConsoleHotBackupParams extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n }\n}\n\nexport interface DeleteConsoleHotBackupParams extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n backupId: string\n }\n}\n\nexport interface RetryConsoleHotBackupParams extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n backupId: string\n }\n}\n\nexport interface RestoreConsoleHotBackupParams extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n backupId: string\n }\n}\n\nexport class ConsoleHotBackupsService {\n public static async getHotBackups(\n params: GetConsoleHotBackupsParams,\n ): Promise<BackupDto[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleHotBackupsService.getHotBackups',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}/backups`,\n normalizedUrl: 'api/orgs/:orgId/clusters/:clusterId/backups',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<BackupDto[]>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'json',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body ?? []\n }\n\n public static async createHotBackup(\n params: CreateConsoleHotBackupParams,\n ): Promise<BackupDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleHotBackupsService.createHotBackup',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}/backups`,\n normalizedUrl: 'api/orgs/:orgId/clusters/:clusterId/backups',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<BackupDto>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: {},\n responseType: 'json',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n public static async deleteHotBackup(\n params: DeleteConsoleHotBackupParams,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleHotBackupsService.deleteHotBackup',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}/backups/${params.params.backupId}`,\n normalizedUrl: 'api/orgs/:orgId/clusters/:clusterId/backups/:backupId',\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<void>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'none',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async retryHotBackup(\n params: RetryConsoleHotBackupParams,\n ): Promise<BackupDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleHotBackupsService.retryHotBackup',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}/backups/${params.params.backupId}/retry`,\n normalizedUrl:\n 'api/orgs/:orgId/clusters/:clusterId/backups/:backupId/retry',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<BackupDto>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'json',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n public static async restoreHotBackup(\n params: RestoreConsoleHotBackupParams,\n ): Promise<RestoreDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleHotBackupsService.restoreHotBackup',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}/backups/${params.params.backupId}/restore`,\n normalizedUrl:\n 'api/orgs/:orgId/clusters/:clusterId/backups/:backupId/restore',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<RestoreDto>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'json',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n}\n"],
|
|
5
|
+
"mappings": "AAWA,SAAS,eAAe;AACxB,SAAS,iBAAiB;AAwCnB,MAAM,yBAAyB;AAAA,EACpC,aAAoB,cAClB,QACsB;AACtB,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,YAAY,OAAO,OAAO,KAAK,aAAa,OAAO,OAAO,SAAS;AAAA,QACxE,eAAe;AAAA,QACf,MAAM;AAAA,MACR;AAAA,MACA,QAAQ,OAAO,OAAO,SAAS,UAAU;AAAA,MACzC,QAAQ,EAAE,MAAM,WAAW,MAAM,WAAW;AAAA,IAC9C;AAEA,UAAM,WAAW,MAAM,QAAqB;AAAA,MAC1C,GAAG;AAAA,MACH,MAAM,EAAE,IAAI,UAAU;AAAA,MACtB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI;AAAA,QACR,GAAG,eAAe,OAAO,IAAI,KAAK,SAAS,MAAM,IAAI,SAAS,UAAU;AAAA,QACxE,SAAS;AAAA,QACT,SAAS;AAAA,MACX;AAAA,IACF;AAEA,WAAO,SAAS,QAAQ,CAAC;AAAA,EAC3B;AAAA,EAEA,aAAoB,gBAClB,QACoB;AACpB,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,YAAY,OAAO,OAAO,KAAK,aAAa,OAAO,OAAO,SAAS;AAAA,QACxE,eAAe;AAAA,QACf,MAAM;AAAA,MACR;AAAA,MACA,QAAQ,OAAO,OAAO,SAAS,UAAU;AAAA,MACzC,QAAQ,EAAE,MAAM,WAAW,MAAM,WAAW;AAAA,IAC9C;AAEA,UAAM,WAAW,MAAM,QAAmB;AAAA,MACxC,GAAG;AAAA,MACH,MAAM,EAAE,IAAI,UAAU;AAAA,MACtB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,MAAM,CAAC;AAAA,MACP,cAAc;AAAA,IAChB,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI;AAAA,QACR,GAAG,eAAe,OAAO,IAAI,KAAK,SAAS,MAAM,IAAI,SAAS,UAAU;AAAA,QACxE,SAAS;AAAA,QACT,SAAS;AAAA,MACX;AAAA,IACF;AAEA,WAAO,SAAS;AAAA,EAClB;AAAA,EAEA,aAAoB,gBAClB,QACe;AACf,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,YAAY,OAAO,OAAO,KAAK,aAAa,OAAO,OAAO,SAAS,YAAY,OAAO,OAAO,QAAQ;AAAA,QAC1G,eAAe;AAAA,QACf,MAAM;AAAA,MACR;AAAA,MACA,QAAQ,OAAO,OAAO,SAAS,UAAU;AAAA,MACzC,QAAQ,EAAE,MAAM,WAAW,MAAM,WAAW;AAAA,IAC9C;AAEA,UAAM,WAAW,MAAM,QAAc;AAAA,MACnC,GAAG;AAAA,MACH,MAAM,EAAE,IAAI,UAAU;AAAA,MACtB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI;AAAA,QACR,GAAG,eAAe,OAAO,IAAI,KAAK,SAAS,MAAM,IAAI,SAAS,UAAU;AAAA,QACxE,SAAS;AAAA,QACT,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EAEA,aAAoB,eAClB,QACoB;AACpB,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,YAAY,OAAO,OAAO,KAAK,aAAa,OAAO,OAAO,SAAS,YAAY,OAAO,OAAO,QAAQ;AAAA,QAC1G,eACE;AAAA,QACF,MAAM;AAAA,MACR;AAAA,MACA,QAAQ,OAAO,OAAO,SAAS,UAAU;AAAA,MACzC,QAAQ,EAAE,MAAM,WAAW,MAAM,WAAW;AAAA,IAC9C;AAEA,UAAM,WAAW,MAAM,QAAmB;AAAA,MACxC,GAAG;AAAA,MACH,MAAM,EAAE,IAAI,UAAU;AAAA,MACtB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI;AAAA,QACR,GAAG,eAAe,OAAO,IAAI,KAAK,SAAS,MAAM,IAAI,SAAS,UAAU;AAAA,QACxE,SAAS;AAAA,QACT,SAAS;AAAA,MACX;AAAA,IACF;AAEA,WAAO,SAAS;AAAA,EAClB;AAAA,EAEA,aAAoB,iBAClB,QACqB;AACrB,UAAM,iBAA4C;AAAA,MAChD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,KAAK,YAAY,OAAO,OAAO,KAAK,aAAa,OAAO,OAAO,SAAS,YAAY,OAAO,OAAO,QAAQ;AAAA,QAC1G,eACE;AAAA,QACF,MAAM;AAAA,MACR;AAAA,MACA,QAAQ,OAAO,OAAO,SAAS,UAAU;AAAA,MACzC,QAAQ,EAAE,MAAM,WAAW,MAAM,WAAW;AAAA,IAC9C;AAEA,UAAM,WAAW,MAAM,QAAoB;AAAA,MACzC,GAAG;AAAA,MACH,MAAM,EAAE,IAAI,UAAU;AAAA,MACtB,KAAK,eAAe,OAAO;AAAA,MAC3B,QAAQ,eAAe,OAAO;AAAA,MAC9B,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI;AAAA,QACR,GAAG,eAAe,OAAO,IAAI,KAAK,SAAS,MAAM,IAAI,SAAS,UAAU;AAAA,QACxE,SAAS;AAAA,QACT,SAAS;AAAA,MACX;AAAA,IACF;AAEA,WAAO,SAAS;AAAA,EAClB;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -27,6 +27,17 @@ export declare class GenerationService {
|
|
|
27
27
|
name: string;
|
|
28
28
|
clusterCount: number;
|
|
29
29
|
} | undefined>;
|
|
30
|
+
static createBulkUpgradeOperation(params: {
|
|
31
|
+
fromGenerationUuid: string;
|
|
32
|
+
toGenerationUuid: string;
|
|
33
|
+
name: string;
|
|
34
|
+
reason: string;
|
|
35
|
+
eyes: number;
|
|
36
|
+
} & RequestBaseParams): Promise<{
|
|
37
|
+
uuid: string;
|
|
38
|
+
name: string;
|
|
39
|
+
clusterCount: number;
|
|
40
|
+
} | undefined>;
|
|
30
41
|
static updateUpgradePath(params: {
|
|
31
42
|
generationUuid: string;
|
|
32
43
|
upgradeableFrom: string[];
|
|
@@ -159,6 +159,43 @@ class GenerationService {
|
|
|
159
159
|
}
|
|
160
160
|
return response.body;
|
|
161
161
|
}
|
|
162
|
+
static async createBulkUpgradeOperation(params) {
|
|
163
|
+
const body = {
|
|
164
|
+
toGenerationUuid: params.toGenerationUuid,
|
|
165
|
+
name: params.name,
|
|
166
|
+
reason: params.reason,
|
|
167
|
+
eyes: params.eyes
|
|
168
|
+
};
|
|
169
|
+
const serviceContext = {
|
|
170
|
+
method: {
|
|
171
|
+
name: `GenerationService.createBulkUpgradeOperation`,
|
|
172
|
+
url: `external/generations/${params.fromGenerationUuid}/bulkUpgrade`,
|
|
173
|
+
normalizedUrl: `external/generations/:fromGenerationUuid/bulkUpgrade`,
|
|
174
|
+
type: "put"
|
|
175
|
+
},
|
|
176
|
+
source: params.config.metrics?.source || "unset",
|
|
177
|
+
target: { name: "console", type: "internal" }
|
|
178
|
+
};
|
|
179
|
+
const response = await request({
|
|
180
|
+
config: params.config,
|
|
181
|
+
base: {
|
|
182
|
+
id: "console"
|
|
183
|
+
},
|
|
184
|
+
body,
|
|
185
|
+
responseType: "json",
|
|
186
|
+
url: serviceContext.method.url,
|
|
187
|
+
method: serviceContext.method.type,
|
|
188
|
+
metricsDetails: serviceContext
|
|
189
|
+
});
|
|
190
|
+
if (!response.ok) {
|
|
191
|
+
throw new HttpError(
|
|
192
|
+
`${serviceContext.method.name}: ${response.status} ${response.statusText}`,
|
|
193
|
+
response.status,
|
|
194
|
+
response.statusText
|
|
195
|
+
);
|
|
196
|
+
}
|
|
197
|
+
return response.body;
|
|
198
|
+
}
|
|
162
199
|
static async updateUpgradePath(params) {
|
|
163
200
|
const body = {
|
|
164
201
|
upgradeableFrom: params.upgradeableFrom
|