@camunda/ccma-shared-types 0.5.0 → 0.6.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/utils/failoverKeyPolicy.utils.spec.d.ts +1 -0
  2. package/dist/constants/misc.const.d.ts +75 -55
  3. package/dist/constants/misc.const.js +12 -82
  4. package/dist/constants/misc.const.js.map +2 -2
  5. package/dist/dtos/CommonCluster.dto.d.ts +24 -1
  6. package/dist/dtos/ControlV2.dto.d.ts +17 -3
  7. package/dist/dtos/SalesPlan.dto.d.ts +11 -0
  8. package/dist/dtos/SalesPlan.dto.js +14 -0
  9. package/dist/dtos/SalesPlan.dto.js.map +2 -2
  10. package/dist/enums/AuditEntity.enum.d.ts +2 -0
  11. package/dist/enums/AuditEntity.enum.js +2 -0
  12. package/dist/enums/AuditEntity.enum.js.map +2 -2
  13. package/dist/enums/ConsoleApiClientPermission.enum.d.ts +6 -1
  14. package/dist/enums/ConsoleApiClientPermission.enum.js +4 -0
  15. package/dist/enums/ConsoleApiClientPermission.enum.js.map +2 -2
  16. package/dist/enums/ErrorType.enum.d.ts +1 -0
  17. package/dist/enums/ErrorType.enum.js +1 -0
  18. package/dist/enums/ErrorType.enum.js.map +2 -2
  19. package/dist/index.d.ts +11 -5
  20. package/dist/index.js +49 -3
  21. package/dist/index.js.map +2 -2
  22. package/dist/types/ClusterPlanModification.type.d.ts +2 -0
  23. package/dist/types/HdpTenantUsage.type.d.ts +32 -0
  24. package/dist/types/TrialManagement.types.d.ts +63 -0
  25. package/dist/types/TrialManagement.types.js +1 -0
  26. package/dist/types/TrialManagement.types.js.map +7 -0
  27. package/dist/utils/cloudProvider.utils.d.ts +18 -0
  28. package/dist/utils/cloudProvider.utils.js +23 -0
  29. package/dist/utils/cloudProvider.utils.js.map +7 -0
  30. package/dist/utils/cronSchedule.utils.d.ts +42 -0
  31. package/dist/utils/cronSchedule.utils.js +161 -0
  32. package/dist/utils/cronSchedule.utils.js.map +7 -0
  33. package/dist/utils/cronSchedule.utils.spec.d.ts +1 -0
  34. package/dist/utils/enterpriseTerm.utils.d.ts +78 -0
  35. package/dist/utils/enterpriseTerm.utils.js +69 -0
  36. package/dist/utils/enterpriseTerm.utils.js.map +7 -0
  37. package/dist/utils/enterpriseTerm.utils.spec.d.ts +1 -0
  38. package/dist/utils/failoverKeyPolicy.utils.d.ts +26 -0
  39. package/dist/utils/failoverKeyPolicy.utils.js +15 -0
  40. package/dist/utils/failoverKeyPolicy.utils.js.map +7 -0
  41. package/dist/utils/string-validation.utils.d.ts +17 -0
  42. package/dist/utils/string-validation.utils.js +8 -1
  43. package/dist/utils/string-validation.utils.js.map +2 -2
  44. package/dist/utils/versionCheck.utils.d.ts +12 -0
  45. package/dist/utils/versionCheck.utils.js +37 -1
  46. package/dist/utils/versionCheck.utils.js.map +2 -2
  47. package/package.json +1 -1
@@ -23,58 +23,78 @@ export declare const MAX_HARDWARE_PACKAGE_COUNT = 4;
23
23
  * where the exporter starts honoring the filters) — this is the product rollout gate.
24
24
  */
25
25
  export declare const OPTIMIZE_FILTERING_MIN_VERSION = "8.10.0-alpha1";
26
- export declare const SENTRY: {
27
- dsn: {
28
- trial: string;
29
- console: {
30
- frontend: string;
31
- backend: string;
32
- };
33
- accounts: {
34
- frontend: string;
35
- backend: string;
36
- };
37
- };
38
- applicationKey: {
39
- console: string;
40
- accounts: string;
41
- };
42
- enabled: string[];
43
- ignoreTransactions: string[];
44
- ignoreErrors: string[];
45
- config: {
46
- tracesSampleRate: {
47
- frontend: {
48
- accounts: number[];
49
- console: number[];
50
- };
51
- backend: {
52
- accounts: number[];
53
- console: number[];
54
- };
55
- };
56
- replaysSessionSampleRate: {
57
- frontend: {
58
- accounts: number[];
59
- console: number[];
60
- };
61
- };
62
- replaysOnErrorSampleRate: {
63
- frontend: {
64
- accounts: number[];
65
- console: number[];
66
- };
67
- };
68
- profilesSampleRate: {
69
- backend: {
70
- accounts: number[];
71
- console: number[];
72
- };
73
- frontend: {
74
- accounts: number[];
75
- console: number[];
76
- };
77
- };
78
- };
79
- configWeight: (env: string, values: number[]) => number;
80
- };
26
+ /**
27
+ * Minimum cluster (zeebe) version at which the operator understands the new
28
+ * cluster-secret CRDs (camunda-operator#5760) — SecretSource and SecretSync exist and
29
+ * reconcile. Governs *provisioning the CRs*, nothing about which store they point at:
30
+ * SecretSource provisioning (K8sClusterController.ensureSecretSource) and BYOIDP's
31
+ * oidcProviders emission, which needs a SecretSource to deliver its clientSecretRef
32
+ * (ByoidpSecretDeliveryController.deliverSecret refuses without one).
33
+ *
34
+ * BYOIDP is live up to prod, so this floor must stay at the generation BYOIDP
35
+ * shipped on. Raising it would strand BYOIDP on every alpha below the new value.
36
+ */
37
+ export declare const SECRET_SOURCE_MIN_VERSION = "8.10.0-alpha3";
38
+ /**
39
+ * Minimum cluster (zeebe) version for BYOIDP (external identity provider, #3190).
40
+ * Shared by the c4 settings tile gate and the console-backend update guard so both
41
+ * stay in lockstep.
42
+ *
43
+ * Aliased to SECRET_SOURCE_MIN_VERSION rather than repeating the literal: BYOIDP
44
+ * needs the SecretSource/SecretSync CRDs to exist and nothing more (it delivers its
45
+ * clientSecret through the SecretSource), so the two answer the same question and a
46
+ * second literal would only let them drift. It is NOT CONNECTOR_SECRET_SYNC_MIN_VERSION
47
+ * — that one is higher, and gating BYOIDP on it would strand BYOIDP on every alpha,
48
+ * where it currently ships to prod.
49
+ */
50
+ export declare const BYOIDP_MIN_VERSION = "8.10.0-alpha3";
51
+ /**
52
+ * Minimum cluster (zeebe) version at which a cluster's *connector and internal*
53
+ * secrets live in the new per-stage secret manager rather than the legacy store.
54
+ *
55
+ * Higher than SECRET_SOURCE_MIN_VERSION on purpose: a cluster can have a
56
+ * SecretSource (so BYOIDP works) while its connector secrets are still in the legacy
57
+ * store and it gets no connector SecretSync. The one thing that must never drift is
58
+ * the pair inside THIS concern: store routing
59
+ * (ConnectorSecretsController.resolveSecretManagerTarget), the connector SecretSync
60
+ * and its projection into the broker's file store (K8sSpecUtils.getSecretStoresSpec),
61
+ * the pre-8.10-backup mirror check, and the upgrade-copy crossing check
62
+ * (GenerationController.crossesInto810) all read THIS constant. #9703 was those
63
+ * disagreeing — where Console writes a secret must equal where the cluster reads it.
64
+ *
65
+ * Deliberately the 8.10 GA line, not any particular alpha. semver sorts a
66
+ * prerelease below its release, so every `8.10.0-alphaN` — present and future —
67
+ * falls below this floor, while `SNAPSHOT` and `8.10-SNAPSHOT` normalize above it
68
+ * and do route to the new store.
69
+ *
70
+ * Why alphas must stay out: routing is version-based with no persisted "which store
71
+ * holds this cluster's secrets" marker, so a cluster above the floor while the
72
+ * feature gate is off has its secrets in the legacy store, and enabling the gate
73
+ * later reroutes it to a store nobody ever populated. The copy that would fix that
74
+ * (GenerationController.crossesInto810 -> copyConnectorSecretsToNewManager) only
75
+ * fires on a generation CHANGE, and alpha generations have no upgrade chain at all
76
+ * (`upgradeableFrom = []`, ReleaseTrainController.handleAlpha) — an alpha cluster is
77
+ * created on its generation and stays there. So an alpha cohort above this floor
78
+ * could never be migrated; the ~200 8.10.0-alpha4 clusters on prod are exactly that
79
+ * cohort.
80
+ *
81
+ * Keeping the floor on the GA line means clusters enter the new store only where the
82
+ * copy is actually reachable: a real 8.10.0 upgrade, which does cross generations.
83
+ * Alphas stay on the legacy store consistently and permanently.
84
+ *
85
+ * Do NOT lower this to name an alpha. The remaining ordering requirement is that a
86
+ * stage's gate be enabled before the first at-floor cluster exists on it — which for
87
+ * SNAPSHOT-tagged clusters (at-floor by design, since they run the newest operator)
88
+ * still has to be respected by hand.
89
+ */
90
+ export declare const CONNECTOR_SECRET_SYNC_MIN_VERSION = "8.10.0";
91
+ /**
92
+ * Version floors for App Integrations (#8536). The fix landed as patches on
93
+ * the 8.9 stream (zeebe >=8.9.14 AND connectorBridge >=8.9.7), everything
94
+ * from 8.10.0-alpha4 on already carries both fixes. Shared by
95
+ * isAppIntegrationsVersionSupported (c4 settings tile + console-backend
96
+ * update guard) so the gate logic and its error message stay in lockstep.
97
+ */
98
+ export declare const APP_INTEGRATIONS_MIN_VERSION = "8.10.0-alpha4";
99
+ export declare const APP_INTEGRATIONS_89_STREAM_ZEEBE_MIN_VERSION = "8.9.14";
100
+ export declare const APP_INTEGRATIONS_89_STREAM_CONNECTOR_BRIDGE_MIN_VERSION = "8.9.7";
@@ -19,88 +19,18 @@ const MINIMUM_EYEPAIRS = {
19
19
  };
20
20
  const MAX_HARDWARE_PACKAGE_COUNT = 4;
21
21
  const OPTIMIZE_FILTERING_MIN_VERSION = "8.10.0-alpha1";
22
- const SENTRY = {
23
- dsn: {
24
- trial: "https://a91625f8d3e1b34690588504ed020e14@o4507463051378688.ingest.de.sentry.io/4507463055376464",
25
- console: {
26
- frontend: "https://bbf8e6b13f91f7a49ab0b7f079ae8cc0@o132036.ingest.us.sentry.io/4507537062494208",
27
- backend: "https://43de708d3ad0199f8c23975a3fd43aa0@o132036.ingest.us.sentry.io/4507537080188928"
28
- },
29
- accounts: {
30
- frontend: "https://49c5d54e4d05418feb80cd4085fa32bd@o132036.ingest.us.sentry.io/4507537094541312",
31
- backend: "https://d120a5f0acbf132b1edf58008c674164@o132036.ingest.us.sentry.io/4507537100505088"
32
- }
33
- },
34
- applicationKey: {
35
- console: "ccma-console-frontend-0xDEADBEEF",
36
- accounts: "ccma-accounts-frontend-0xDEADBEEF"
37
- },
38
- enabled: ["dev", "int", "prod"],
39
- ignoreTransactions: ["/events", "/assets", "/metrics"],
40
- ignoreErrors: [
41
- "No activity within 120000 milliseconds. No response received. Reconnecting.",
42
- "network error",
43
- "Load failed",
44
- "Non-Error promise rejection captured with value: Could not clear consent from root domain.",
45
- "NetworkError when attempting to fetch resource.",
46
- "The initialization timeout of 3000ms has been hit before the network request has completed.",
47
- "Non-Error promise rejection captured with value: Object Not Found Matching Id:3, MethodName:update, ParamCount:4",
48
- "Non-Error promise rejection captured with value: Object Not Found Matching Id:3, MethodName:simulateEvent, ParamCount:1",
49
- `Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.`,
50
- `Failed to execute 'createPolicy' on 'TrustedTypePolicyFactory': Policy with name "default" already exists.`,
51
- // SSE errors after reload
52
- `TypeError: Error in input stream`,
53
- `TypeError: Failed to fetch`,
54
- `that is not 200. Aborting the connection.`,
55
- `chars received. Reconnecting.`
56
- ],
57
- // value pair: [preprod, prod]
58
- config: {
59
- tracesSampleRate: {
60
- frontend: {
61
- accounts: [0.1, 5e-3],
62
- console: [0.2, 0.01]
63
- },
64
- backend: {
65
- accounts: [0.1, 5e-3],
66
- console: [2e-4, 5e-4]
67
- }
68
- },
69
- replaysSessionSampleRate: {
70
- frontend: {
71
- accounts: [5e-3, 1e-3],
72
- console: [5e-3, 1e-3]
73
- }
74
- },
75
- replaysOnErrorSampleRate: {
76
- frontend: {
77
- accounts: [5e-3, 1e-3],
78
- console: [5e-3, 1e-3]
79
- }
80
- },
81
- profilesSampleRate: {
82
- backend: {
83
- accounts: [1e-3, 2e-4],
84
- console: [1e-3, 2e-4]
85
- },
86
- frontend: {
87
- accounts: [1e-3, 2e-4],
88
- console: [1e-3, 2e-4]
89
- }
90
- }
91
- },
92
- configWeight: (env, values) => {
93
- if (values && values.length === 2) {
94
- if (env === "prod") {
95
- return values[1];
96
- } else {
97
- return values[0];
98
- }
99
- }
100
- return 0.1;
101
- }
102
- };
22
+ const SECRET_SOURCE_MIN_VERSION = "8.10.0-alpha3";
23
+ const BYOIDP_MIN_VERSION = SECRET_SOURCE_MIN_VERSION;
24
+ const CONNECTOR_SECRET_SYNC_MIN_VERSION = "8.10.0";
25
+ const APP_INTEGRATIONS_MIN_VERSION = "8.10.0-alpha4";
26
+ const APP_INTEGRATIONS_89_STREAM_ZEEBE_MIN_VERSION = "8.9.14";
27
+ const APP_INTEGRATIONS_89_STREAM_CONNECTOR_BRIDGE_MIN_VERSION = "8.9.7";
103
28
  export {
29
+ APP_INTEGRATIONS_89_STREAM_CONNECTOR_BRIDGE_MIN_VERSION,
30
+ APP_INTEGRATIONS_89_STREAM_ZEEBE_MIN_VERSION,
31
+ APP_INTEGRATIONS_MIN_VERSION,
32
+ BYOIDP_MIN_VERSION,
33
+ CONNECTOR_SECRET_SYNC_MIN_VERSION,
104
34
  CONSOLE_API_USER_ID,
105
35
  FIRSTNAME_LASTNAME_MAX_LENGTH,
106
36
  HOTBACKUP_MIN_CREATE_PERIOD,
@@ -110,7 +40,7 @@ export {
110
40
  NAMES_OF_ENTERPRISE_SALESPLANS_WITH_SLEEPING_CLUSTERS,
111
41
  OPTIMIZE_FILTERING_MIN_VERSION,
112
42
  SECRETS_MAX_LENGTH,
113
- SENTRY,
43
+ SECRET_SOURCE_MIN_VERSION,
114
44
  STARTING_PRICE_PER_MONTH_IN_EURO,
115
45
  TEMPORARY_CLUSTER_NAME
116
46
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/constants/misc.const.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\nexport const CONSOLE_API_USER_ID = 'console-api'\nexport const TEMPORARY_CLUSTER_NAME = 'Get Started'\nexport type Stage = 'local' | 'dev' | 'int' | 'prod'\nexport const HOTBACKUP_MIN_CREATE_PERIOD = 1000 * 60 * 60 * 0.25 // 15 minutes\n\nexport const SECRETS_MAX_LENGTH = 4096\nexport const FIRSTNAME_LASTNAME_MAX_LENGTH = 255\n\nexport const STARTING_PRICE_PER_MONTH_IN_EURO = 99\n\nexport const MAX_LENGTH_CLUSTER_NAME = 50\n\nexport const NAMES_OF_ENTERPRISE_SALESPLANS_WITH_SLEEPING_CLUSTERS = [\n 'CELP with sleeping clusters',\n 'Camunda Partner',\n]\n\nexport const MINIMUM_EYEPAIRS = {\n CLUSTER_DELETION: 3,\n CLUSTER_GENERATION_UPDATE: 2,\n CLUSTER_PLAN_UPDATE: 2,\n CLUSTER_PLAN_TYPE_UPDATE: 2,\n CLUSTER_PLAN_MODIFICATION: 1,\n CLUSTER_MODIFICATION: 1,\n}\n\nexport const MAX_HARDWARE_PACKAGE_COUNT = 4\n\n/**\n * Minimum cluster (zeebe) version for the Optimize data-filters feature. Shared by\n * the c4 settings tile, the new-cluster default, and CRD spec generation so the gate\n * stays consistent. Stricter than the operator's own gate (Camunda >= 8.9.0-alpha1,\n * where the exporter starts honoring the filters) \u2014 this is the product rollout gate.\n */\nexport const OPTIMIZE_FILTERING_MIN_VERSION = '8.10.0-alpha1'\n\nexport const SENTRY = {\n dsn: {\n trial:\n 'https://a91625f8d3e1b34690588504ed020e14@o4507463051378688.ingest.de.sentry.io/4507463055376464',\n console: {\n frontend:\n 'https://bbf8e6b13f91f7a49ab0b7f079ae8cc0@o132036.ingest.us.sentry.io/4507537062494208',\n backend:\n 'https://43de708d3ad0199f8c23975a3fd43aa0@o132036.ingest.us.sentry.io/4507537080188928',\n },\n accounts: {\n frontend:\n 'https://49c5d54e4d05418feb80cd4085fa32bd@o132036.ingest.us.sentry.io/4507537094541312',\n backend:\n 'https://d120a5f0acbf132b1edf58008c674164@o132036.ingest.us.sentry.io/4507537100505088',\n },\n },\n applicationKey: {\n console: 'ccma-console-frontend-0xDEADBEEF',\n accounts: 'ccma-accounts-frontend-0xDEADBEEF',\n },\n enabled: ['dev', 'int', 'prod'],\n ignoreTransactions: ['/events', '/assets', '/metrics'],\n ignoreErrors: [\n 'No activity within 120000 milliseconds. No response received. Reconnecting.',\n 'network error',\n 'Load failed',\n 'Non-Error promise rejection captured with value: Could not clear consent from root domain.',\n 'NetworkError when attempting to fetch resource.',\n 'The initialization timeout of 3000ms has been hit before the network request has completed.',\n 'Non-Error promise rejection captured with value: Object Not Found Matching Id:3, MethodName:update, ParamCount:4',\n 'Non-Error promise rejection captured with value: Object Not Found Matching Id:3, MethodName:simulateEvent, ParamCount:1',\n `Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.`,\n `Failed to execute 'createPolicy' on 'TrustedTypePolicyFactory': Policy with name \"default\" already exists.`,\n // SSE errors after reload\n `TypeError: Error in input stream`,\n `TypeError: Failed to fetch`,\n `that is not 200. Aborting the connection.`,\n `chars received. Reconnecting.`,\n ],\n // value pair: [preprod, prod]\n config: {\n tracesSampleRate: {\n frontend: {\n accounts: [0.1, 0.005],\n console: [0.2, 0.01],\n },\n backend: {\n accounts: [0.1, 0.005],\n console: [0.0002, 0.0005],\n },\n },\n replaysSessionSampleRate: {\n frontend: {\n accounts: [0.005, 0.001],\n console: [0.005, 0.001],\n },\n },\n replaysOnErrorSampleRate: {\n frontend: {\n accounts: [0.005, 0.001],\n console: [0.005, 0.001],\n },\n },\n profilesSampleRate: {\n backend: {\n accounts: [0.001, 0.0002],\n console: [0.001, 0.0002],\n },\n frontend: {\n accounts: [0.001, 0.0002],\n console: [0.001, 0.0002],\n },\n },\n },\n configWeight: (env: string, values: number[]) => {\n if (values && values.length === 2) {\n if (env === 'prod') {\n return values[1]\n } else {\n return values[0]\n }\n }\n return 0.1\n },\n}\n"],
5
- "mappings": "AAMO,MAAM,sBAAsB;AAC5B,MAAM,yBAAyB;AAE/B,MAAM,8BAA8B,MAAO,KAAK,KAAK;AAErD,MAAM,qBAAqB;AAC3B,MAAM,gCAAgC;AAEtC,MAAM,mCAAmC;AAEzC,MAAM,0BAA0B;AAEhC,MAAM,wDAAwD;AAAA,EACnE;AAAA,EACA;AACF;AAEO,MAAM,mBAAmB;AAAA,EAC9B,kBAAkB;AAAA,EAClB,2BAA2B;AAAA,EAC3B,qBAAqB;AAAA,EACrB,0BAA0B;AAAA,EAC1B,2BAA2B;AAAA,EAC3B,sBAAsB;AACxB;AAEO,MAAM,6BAA6B;AAQnC,MAAM,iCAAiC;AAEvC,MAAM,SAAS;AAAA,EACpB,KAAK;AAAA,IACH,OACE;AAAA,IACF,SAAS;AAAA,MACP,UACE;AAAA,MACF,SACE;AAAA,IACJ;AAAA,IACA,UAAU;AAAA,MACR,UACE;AAAA,MACF,SACE;AAAA,IACJ;AAAA,EACF;AAAA,EACA,gBAAgB;AAAA,IACd,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA,EACA,SAAS,CAAC,OAAO,OAAO,MAAM;AAAA,EAC9B,oBAAoB,CAAC,WAAW,WAAW,UAAU;AAAA,EACrD,cAAc;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAAA,EAEA,QAAQ;AAAA,IACN,kBAAkB;AAAA,MAChB,UAAU;AAAA,QACR,UAAU,CAAC,KAAK,IAAK;AAAA,QACrB,SAAS,CAAC,KAAK,IAAI;AAAA,MACrB;AAAA,MACA,SAAS;AAAA,QACP,UAAU,CAAC,KAAK,IAAK;AAAA,QACrB,SAAS,CAAC,MAAQ,IAAM;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB,UAAU;AAAA,QACR,UAAU,CAAC,MAAO,IAAK;AAAA,QACvB,SAAS,CAAC,MAAO,IAAK;AAAA,MACxB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB,UAAU;AAAA,QACR,UAAU,CAAC,MAAO,IAAK;AAAA,QACvB,SAAS,CAAC,MAAO,IAAK;AAAA,MACxB;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB,SAAS;AAAA,QACP,UAAU,CAAC,MAAO,IAAM;AAAA,QACxB,SAAS,CAAC,MAAO,IAAM;AAAA,MACzB;AAAA,MACA,UAAU;AAAA,QACR,UAAU,CAAC,MAAO,IAAM;AAAA,QACxB,SAAS,CAAC,MAAO,IAAM;AAAA,MACzB;AAAA,IACF;AAAA,EACF;AAAA,EACA,cAAc,CAAC,KAAa,WAAqB;AAC/C,QAAI,UAAU,OAAO,WAAW,GAAG;AACjC,UAAI,QAAQ,QAAQ;AAClB,eAAO,OAAO,CAAC;AAAA,MACjB,OAAO;AACL,eAAO,OAAO,CAAC;AAAA,MACjB;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;",
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\nexport const CONSOLE_API_USER_ID = 'console-api'\nexport const TEMPORARY_CLUSTER_NAME = 'Get Started'\nexport type Stage = 'local' | 'dev' | 'int' | 'prod'\nexport const HOTBACKUP_MIN_CREATE_PERIOD = 1000 * 60 * 60 * 0.25 // 15 minutes\n\nexport const SECRETS_MAX_LENGTH = 4096\nexport const FIRSTNAME_LASTNAME_MAX_LENGTH = 255\n\nexport const STARTING_PRICE_PER_MONTH_IN_EURO = 99\n\nexport const MAX_LENGTH_CLUSTER_NAME = 50\n\nexport const NAMES_OF_ENTERPRISE_SALESPLANS_WITH_SLEEPING_CLUSTERS = [\n 'CELP with sleeping clusters',\n 'Camunda Partner',\n]\n\nexport const MINIMUM_EYEPAIRS = {\n CLUSTER_DELETION: 3,\n CLUSTER_GENERATION_UPDATE: 2,\n CLUSTER_PLAN_UPDATE: 2,\n CLUSTER_PLAN_TYPE_UPDATE: 2,\n CLUSTER_PLAN_MODIFICATION: 1,\n CLUSTER_MODIFICATION: 1,\n}\n\nexport const MAX_HARDWARE_PACKAGE_COUNT = 4\n\n/**\n * Minimum cluster (zeebe) version for the Optimize data-filters feature. Shared by\n * the c4 settings tile, the new-cluster default, and CRD spec generation so the gate\n * stays consistent. Stricter than the operator's own gate (Camunda >= 8.9.0-alpha1,\n * where the exporter starts honoring the filters) \u2014 this is the product rollout gate.\n */\nexport const OPTIMIZE_FILTERING_MIN_VERSION = '8.10.0-alpha1'\n\n/**\n * Minimum cluster (zeebe) version at which the operator understands the new\n * cluster-secret CRDs (camunda-operator#5760) \u2014 SecretSource and SecretSync exist and\n * reconcile. Governs *provisioning the CRs*, nothing about which store they point at:\n * SecretSource provisioning (K8sClusterController.ensureSecretSource) and BYOIDP's\n * oidcProviders emission, which needs a SecretSource to deliver its clientSecretRef\n * (ByoidpSecretDeliveryController.deliverSecret refuses without one).\n *\n * BYOIDP is live up to prod, so this floor must stay at the generation BYOIDP\n * shipped on. Raising it would strand BYOIDP on every alpha below the new value.\n */\nexport const SECRET_SOURCE_MIN_VERSION = '8.10.0-alpha3'\n\n/**\n * Minimum cluster (zeebe) version for BYOIDP (external identity provider, #3190).\n * Shared by the c4 settings tile gate and the console-backend update guard so both\n * stay in lockstep.\n *\n * Aliased to SECRET_SOURCE_MIN_VERSION rather than repeating the literal: BYOIDP\n * needs the SecretSource/SecretSync CRDs to exist and nothing more (it delivers its\n * clientSecret through the SecretSource), so the two answer the same question and a\n * second literal would only let them drift. It is NOT CONNECTOR_SECRET_SYNC_MIN_VERSION\n * \u2014 that one is higher, and gating BYOIDP on it would strand BYOIDP on every alpha,\n * where it currently ships to prod.\n */\nexport const BYOIDP_MIN_VERSION = SECRET_SOURCE_MIN_VERSION\n\n/**\n * Minimum cluster (zeebe) version at which a cluster's *connector and internal*\n * secrets live in the new per-stage secret manager rather than the legacy store.\n *\n * Higher than SECRET_SOURCE_MIN_VERSION on purpose: a cluster can have a\n * SecretSource (so BYOIDP works) while its connector secrets are still in the legacy\n * store and it gets no connector SecretSync. The one thing that must never drift is\n * the pair inside THIS concern: store routing\n * (ConnectorSecretsController.resolveSecretManagerTarget), the connector SecretSync\n * and its projection into the broker's file store (K8sSpecUtils.getSecretStoresSpec),\n * the pre-8.10-backup mirror check, and the upgrade-copy crossing check\n * (GenerationController.crossesInto810) all read THIS constant. #9703 was those\n * disagreeing \u2014 where Console writes a secret must equal where the cluster reads it.\n *\n * Deliberately the 8.10 GA line, not any particular alpha. semver sorts a\n * prerelease below its release, so every `8.10.0-alphaN` \u2014 present and future \u2014\n * falls below this floor, while `SNAPSHOT` and `8.10-SNAPSHOT` normalize above it\n * and do route to the new store.\n *\n * Why alphas must stay out: routing is version-based with no persisted \"which store\n * holds this cluster's secrets\" marker, so a cluster above the floor while the\n * feature gate is off has its secrets in the legacy store, and enabling the gate\n * later reroutes it to a store nobody ever populated. The copy that would fix that\n * (GenerationController.crossesInto810 -> copyConnectorSecretsToNewManager) only\n * fires on a generation CHANGE, and alpha generations have no upgrade chain at all\n * (`upgradeableFrom = []`, ReleaseTrainController.handleAlpha) \u2014 an alpha cluster is\n * created on its generation and stays there. So an alpha cohort above this floor\n * could never be migrated; the ~200 8.10.0-alpha4 clusters on prod are exactly that\n * cohort.\n *\n * Keeping the floor on the GA line means clusters enter the new store only where the\n * copy is actually reachable: a real 8.10.0 upgrade, which does cross generations.\n * Alphas stay on the legacy store consistently and permanently.\n *\n * Do NOT lower this to name an alpha. The remaining ordering requirement is that a\n * stage's gate be enabled before the first at-floor cluster exists on it \u2014 which for\n * SNAPSHOT-tagged clusters (at-floor by design, since they run the newest operator)\n * still has to be respected by hand.\n */\nexport const CONNECTOR_SECRET_SYNC_MIN_VERSION = '8.10.0'\n\n/**\n * Version floors for App Integrations (#8536). The fix landed as patches on\n * the 8.9 stream (zeebe >=8.9.14 AND connectorBridge >=8.9.7), everything\n * from 8.10.0-alpha4 on already carries both fixes. Shared by\n * isAppIntegrationsVersionSupported (c4 settings tile + console-backend\n * update guard) so the gate logic and its error message stay in lockstep.\n */\nexport const APP_INTEGRATIONS_MIN_VERSION = '8.10.0-alpha4'\nexport const APP_INTEGRATIONS_89_STREAM_ZEEBE_MIN_VERSION = '8.9.14'\nexport const APP_INTEGRATIONS_89_STREAM_CONNECTOR_BRIDGE_MIN_VERSION = '8.9.7'\n"],
5
+ "mappings": "AAMO,MAAM,sBAAsB;AAC5B,MAAM,yBAAyB;AAE/B,MAAM,8BAA8B,MAAO,KAAK,KAAK;AAErD,MAAM,qBAAqB;AAC3B,MAAM,gCAAgC;AAEtC,MAAM,mCAAmC;AAEzC,MAAM,0BAA0B;AAEhC,MAAM,wDAAwD;AAAA,EACnE;AAAA,EACA;AACF;AAEO,MAAM,mBAAmB;AAAA,EAC9B,kBAAkB;AAAA,EAClB,2BAA2B;AAAA,EAC3B,qBAAqB;AAAA,EACrB,0BAA0B;AAAA,EAC1B,2BAA2B;AAAA,EAC3B,sBAAsB;AACxB;AAEO,MAAM,6BAA6B;AAQnC,MAAM,iCAAiC;AAavC,MAAM,4BAA4B;AAclC,MAAM,qBAAqB;AAyC3B,MAAM,oCAAoC;AAS1C,MAAM,+BAA+B;AACrC,MAAM,+CAA+C;AACrD,MAAM,0DAA0D;",
6
6
  "names": []
7
7
  }
@@ -40,7 +40,9 @@ export interface OptimizeFilteringPatch {
40
40
  * (`idp-config-{clusterId}`, keyed by `name`) and referenced from the CR only.
41
41
  */
42
42
  export interface ExternalIdpConfig {
43
- /** Registration id. Uppercase letters + digits, starts with a letter (`^[A-Z][A-Z0-9]*$`).
43
+ /** Registration id. Lowercase letters + digits, starts with a letter
44
+ * (`^[a-z][a-z0-9]*$`, max 63 chars), matching camunda-operator's `oidcProviders[].name`
45
+ * (Spring lowercases every registration id it reads from an env var name). `oidc` is reserved.
44
46
  * Doubles as the Secret data key, the `..._OIDC_<NAME>_*` env-var segment, and `clientSecretRef.key`. */
45
47
  name: string;
46
48
  /** Friendly display name shown on the login picker. */
@@ -110,6 +112,24 @@ export interface CommonClusterDto {
110
112
  * completed. Failover is only offered when this is true.
111
113
  */
112
114
  secondaryBucketSyncCompleted?: boolean;
115
+ /**
116
+ * True once this cluster's reservation slot has been transferred to a
117
+ * failover cluster. It remains visible but can never be resumed again.
118
+ */
119
+ isFailoverSource?: boolean;
120
+ /**
121
+ * The source cluster's uuid, set on the FAILOVER (destination) cluster —
122
+ * the counterpart to isFailoverSource, which is set on the source. Lets
123
+ * the frontend recognize a cluster resulted from a failover, e.g. to
124
+ * prompt updating a carried-over BYOM/BYOIDP external endpoint.
125
+ */
126
+ failoverSourceClusterId?: string;
127
+ /**
128
+ * Stable durable identity shared by both halves of a failover pair. Used to
129
+ * pair a failover cluster with its source, and to derive the pre-staged
130
+ * `clone-backup-<stableId>` IAM role ARN.
131
+ */
132
+ stableId?: string;
113
133
  encryption?: string;
114
134
  primaryEncryptionKeyId?: string | null;
115
135
  secondaryEncryptionKeyId?: string | null;
@@ -127,8 +147,11 @@ export interface CommonClusterDto {
127
147
  rba?: boolean;
128
148
  identityBackendChecksEnabled?: boolean;
129
149
  multiTenancyEnabled?: boolean;
150
+ sessionMaxInactiveIntervalMinutes?: number;
151
+ sessionHeartbeatEnabled?: boolean;
130
152
  externalIdpEnabled?: boolean;
131
153
  externalIdpConfig?: ExternalIdpConfig;
154
+ secretSourceProvisioned?: boolean;
132
155
  enforceGroups?: boolean;
133
156
  playMode?: boolean;
134
157
  mcpEnabled?: boolean;
@@ -160,12 +160,16 @@ export interface ListClustersV2Params extends CursorParams {
160
160
  planNames?: string[];
161
161
  /** Restrict to these generation names (`generation.name`). */
162
162
  generationNames?: string[];
163
- /** Restrict to these region names (resolved via the k8s-context config). */
164
- regions?: string[];
165
163
  /** Restrict to these cloud providers (resolved via the k8s-context config). */
166
164
  providers?: string[];
167
165
  /** Exact k8s context uuid. */
168
166
  k8sContext?: string;
167
+ /**
168
+ * Restrict to these k8s context (datacenter) uuids; the Control clusters
169
+ * list's multi-select "Datacenter" filter, which matches the context
170
+ * identity, mirroring the accounts clusters list's "Filter by Datacenter".
171
+ */
172
+ k8sContexts?: string[];
169
173
  orgId?: string;
170
174
  /** Restrict to these owner org uuids (cross-backend sales-plan filters). */
171
175
  orgIds?: string[];
@@ -192,10 +196,20 @@ export interface ClusterParameterOptionV2Dto {
192
196
  id: string;
193
197
  name: string;
194
198
  }
199
+ /**
200
+ * A datacenter (k8s context) option for the clusters list's "Datacenter" filter.
201
+ * `id` is the context uuid (matched by `filter.k8sContexts`); `region`/`provider`
202
+ * come from the context config and let the dropdown be grouped by provider and
203
+ * show the region, mirroring the accounts clusters list.
204
+ */
205
+ export interface ClusterDatacenterOptionV2Dto extends ClusterParameterOptionV2Dto {
206
+ region?: string;
207
+ provider?: string;
208
+ }
195
209
  export interface ClusterParametersV2Dto {
196
210
  plans: ClusterParameterOptionV2Dto[];
197
211
  generations: ClusterParameterOptionV2Dto[];
198
- regions: ClusterParameterOptionV2Dto[];
212
+ datacenters: ClusterDatacenterOptionV2Dto[];
199
213
  }
200
214
  /**
201
215
  * Aggregated cluster distribution counts (GET /v2/clusters/facets), backing
@@ -27,6 +27,17 @@ export interface ClusterLimits {
27
27
  export interface Limits extends ClusterLimits {
28
28
  maxMembers?: number;
29
29
  hotBackup?: boolean;
30
+ /**
31
+ * Overrides the operator's default retained count (3) for manual (on-demand)
32
+ * hot backups (ZeebeCluster spec.backup.retainedCount).
33
+ */
34
+ hotBackupManualRetainedCount?: number;
35
+ /**
36
+ * Overrides the operator's default retained count (3) for scheduled hot
37
+ * backups (BackupSchedule spec.successfulBackupsHistoryLimit /
38
+ * failedBackupsHistoryLimit).
39
+ */
40
+ hotBackupScheduledRetainedCount?: number;
30
41
  ipWhiteList?: boolean;
31
42
  secureConnectivity?: boolean;
32
43
  failover?: boolean;
@@ -71,6 +71,20 @@ function allSalesPlanLimits() {
71
71
  description: "used to activate the hot backup functionality in organizations. default = not active",
72
72
  isClusterBasedLimit: false
73
73
  },
74
+ {
75
+ key: "hotBackupManualRetainedCount",
76
+ type: "number",
77
+ description: "overrides how many manual (on-demand) hot backups the operator retains before deleting the oldest. default = 3",
78
+ isClusterBasedLimit: false,
79
+ validate: (input) => Number.isInteger(input) && input >= 1
80
+ },
81
+ {
82
+ key: "hotBackupScheduledRetainedCount",
83
+ type: "number",
84
+ description: "overrides how many scheduled hot backups the operator retains before deleting the oldest. default = 3",
85
+ isClusterBasedLimit: false,
86
+ validate: (input) => Number.isInteger(input) && input >= 1
87
+ },
74
88
  {
75
89
  key: "ipWhiteList",
76
90
  type: "boolean",
@@ -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'\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 ipWhiteList?: boolean\n secureConnectivity?: boolean\n failover?: boolean\n allowedHostnamesForInvites?: string\n regionWhiteList?: string\n suppressDropDisks?: boolean\n maxTeams?: number\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\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 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 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 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 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}[] {\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: '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: 'maxTeams',\n type: 'number',\n description:\n 'used to limit the amount of teams within one super organization. default = 100',\n isClusterBasedLimit: false,\n validate: (input) => Number.isInteger(input) && input >= 0,\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 ...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\nexport function unusedSalesPlanLimits(limits: Limits): {\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 )\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'\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 maxTeams?: number\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\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 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 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 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 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}[] {\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: 'maxTeams',\n type: 'number',\n description:\n 'used to limit the amount of teams within one super organization. default = 100',\n isClusterBasedLimit: false,\n validate: (input) => Number.isInteger(input) && input >= 0,\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 ...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\nexport function unusedSalesPlanLimits(limits: Limits): {\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 )\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -30,6 +30,8 @@ export declare enum AuditEntityAttribute {
30
30
  CLUSTER_SWAGGER = "Cluster Swagger",
31
31
  CLUSTER_BUSINESS_ID_UNIQUENESS = "Business ID Uniqueness",
32
32
  CLUSTER_MULTI_TENANCY = "Multi-tenancy",
33
+ CLUSTER_SESSION_MAX_INACTIVE_INTERVAL = "Session idle timeout",
34
+ CLUSTER_SESSION_HEARTBEAT = "Session heartbeat",
33
35
  CLUSTER_EXTERNAL_IDP = "External identity provider",
34
36
  CLUSTER_ENABLE_LOW_LATENCY = "Enable low latency",
35
37
  CLUSTER_AUTOUPDATE = "Auto Update",
@@ -31,6 +31,8 @@ var AuditEntityAttribute = /* @__PURE__ */ ((AuditEntityAttribute2) => {
31
31
  AuditEntityAttribute2["CLUSTER_SWAGGER"] = "Cluster Swagger";
32
32
  AuditEntityAttribute2["CLUSTER_BUSINESS_ID_UNIQUENESS"] = "Business ID Uniqueness";
33
33
  AuditEntityAttribute2["CLUSTER_MULTI_TENANCY"] = "Multi-tenancy";
34
+ AuditEntityAttribute2["CLUSTER_SESSION_MAX_INACTIVE_INTERVAL"] = "Session idle timeout";
35
+ AuditEntityAttribute2["CLUSTER_SESSION_HEARTBEAT"] = "Session heartbeat";
34
36
  AuditEntityAttribute2["CLUSTER_EXTERNAL_IDP"] = "External identity provider";
35
37
  AuditEntityAttribute2["CLUSTER_ENABLE_LOW_LATENCY"] = "Enable low latency";
36
38
  AuditEntityAttribute2["CLUSTER_AUTOUPDATE"] = "Auto Update";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/enums/AuditEntity.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 AuditEntity {\n CLUSTER = 'Cluster',\n CLIENT = 'Client',\n ALERT_SUBSCRIPTION = 'Alert Subscription',\n API_CLIENT = 'API Client',\n SECURE_CONNECTIVITY_CRD = 'Private networking',\n BYOM_CLIENT = 'External Monitoring Client',\n BYOM_CRD = 'External Monitoring',\n INVITATION = 'Invitation',\n MEMBER = 'Member',\n ORGANIZATION = 'Organization',\n SALES_PLAN = 'SalesPlan',\n CLUSTER_PLAN = 'ClusterPlan',\n GENERATION = 'Generation',\n BILLING = 'Billing',\n USAGE_ALERT = 'Usage Alert',\n ACCEPT_BETA_TERMS = 'Accept Alpha terms',\n TOGGLE_BETA_FEATURE = 'Toggle Alpha feature',\n CONNECTOR_SECRET = 'Connector Secret',\n CLUSTER_MODIFICATION = 'Cluster Modification',\n}\n\nexport enum AuditEntityAttribute {\n CLUSTER_CLUSTER_PLAN = 'ClusterPlan',\n CLUSTER_GENERATION = 'Generation',\n CLUSTER_NAME = 'Name',\n CLUSTER_RBA = 'Resource Based Authorizations',\n CLUSTER_ENFORCE_GROUPS = 'Enforce Group Management',\n CLUSTER_PLAYMODE = 'Cluster Play Mode',\n CLUSTER_MCP_ENABLED = 'MCP Support',\n CLUSTER_SWAGGER = 'Cluster Swagger',\n CLUSTER_BUSINESS_ID_UNIQUENESS = 'Business ID Uniqueness',\n CLUSTER_MULTI_TENANCY = 'Multi-tenancy',\n CLUSTER_EXTERNAL_IDP = 'External identity provider',\n CLUSTER_ENABLE_LOW_LATENCY = 'Enable low latency',\n CLUSTER_AUTOUPDATE = 'Auto Update',\n CLUSTER_OWNER = 'Owner',\n CLUSTER_STATUS = 'Status',\n CLUSTER_TASKLIST_V2_ENABLED = 'Taklist V2 Enabled',\n CLUSTER_AUDIT_LOG = 'Audit Log',\n INVITATION_ROLE = 'Role',\n ORGANIZATION_NAME = 'Name',\n SALES_PLAN = 'Plan',\n BILLING_RESERVATION = 'Reservation',\n BILLING_GENERAL_USERS = 'GeneralUsers', // paid cc legaly - only kept for audit logs compatibility\n MEMBER_ROLE = 'Role',\n USAGE_ALERT_THRESHOLD = 'Threshold',\n USAGE_ALERT_STATUS = 'Status',\n CLUSTER_AUDIT_LOGS = 'Audit Logging',\n LLM_BUDGET = 'LLM Budget',\n LLM_KEY_BLOCKED = 'LLM Key Blocked',\n ORGANIZATION_LIMIT = 'Limit',\n CLUSTER_MODIFICATION = 'Modification',\n ORGANIZATION_TRIAL_EXPIRES_AT = 'Trial Expiration Date',\n}\n"],
5
- "mappings": "AAOO,IAAK,cAAL,kBAAKA,iBAAL;AACL,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,wBAAqB;AACrB,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,6BAA0B;AAC1B,EAAAA,aAAA,iBAAc;AACd,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,kBAAe;AACf,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,kBAAe;AACf,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,iBAAc;AACd,EAAAA,aAAA,uBAAoB;AACpB,EAAAA,aAAA,yBAAsB;AACtB,EAAAA,aAAA,sBAAmB;AACnB,EAAAA,aAAA,0BAAuB;AAnBb,SAAAA;AAAA,GAAA;AAsBL,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,sBAAA,0BAAuB;AACvB,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,kBAAe;AACf,EAAAA,sBAAA,iBAAc;AACd,EAAAA,sBAAA,4BAAyB;AACzB,EAAAA,sBAAA,sBAAmB;AACnB,EAAAA,sBAAA,yBAAsB;AACtB,EAAAA,sBAAA,qBAAkB;AAClB,EAAAA,sBAAA,oCAAiC;AACjC,EAAAA,sBAAA,2BAAwB;AACxB,EAAAA,sBAAA,0BAAuB;AACvB,EAAAA,sBAAA,gCAA6B;AAC7B,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,mBAAgB;AAChB,EAAAA,sBAAA,oBAAiB;AACjB,EAAAA,sBAAA,iCAA8B;AAC9B,EAAAA,sBAAA,uBAAoB;AACpB,EAAAA,sBAAA,qBAAkB;AAClB,EAAAA,sBAAA,uBAAoB;AACpB,EAAAA,sBAAA,gBAAa;AACb,EAAAA,sBAAA,yBAAsB;AACtB,EAAAA,sBAAA,2BAAwB;AACxB,EAAAA,sBAAA,iBAAc;AACd,EAAAA,sBAAA,2BAAwB;AACxB,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,gBAAa;AACb,EAAAA,sBAAA,qBAAkB;AAClB,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,0BAAuB;AACvB,EAAAA,sBAAA,mCAAgC;AA/BtB,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 AuditEntity {\n CLUSTER = 'Cluster',\n CLIENT = 'Client',\n ALERT_SUBSCRIPTION = 'Alert Subscription',\n API_CLIENT = 'API Client',\n SECURE_CONNECTIVITY_CRD = 'Private networking',\n BYOM_CLIENT = 'External Monitoring Client',\n BYOM_CRD = 'External Monitoring',\n INVITATION = 'Invitation',\n MEMBER = 'Member',\n ORGANIZATION = 'Organization',\n SALES_PLAN = 'SalesPlan',\n CLUSTER_PLAN = 'ClusterPlan',\n GENERATION = 'Generation',\n BILLING = 'Billing',\n USAGE_ALERT = 'Usage Alert',\n ACCEPT_BETA_TERMS = 'Accept Alpha terms',\n TOGGLE_BETA_FEATURE = 'Toggle Alpha feature',\n CONNECTOR_SECRET = 'Connector Secret',\n CLUSTER_MODIFICATION = 'Cluster Modification',\n}\n\nexport enum AuditEntityAttribute {\n CLUSTER_CLUSTER_PLAN = 'ClusterPlan',\n CLUSTER_GENERATION = 'Generation',\n CLUSTER_NAME = 'Name',\n CLUSTER_RBA = 'Resource Based Authorizations',\n CLUSTER_ENFORCE_GROUPS = 'Enforce Group Management',\n CLUSTER_PLAYMODE = 'Cluster Play Mode',\n CLUSTER_MCP_ENABLED = 'MCP Support',\n CLUSTER_SWAGGER = 'Cluster Swagger',\n CLUSTER_BUSINESS_ID_UNIQUENESS = 'Business ID Uniqueness',\n CLUSTER_MULTI_TENANCY = 'Multi-tenancy',\n CLUSTER_SESSION_MAX_INACTIVE_INTERVAL = 'Session idle timeout',\n CLUSTER_SESSION_HEARTBEAT = 'Session heartbeat',\n CLUSTER_EXTERNAL_IDP = 'External identity provider',\n CLUSTER_ENABLE_LOW_LATENCY = 'Enable low latency',\n CLUSTER_AUTOUPDATE = 'Auto Update',\n CLUSTER_OWNER = 'Owner',\n CLUSTER_STATUS = 'Status',\n CLUSTER_TASKLIST_V2_ENABLED = 'Taklist V2 Enabled',\n CLUSTER_AUDIT_LOG = 'Audit Log',\n INVITATION_ROLE = 'Role',\n ORGANIZATION_NAME = 'Name',\n SALES_PLAN = 'Plan',\n BILLING_RESERVATION = 'Reservation',\n BILLING_GENERAL_USERS = 'GeneralUsers', // paid cc legaly - only kept for audit logs compatibility\n MEMBER_ROLE = 'Role',\n USAGE_ALERT_THRESHOLD = 'Threshold',\n USAGE_ALERT_STATUS = 'Status',\n CLUSTER_AUDIT_LOGS = 'Audit Logging',\n LLM_BUDGET = 'LLM Budget',\n LLM_KEY_BLOCKED = 'LLM Key Blocked',\n ORGANIZATION_LIMIT = 'Limit',\n CLUSTER_MODIFICATION = 'Modification',\n ORGANIZATION_TRIAL_EXPIRES_AT = 'Trial Expiration Date',\n}\n"],
5
+ "mappings": "AAOO,IAAK,cAAL,kBAAKA,iBAAL;AACL,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,wBAAqB;AACrB,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,6BAA0B;AAC1B,EAAAA,aAAA,iBAAc;AACd,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,kBAAe;AACf,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,kBAAe;AACf,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,iBAAc;AACd,EAAAA,aAAA,uBAAoB;AACpB,EAAAA,aAAA,yBAAsB;AACtB,EAAAA,aAAA,sBAAmB;AACnB,EAAAA,aAAA,0BAAuB;AAnBb,SAAAA;AAAA,GAAA;AAsBL,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,sBAAA,0BAAuB;AACvB,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,kBAAe;AACf,EAAAA,sBAAA,iBAAc;AACd,EAAAA,sBAAA,4BAAyB;AACzB,EAAAA,sBAAA,sBAAmB;AACnB,EAAAA,sBAAA,yBAAsB;AACtB,EAAAA,sBAAA,qBAAkB;AAClB,EAAAA,sBAAA,oCAAiC;AACjC,EAAAA,sBAAA,2BAAwB;AACxB,EAAAA,sBAAA,2CAAwC;AACxC,EAAAA,sBAAA,+BAA4B;AAC5B,EAAAA,sBAAA,0BAAuB;AACvB,EAAAA,sBAAA,gCAA6B;AAC7B,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,mBAAgB;AAChB,EAAAA,sBAAA,oBAAiB;AACjB,EAAAA,sBAAA,iCAA8B;AAC9B,EAAAA,sBAAA,uBAAoB;AACpB,EAAAA,sBAAA,qBAAkB;AAClB,EAAAA,sBAAA,uBAAoB;AACpB,EAAAA,sBAAA,gBAAa;AACb,EAAAA,sBAAA,yBAAsB;AACtB,EAAAA,sBAAA,2BAAwB;AACxB,EAAAA,sBAAA,iBAAc;AACd,EAAAA,sBAAA,2BAAwB;AACxB,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,gBAAa;AACb,EAAAA,sBAAA,qBAAkB;AAClB,EAAAA,sBAAA,wBAAqB;AACrB,EAAAA,sBAAA,0BAAuB;AACvB,EAAAA,sBAAA,mCAAgC;AAjCtB,SAAAA;AAAA,GAAA;",
6
6
  "names": ["AuditEntity", "AuditEntityAttribute"]
7
7
  }
@@ -25,6 +25,9 @@ export declare enum ConsoleAPIClientPermission {
25
25
  CreateHotBackups = "CreateHotBackups",
26
26
  RestoreHotBackup = "RestoreHotBackup",
27
27
  GetHotBackupRestore = "GetHotBackupRestore",
28
+ GetHotBackupSchedule = "GetHotBackupSchedule",
29
+ UpdateHotBackupSchedule = "UpdateHotBackupSchedule",
30
+ DeleteHotBackupSchedule = "DeleteHotBackupSchedule",
28
31
  DownloadActivity = "DownloadActivity",
29
32
  GetByomClient = "GetByomClient",
30
33
  ActivateByom = "ActivateByom",
@@ -34,5 +37,7 @@ export declare enum ConsoleAPIClientPermission {
34
37
  DeleteByomClient = "DeleteByomClient",
35
38
  GetSecureConnectivity = "GetSecureConnectivity",
36
39
  ActivateSecureConnectivity = "ActivateSecureConnectivity",
37
- DeactivateSecureConnectivity = "DeactivateSecureConnectivity"
40
+ DeactivateSecureConnectivity = "DeactivateSecureConnectivity",
41
+ /** Experimental — not enabled for all organizations. */
42
+ CreateFailover = "CreateFailover"
38
43
  }
@@ -25,6 +25,9 @@ var ConsoleAPIClientPermission = /* @__PURE__ */ ((ConsoleAPIClientPermission2)
25
25
  ConsoleAPIClientPermission2["CreateHotBackups"] = "CreateHotBackups";
26
26
  ConsoleAPIClientPermission2["RestoreHotBackup"] = "RestoreHotBackup";
27
27
  ConsoleAPIClientPermission2["GetHotBackupRestore"] = "GetHotBackupRestore";
28
+ ConsoleAPIClientPermission2["GetHotBackupSchedule"] = "GetHotBackupSchedule";
29
+ ConsoleAPIClientPermission2["UpdateHotBackupSchedule"] = "UpdateHotBackupSchedule";
30
+ ConsoleAPIClientPermission2["DeleteHotBackupSchedule"] = "DeleteHotBackupSchedule";
28
31
  ConsoleAPIClientPermission2["DownloadActivity"] = "DownloadActivity";
29
32
  ConsoleAPIClientPermission2["GetByomClient"] = "GetByomClient";
30
33
  ConsoleAPIClientPermission2["ActivateByom"] = "ActivateByom";
@@ -35,6 +38,7 @@ var ConsoleAPIClientPermission = /* @__PURE__ */ ((ConsoleAPIClientPermission2)
35
38
  ConsoleAPIClientPermission2["GetSecureConnectivity"] = "GetSecureConnectivity";
36
39
  ConsoleAPIClientPermission2["ActivateSecureConnectivity"] = "ActivateSecureConnectivity";
37
40
  ConsoleAPIClientPermission2["DeactivateSecureConnectivity"] = "DeactivateSecureConnectivity";
41
+ ConsoleAPIClientPermission2["CreateFailover"] = "CreateFailover";
38
42
  return ConsoleAPIClientPermission2;
39
43
  })(ConsoleAPIClientPermission || {});
40
44
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/enums/ConsoleApiClientPermission.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-next-line no-shadow\nexport enum ConsoleAPIClientPermission {\n CreateCluster = 'CreateCluster',\n DeleteCluster = 'DeleteCluster',\n GetCluster = 'GetCluster',\n UpdateCluster = 'UpdateCluster',\n UpdateClusterEncryption = 'UpdateClusterEncryption',\n CreateZeebeClient = 'CreateZeebeClient',\n DeleteZeebeClient = 'DeleteZeebeClient',\n GetZeebeClient = 'GetZeebeClient',\n CreateModel = 'CreateModel',\n UpdateModel = 'UpdateModel',\n DeleteModel = 'DeleteModel',\n GetModel = 'GetModel',\n\n GetWhitelists = 'GetWhitelists',\n UpdateWhitelists = 'UpdateWhitelists',\n\n GetSecrets = 'GetSecrets',\n DeleteSecrets = 'DeleteSecrets',\n CreateSecrets = 'CreateSecrets',\n UpdateSecrets = 'UpdateSecrets',\n\n GetMembers = 'GetMembers',\n UpdateMembers = 'UpdateMembers',\n DeleteMembers = 'DeleteMembers',\n GetHotBackups = 'GetHotBackups',\n DeleteHotBackups = 'DeleteHotBackups',\n CreateHotBackups = 'CreateHotBackups',\n RestoreHotBackup = 'RestoreHotBackup',\n GetHotBackupRestore = 'GetHotBackupRestore',\n DownloadActivity = 'DownloadActivity',\n GetByomClient = 'GetByomClient',\n ActivateByom = 'ActivateByom',\n DeactivateByom = 'DeactivateByom',\n CreateByomClient = 'CreateByomClient',\n UpdateByomClient = 'UpdateByomClient',\n DeleteByomClient = 'DeleteByomClient',\n GetSecureConnectivity = 'GetSecureConnectivity',\n ActivateSecureConnectivity = 'ActivateSecureConnectivity',\n DeactivateSecureConnectivity = 'DeactivateSecureConnectivity',\n}\n"],
5
- "mappings": "AAOO,IAAK,6BAAL,kBAAKA,gCAAL;AACL,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,gBAAa;AACb,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,6BAA0B;AAC1B,EAAAA,4BAAA,uBAAoB;AACpB,EAAAA,4BAAA,uBAAoB;AACpB,EAAAA,4BAAA,oBAAiB;AACjB,EAAAA,4BAAA,iBAAc;AACd,EAAAA,4BAAA,iBAAc;AACd,EAAAA,4BAAA,iBAAc;AACd,EAAAA,4BAAA,cAAW;AAEX,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,sBAAmB;AAEnB,EAAAA,4BAAA,gBAAa;AACb,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,mBAAgB;AAEhB,EAAAA,4BAAA,gBAAa;AACb,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,sBAAmB;AACnB,EAAAA,4BAAA,sBAAmB;AACnB,EAAAA,4BAAA,sBAAmB;AACnB,EAAAA,4BAAA,yBAAsB;AACtB,EAAAA,4BAAA,sBAAmB;AACnB,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,kBAAe;AACf,EAAAA,4BAAA,oBAAiB;AACjB,EAAAA,4BAAA,sBAAmB;AACnB,EAAAA,4BAAA,sBAAmB;AACnB,EAAAA,4BAAA,sBAAmB;AACnB,EAAAA,4BAAA,2BAAwB;AACxB,EAAAA,4BAAA,gCAA6B;AAC7B,EAAAA,4BAAA,kCAA+B;AAvCrB,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-next-line no-shadow\nexport enum ConsoleAPIClientPermission {\n CreateCluster = 'CreateCluster',\n DeleteCluster = 'DeleteCluster',\n GetCluster = 'GetCluster',\n UpdateCluster = 'UpdateCluster',\n UpdateClusterEncryption = 'UpdateClusterEncryption',\n CreateZeebeClient = 'CreateZeebeClient',\n DeleteZeebeClient = 'DeleteZeebeClient',\n GetZeebeClient = 'GetZeebeClient',\n CreateModel = 'CreateModel',\n UpdateModel = 'UpdateModel',\n DeleteModel = 'DeleteModel',\n GetModel = 'GetModel',\n\n GetWhitelists = 'GetWhitelists',\n UpdateWhitelists = 'UpdateWhitelists',\n\n GetSecrets = 'GetSecrets',\n DeleteSecrets = 'DeleteSecrets',\n CreateSecrets = 'CreateSecrets',\n UpdateSecrets = 'UpdateSecrets',\n\n GetMembers = 'GetMembers',\n UpdateMembers = 'UpdateMembers',\n DeleteMembers = 'DeleteMembers',\n GetHotBackups = 'GetHotBackups',\n DeleteHotBackups = 'DeleteHotBackups',\n CreateHotBackups = 'CreateHotBackups',\n RestoreHotBackup = 'RestoreHotBackup',\n GetHotBackupRestore = 'GetHotBackupRestore',\n GetHotBackupSchedule = 'GetHotBackupSchedule',\n UpdateHotBackupSchedule = 'UpdateHotBackupSchedule',\n DeleteHotBackupSchedule = 'DeleteHotBackupSchedule',\n DownloadActivity = 'DownloadActivity',\n GetByomClient = 'GetByomClient',\n ActivateByom = 'ActivateByom',\n DeactivateByom = 'DeactivateByom',\n CreateByomClient = 'CreateByomClient',\n UpdateByomClient = 'UpdateByomClient',\n DeleteByomClient = 'DeleteByomClient',\n GetSecureConnectivity = 'GetSecureConnectivity',\n ActivateSecureConnectivity = 'ActivateSecureConnectivity',\n DeactivateSecureConnectivity = 'DeactivateSecureConnectivity',\n\n /** Experimental \u2014 not enabled for all organizations. */\n CreateFailover = 'CreateFailover',\n}\n"],
5
+ "mappings": "AAOO,IAAK,6BAAL,kBAAKA,gCAAL;AACL,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,gBAAa;AACb,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,6BAA0B;AAC1B,EAAAA,4BAAA,uBAAoB;AACpB,EAAAA,4BAAA,uBAAoB;AACpB,EAAAA,4BAAA,oBAAiB;AACjB,EAAAA,4BAAA,iBAAc;AACd,EAAAA,4BAAA,iBAAc;AACd,EAAAA,4BAAA,iBAAc;AACd,EAAAA,4BAAA,cAAW;AAEX,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,sBAAmB;AAEnB,EAAAA,4BAAA,gBAAa;AACb,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,mBAAgB;AAEhB,EAAAA,4BAAA,gBAAa;AACb,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,sBAAmB;AACnB,EAAAA,4BAAA,sBAAmB;AACnB,EAAAA,4BAAA,sBAAmB;AACnB,EAAAA,4BAAA,yBAAsB;AACtB,EAAAA,4BAAA,0BAAuB;AACvB,EAAAA,4BAAA,6BAA0B;AAC1B,EAAAA,4BAAA,6BAA0B;AAC1B,EAAAA,4BAAA,sBAAmB;AACnB,EAAAA,4BAAA,mBAAgB;AAChB,EAAAA,4BAAA,kBAAe;AACf,EAAAA,4BAAA,oBAAiB;AACjB,EAAAA,4BAAA,sBAAmB;AACnB,EAAAA,4BAAA,sBAAmB;AACnB,EAAAA,4BAAA,sBAAmB;AACnB,EAAAA,4BAAA,2BAAwB;AACxB,EAAAA,4BAAA,gCAA6B;AAC7B,EAAAA,4BAAA,kCAA+B;AAG/B,EAAAA,4BAAA,oBAAiB;AA7CP,SAAAA;AAAA,GAAA;",
6
6
  "names": ["ConsoleAPIClientPermission"]
7
7
  }
@@ -6,6 +6,7 @@ export declare enum ErrorType {
6
6
  Conflict = 409,
7
7
  PreconditionFailed = 412,
8
8
  IAmATeapot = 418,
9
+ UnprocessableEntity = 422,
9
10
  TooManyRequests = 429,
10
11
  Internal = 500,
11
12
  NotImplemented = 501,