@camunda/ccma-shared-types 6.0.0 → 7.1.0

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.
Files changed (47) hide show
  1. package/dist/_tests/constants/customer-hardware-sizing.const.spec.d.ts +1 -0
  2. package/dist/_tests/dtos/ClusterPlanWhiteList.spec.d.ts +1 -0
  3. package/dist/_tests/utils/upgradeGateReason.utils.spec.d.ts +1 -0
  4. package/dist/approvals/policy.js +1 -1
  5. package/dist/approvals/policy.js.map +2 -2
  6. package/dist/approvals/use-cases.const.d.ts +17 -0
  7. package/dist/approvals/use-cases.const.js +22 -1
  8. package/dist/approvals/use-cases.const.js.map +2 -2
  9. package/dist/constants/customer-hardware-sizing.const.d.ts +124 -0
  10. package/dist/constants/customer-hardware-sizing.const.js +266 -0
  11. package/dist/constants/customer-hardware-sizing.const.js.map +7 -0
  12. package/dist/constants/version-gates.const.d.ts +12 -0
  13. package/dist/constants/version-gates.const.js +2 -0
  14. package/dist/constants/version-gates.const.js.map +2 -2
  15. package/dist/dtos/ApprovalJob.dto.d.ts +38 -3
  16. package/dist/dtos/ApprovalJob.dto.js.map +2 -2
  17. package/dist/dtos/ClusterPlanTypeChange.dto.d.ts +23 -0
  18. package/dist/dtos/ClusterPlanTypeChange.dto.js +1 -0
  19. package/dist/dtos/ClusterPlanTypeChange.dto.js.map +7 -0
  20. package/dist/dtos/CommonCluster.dto.d.ts +5 -0
  21. package/dist/dtos/EarlyAccessFeature.dto.d.ts +1 -0
  22. package/dist/dtos/FeatureFlags.dto.d.ts +9 -1
  23. package/dist/dtos/Organization.dto.d.ts +11 -0
  24. package/dist/dtos/Organization.dto.js.map +1 -1
  25. package/dist/dtos/SalesPlan.dto.d.ts +25 -0
  26. package/dist/dtos/SalesPlan.dto.js +22 -0
  27. package/dist/dtos/SalesPlan.dto.js.map +2 -2
  28. package/dist/dtos/UpgradeReadiness.dto.d.ts +32 -0
  29. package/dist/dtos/UpgradeReadiness.dto.js +1 -0
  30. package/dist/dtos/UpgradeReadiness.dto.js.map +7 -0
  31. package/dist/enums/SystemAuditEntity.enum.d.ts +1 -0
  32. package/dist/enums/SystemAuditEntity.enum.js +1 -0
  33. package/dist/enums/SystemAuditEntity.enum.js.map +2 -2
  34. package/dist/index.d.ts +7 -3
  35. package/dist/index.js +44 -0
  36. package/dist/index.js.map +2 -2
  37. package/dist/search/organization-search-fields.d.ts +5 -2
  38. package/dist/search/organization-search-fields.js +9 -1
  39. package/dist/search/organization-search-fields.js.map +2 -2
  40. package/dist/types/ClusterBulkOperation.type.d.ts +14 -0
  41. package/dist/utils/elasticsearchPlanPath.utils.d.ts +3 -1
  42. package/dist/utils/elasticsearchPlanPath.utils.js +14 -5
  43. package/dist/utils/elasticsearchPlanPath.utils.js.map +2 -2
  44. package/dist/utils/upgradeGateReason.utils.d.ts +8 -0
  45. package/dist/utils/upgradeGateReason.utils.js +23 -0
  46. package/dist/utils/upgradeGateReason.utils.js.map +7 -0
  47. package/package.json +1 -1
@@ -147,6 +147,12 @@ function allSalesPlanLimits() {
147
147
  description: "unlocked generation UUIDs - comma separated. These generations will be available for cluster creation regardless of channel membership. Attached to the Stable channel.",
148
148
  isClusterBasedLimit: false
149
149
  },
150
+ {
151
+ key: "clusterPlanWhiteList",
152
+ type: "string",
153
+ description: "unlocked cluster plan UUIDs - comma separated. On create, a cluster can use one of these plans instead of the active plan of its plan type. The reservation still counts against the plan type. The limit has an effect only on dev and int.",
154
+ isClusterBasedLimit: false
155
+ },
150
156
  {
151
157
  key: "developerNoClusterCreate",
152
158
  type: "boolean",
@@ -177,6 +183,19 @@ function unusedSalesPlanLimits(limits, stage) {
177
183
  (current) => !(Object.keys(limits).includes(current.key) && limits[current.key] !== null) && (stage === void 0 || isLimitOfferedOnStage(current, stage))
178
184
  );
179
185
  }
186
+ function clusterPlanWhiteListIds(limits) {
187
+ const value = limits?.clusterPlanWhiteList;
188
+ if (typeof value !== "string") {
189
+ return [];
190
+ }
191
+ return value.split(",").map((id) => id.trim()).filter((id) => id.length > 0);
192
+ }
193
+ function isUnlockedClusterPlansStage(stage) {
194
+ return stage === "local" || stage === "dev" || stage === "int";
195
+ }
196
+ function isLimitKeyEnabled(limitKey, unlockedClusterPlans) {
197
+ return limitKey !== "clusterPlanWhiteList" || unlockedClusterPlans;
198
+ }
180
199
  export {
181
200
  MAX_CLUSTER_CLIENTS_DEFAULT,
182
201
  MAX_CLUSTER_CLIENTS_DEV,
@@ -185,8 +204,11 @@ export {
185
204
  RETENTION_LIMIT_MINIMUM,
186
205
  allClusterBasedLimits,
187
206
  allSalesPlanLimits,
207
+ clusterPlanWhiteListIds,
188
208
  deprecatedLimit,
209
+ isLimitKeyEnabled,
189
210
  isLimitOfferedOnStage,
211
+ isUnlockedClusterPlansStage,
190
212
  unusedClusterBasedLimits,
191
213
  unusedSalesPlanLimits
192
214
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/dtos/SalesPlan.dto.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 { ClusterPlanTypesToConfig } from '../types/ClusterPlanTypesToConfig.type.js'\nimport { isPreprodClusterTtlStage } from '../types/PreprodClusterTtl.type.js'\n\nexport interface SalesPlanDto {\n uuid?: string\n name: string\n salesPlanType?: string\n internal?: boolean\n clusterPlanTypesToConfig: ClusterPlanTypesToConfig\n metadata?: SalesPlanMetadata\n version: number\n orgs?: number\n}\n\nexport interface ConsumptionDataItem {\n type: string\n data: string\n itemPriceId: string\n}\n\nexport interface SalesPlanMetadata {\n description: string\n limits?: Limits\n}\n\nexport interface ClusterLimits {\n dataRetentionOperate?: number\n dataRetentionTasklist?: number\n dataRetentionOptimize?: number\n unifiedDataRetention?: number\n}\n\nexport interface Limits extends ClusterLimits {\n maxMembers?: number\n hotBackup?: boolean\n /**\n * Overrides the operator's default retained count (3) for manual (on-demand)\n * hot backups (ZeebeCluster spec.backup.retainedCount).\n */\n hotBackupManualRetainedCount?: number\n /**\n * Overrides the operator's default retained count (3) for scheduled hot\n * backups (BackupSchedule spec.successfulBackupsHistoryLimit /\n * failedBackupsHistoryLimit).\n */\n hotBackupScheduledRetainedCount?: number\n ipWhiteList?: boolean\n secureConnectivity?: boolean\n failover?: boolean\n allowedHostnamesForInvites?: string\n regionWhiteList?: string\n suppressDropDisks?: boolean\n legacyStreams?: boolean\n ignoreGracePeriod?: boolean\n /**\n * Maximum number of clients allowed per cluster.\n * Overrides the stage-based default (MAX_CLUSTER_CLIENTS_DEV on dev,\n * MAX_CLUSTER_CLIENTS_DEFAULT on int/prod).\n */\n maxClusterClients?: number\n /**\n * Comma-separated list of generation UUIDs that are unlocked for this org.\n * These generations will be available for cluster creation even if they\n * are not part of a channel's allowed generations. They are attached to\n * the Stable channel with classification 'orgUnlocked'.\n */\n generationWhiteList?: string\n /**\n * When true, users with only the Developer role cannot create clusters in this org.\n * Users who also hold Member, Admin, Owner, or Operations Engineer are unaffected.\n */\n developerNoClusterCreate?: boolean\n /**\n * On dev and int only: the nightly delete cron deletes every cluster of the\n * org that is older than this number of hours. It asks nobody. Because the\n * cron runs once a day, a cluster can live up to 24 hours longer. We set it\n * on our own test orgs, because a paused cluster keeps its disks and costs\n * money. A sales plan can hold it too: an org copies the limits of its plan\n * when it gets the plan, thus every later org of that plan gets it. An\n * editor on prod does not offer it.\n */\n preprodClusterTtlHours?: number\n}\n\nexport const RETENTION_LIMIT_MINIMUM = {\n operate: 5,\n tasklist: 5,\n optimize: 5,\n unified: 5,\n}\nexport const RETENTION_LIMIT_MAXIMUM = {\n operate: 365,\n tasklist: 90,\n optimize: 720,\n unified: 365,\n}\nexport const RETENTION_LIMIT_DEFAULT = {\n operate: 30,\n tasklist: 30,\n optimize: 180,\n unified: 30,\n}\n\n/**\n * Default maximum number of clients per cluster on development stage.\n */\nexport const MAX_CLUSTER_CLIENTS_DEV = 10\n\n/**\n * Default maximum number of clients per cluster on integration and production stages.\n */\nexport const MAX_CLUSTER_CLIENTS_DEFAULT = 200\n\nexport function deprecatedLimit(key: string): string | undefined {\n if (['dataRetentionOperate', 'dataRetentionTasklist'].includes(key)) {\n return 'unifiedDataRetention'\n }\n return undefined\n}\n\nexport function allClusterBasedLimits(): {\n key: string\n type: 'number' | 'boolean' | 'string'\n description: string\n isClusterBasedLimit: boolean\n validate?: (input: number) => boolean\n}[] {\n return [\n {\n key: 'dataRetentionOperate',\n type: 'number',\n isClusterBasedLimit: true,\n description: `Data retention in days for Operate. default = ${RETENTION_LIMIT_DEFAULT.operate}days. Min = ${RETENTION_LIMIT_MINIMUM.operate}days, Max = ${RETENTION_LIMIT_MAXIMUM.operate}days.`,\n validate: (input) =>\n Number.isInteger(input) &&\n input >= RETENTION_LIMIT_MINIMUM.operate &&\n input <= RETENTION_LIMIT_MAXIMUM.operate,\n },\n {\n key: 'dataRetentionTasklist',\n type: 'number',\n isClusterBasedLimit: true,\n description: `Data retention in days for Tasklist. default = ${RETENTION_LIMIT_DEFAULT.tasklist}days. Min = ${RETENTION_LIMIT_MINIMUM.tasklist}days, Max = ${RETENTION_LIMIT_MAXIMUM.tasklist}days.`,\n validate: (input) =>\n Number.isInteger(input) &&\n input >= RETENTION_LIMIT_MINIMUM.tasklist &&\n input <= RETENTION_LIMIT_MAXIMUM.tasklist,\n },\n {\n key: 'dataRetentionOptimize',\n type: 'number',\n isClusterBasedLimit: true,\n description: `Data retention in days for Optimize. default = ${RETENTION_LIMIT_DEFAULT.optimize}days. Min = ${RETENTION_LIMIT_MINIMUM.optimize}days, Max = ${RETENTION_LIMIT_MAXIMUM.optimize}days.`,\n validate: (input) =>\n Number.isInteger(input) &&\n input >= RETENTION_LIMIT_MINIMUM.optimize &&\n input <= RETENTION_LIMIT_MAXIMUM.optimize,\n },\n {\n key: 'unifiedDataRetention',\n type: 'number',\n isClusterBasedLimit: true,\n description: `Unified data retention in days for Zeebe broker. default = ${RETENTION_LIMIT_DEFAULT.unified}days. Min = ${RETENTION_LIMIT_MINIMUM.unified}days, Max = ${RETENTION_LIMIT_MAXIMUM.unified}days.`,\n validate: (input) =>\n Number.isInteger(input) &&\n input >= RETENTION_LIMIT_MINIMUM.unified &&\n input <= RETENTION_LIMIT_MAXIMUM.unified,\n },\n ]\n}\n\nexport function allSalesPlanLimits(): {\n key: string\n type: 'number' | 'boolean' | 'string'\n description: string\n isClusterBasedLimit: boolean\n validate?: (input: number) => boolean\n /** An editor on prod does not offer the limit, because only dev and int act on it. */\n preprodOnly?: boolean\n}[] {\n return [\n {\n key: 'maxMembers',\n type: 'number',\n description:\n 'used to limit the amount of collaborators within one organization. default = no limit',\n isClusterBasedLimit: false,\n validate: (input) => Number.isInteger(input) && input >= 0,\n },\n {\n key: 'hotBackup',\n type: 'boolean',\n description:\n 'used to activate the hot backup functionality in organizations. default = not active',\n isClusterBasedLimit: false,\n },\n {\n key: 'hotBackupManualRetainedCount',\n type: 'number',\n description:\n 'overrides how many manual (on-demand) hot backups the operator retains before deleting the oldest. default = 3',\n isClusterBasedLimit: false,\n validate: (input) => Number.isInteger(input) && input >= 1,\n },\n {\n key: 'hotBackupScheduledRetainedCount',\n type: 'number',\n description:\n 'overrides how many scheduled hot backups the operator retains before deleting the oldest. default = 3',\n isClusterBasedLimit: false,\n validate: (input) => Number.isInteger(input) && input >= 1,\n },\n {\n key: 'ipWhiteList',\n type: 'boolean',\n description:\n 'used to activate the ipWhitelist feature in console. default = not active',\n isClusterBasedLimit: false,\n },\n {\n key: 'secureConnectivity',\n type: 'boolean',\n description:\n 'used to activate the secure connectivity feature in console. default = not active',\n isClusterBasedLimit: false,\n },\n {\n key: 'failover',\n type: 'boolean',\n description:\n 'used to activate the failover functionality for multi-region clusters. default = not active',\n isClusterBasedLimit: false,\n },\n {\n key: 'allowedHostnamesForInvites',\n type: 'string',\n description:\n 'allowed hostnames for invites - comma separated, default: every hostname is allowed',\n isClusterBasedLimit: false,\n },\n {\n key: 'regionWhiteList',\n type: 'string',\n description:\n 'allowed regions - comma separated, default: every region is allowed',\n isClusterBasedLimit: false,\n },\n {\n key: 'suppressDropDisks',\n type: 'boolean',\n description:\n 'used to not drop disks of sleeping clusters. default = not suppressed',\n isClusterBasedLimit: false,\n },\n {\n key: 'legacyStreams',\n type: 'boolean',\n description:\n 'used to allow organizations to use legacy minor streams (e.g. 8.5, 8.6) for cluster creation. default = not allowed',\n isClusterBasedLimit: false,\n },\n {\n key: 'ignoreGracePeriod',\n type: 'boolean',\n description:\n 'used to bypass the 24h grace period on cluster upgrades after a minor version bump. default = not active (grace period enforced)',\n isClusterBasedLimit: false,\n },\n {\n key: 'maxClusterClients',\n type: 'number',\n description: `maximum number of clients per cluster. default = ${MAX_CLUSTER_CLIENTS_DEFAULT} (${MAX_CLUSTER_CLIENTS_DEV} on dev). Can be overridden per org for special customers (e.g. OEM).`,\n isClusterBasedLimit: false,\n validate: (input) => Number.isInteger(input) && input >= 1,\n },\n {\n key: 'generationWhiteList',\n type: 'string',\n description:\n 'unlocked generation UUIDs - comma separated. These generations will be available for cluster creation regardless of channel membership. Attached to the Stable channel.',\n isClusterBasedLimit: false,\n },\n {\n key: 'developerNoClusterCreate',\n type: 'boolean',\n description:\n 'when enabled, users with only the Developer role cannot create clusters in this org. Admins, Owners, Members, and Operations Engineers are unaffected.',\n isClusterBasedLimit: false,\n },\n {\n key: 'preprodClusterTtlHours',\n type: 'number',\n description:\n 'dev and int only: the nightly delete cron deletes every cluster of this org that is older than N hours, with no confirmation. On a sales plan, every org that gets the plan later gets the limit too. For our own test orgs. default = not active',\n isClusterBasedLimit: false,\n validate: (input) => Number.isInteger(input) && input >= 1,\n preprodOnly: true,\n },\n ...allClusterBasedLimits(),\n ]\n}\n\nexport function unusedClusterBasedLimits(limits: ClusterLimits): {\n key: string\n type: 'number' | 'boolean' | 'string'\n description: string\n isClusterBasedLimit: boolean\n}[] {\n return allClusterBasedLimits().filter(\n (current) =>\n !(\n Object.keys(limits).includes(current.key) &&\n (limits as Record<string, unknown>)[current.key] !== null\n ),\n )\n}\n\n/**\n * Returns whether an editor on the stage offers the limit. A `preprodOnly`\n * limit is offered only on dev and int. Every other limit is offered on\n * every stage.\n */\nexport function isLimitOfferedOnStage(\n limit: { preprodOnly?: boolean },\n stage: string,\n): boolean {\n return !limit.preprodOnly || isPreprodClusterTtlStage(stage)\n}\n\n/**\n * Returns the limits that `limits` does not set yet. With a `stage`, it also\n * leaves out the limits that the stage does not offer.\n */\nexport function unusedSalesPlanLimits(\n limits: Limits,\n stage?: string,\n): {\n key: string\n type: 'number' | 'boolean' | 'string'\n description: string\n isClusterBasedLimit: boolean\n}[] {\n return allSalesPlanLimits().filter(\n (current) =>\n !(\n Object.keys(limits).includes(current.key) &&\n (limits as Record<string, unknown>)[current.key] !== null\n ) &&\n (stage === undefined || isLimitOfferedOnStage(current, stage)),\n )\n}\n"],
5
- "mappings": "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",
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 { ClusterPlanTypesToConfig } from '../types/ClusterPlanTypesToConfig.type.js'\nimport { isPreprodClusterTtlStage } from '../types/PreprodClusterTtl.type.js'\n\nexport interface SalesPlanDto {\n uuid?: string\n name: string\n salesPlanType?: string\n internal?: boolean\n clusterPlanTypesToConfig: ClusterPlanTypesToConfig\n metadata?: SalesPlanMetadata\n version: number\n orgs?: number\n}\n\nexport interface ConsumptionDataItem {\n type: string\n data: string\n itemPriceId: string\n}\n\nexport interface SalesPlanMetadata {\n description: string\n limits?: Limits\n}\n\nexport interface ClusterLimits {\n dataRetentionOperate?: number\n dataRetentionTasklist?: number\n dataRetentionOptimize?: number\n unifiedDataRetention?: number\n}\n\nexport interface Limits extends ClusterLimits {\n maxMembers?: number\n hotBackup?: boolean\n /**\n * Overrides the operator's default retained count (3) for manual (on-demand)\n * hot backups (ZeebeCluster spec.backup.retainedCount).\n */\n hotBackupManualRetainedCount?: number\n /**\n * Overrides the operator's default retained count (3) for scheduled hot\n * backups (BackupSchedule spec.successfulBackupsHistoryLimit /\n * failedBackupsHistoryLimit).\n */\n hotBackupScheduledRetainedCount?: number\n ipWhiteList?: boolean\n secureConnectivity?: boolean\n failover?: boolean\n allowedHostnamesForInvites?: string\n regionWhiteList?: string\n suppressDropDisks?: boolean\n legacyStreams?: boolean\n ignoreGracePeriod?: boolean\n /**\n * Maximum number of clients allowed per cluster.\n * Overrides the stage-based default (MAX_CLUSTER_CLIENTS_DEV on dev,\n * MAX_CLUSTER_CLIENTS_DEFAULT on int/prod).\n */\n maxClusterClients?: number\n /**\n * Comma-separated list of generation UUIDs that are unlocked for this org.\n * These generations will be available for cluster creation even if they\n * are not part of a channel's allowed generations. They are attached to\n * the Stable channel with classification 'orgUnlocked'.\n */\n generationWhiteList?: string\n /**\n * Comma-separated list of cluster plan UUIDs that are unlocked for this org.\n * On create, the caller can name one of them in `clusterPlanId`. The cluster\n * then gets that plan instead of the active plan of its plan type. Read\n * only on stages with unlocked cluster plans (local, dev and int).\n */\n clusterPlanWhiteList?: string\n /**\n * When true, users with only the Developer role cannot create clusters in this org.\n * Users who also hold Member, Admin, Owner, or Operations Engineer are unaffected.\n */\n developerNoClusterCreate?: boolean\n /**\n * On dev and int only: the nightly delete cron deletes every cluster of the\n * org that is older than this number of hours. It asks nobody. Because the\n * cron runs once a day, a cluster can live up to 24 hours longer. We set it\n * on our own test orgs, because a paused cluster keeps its disks and costs\n * money. A sales plan can hold it too: an org copies the limits of its plan\n * when it gets the plan, thus every later org of that plan gets it. An\n * editor on prod does not offer it.\n */\n preprodClusterTtlHours?: number\n}\n\nexport const RETENTION_LIMIT_MINIMUM = {\n operate: 5,\n tasklist: 5,\n optimize: 5,\n unified: 5,\n}\nexport const RETENTION_LIMIT_MAXIMUM = {\n operate: 365,\n tasklist: 90,\n optimize: 720,\n unified: 365,\n}\nexport const RETENTION_LIMIT_DEFAULT = {\n operate: 30,\n tasklist: 30,\n optimize: 180,\n unified: 30,\n}\n\n/**\n * Default maximum number of clients per cluster on development stage.\n */\nexport const MAX_CLUSTER_CLIENTS_DEV = 10\n\n/**\n * Default maximum number of clients per cluster on integration and production stages.\n */\nexport const MAX_CLUSTER_CLIENTS_DEFAULT = 200\n\nexport function deprecatedLimit(key: string): string | undefined {\n if (['dataRetentionOperate', 'dataRetentionTasklist'].includes(key)) {\n return 'unifiedDataRetention'\n }\n return undefined\n}\n\nexport function allClusterBasedLimits(): {\n key: string\n type: 'number' | 'boolean' | 'string'\n description: string\n isClusterBasedLimit: boolean\n validate?: (input: number) => boolean\n}[] {\n return [\n {\n key: 'dataRetentionOperate',\n type: 'number',\n isClusterBasedLimit: true,\n description: `Data retention in days for Operate. default = ${RETENTION_LIMIT_DEFAULT.operate}days. Min = ${RETENTION_LIMIT_MINIMUM.operate}days, Max = ${RETENTION_LIMIT_MAXIMUM.operate}days.`,\n validate: (input) =>\n Number.isInteger(input) &&\n input >= RETENTION_LIMIT_MINIMUM.operate &&\n input <= RETENTION_LIMIT_MAXIMUM.operate,\n },\n {\n key: 'dataRetentionTasklist',\n type: 'number',\n isClusterBasedLimit: true,\n description: `Data retention in days for Tasklist. default = ${RETENTION_LIMIT_DEFAULT.tasklist}days. Min = ${RETENTION_LIMIT_MINIMUM.tasklist}days, Max = ${RETENTION_LIMIT_MAXIMUM.tasklist}days.`,\n validate: (input) =>\n Number.isInteger(input) &&\n input >= RETENTION_LIMIT_MINIMUM.tasklist &&\n input <= RETENTION_LIMIT_MAXIMUM.tasklist,\n },\n {\n key: 'dataRetentionOptimize',\n type: 'number',\n isClusterBasedLimit: true,\n description: `Data retention in days for Optimize. default = ${RETENTION_LIMIT_DEFAULT.optimize}days. Min = ${RETENTION_LIMIT_MINIMUM.optimize}days, Max = ${RETENTION_LIMIT_MAXIMUM.optimize}days.`,\n validate: (input) =>\n Number.isInteger(input) &&\n input >= RETENTION_LIMIT_MINIMUM.optimize &&\n input <= RETENTION_LIMIT_MAXIMUM.optimize,\n },\n {\n key: 'unifiedDataRetention',\n type: 'number',\n isClusterBasedLimit: true,\n description: `Unified data retention in days for Zeebe broker. default = ${RETENTION_LIMIT_DEFAULT.unified}days. Min = ${RETENTION_LIMIT_MINIMUM.unified}days, Max = ${RETENTION_LIMIT_MAXIMUM.unified}days.`,\n validate: (input) =>\n Number.isInteger(input) &&\n input >= RETENTION_LIMIT_MINIMUM.unified &&\n input <= RETENTION_LIMIT_MAXIMUM.unified,\n },\n ]\n}\n\nexport function allSalesPlanLimits(): {\n key: string\n type: 'number' | 'boolean' | 'string'\n description: string\n isClusterBasedLimit: boolean\n validate?: (input: number) => boolean\n /** An editor on prod does not offer the limit, because only dev and int act on it. */\n preprodOnly?: boolean\n}[] {\n return [\n {\n key: 'maxMembers',\n type: 'number',\n description:\n 'used to limit the amount of collaborators within one organization. default = no limit',\n isClusterBasedLimit: false,\n validate: (input) => Number.isInteger(input) && input >= 0,\n },\n {\n key: 'hotBackup',\n type: 'boolean',\n description:\n 'used to activate the hot backup functionality in organizations. default = not active',\n isClusterBasedLimit: false,\n },\n {\n key: 'hotBackupManualRetainedCount',\n type: 'number',\n description:\n 'overrides how many manual (on-demand) hot backups the operator retains before deleting the oldest. default = 3',\n isClusterBasedLimit: false,\n validate: (input) => Number.isInteger(input) && input >= 1,\n },\n {\n key: 'hotBackupScheduledRetainedCount',\n type: 'number',\n description:\n 'overrides how many scheduled hot backups the operator retains before deleting the oldest. default = 3',\n isClusterBasedLimit: false,\n validate: (input) => Number.isInteger(input) && input >= 1,\n },\n {\n key: 'ipWhiteList',\n type: 'boolean',\n description:\n 'used to activate the ipWhitelist feature in console. default = not active',\n isClusterBasedLimit: false,\n },\n {\n key: 'secureConnectivity',\n type: 'boolean',\n description:\n 'used to activate the secure connectivity feature in console. default = not active',\n isClusterBasedLimit: false,\n },\n {\n key: 'failover',\n type: 'boolean',\n description:\n 'used to activate the failover functionality for multi-region clusters. default = not active',\n isClusterBasedLimit: false,\n },\n {\n key: 'allowedHostnamesForInvites',\n type: 'string',\n description:\n 'allowed hostnames for invites - comma separated, default: every hostname is allowed',\n isClusterBasedLimit: false,\n },\n {\n key: 'regionWhiteList',\n type: 'string',\n description:\n 'allowed regions - comma separated, default: every region is allowed',\n isClusterBasedLimit: false,\n },\n {\n key: 'suppressDropDisks',\n type: 'boolean',\n description:\n 'used to not drop disks of sleeping clusters. default = not suppressed',\n isClusterBasedLimit: false,\n },\n {\n key: 'legacyStreams',\n type: 'boolean',\n description:\n 'used to allow organizations to use legacy minor streams (e.g. 8.5, 8.6) for cluster creation. default = not allowed',\n isClusterBasedLimit: false,\n },\n {\n key: 'ignoreGracePeriod',\n type: 'boolean',\n description:\n 'used to bypass the 24h grace period on cluster upgrades after a minor version bump. default = not active (grace period enforced)',\n isClusterBasedLimit: false,\n },\n {\n key: 'maxClusterClients',\n type: 'number',\n description: `maximum number of clients per cluster. default = ${MAX_CLUSTER_CLIENTS_DEFAULT} (${MAX_CLUSTER_CLIENTS_DEV} on dev). Can be overridden per org for special customers (e.g. OEM).`,\n isClusterBasedLimit: false,\n validate: (input) => Number.isInteger(input) && input >= 1,\n },\n {\n key: 'generationWhiteList',\n type: 'string',\n description:\n 'unlocked generation UUIDs - comma separated. These generations will be available for cluster creation regardless of channel membership. Attached to the Stable channel.',\n isClusterBasedLimit: false,\n },\n {\n key: 'clusterPlanWhiteList',\n type: 'string',\n description:\n 'unlocked cluster plan UUIDs - comma separated. On create, a cluster can use one of these plans instead of the active plan of its plan type. The reservation still counts against the plan type. The limit has an effect only on dev and int.',\n isClusterBasedLimit: false,\n },\n {\n key: 'developerNoClusterCreate',\n type: 'boolean',\n description:\n 'when enabled, users with only the Developer role cannot create clusters in this org. Admins, Owners, Members, and Operations Engineers are unaffected.',\n isClusterBasedLimit: false,\n },\n {\n key: 'preprodClusterTtlHours',\n type: 'number',\n description:\n 'dev and int only: the nightly delete cron deletes every cluster of this org that is older than N hours, with no confirmation. On a sales plan, every org that gets the plan later gets the limit too. For our own test orgs. default = not active',\n isClusterBasedLimit: false,\n validate: (input) => Number.isInteger(input) && input >= 1,\n preprodOnly: true,\n },\n ...allClusterBasedLimits(),\n ]\n}\n\nexport function unusedClusterBasedLimits(limits: ClusterLimits): {\n key: string\n type: 'number' | 'boolean' | 'string'\n description: string\n isClusterBasedLimit: boolean\n}[] {\n return allClusterBasedLimits().filter(\n (current) =>\n !(\n Object.keys(limits).includes(current.key) &&\n (limits as Record<string, unknown>)[current.key] !== null\n ),\n )\n}\n\n/**\n * Returns whether an editor on the stage offers the limit. A `preprodOnly`\n * limit is offered only on dev and int. Every other limit is offered on\n * every stage.\n */\nexport function isLimitOfferedOnStage(\n limit: { preprodOnly?: boolean },\n stage: string,\n): boolean {\n return !limit.preprodOnly || isPreprodClusterTtlStage(stage)\n}\n\n/**\n * Returns the limits that `limits` does not set yet. With a `stage`, it also\n * leaves out the limits that the stage does not offer.\n */\nexport function unusedSalesPlanLimits(\n limits: Limits,\n stage?: string,\n): {\n key: string\n type: 'number' | 'boolean' | 'string'\n description: string\n isClusterBasedLimit: boolean\n}[] {\n return allSalesPlanLimits().filter(\n (current) =>\n !(\n Object.keys(limits).includes(current.key) &&\n (limits as Record<string, unknown>)[current.key] !== null\n ) &&\n (stage === undefined || isLimitOfferedOnStage(current, stage)),\n )\n}\n\n/**\n * Returns the cluster plan uuids of the `clusterPlanWhiteList` limit. A value\n * that is not a string gives no ids, because an old write path did not check\n * the type.\n */\nexport function clusterPlanWhiteListIds(limits: Limits | undefined): string[] {\n const value: unknown = limits?.clusterPlanWhiteList\n if (typeof value !== 'string') {\n return []\n }\n return value\n .split(',')\n .map((id) => id.trim())\n .filter((id) => id.length > 0)\n}\n\n/**\n * Says if unlocked cluster plans work on a stage. They work on local, dev and\n * int. They never work on prod, and an unknown stage reads as off. This is a\n * fixed rule of the stage, not a feature flag, so no row can turn it on for\n * prod.\n */\nexport function isUnlockedClusterPlansStage(stage?: string): boolean {\n return stage === 'local' || stage === 'dev' || stage === 'int'\n}\n\n/**\n * Says if the unlocked cluster plans of the stage offer the limit key. When\n * they are off, `clusterPlanWhiteList` is hidden.\n */\nexport function isLimitKeyEnabled(\n limitKey: string,\n unlockedClusterPlans: boolean,\n): boolean {\n return limitKey !== 'clusterPlanWhiteList' || unlockedClusterPlans\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Where a readiness verdict comes from. Each source leads to a different next
3
+ * step for the reader:
4
+ * - `cluster`: the cluster answered. `cache`: a stored answer of the cluster.
5
+ * - `timeout`, `error`: the cluster did not answer in a usable way.
6
+ * - `unsupported`: Console knows no readiness URL for the cluster.
7
+ * - `suspended`: the cluster sleeps and cannot answer. Resume it first.
8
+ * - `updating`: the cluster still rolls out its last upgrade.
9
+ */
10
+ export type UpgradeReadinessSource = 'cluster' | 'cache' | 'timeout' | 'error' | 'unsupported' | 'suspended' | 'updating';
11
+ export interface UpgradeReadinessState {
12
+ verdict: 'ready' | 'notReady' | 'unknown';
13
+ checkedAtIso: string;
14
+ source: UpgradeReadinessSource;
15
+ }
16
+ /** The upgrade gate of a cluster, and the answer of that gate (PDP-3067). */
17
+ export interface UpgradeReadinessDto {
18
+ /**
19
+ * - `readiness`: the cluster decides, from `UPGRADE_READINESS_MIN_VERSION`.
20
+ * - `gracePeriod`: the 24-hour rule decides, under that floor.
21
+ * - `none`: the org limit `ignoreGracePeriod` lifts the grace period.
22
+ */
23
+ gate: 'none' | 'gracePeriod' | 'readiness';
24
+ canUpgrade: boolean;
25
+ /** Set when the grace period blocks the upgrade. */
26
+ gracePeriod?: {
27
+ waitUntilIso: string;
28
+ hoursRemaining: number;
29
+ };
30
+ /** Set when the gate is `readiness`. */
31
+ readiness?: UpgradeReadinessState;
32
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=UpgradeReadiness.dto.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -50,6 +50,7 @@ export declare enum SystemAuditEntityAttribute {
50
50
  ALPHA_FEATURE_ACTION_LABEL = "Action Label",
51
51
  ALPHA_FEATURE_ACTION_URL = "Action Url",
52
52
  ALPHA_FEATURE_CLICKWRAP = "Clickwrap",
53
+ ALPHA_FEATURE_FEATURE_FLAG_KEY = "Feature Flag Key",
53
54
  ALPHA_FEATURE_SALES_PLAN_TYPE_VISIBILITIES = "Sales Plan Type Visibilities",
54
55
  SALES_PLAN_NAME = "Name",
55
56
  SALES_PLAN_METADATA = "Metadata",
@@ -44,6 +44,7 @@ var SystemAuditEntityAttribute = /* @__PURE__ */ ((SystemAuditEntityAttribute2)
44
44
  SystemAuditEntityAttribute2["ALPHA_FEATURE_ACTION_LABEL"] = "Action Label";
45
45
  SystemAuditEntityAttribute2["ALPHA_FEATURE_ACTION_URL"] = "Action Url";
46
46
  SystemAuditEntityAttribute2["ALPHA_FEATURE_CLICKWRAP"] = "Clickwrap";
47
+ SystemAuditEntityAttribute2["ALPHA_FEATURE_FEATURE_FLAG_KEY"] = "Feature Flag Key";
47
48
  SystemAuditEntityAttribute2["ALPHA_FEATURE_SALES_PLAN_TYPE_VISIBILITIES"] = "Sales Plan Type Visibilities";
48
49
  SystemAuditEntityAttribute2["SALES_PLAN_NAME"] = "Name";
49
50
  SystemAuditEntityAttribute2["SALES_PLAN_METADATA"] = "Metadata";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/enums/SystemAuditEntity.enum.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\n/* eslint-disable no-shadow */\nexport enum SystemAuditEntity {\n GENERATION = 'Generation',\n CHANNEL = 'Channel',\n CLUSTER_PLAN = 'Cluster Plan',\n CLUSTER_PLAN_TYPE = 'Cluster Plan Type',\n ALPHA_FEATURE = 'Alpha Feature',\n SALES_PLAN = 'Sales Plan',\n CLUSTER_PLAN_MODIFICATION = 'Cluster Plan Modification',\n CLUSTER_BULK_OPERATION = 'Cluster Bulk Operation',\n CLUSTER_MODIFICATION = 'Cluster Modification',\n CONNECTION = 'Connection',\n RELEASE_TRAIN = 'Release Train',\n CLUSTER = 'Cluster',\n APPROVAL_JOB = 'Approval Request',\n FEATURE_FLAG = 'Feature Flag',\n}\n\n/**\n * Display strings for audited attributes. The `entity` + `entityAttribute` pair\n * is always the key, so duplicate display values across entities (e.g. several\n * `*_NAME = 'Name'`) are intentional and safe. `*_STATUS = 'Status'` is the\n * lifecycle attribute for the modification/operation entities; its from/to carry\n * the raw lifecycle state.\n */\nexport enum SystemAuditEntityAttribute {\n // Generation\n GENERATION_NAME = 'Name',\n GENERATION_VERSIONS = 'Versions',\n GENERATION_UPGRADEABLE_FROM = 'Upgradeable From',\n GENERATION_UPGRADEABLE_TO = 'Upgradeable To',\n GENERATION_SUPPORTED_UNTIL = 'Supported Until',\n GENERATION_BESPOKE = 'Bespoke',\n GENERATION_ARCHIVED = 'Archived',\n // Channel\n CHANNEL_NAME = 'Name',\n CHANNEL_DESCRIPTION = 'Description',\n CHANNEL_DEFAULT_GENERATION = 'Default Generation',\n CHANNEL_ALLOWED_GENERATIONS = 'Allowed Generations',\n CHANNEL_IS_DEFAULT = 'Is Default',\n // ClusterPlan\n CLUSTER_PLAN_MIGRATABLE_FROM = 'Migratable From',\n CLUSTER_PLAN_PERFORMANCE_EXPECTATIONS = 'Performance Expectations',\n // ClusterPlanType\n CLUSTER_PLAN_TYPE_NAME = 'Name',\n CLUSTER_PLAN_TYPE_DESCRIPTION = 'Description',\n CLUSTER_PLAN_TYPE_DEVELOPMENT = 'Development',\n CLUSTER_PLAN_TYPE_CATEGORY = 'Category',\n CLUSTER_PLAN_TYPE_AVAILABILITY_CLASS = 'Availability Class',\n CLUSTER_PLAN_TYPE_ACTIVE_PLAN = 'Active Plan',\n CLUSTER_PLAN_TYPE_LIMITS = 'Limits',\n // AlphaFeature (EarlyAccessFeature)\n ALPHA_FEATURE_NAME = 'Name',\n ALPHA_FEATURE_AVAILABLE_IN = 'Available In',\n ALPHA_FEATURE_DOCUMENTATION_LINK = 'Documentation Link',\n ALPHA_FEATURE_DESCRIPTION = 'Description',\n ALPHA_FEATURE_ACTION_LABEL = 'Action Label',\n ALPHA_FEATURE_ACTION_URL = 'Action Url',\n ALPHA_FEATURE_CLICKWRAP = 'Clickwrap',\n ALPHA_FEATURE_SALES_PLAN_TYPE_VISIBILITIES = 'Sales Plan Type Visibilities',\n // SalesPlan\n SALES_PLAN_NAME = 'Name',\n SALES_PLAN_METADATA = 'Metadata',\n SALES_PLAN_CLUSTER_PLAN_CONFIGURATION = 'Cluster Plan Configuration',\n SALES_PLAN_VERSION = 'Version',\n // ClusterPlanModification\n CLUSTER_PLAN_MODIFICATION_NAME = 'Name',\n CLUSTER_PLAN_MODIFICATION_DESCRIPTION = 'Description',\n CLUSTER_PLAN_MODIFICATION_CONFIG = 'Config',\n CLUSTER_PLAN_MODIFICATION_CLUSTER_PLANS = 'Cluster Plans',\n CLUSTER_PLAN_MODIFICATION_URL = 'Url',\n CLUSTER_PLAN_MODIFICATION_STATUS = 'Status',\n // ClusterBulkOperation\n CLUSTER_BULK_OPERATION_CLUSTERS = 'Clusters',\n CLUSTER_BULK_OPERATION_STATUS = 'Status',\n // ClusterModification (parent + config)\n CLUSTER_MODIFICATION_DESCRIPTION = 'Description',\n CLUSTER_MODIFICATION_URL = 'Url',\n CLUSTER_MODIFICATION_PLAN_MODIFICATIONS = 'Plan Modifications',\n CLUSTER_MODIFICATION_EXPIRES_AT = 'Expires At',\n CLUSTER_MODIFICATION_STATUS = 'Status',\n // Connection\n CONNECTION_NAME = 'Name',\n CONNECTION_STRATEGY = 'Strategy',\n CONNECTION_CONFIGURATION = 'Configuration',\n // Cluster (internal-only lifecycle actions with no customer-facing audit)\n CLUSTER_IP_ALLOWLIST = 'IP Allowlist',\n CLUSTER_ENV_VAR_OVERRIDE = 'Environment Variable Override',\n // A cluster plan modification that was applied to (and updated) this cluster.\n CLUSTER_APPLIED_PLAN_MODIFICATION = 'Plan Modification',\n // ApprovalJob. Every change of state of a four-eyes request is audited, not\n // only the run: the value of the trail is the answer to \"who decided what,\n // and when\", and a record of the outcome alone cannot give it.\n APPROVAL_JOB_STATUS = 'Status',\n APPROVAL_JOB_ACKS = 'Approvals',\n APPROVAL_JOB_CLOSED_REASON = 'Closure Reason',\n // FeatureFlag. One attribute for the whole row: the trail keeps the row\n // before and after, and the diff of the two shows what changed.\n FEATURE_FLAG_ROW = 'Row',\n}\n"],
5
- "mappings": "AAOO,IAAK,oBAAL,kBAAKA,uBAAL;AACL,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,aAAU;AACV,EAAAA,mBAAA,kBAAe;AACf,EAAAA,mBAAA,uBAAoB;AACpB,EAAAA,mBAAA,mBAAgB;AAChB,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,+BAA4B;AAC5B,EAAAA,mBAAA,4BAAyB;AACzB,EAAAA,mBAAA,0BAAuB;AACvB,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,mBAAgB;AAChB,EAAAA,mBAAA,aAAU;AACV,EAAAA,mBAAA,kBAAe;AACf,EAAAA,mBAAA,kBAAe;AAdL,SAAAA;AAAA,GAAA;AAwBL,IAAK,6BAAL,kBAAKC,gCAAL;AAEL,EAAAA,4BAAA,qBAAkB;AAClB,EAAAA,4BAAA,yBAAsB;AACtB,EAAAA,4BAAA,iCAA8B;AAC9B,EAAAA,4BAAA,+BAA4B;AAC5B,EAAAA,4BAAA,gCAA6B;AAC7B,EAAAA,4BAAA,wBAAqB;AACrB,EAAAA,4BAAA,yBAAsB;AAEtB,EAAAA,4BAAA,kBAAe;AACf,EAAAA,4BAAA,yBAAsB;AACtB,EAAAA,4BAAA,gCAA6B;AAC7B,EAAAA,4BAAA,iCAA8B;AAC9B,EAAAA,4BAAA,wBAAqB;AAErB,EAAAA,4BAAA,kCAA+B;AAC/B,EAAAA,4BAAA,2CAAwC;AAExC,EAAAA,4BAAA,4BAAyB;AACzB,EAAAA,4BAAA,mCAAgC;AAChC,EAAAA,4BAAA,mCAAgC;AAChC,EAAAA,4BAAA,gCAA6B;AAC7B,EAAAA,4BAAA,0CAAuC;AACvC,EAAAA,4BAAA,mCAAgC;AAChC,EAAAA,4BAAA,8BAA2B;AAE3B,EAAAA,4BAAA,wBAAqB;AACrB,EAAAA,4BAAA,gCAA6B;AAC7B,EAAAA,4BAAA,sCAAmC;AACnC,EAAAA,4BAAA,+BAA4B;AAC5B,EAAAA,4BAAA,gCAA6B;AAC7B,EAAAA,4BAAA,8BAA2B;AAC3B,EAAAA,4BAAA,6BAA0B;AAC1B,EAAAA,4BAAA,gDAA6C;AAE7C,EAAAA,4BAAA,qBAAkB;AAClB,EAAAA,4BAAA,yBAAsB;AACtB,EAAAA,4BAAA,2CAAwC;AACxC,EAAAA,4BAAA,wBAAqB;AAErB,EAAAA,4BAAA,oCAAiC;AACjC,EAAAA,4BAAA,2CAAwC;AACxC,EAAAA,4BAAA,sCAAmC;AACnC,EAAAA,4BAAA,6CAA0C;AAC1C,EAAAA,4BAAA,mCAAgC;AAChC,EAAAA,4BAAA,sCAAmC;AAEnC,EAAAA,4BAAA,qCAAkC;AAClC,EAAAA,4BAAA,mCAAgC;AAEhC,EAAAA,4BAAA,sCAAmC;AACnC,EAAAA,4BAAA,8BAA2B;AAC3B,EAAAA,4BAAA,6CAA0C;AAC1C,EAAAA,4BAAA,qCAAkC;AAClC,EAAAA,4BAAA,iCAA8B;AAE9B,EAAAA,4BAAA,qBAAkB;AAClB,EAAAA,4BAAA,yBAAsB;AACtB,EAAAA,4BAAA,8BAA2B;AAE3B,EAAAA,4BAAA,0BAAuB;AACvB,EAAAA,4BAAA,8BAA2B;AAE3B,EAAAA,4BAAA,uCAAoC;AAIpC,EAAAA,4BAAA,yBAAsB;AACtB,EAAAA,4BAAA,uBAAoB;AACpB,EAAAA,4BAAA,gCAA6B;AAG7B,EAAAA,4BAAA,sBAAmB;AAzET,SAAAA;AAAA,GAAA;",
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\n/* eslint-disable no-shadow */\nexport enum SystemAuditEntity {\n GENERATION = 'Generation',\n CHANNEL = 'Channel',\n CLUSTER_PLAN = 'Cluster Plan',\n CLUSTER_PLAN_TYPE = 'Cluster Plan Type',\n ALPHA_FEATURE = 'Alpha Feature',\n SALES_PLAN = 'Sales Plan',\n CLUSTER_PLAN_MODIFICATION = 'Cluster Plan Modification',\n CLUSTER_BULK_OPERATION = 'Cluster Bulk Operation',\n CLUSTER_MODIFICATION = 'Cluster Modification',\n CONNECTION = 'Connection',\n RELEASE_TRAIN = 'Release Train',\n CLUSTER = 'Cluster',\n APPROVAL_JOB = 'Approval Request',\n FEATURE_FLAG = 'Feature Flag',\n}\n\n/**\n * Display strings for audited attributes. The `entity` + `entityAttribute` pair\n * is always the key, so duplicate display values across entities (e.g. several\n * `*_NAME = 'Name'`) are intentional and safe. `*_STATUS = 'Status'` is the\n * lifecycle attribute for the modification/operation entities; its from/to carry\n * the raw lifecycle state.\n */\nexport enum SystemAuditEntityAttribute {\n // Generation\n GENERATION_NAME = 'Name',\n GENERATION_VERSIONS = 'Versions',\n GENERATION_UPGRADEABLE_FROM = 'Upgradeable From',\n GENERATION_UPGRADEABLE_TO = 'Upgradeable To',\n GENERATION_SUPPORTED_UNTIL = 'Supported Until',\n GENERATION_BESPOKE = 'Bespoke',\n GENERATION_ARCHIVED = 'Archived',\n // Channel\n CHANNEL_NAME = 'Name',\n CHANNEL_DESCRIPTION = 'Description',\n CHANNEL_DEFAULT_GENERATION = 'Default Generation',\n CHANNEL_ALLOWED_GENERATIONS = 'Allowed Generations',\n CHANNEL_IS_DEFAULT = 'Is Default',\n // ClusterPlan\n CLUSTER_PLAN_MIGRATABLE_FROM = 'Migratable From',\n CLUSTER_PLAN_PERFORMANCE_EXPECTATIONS = 'Performance Expectations',\n // ClusterPlanType\n CLUSTER_PLAN_TYPE_NAME = 'Name',\n CLUSTER_PLAN_TYPE_DESCRIPTION = 'Description',\n CLUSTER_PLAN_TYPE_DEVELOPMENT = 'Development',\n CLUSTER_PLAN_TYPE_CATEGORY = 'Category',\n CLUSTER_PLAN_TYPE_AVAILABILITY_CLASS = 'Availability Class',\n CLUSTER_PLAN_TYPE_ACTIVE_PLAN = 'Active Plan',\n CLUSTER_PLAN_TYPE_LIMITS = 'Limits',\n // AlphaFeature (EarlyAccessFeature)\n ALPHA_FEATURE_NAME = 'Name',\n ALPHA_FEATURE_AVAILABLE_IN = 'Available In',\n ALPHA_FEATURE_DOCUMENTATION_LINK = 'Documentation Link',\n ALPHA_FEATURE_DESCRIPTION = 'Description',\n ALPHA_FEATURE_ACTION_LABEL = 'Action Label',\n ALPHA_FEATURE_ACTION_URL = 'Action Url',\n ALPHA_FEATURE_CLICKWRAP = 'Clickwrap',\n ALPHA_FEATURE_FEATURE_FLAG_KEY = 'Feature Flag Key',\n ALPHA_FEATURE_SALES_PLAN_TYPE_VISIBILITIES = 'Sales Plan Type Visibilities',\n // SalesPlan\n SALES_PLAN_NAME = 'Name',\n SALES_PLAN_METADATA = 'Metadata',\n SALES_PLAN_CLUSTER_PLAN_CONFIGURATION = 'Cluster Plan Configuration',\n SALES_PLAN_VERSION = 'Version',\n // ClusterPlanModification\n CLUSTER_PLAN_MODIFICATION_NAME = 'Name',\n CLUSTER_PLAN_MODIFICATION_DESCRIPTION = 'Description',\n CLUSTER_PLAN_MODIFICATION_CONFIG = 'Config',\n CLUSTER_PLAN_MODIFICATION_CLUSTER_PLANS = 'Cluster Plans',\n CLUSTER_PLAN_MODIFICATION_URL = 'Url',\n CLUSTER_PLAN_MODIFICATION_STATUS = 'Status',\n // ClusterBulkOperation\n CLUSTER_BULK_OPERATION_CLUSTERS = 'Clusters',\n CLUSTER_BULK_OPERATION_STATUS = 'Status',\n // ClusterModification (parent + config)\n CLUSTER_MODIFICATION_DESCRIPTION = 'Description',\n CLUSTER_MODIFICATION_URL = 'Url',\n CLUSTER_MODIFICATION_PLAN_MODIFICATIONS = 'Plan Modifications',\n CLUSTER_MODIFICATION_EXPIRES_AT = 'Expires At',\n CLUSTER_MODIFICATION_STATUS = 'Status',\n // Connection\n CONNECTION_NAME = 'Name',\n CONNECTION_STRATEGY = 'Strategy',\n CONNECTION_CONFIGURATION = 'Configuration',\n // Cluster (internal-only lifecycle actions with no customer-facing audit)\n CLUSTER_IP_ALLOWLIST = 'IP Allowlist',\n CLUSTER_ENV_VAR_OVERRIDE = 'Environment Variable Override',\n // A cluster plan modification that was applied to (and updated) this cluster.\n CLUSTER_APPLIED_PLAN_MODIFICATION = 'Plan Modification',\n // ApprovalJob. Every change of state of a four-eyes request is audited, not\n // only the run: the value of the trail is the answer to \"who decided what,\n // and when\", and a record of the outcome alone cannot give it.\n APPROVAL_JOB_STATUS = 'Status',\n APPROVAL_JOB_ACKS = 'Approvals',\n APPROVAL_JOB_CLOSED_REASON = 'Closure Reason',\n // FeatureFlag. One attribute for the whole row: the trail keeps the row\n // before and after, and the diff of the two shows what changed.\n FEATURE_FLAG_ROW = 'Row',\n}\n"],
5
+ "mappings": "AAOO,IAAK,oBAAL,kBAAKA,uBAAL;AACL,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,aAAU;AACV,EAAAA,mBAAA,kBAAe;AACf,EAAAA,mBAAA,uBAAoB;AACpB,EAAAA,mBAAA,mBAAgB;AAChB,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,+BAA4B;AAC5B,EAAAA,mBAAA,4BAAyB;AACzB,EAAAA,mBAAA,0BAAuB;AACvB,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,mBAAgB;AAChB,EAAAA,mBAAA,aAAU;AACV,EAAAA,mBAAA,kBAAe;AACf,EAAAA,mBAAA,kBAAe;AAdL,SAAAA;AAAA,GAAA;AAwBL,IAAK,6BAAL,kBAAKC,gCAAL;AAEL,EAAAA,4BAAA,qBAAkB;AAClB,EAAAA,4BAAA,yBAAsB;AACtB,EAAAA,4BAAA,iCAA8B;AAC9B,EAAAA,4BAAA,+BAA4B;AAC5B,EAAAA,4BAAA,gCAA6B;AAC7B,EAAAA,4BAAA,wBAAqB;AACrB,EAAAA,4BAAA,yBAAsB;AAEtB,EAAAA,4BAAA,kBAAe;AACf,EAAAA,4BAAA,yBAAsB;AACtB,EAAAA,4BAAA,gCAA6B;AAC7B,EAAAA,4BAAA,iCAA8B;AAC9B,EAAAA,4BAAA,wBAAqB;AAErB,EAAAA,4BAAA,kCAA+B;AAC/B,EAAAA,4BAAA,2CAAwC;AAExC,EAAAA,4BAAA,4BAAyB;AACzB,EAAAA,4BAAA,mCAAgC;AAChC,EAAAA,4BAAA,mCAAgC;AAChC,EAAAA,4BAAA,gCAA6B;AAC7B,EAAAA,4BAAA,0CAAuC;AACvC,EAAAA,4BAAA,mCAAgC;AAChC,EAAAA,4BAAA,8BAA2B;AAE3B,EAAAA,4BAAA,wBAAqB;AACrB,EAAAA,4BAAA,gCAA6B;AAC7B,EAAAA,4BAAA,sCAAmC;AACnC,EAAAA,4BAAA,+BAA4B;AAC5B,EAAAA,4BAAA,gCAA6B;AAC7B,EAAAA,4BAAA,8BAA2B;AAC3B,EAAAA,4BAAA,6BAA0B;AAC1B,EAAAA,4BAAA,oCAAiC;AACjC,EAAAA,4BAAA,gDAA6C;AAE7C,EAAAA,4BAAA,qBAAkB;AAClB,EAAAA,4BAAA,yBAAsB;AACtB,EAAAA,4BAAA,2CAAwC;AACxC,EAAAA,4BAAA,wBAAqB;AAErB,EAAAA,4BAAA,oCAAiC;AACjC,EAAAA,4BAAA,2CAAwC;AACxC,EAAAA,4BAAA,sCAAmC;AACnC,EAAAA,4BAAA,6CAA0C;AAC1C,EAAAA,4BAAA,mCAAgC;AAChC,EAAAA,4BAAA,sCAAmC;AAEnC,EAAAA,4BAAA,qCAAkC;AAClC,EAAAA,4BAAA,mCAAgC;AAEhC,EAAAA,4BAAA,sCAAmC;AACnC,EAAAA,4BAAA,8BAA2B;AAC3B,EAAAA,4BAAA,6CAA0C;AAC1C,EAAAA,4BAAA,qCAAkC;AAClC,EAAAA,4BAAA,iCAA8B;AAE9B,EAAAA,4BAAA,qBAAkB;AAClB,EAAAA,4BAAA,yBAAsB;AACtB,EAAAA,4BAAA,8BAA2B;AAE3B,EAAAA,4BAAA,0BAAuB;AACvB,EAAAA,4BAAA,8BAA2B;AAE3B,EAAAA,4BAAA,uCAAoC;AAIpC,EAAAA,4BAAA,yBAAsB;AACtB,EAAAA,4BAAA,uBAAoB;AACpB,EAAAA,4BAAA,gCAA6B;AAG7B,EAAAA,4BAAA,sBAAmB;AA1ET,SAAAA;AAAA,GAAA;",
6
6
  "names": ["SystemAuditEntity", "SystemAuditEntityAttribute"]
7
7
  }
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { CUSTOMER_HARDWARE_SIZING_BROKER_TOTAL_CAPS, CUSTOMER_HARDWARE_SIZING_COUNT_CAPS, CUSTOMER_HARDWARE_SIZING_ELASTICSEARCH_TOTAL_CAPS, CUSTOMER_HARDWARE_SIZING_MAX_AUTO_RESIZE_INCREASE_GI, CUSTOMER_HARDWARE_SIZING_MAX_PLAN_JSON_LENGTH, CUSTOMER_HARDWARE_SIZING_MAX_PLANS_PER_REQUESTER, CUSTOMER_HARDWARE_SIZING_NAME_MAX_LENGTH, CUSTOMER_HARDWARE_SIZING_NAME_MIN_LENGTH, CUSTOMER_HARDWARE_SIZING_REPLICA_SET_TOTAL_CAPS, CUSTOMER_HARDWARE_SIZING_RESOURCE_CAPS, checkCustomerHardwareSizing, isCustomerHardwareSizingStage, parseKubernetesQuantity, } from './constants/customer-hardware-sizing.const.js';
1
2
  export { DAY, HOUR, MINUTE, SECOND, WEEK } from './constants/duration.const.js';
2
3
  export type { Stage } from './constants/misc.const.js';
3
4
  export { CAMUNDA_CLAIMS_NAMESPACE, CONSOLE_API_USER_ID, FIRSTNAME_LASTNAME_MAX_LENGTH, HOTBACKUP_MIN_CREATE_PERIOD, MAX_HARDWARE_PACKAGE_COUNT, MAX_LENGTH_CLUSTER_NAME, MINIMUM_EYEPAIRS, NAMES_OF_ENTERPRISE_SALESPLANS_WITH_SLEEPING_CLUSTERS, SECRETS_MAX_LENGTH, STARTING_PRICE_PER_MONTH_IN_EURO, TEMPORARY_CLUSTER_NAME, UNKNOWN_ACTOR_EMAIL, } from './constants/misc.const.js';
@@ -7,7 +8,7 @@ export { SECURE_CONNECTIVITY_ALLOWED_ENTRIES_LIMIT } from './constants/secureCon
7
8
  export type { TrialExtensionSurveyAnswer, TrialExtensionSurveyQuestion, } from './constants/trialExtensionSurvey.const.js';
8
9
  export { TRIAL_EXTENSION_SURVEY_QUESTIONS } from './constants/trialExtensionSurvey.const.js';
9
10
  export { V2_BODY_IDS_MAX, V2_FILTER_IDS_MAX, V2_MAX_PAGE_LIMIT, } from './constants/v2-list.const.js';
10
- export { ADMIN_APP_RENAME_MIN_VERSION, APP_INTEGRATIONS_89_STREAM_CONNECTOR_BRIDGE_MIN_VERSION, APP_INTEGRATIONS_89_STREAM_MINOR, APP_INTEGRATIONS_89_STREAM_ZEEBE_MIN_VERSION, APP_INTEGRATIONS_MIN_VERSION, AUDIT_LOG_TAB_MIN_VERSION, AUTHORIZATION_TOGGLE_MIN_VERSION, AWS_ONLY_GENERATION_MIN_VERSION, BUSINESS_ID_UNIQUENESS_MIN_VERSION, BYOIDP_MIN_VERSION, CLUSTER_SECRETS_LABEL_MIN_VERSION, CLUSTER_STATISTICS_CONFIG_MIN_VERSION, CONNECTOR_MANAGEMENT_METRICS_MIN_VERSION, CONNECTOR_SECRET_SYNC_MIN_VERSION, CONNECTORS_MANAGEMENT_LINK_MIN_VERSION, ENFORCE_GROUPS_TASKLIST_V2_HIDDEN_MIN_VERSION, ENFORCE_GROUPS_TOGGLE_MIN_VERSION, GATEWAY_SPEC_8_9_MIN_VERSION, HOT_BACKUP_MIN_VERSION, IDENTITY_AUTHORIZATION_MIN_VERSION, IDENTITY_AUTHORIZATION_NOTICE_MAX_VERSION, IDENTITY_MANAGEMENT_MIN_VERSION, INTERNAL_CONNECTORS_MANAGEMENT_MIN_VERSION, JOB_DASHBOARD_MIN_VERSION, LINE_8_9_MIN_VERSION, LINE_8_10_MIN_VERSION, MCP_MIN_VERSION, MULTI_TENANCY_TOGGLE_MIN_VERSION, NEW_CLUSTER_ROLES_MIN_VERSION, OPTIMIZE_DEFAULT_ON_MIN_VERSION, OPTIMIZE_FILTERING_MIN_VERSION, OPTIONAL_TELEMETRY_MIN_VERSION, RESOURCE_BASED_AUTHORIZATIONS_MIN_VERSION, REST_API_URL_TRANSFORM_MIN_VERSION, REST_API_V2_MIN_VERSION, RESUME_ALPHA_MIN_VERSION, SECRET_SOURCE_MIN_VERSION, SECRETS_FILTER_MODE_8_6_MIN_VERSION, SECRETS_FILTER_MODE_8_7_MIN_VERSION, SECRETS_FILTER_MODE_8_8_MIN_VERSION, SECRETS_FILTER_MODE_8_9_MIN_VERSION, SECRETS_FILTER_MODE_8_10_MIN_VERSION, SESSION_CONFIG_MIN_VERSION, SWAGGER_MIN_VERSION, SWAGGER_URL_8_9_MIN_VERSION, TASKLIST_MODE_TOGGLE_MIN_VERSION, TASKLIST_UPGRADE_BANNER_MIN_VERSION, TASKLIST_V2_AUTO_ENABLE_FROM_MINOR, TASKLIST_V2_AUTO_ENABLE_TO_MINOR, TASKLIST_V2_DEFAULT_ON_MIN_VERSION, TASKLIST_V2_SETTING_MAX_VERSION, TASKLIST_V2_UPGRADE_MIN_VERSION, TASKLIST_V2_UPGRADE_TARGET_MIN_VERSION, ZEEBE_REST_URL_MIN_VERSION, } from './constants/version-gates.const.js';
11
+ export { ADMIN_APP_RENAME_MIN_VERSION, APP_INTEGRATIONS_89_STREAM_CONNECTOR_BRIDGE_MIN_VERSION, APP_INTEGRATIONS_89_STREAM_MINOR, APP_INTEGRATIONS_89_STREAM_ZEEBE_MIN_VERSION, APP_INTEGRATIONS_MIN_VERSION, AUDIT_LOG_TAB_MIN_VERSION, AUTHORIZATION_TOGGLE_MIN_VERSION, AWS_ONLY_GENERATION_MIN_VERSION, BUSINESS_ID_UNIQUENESS_MIN_VERSION, BYOIDP_MIN_VERSION, CLUSTER_SECRETS_LABEL_MIN_VERSION, CLUSTER_STATISTICS_CONFIG_MIN_VERSION, CONNECTOR_MANAGEMENT_METRICS_MIN_VERSION, CONNECTOR_SECRET_SYNC_MIN_VERSION, CONNECTORS_MANAGEMENT_LINK_MIN_VERSION, ENFORCE_GROUPS_TASKLIST_V2_HIDDEN_MIN_VERSION, ENFORCE_GROUPS_TOGGLE_MIN_VERSION, GATEWAY_SPEC_8_9_MIN_VERSION, HOT_BACKUP_MIN_VERSION, IDENTITY_AUTHORIZATION_MIN_VERSION, IDENTITY_AUTHORIZATION_NOTICE_MAX_VERSION, IDENTITY_MANAGEMENT_MIN_VERSION, INTERNAL_CONNECTORS_MANAGEMENT_MIN_VERSION, JOB_DASHBOARD_MIN_VERSION, LINE_8_9_MIN_VERSION, LINE_8_10_MIN_VERSION, MCP_MIN_VERSION, MULTI_TENANCY_TOGGLE_MIN_VERSION, NEW_CLUSTER_ROLES_MIN_VERSION, OPTIMIZE_DEFAULT_ON_MIN_VERSION, OPTIMIZE_FILTERING_MIN_VERSION, OPTIONAL_TELEMETRY_MIN_VERSION, RESOURCE_BASED_AUTHORIZATIONS_MIN_VERSION, REST_API_URL_TRANSFORM_MIN_VERSION, REST_API_V2_MIN_VERSION, RESUME_ALPHA_MIN_VERSION, SECRET_SOURCE_MIN_VERSION, SECRETS_FILTER_MODE_8_6_MIN_VERSION, SECRETS_FILTER_MODE_8_7_MIN_VERSION, SECRETS_FILTER_MODE_8_8_MIN_VERSION, SECRETS_FILTER_MODE_8_9_MIN_VERSION, SECRETS_FILTER_MODE_8_10_MIN_VERSION, SESSION_CONFIG_MIN_VERSION, SWAGGER_MIN_VERSION, SWAGGER_URL_8_9_MIN_VERSION, TASKLIST_MODE_TOGGLE_MIN_VERSION, TASKLIST_UPGRADE_BANNER_MIN_VERSION, TASKLIST_V2_AUTO_ENABLE_FROM_MINOR, TASKLIST_V2_AUTO_ENABLE_TO_MINOR, TASKLIST_V2_DEFAULT_ON_MIN_VERSION, TASKLIST_V2_SETTING_MAX_VERSION, TASKLIST_V2_UPGRADE_MIN_VERSION, TASKLIST_V2_UPGRADE_TARGET_MIN_VERSION, UPGRADE_READINESS_MIN_VERSION, ZEEBE_REST_URL_MIN_VERSION, } from './constants/version-gates.const.js';
11
12
  export type { AnnotationActorView, AnnotationDecision, AnnotationDenialCode, } from './annotations/policy.js';
12
13
  export { ANNOTATION_DENIAL_MESSAGES, canEditNote, canRemove, checkNoteBody, checkTagName, isAuthor, } from './annotations/policy.js';
13
14
  export type { ClusterBulkClusterResultDto, ClusterBulkFinalStatus, ClusterBulkGenerationUpdateSettings, ClusterBulkOperationPayloadDto, ClusterBulkOperationRule, ClusterBulkPlanTypeUpdateSettings, ClusterBulkPlanUpdateSettings, ClusterBulkSettingsByType, ClusterBulkSleepWakeupSettings, ClusterBulkStepRequestDto, ClusterBulkStepResultDto, ClusterBulkTargetDto, } from './approvals/cluster-bulk-operation.js';
@@ -18,7 +19,7 @@ export { isSameApprovalValue, staleApprovalKeys, } from './approvals/expected-va
18
19
  export type { ApprovalActorView, ApprovalDecision, ApprovalDenialCode, } from './approvals/policy.js';
19
20
  export { approvalPermissionCheck, canAcknowledge, canCreate, canExecute, canReject, canView, canWithdraw, effectiveStatus, hasActorEmail, hasEveryPermission, isExpired, isSameActor, isSameActorEmail, remainingAcks, requiredPermissionsOf, resolveRequiredAcks, } from './approvals/policy.js';
20
21
  export type { ApprovalUseCaseType } from './approvals/use-cases.const.js';
21
- export { APPROVAL_EMAIL_MAX_LENGTH, APPROVAL_EMAIL_PATTERN, APPROVAL_USE_CASE_TYPES, EXTEND_TRIAL_MAX_DAYS, EXTEND_TRIAL_MIN_DAYS, FEATURE_FLAG_MIN_ACKS_PROD, ORG_LIMIT_TEXT_MAX_LENGTH, PLATFORM_ROLE_CHANGE_MAX_ROLES, PURGE_USERS_MAX_USERS, PURGE_USERS_REQUIRED_PERMISSIONS, USER_METADATA_EXPECTED_MAX_LENGTH, USER_METADATA_MAX_LENGTH, } from './approvals/use-cases.const.js';
22
+ export { APPROVAL_EMAIL_MAX_LENGTH, APPROVAL_EMAIL_PATTERN, APPROVAL_USE_CASE_TYPES, EXTEND_TRIAL_MAX_DAYS, EXTEND_TRIAL_MIN_DAYS, FEATURE_FLAG_MIN_ACKS_PROD, ORG_LIMIT_TEXT_MAX_LENGTH, PERSONAL_ORGANIZATION_MAX_PER_REQUESTER, PERSONAL_ORGANIZATION_NAME_MAX_LENGTH, PERSONAL_ORGANIZATION_NAME_MIN_LENGTH, PLATFORM_ROLE_CHANGE_MAX_ROLES, PURGE_USERS_MAX_USERS, PURGE_USERS_REQUIRED_PERMISSIONS, USER_METADATA_EXPECTED_MAX_LENGTH, USER_METADATA_MAX_LENGTH, } from './approvals/use-cases.const.js';
22
23
  export { CHART_DAY_GRAIN_MAX_DAYS, CHART_FILTER_MAX_LENGTH, CHART_GRAIN_DEFAULT, CHART_GRAINS, CHART_ID_MAX_LENGTH, CHART_METRICS, CHART_OTHER_SERIES_KEY, CHART_QUERY_MAX_LENGTH, CHART_TOP_DEFAULT, CHART_TOP_MAX, CHART_UNKNOWN_SERIES_KEY, CHART_WINDOW_AMOUNT_MAX, CHART_WINDOW_DEFAULT, CHART_WINDOW_UNITS, type ChartDimensionSpec, type ChartGrain, type ChartMetricSpec, type ChartPoint, type ChartQueryCheck, ChartQueryError, type ChartQueryErrorKind, type ChartQueryOptions, type ChartResult, type ChartSeries, type ChartSpec, type ChartUnit, type ChartWindow, type ChartWindowUnit, chartBucketStart, chartToday, chartWindowRange, findChartDimension, findChartMetric, formatChartSpec, isChartQueryError, parseChartQuery, readChartSpec, validateChartSpec, } from './charts/index.js';
23
24
  export { DASHBOARD_TILE_DEFAULT_SIZE, dashboardDefinitionBytes, dashboardDefinitionFits, dashboardTileDefaultSize, emptyDashboardDefinition, isSafeDashboardLink, placeNewTile, placeNewTiles, tilesOverlap, toStoredDashboardDefinition, upgradeDashboardDefinition, } from './dashboards/definition.js';
24
25
  export type { ALERT_SUBSCRIPTION_REPORT_TYPES, ALERT_SUBSCRIPTION_TYPES, AlertSubscriptionDto, AlertSubscriptionEntryDto, AlertSubscriptionWebhookAuth, CheckFailedReason, } from './dtos/AlertSubscription.dto.js';
@@ -39,6 +40,7 @@ export type { ClusterIpWhitelistDto } from './dtos/ClusterIpWhitelist.dto.js';
39
40
  export type { MoveClusterOwnerResult, MoveClusterWarnings, } from './dtos/ClusterOwnerMove.dto.js';
40
41
  export type { ClusterPlanDto } from './dtos/ClusterPlan.dto.js';
41
42
  export type { ClusterPlanTypeDto } from './dtos/ClusterPlanType.dto.js';
43
+ export type { ChangeClusterPlanTypeResult } from './dtos/ClusterPlanTypeChange.dto.js';
42
44
  export type { ClusterSpecChange, ClusterSpecChangeActor, ClusterSpecHistory, } from './dtos/ClusterSpecHistory.dto.js';
43
45
  export type { CommonClusterDto, ExternalIdpConfig, OptimizeFilteringConfig, OptimizeFilteringIncludeExclude, OptimizeFilteringPatch, SecretsFilterMode, } from './dtos/CommonCluster.dto.js';
44
46
  export type { ConsoleClusterDto } from './dtos/ConsoleCluster.dto.js';
@@ -59,15 +61,17 @@ export type { OrganizationToSalesPlanDto } from './dtos/OrganizationToSalesPlan.
59
61
  export type { ReleaseTrainSanityReport, SanityFix, SanityRuleInfo, SanitySeverity, SanityViolation, } from './dtos/ReleaseTrainSanity.dto.js';
60
62
  export type { RestoreDto, RestoreState } from './dtos/Restore.dto.js';
61
63
  export type { ClusterLimits, ConsumptionDataItem, Limits, SalesPlanDto, SalesPlanMetadata, } from './dtos/SalesPlan.dto.js';
62
- export { allClusterBasedLimits, allSalesPlanLimits, deprecatedLimit, isLimitOfferedOnStage, MAX_CLUSTER_CLIENTS_DEFAULT, MAX_CLUSTER_CLIENTS_DEV, RETENTION_LIMIT_DEFAULT, RETENTION_LIMIT_MAXIMUM, RETENTION_LIMIT_MINIMUM, unusedClusterBasedLimits, unusedSalesPlanLimits, } from './dtos/SalesPlan.dto.js';
64
+ export { allClusterBasedLimits, allSalesPlanLimits, clusterPlanWhiteListIds, deprecatedLimit, isLimitKeyEnabled, isLimitOfferedOnStage, isUnlockedClusterPlansStage, MAX_CLUSTER_CLIENTS_DEFAULT, MAX_CLUSTER_CLIENTS_DEV, RETENTION_LIMIT_DEFAULT, RETENTION_LIMIT_MAXIMUM, RETENTION_LIMIT_MINIMUM, unusedClusterBasedLimits, unusedSalesPlanLimits, } from './dtos/SalesPlan.dto.js';
63
65
  export type { SecureConnectivityDto } from './dtos/SecureConnectivity.dto.js';
64
66
  export type { SignupDto } from './dtos/Signup.dto.js';
65
67
  export type { StorybookConfig, StorybookConfigBackup, StorybookConfigChannel, StorybookConfigDatacenter, StorybookConfigGeneration, } from './dtos/StorybookConfig.dto.js';
66
68
  export type { SystemAuditDto } from './dtos/SystemAudit.dto.js';
69
+ export type { UpgradeReadinessDto, UpgradeReadinessSource, UpgradeReadinessState, } from './dtos/UpgradeReadiness.dto.js';
67
70
  export type { UsageAlertDto } from './dtos/UsageAlert.dto.js';
68
71
  export { UsageAlertInitValues, UsageAlertMetric, UsageAlertThresholdLimits, } from './dtos/UsageAlert.dto.js';
69
72
  export type { UserMetaDataDto } from './dtos/UserMetaData.dto.js';
70
73
  export { type AndNode, CLUSTER_DEFAULT_SEARCH_FIELDS, CLUSTER_SEARCH_FIELDS, type CompileContext, type CompiledQuery, compileQuery, type FieldBinding, findSearchField, idSetPredicate, isLuceneQueryError, joinIdSet, LuceneQueryError, likeArgument, type NotNode, ORG_DEFAULT_SEARCH_FIELDS, ORGANIZATION_SEARCH_FIELDS, type OrNode, parseLuceneQuery, type QueryNode, type RangeNode, type SearchFieldCapability, type SearchFieldSpec, type SearchFieldType, type SearchTermOperator, type SqlDialect, type TermNode, } from './search/index.js';
74
+ export { upgradeGateReason } from './utils/upgradeGateReason.utils.js';
71
75
  export { AlertSubscriptionReportType, AlertSubscriptionType, } from './enums/AlertSubscription.enum.js';
72
76
  export { AuditEntity, AuditEntityAttribute } from './enums/AuditEntity.enum.js';
73
77
  export { AuditService } from './enums/AuditService.enum.js';
package/dist/index.js CHANGED
@@ -1,3 +1,18 @@
1
+ import {
2
+ CUSTOMER_HARDWARE_SIZING_BROKER_TOTAL_CAPS,
3
+ CUSTOMER_HARDWARE_SIZING_COUNT_CAPS,
4
+ CUSTOMER_HARDWARE_SIZING_ELASTICSEARCH_TOTAL_CAPS,
5
+ CUSTOMER_HARDWARE_SIZING_MAX_AUTO_RESIZE_INCREASE_GI,
6
+ CUSTOMER_HARDWARE_SIZING_MAX_PLAN_JSON_LENGTH,
7
+ CUSTOMER_HARDWARE_SIZING_MAX_PLANS_PER_REQUESTER,
8
+ CUSTOMER_HARDWARE_SIZING_NAME_MAX_LENGTH,
9
+ CUSTOMER_HARDWARE_SIZING_NAME_MIN_LENGTH,
10
+ CUSTOMER_HARDWARE_SIZING_REPLICA_SET_TOTAL_CAPS,
11
+ CUSTOMER_HARDWARE_SIZING_RESOURCE_CAPS,
12
+ checkCustomerHardwareSizing,
13
+ isCustomerHardwareSizingStage,
14
+ parseKubernetesQuantity
15
+ } from "./constants/customer-hardware-sizing.const.js";
1
16
  import { DAY, HOUR, MINUTE, SECOND, WEEK } from "./constants/duration.const.js";
2
17
  import {
3
18
  CAMUNDA_CLAIMS_NAMESPACE,
@@ -85,6 +100,7 @@ import {
85
100
  TASKLIST_V2_SETTING_MAX_VERSION,
86
101
  TASKLIST_V2_UPGRADE_MIN_VERSION,
87
102
  TASKLIST_V2_UPGRADE_TARGET_MIN_VERSION,
103
+ UPGRADE_READINESS_MIN_VERSION,
88
104
  ZEEBE_REST_URL_MIN_VERSION
89
105
  } from "./constants/version-gates.const.js";
90
106
  import {
@@ -144,6 +160,9 @@ import {
144
160
  EXTEND_TRIAL_MIN_DAYS,
145
161
  FEATURE_FLAG_MIN_ACKS_PROD,
146
162
  ORG_LIMIT_TEXT_MAX_LENGTH,
163
+ PERSONAL_ORGANIZATION_MAX_PER_REQUESTER,
164
+ PERSONAL_ORGANIZATION_NAME_MAX_LENGTH,
165
+ PERSONAL_ORGANIZATION_NAME_MIN_LENGTH,
147
166
  PLATFORM_ROLE_CHANGE_MAX_ROLES,
148
167
  PURGE_USERS_MAX_USERS,
149
168
  PURGE_USERS_REQUIRED_PERMISSIONS,
@@ -258,8 +277,11 @@ import {
258
277
  import {
259
278
  allClusterBasedLimits,
260
279
  allSalesPlanLimits,
280
+ clusterPlanWhiteListIds,
261
281
  deprecatedLimit,
282
+ isLimitKeyEnabled,
262
283
  isLimitOfferedOnStage,
284
+ isUnlockedClusterPlansStage,
263
285
  MAX_CLUSTER_CLIENTS_DEFAULT,
264
286
  MAX_CLUSTER_CLIENTS_DEV,
265
287
  RETENTION_LIMIT_DEFAULT,
@@ -287,6 +309,7 @@ import {
287
309
  ORGANIZATION_SEARCH_FIELDS,
288
310
  parseLuceneQuery
289
311
  } from "./search/index.js";
312
+ import { upgradeGateReason } from "./utils/upgradeGateReason.utils.js";
290
313
  import {
291
314
  AlertSubscriptionReportType,
292
315
  AlertSubscriptionType
@@ -591,6 +614,16 @@ export {
591
614
  CONNECTOR_MANAGEMENT_METRICS_MIN_VERSION,
592
615
  CONNECTOR_SECRET_SYNC_MIN_VERSION,
593
616
  CONSOLE_API_USER_ID,
617
+ CUSTOMER_HARDWARE_SIZING_BROKER_TOTAL_CAPS,
618
+ CUSTOMER_HARDWARE_SIZING_COUNT_CAPS,
619
+ CUSTOMER_HARDWARE_SIZING_ELASTICSEARCH_TOTAL_CAPS,
620
+ CUSTOMER_HARDWARE_SIZING_MAX_AUTO_RESIZE_INCREASE_GI,
621
+ CUSTOMER_HARDWARE_SIZING_MAX_PLANS_PER_REQUESTER,
622
+ CUSTOMER_HARDWARE_SIZING_MAX_PLAN_JSON_LENGTH,
623
+ CUSTOMER_HARDWARE_SIZING_NAME_MAX_LENGTH,
624
+ CUSTOMER_HARDWARE_SIZING_NAME_MIN_LENGTH,
625
+ CUSTOMER_HARDWARE_SIZING_REPLICA_SET_TOTAL_CAPS,
626
+ CUSTOMER_HARDWARE_SIZING_RESOURCE_CAPS,
594
627
  ChartQueryError,
595
628
  ClusterBulkOperationStatus,
596
629
  ClusterBulkOperationType,
@@ -687,6 +720,9 @@ export {
687
720
  OrganizationRole,
688
721
  MAXLENGTH as PASSWORD_POLICY_MAXLENGTH,
689
722
  MINLENGTH as PASSWORD_POLICY_MINLENGTH,
723
+ PERSONAL_ORGANIZATION_MAX_PER_REQUESTER,
724
+ PERSONAL_ORGANIZATION_NAME_MAX_LENGTH,
725
+ PERSONAL_ORGANIZATION_NAME_MIN_LENGTH,
690
726
  PLATFORM_ROLE_CHANGE_MAX_ROLES,
691
727
  PRE89_AFFECTED_PATHS,
692
728
  PRE89_AFFECTED_PROPERTY_PREFIXES,
@@ -738,6 +774,7 @@ export {
738
774
  TRIAL_EXTENSION_SURVEY_QUESTIONS,
739
775
  Telemetry,
740
776
  UNKNOWN_ACTOR_EMAIL,
777
+ UPGRADE_READINESS_MIN_VERSION,
741
778
  USER_METADATA_EXPECTED_MAX_LENGTH,
742
779
  USER_METADATA_MAX_LENGTH,
743
780
  UnassignableOrganizationRole,
@@ -773,6 +810,7 @@ export {
773
810
  chartBucketStart,
774
811
  chartToday,
775
812
  chartWindowRange,
813
+ checkCustomerHardwareSizing,
776
814
  checkNoteBody,
777
815
  checkTagName,
778
816
  checkVersion,
@@ -780,6 +818,7 @@ export {
780
818
  clusterBulkParameterOf,
781
819
  clusterBulkRequiredPermissions,
782
820
  clusterBulkResultOf,
821
+ clusterPlanWhiteListIds,
783
822
  compareGenerationNamesNewestFirst,
784
823
  compileQuery,
785
824
  computeOrgStartDate,
@@ -838,11 +877,13 @@ export {
838
877
  isClusterBulkYolo,
839
878
  isClusterPlanFieldSpec,
840
879
  isClusterTagEligibleForSleepCron,
880
+ isCustomerHardwareSizingStage,
841
881
  isDnsSubdomain,
842
882
  isEncryptionStatus,
843
883
  isExpired,
844
884
  isGenerationResumable,
845
885
  isIsBulkClusterGenerationUpdateIten,
886
+ isLimitKeyEnabled,
846
887
  isLimitOfferedOnStage,
847
888
  isLuceneQueryError,
848
889
  isManager,
@@ -858,6 +899,7 @@ export {
858
899
  isSameApprovalValue,
859
900
  isSecretsFilterModeConfigurable,
860
901
  isSleepCronEligible,
902
+ isUnlockedClusterPlansStage,
861
903
  isValidAwsArn,
862
904
  isValidCIDR,
863
905
  isValidCIDRList,
@@ -874,6 +916,7 @@ export {
874
916
  parseChartQuery,
875
917
  parseEnvVars,
876
918
  parseKmsArn,
919
+ parseKubernetesQuantity,
877
920
  parseLuceneQuery,
878
921
  parseNumericLimit,
879
922
  passwordPolicyCheck,
@@ -900,6 +943,7 @@ export {
900
943
  unusedClusterBasedLimits,
901
944
  unusedSalesPlanLimits,
902
945
  upgradeDashboardDefinition,
946
+ upgradeGateReason,
903
947
  validateChartSpec,
904
948
  validateCronSchedule,
905
949
  validateKmsArnForRegion,