@camunda8/sdk 8.9.0-alpha.5 → 8.9.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENT.md +417 -101
- package/CHANGELOG.md +25 -0
- package/MAINTAINER.md +205 -0
- package/dist/admin/lib/AdminApiClient.d.ts +146 -0
- package/dist/admin/lib/AdminApiClient.js +281 -0
- package/dist/admin/lib/AdminApiClient.js.map +1 -1
- package/dist/admin/lib/AdminDto.d.ts +133 -0
- package/dist/lib/GotErrors.d.ts +7 -0
- package/dist/lib/GotErrors.js +31 -1
- package/dist/lib/GotErrors.js.map +1 -1
- package/dist/oauth/lib/OAuthProvider.d.ts +1 -0
- package/dist/oauth/lib/OAuthProvider.js +126 -34
- package/dist/oauth/lib/OAuthProvider.js.map +1 -1
- package/dist/zeebe/lib/ZBWorkerBase.js +3 -0
- package/dist/zeebe/lib/ZBWorkerBase.js.map +1 -1
- package/dist/zeebe/lib/cancelProcesses.js +5 -5
- package/dist/zeebe/lib/cancelProcesses.js.map +1 -1
- package/package.json +4 -4
package/MAINTAINER.md
ADDED
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
<h1 align="center">Maintainer Guide – Camunda 8 JavaScript SDK</h1>
|
|
2
|
+
|
|
3
|
+
Operational documentation for maintainers of `@camunda8/sdk`. End-user documentation lives in [README.md](README.md); contributor onboarding (forking, commit conventions, running tests locally) lives in [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
4
|
+
|
|
5
|
+
This document focuses on **how CI works**, **how releases happen**, and **how to operate the branch model**.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. Branch Model
|
|
10
|
+
|
|
11
|
+
| Branch | Type | npm dist-tag | Trigger |
|
|
12
|
+
| ----------------------------------- | ------------------- | ------------------------ | -------------------- |
|
|
13
|
+
| `main` | alpha pre-releases | `alpha` | merge to `main` |
|
|
14
|
+
| `stable/<major>.<minor>` (current) | stable releases | `latest` | merge to that branch |
|
|
15
|
+
| `stable/<major>.<minor>` (older) | maintenance | `<major>.<minor>-stable` | merge to that branch |
|
|
16
|
+
|
|
17
|
+
The "current" stable line is selected at release time by the GitHub repo variable `CAMUNDA_SDK_CURRENT_STABLE_MINOR` (e.g. `8.8`). The branch matching that value publishes to `latest`; every other `stable/*` branch publishes to its own maintenance dist-tag.
|
|
18
|
+
|
|
19
|
+
At time of writing, `stable/8.8` is the current stable line (publishes to `latest`) and `main` carries `8.9.0-alpha.*` (publishes to `alpha`).
|
|
20
|
+
|
|
21
|
+
The branch resolution logic lives in [release.config.js](release.config.js) (`stableMinorFromBranch`, `envCurrentStableMinor`, `dedupeBranches`). The logic mirrors `orchestration-cluster-api-js` so the two SDKs stay aligned.
|
|
22
|
+
|
|
23
|
+
### Promoting a new stable line
|
|
24
|
+
|
|
25
|
+
When a new Camunda minor (e.g. `8.9`) is ready to be promoted to `latest`:
|
|
26
|
+
|
|
27
|
+
1. Cut the branch from `main`:
|
|
28
|
+
```bash
|
|
29
|
+
git checkout main
|
|
30
|
+
git checkout -b stable/8.9
|
|
31
|
+
git push -u origin stable/8.9
|
|
32
|
+
```
|
|
33
|
+
2. Update the GitHub **repository variable** (Settings → Secrets and variables → Actions → Variables) `CAMUNDA_SDK_CURRENT_STABLE_MINOR` from `8.8` to `8.9`.
|
|
34
|
+
3. The next merge to `stable/8.9` will publish to npm dist-tag `latest`. The previous current line (`stable/8.8`) automatically falls back to maintenance dist-tag `8.8-stable` on its next release.
|
|
35
|
+
4. Update [.github/workflows/integration-test-matrix-trigger.yaml](.github/workflows/integration-test-matrix-trigger.yaml) to add a daily compatibility-test trigger for the new branch (uncomment / duplicate the `trigger-stable-8-9` block).
|
|
36
|
+
5. Update [.github/dependabot.yml](.github/dependabot.yml) `target-branch` entries if the previous stable line should be replaced as a dependabot target.
|
|
37
|
+
|
|
38
|
+
No git tag manipulation is required — semantic-release reads existing tags and computes the next version per branch independently.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 2. CI Workflows
|
|
43
|
+
|
|
44
|
+
All workflows live under [.github/workflows/](.github/workflows/).
|
|
45
|
+
|
|
46
|
+
| Workflow | Trigger | Purpose |
|
|
47
|
+
| ----------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
|
48
|
+
| `ci.yml` | push to feature branches, all PRs | Fast feedback for contributors. Unit tests + 8.8 SM integration. Heavier 8.7 jobs are PR-only and gated by environment. |
|
|
49
|
+
| `release.yml` | push to `main` or `stable/**`, manual dispatch | Full integration suite **plus** semantic-release publish step. |
|
|
50
|
+
| `commitlint.yml` | PR | Enforces conventional commits. |
|
|
51
|
+
| `code-scanning.yml` | scheduled / push | CodeQL. |
|
|
52
|
+
| `backport.yml` | PR closed, `/backport` comment | Creates backport PRs (e.g. `main` → `stable/8.8`) via `korthout/backport-action`. |
|
|
53
|
+
| `integration-test-matrix.yml` | scheduled (02:00 UTC), manual dispatch | Cross-version client × server compatibility matrix. Runs **on a stable branch** and tests every released SDK version against every server version ≥ current minor. |
|
|
54
|
+
| `integration-test-matrix-trigger.yaml` | scheduled (02:00 UTC) | Fans out the matrix run to each active stable branch (uses `gh workflow run --ref stable/<x.y>`). |
|
|
55
|
+
|
|
56
|
+
### CI vs. Release: why feature branches and `main`/`stable/**` are separated
|
|
57
|
+
|
|
58
|
+
`ci.yml` listens on `push` for everything **except** `main` and `stable/**`, plus all `pull_request` events. `release.yml` listens on `push` to `main` and `stable/**`. This avoids running the same jobs twice on the same SHA when a PR is merged.
|
|
59
|
+
|
|
60
|
+
The release workflow re-runs the same gating jobs as `ci.yml`, then layers on:
|
|
61
|
+
|
|
62
|
+
- `local_integration` (8.7 SM, requires `selfhosted` env + `DOCKER_PASSWORD`)
|
|
63
|
+
- `local_multitenancy_integration` (8.7 SM-MT, same)
|
|
64
|
+
- `saas_integration` (8.7 SaaS, requires `integration` env)
|
|
65
|
+
- `saas_integration_8_8` (8.8 SaaS, requires `integration-8.8` env)
|
|
66
|
+
|
|
67
|
+
All of those are **required** before the `tag-and-publish` job runs. There is no path that publishes to npm without the full integration suite passing.
|
|
68
|
+
|
|
69
|
+
### SaaS concurrency
|
|
70
|
+
|
|
71
|
+
SaaS test clusters are shared across branches. To prevent a `main` release and a `stable/8.8` release from interleaving requests against the same cluster, each SaaS job declares a `concurrency` group keyed to its cluster (`saas-integration-8.7`, `saas-integration-8.8`) with `cancel-in-progress: false`. Concurrent triggers queue rather than abort.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 3. Release Pipeline
|
|
76
|
+
|
|
77
|
+
Releases are produced by [semantic-release](https://github.com/semantic-release/semantic-release) inside the `tag-and-publish` job at the end of [release.yml](.github/workflows/release.yml). The job runs in the GitHub `publish` environment (any environment-level approval gates apply here).
|
|
78
|
+
|
|
79
|
+
### What semantic-release does
|
|
80
|
+
|
|
81
|
+
1. Reads commits since the last release tag on the current branch.
|
|
82
|
+
2. Computes the next version from commit types (see [release.config.js](release.config.js) `releaseRules`).
|
|
83
|
+
3. Updates `package.json`, generates `CHANGELOG.md`, commits with `chore(release): <version> [skip ci]`, tags `v<version>`.
|
|
84
|
+
4. Publishes to npm with the dist-tag derived from the branch.
|
|
85
|
+
5. Creates a GitHub Release with auto-generated notes.
|
|
86
|
+
6. Posts a "Released in `<tag>`" comment on PRs included in the release.
|
|
87
|
+
|
|
88
|
+
### Commit type → version bump
|
|
89
|
+
|
|
90
|
+
| Commit type | Bump | Notes |
|
|
91
|
+
| --------------- | ----- | ------------------------------------------------------ |
|
|
92
|
+
| `feat` | patch | Mutated semver: features within a minor cycle = patch |
|
|
93
|
+
| `fix` | patch | |
|
|
94
|
+
| `perf` | patch | |
|
|
95
|
+
| `revert` | patch | |
|
|
96
|
+
| `release` | patch | |
|
|
97
|
+
| `BREAKING CHANGE` footer | patch | Also a patch — bumps are tied to the Camunda server line, not breaking changes in the SDK itself |
|
|
98
|
+
| `server` | minor | Use when bumping to a new Camunda 8 minor (e.g. 8.8 → 8.9) |
|
|
99
|
+
| `server-major` | major | Use when bumping to a new Camunda 8 major |
|
|
100
|
+
| anything else (`chore`, `docs`, `test`, `ci`, `build`, `refactor`, `style`) | none | No release |
|
|
101
|
+
|
|
102
|
+
This mutated semver is intentional: the SDK's version tracks the Camunda 8 server minor line, not its own API surface. To force a release of accumulated `chore`-only work, push a commit (or empty commit) with type `release`.
|
|
103
|
+
|
|
104
|
+
### npm authentication: Trusted Publishing (OIDC)
|
|
105
|
+
|
|
106
|
+
Publishing uses npm **Trusted Publishing** via GitHub Actions OIDC. Consequences:
|
|
107
|
+
|
|
108
|
+
- The workflow requests `id-token: write` and **does not** read `NPM_TOKEN`. The `NODE_AUTH_TOKEN=""` in front of the `npx semantic-release` invocation is deliberate — it ensures any stale token in the environment is ignored.
|
|
109
|
+
- `NPM_CONFIG_PROVENANCE: true` is set, so published tarballs include npm provenance attestations.
|
|
110
|
+
- For publishing to succeed, `@camunda8/sdk` must be configured on npmjs.com to **trust this repository and the `release.yml` workflow**.
|
|
111
|
+
- If publishing fails with auth errors (`ENEEDAUTH`, `E401`), check the npm Trusted Publishing configuration **before** introducing an `NPM_TOKEN` secret. Adding a token undermines the OIDC posture and should be a last resort.
|
|
112
|
+
|
|
113
|
+
### Stable line dist-tag derivation at publish time
|
|
114
|
+
|
|
115
|
+
The `Export stable line config` step in `tag-and-publish` writes `CAMUNDA_SDK_CURRENT_STABLE_MINOR` from the repo variable into the job env. `release.config.js` then dynamically constructs the `branches` array based on the current branch (`GITHUB_REF_NAME`) and that env var. Effects:
|
|
116
|
+
|
|
117
|
+
- On `main`: only the `main` (alpha) branch entry is active.
|
|
118
|
+
- On `stable/<current>`: both `main` and `stable/<current>` (channel: `latest`) are present.
|
|
119
|
+
- On `stable/<other>`: a maintenance entry is appended for that branch (channel: `<x.y>-stable`).
|
|
120
|
+
|
|
121
|
+
A consequence: if you push to a `stable/*` branch **without** `CAMUNDA_SDK_CURRENT_STABLE_MINOR` being set correctly, semantic-release may either refuse to publish or publish to the wrong dist-tag. Always verify the repo variable before promoting a new stable line.
|
|
122
|
+
|
|
123
|
+
### Documentation deployment
|
|
124
|
+
|
|
125
|
+
After a successful release on `main`, the same job builds TypeDoc output (`npm run docs`) and deploys it to the `gh-pages` branch via `JamesIves/github-pages-deploy-action`. Releases on `stable/**` do not redeploy docs.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## 4. Compatibility Matrix
|
|
130
|
+
|
|
131
|
+
[integration-test-matrix.yml](.github/workflows/integration-test-matrix.yml) runs nightly on each active stable branch (driven by `integration-test-matrix-trigger.yaml`). It:
|
|
132
|
+
|
|
133
|
+
1. Derives the current minor from the **latest stable git tag** on the branch (intentionally not from `package.json`, which may already be at a pre-release version).
|
|
134
|
+
2. Enumerates SDK client versions ≥ that minor from local git tags.
|
|
135
|
+
3. Enumerates Camunda server versions ≥ that minor from `camunda/camunda` git tags via `git ls-remote` (no clone).
|
|
136
|
+
4. Runs the full client × server matrix, with caching to avoid retesting known-good combinations.
|
|
137
|
+
|
|
138
|
+
Manual dispatch supports pinning a `client_version`, a `server_version`, and `skip_cache` to force a full re-run.
|
|
139
|
+
|
|
140
|
+
When promoting a new stable line, **add a trigger entry** in `integration-test-matrix-trigger.yaml` so the new branch is exercised nightly. Failure to do so means the new line silently loses compatibility coverage.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## 5. Hotfix / Maintenance Workflow
|
|
145
|
+
|
|
146
|
+
To ship a fix to a stable line:
|
|
147
|
+
|
|
148
|
+
1. Land the fix on `main` via a normal PR (so `alpha` users get it immediately).
|
|
149
|
+
2. Add the appropriate `backport-stable/<x.y>` label on the merged PR (or comment `/backport stable/<x.y>`). [backport.yml](.github/workflows/backport.yml) creates the backport PR automatically; conflicts are committed as draft commits per the `experimental.conflict_resolution` setting.
|
|
150
|
+
3. Merge the backport PR to `stable/<x.y>`. The Release workflow then runs the full integration suite and publishes to npm.
|
|
151
|
+
|
|
152
|
+
Always land on `main` first unless the fix is genuinely stable-only (e.g. it touches code that no longer exists on `main`). Stable-only fixes should be opened directly against the `stable/<x.y>` branch.
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## 6. Required Secrets and Environments
|
|
157
|
+
|
|
158
|
+
| Name | Scope | Used by |
|
|
159
|
+
| -------------------------------------------- | ------------------------------ | ---------------------------------------------- |
|
|
160
|
+
| `DOCKER_PASSWORD` | env: `selfhosted` | 8.7 self-managed integration jobs (login to `registry.camunda.cloud`) |
|
|
161
|
+
| `ZEEBE_*`, `CAMUNDA_*`, `CAMUNDA_CONSOLE_*` | env: `integration` | 8.7 SaaS integration |
|
|
162
|
+
| `ZEEBE_*`, `CAMUNDA_*`, `CAMUNDA_CONSOLE_*` | env: `integration-8.8` | 8.8 SaaS integration |
|
|
163
|
+
| (none — OIDC) | env: `publish` | npm publish via Trusted Publishing |
|
|
164
|
+
| `BACKPORT_ACTION_PAT` | repo | `backport.yml` (PAT with write access for cross-branch pushes) |
|
|
165
|
+
| `CAMUNDA_SDK_CURRENT_STABLE_MINOR` (variable, not secret) | repo | `release.yml` → `release.config.js` |
|
|
166
|
+
|
|
167
|
+
Fork PRs cannot read environment secrets, so the heavier jobs (`local_integration`, `local_multitenancy_integration`, both SaaS jobs) skip on fork PRs by virtue of the environment lookup failing or, in `ci.yml`, by an explicit `if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'` guard plus the environment scoping. Fork contributors get unit tests + the public 8.8 docker stack.
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## 7. Common Operational Tasks
|
|
172
|
+
|
|
173
|
+
### Force a release with no eligible commits
|
|
174
|
+
|
|
175
|
+
Push an empty commit with type `release`:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
git commit --allow-empty -m "release: ship pending chore work"
|
|
179
|
+
git push
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Re-run a failed release
|
|
183
|
+
|
|
184
|
+
Re-run the `tag-and-publish` job from the Actions UI. semantic-release is idempotent: it will skip publishing if the version was already published, or resume from the next pending version.
|
|
185
|
+
|
|
186
|
+
### Diagnose "wrong dist-tag" issues
|
|
187
|
+
|
|
188
|
+
1. Check `CAMUNDA_SDK_CURRENT_STABLE_MINOR` in repo variables.
|
|
189
|
+
2. Inspect the workflow log for the line `Export stable line config` to confirm the value reached the job.
|
|
190
|
+
3. Confirm the branch you pushed to matches the configured current stable minor (or is `main`, or is an older stable line).
|
|
191
|
+
|
|
192
|
+
### Diagnose "publish failed: no auth"
|
|
193
|
+
|
|
194
|
+
Do **not** add an `NPM_TOKEN` secret. Verify on npmjs.com that `@camunda8/sdk` lists this repo + `release.yml` as a Trusted Publisher.
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## 8. Cross-references
|
|
199
|
+
|
|
200
|
+
- [CONTRIBUTING.md](CONTRIBUTING.md) — contributor-facing version of the branching/release summary
|
|
201
|
+
- [release.config.js](release.config.js) — semantic-release configuration (branches, dist-tags, releaseRules)
|
|
202
|
+
- [.github/workflows/release.yml](.github/workflows/release.yml) — full release pipeline
|
|
203
|
+
- [.github/workflows/ci.yml](.github/workflows/ci.yml) — PR / feature-branch CI
|
|
204
|
+
- [.github/workflows/integration-test-matrix.yml](.github/workflows/integration-test-matrix.yml) — nightly compatibility matrix
|
|
205
|
+
- [.github/workflows/backport.yml](.github/workflows/backport.yml) — automated backports
|
|
@@ -137,4 +137,150 @@ export declare class AdminApiClient {
|
|
|
137
137
|
*
|
|
138
138
|
*/
|
|
139
139
|
deleteMember(email: string): Promise<null>;
|
|
140
|
+
/**
|
|
141
|
+
*
|
|
142
|
+
* Get the egress IP ranges for Camunda SaaS. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/GetMeta) for more details.
|
|
143
|
+
* @throws {RESTError}
|
|
144
|
+
*/
|
|
145
|
+
getIpRanges(): Promise<Dto.MetaDto>;
|
|
146
|
+
/**
|
|
147
|
+
*
|
|
148
|
+
* Update a cluster's name, description, or stage label. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/UpdateCluster) for more details.
|
|
149
|
+
* @param clusterUuid - The cluster UUID
|
|
150
|
+
* @param updateRequest - The fields to update
|
|
151
|
+
* @throws {RESTError}
|
|
152
|
+
*/
|
|
153
|
+
updateCluster(clusterUuid: string, updateRequest: Dto.UpdateClusterBody): Promise<void>;
|
|
154
|
+
/**
|
|
155
|
+
*
|
|
156
|
+
* Upgrade a cluster to the latest available generation. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/UpgradeCluster) for more details.
|
|
157
|
+
* @param clusterUuid - The cluster UUID
|
|
158
|
+
* @throws {RESTError}
|
|
159
|
+
*/
|
|
160
|
+
upgradeCluster(clusterUuid: string): Promise<Dto.GenerationUpgradeForClusterDto>;
|
|
161
|
+
/**
|
|
162
|
+
*
|
|
163
|
+
* Resume a suspended cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/Wake) for more details.
|
|
164
|
+
* @param clusterUuid - The cluster UUID
|
|
165
|
+
* @throws {RESTError}
|
|
166
|
+
*/
|
|
167
|
+
wakeCluster(clusterUuid: string): Promise<void>;
|
|
168
|
+
/**
|
|
169
|
+
*
|
|
170
|
+
* Update the IP allowlist for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/UpdateIpAllowlist) for more details.
|
|
171
|
+
* @param clusterUuid - The cluster UUID
|
|
172
|
+
* @param ipallowlist - Array of IP allowlist entries
|
|
173
|
+
* @throws {RESTError}
|
|
174
|
+
*/
|
|
175
|
+
updateIpAllowlist(clusterUuid: string, ipallowlist: Dto.IpAllowListEntry[]): Promise<void>;
|
|
176
|
+
/**
|
|
177
|
+
*
|
|
178
|
+
* Update a connector secret value. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/UpdateSecret) for more details.
|
|
179
|
+
* @param clusterUuid - The cluster UUID
|
|
180
|
+
* @param secretName - The name of the secret to update
|
|
181
|
+
* @param secretValue - The new secret value
|
|
182
|
+
* @throws {RESTError}
|
|
183
|
+
*/
|
|
184
|
+
updateSecret(clusterUuid: string, secretName: string, secretValue: string): Promise<void>;
|
|
185
|
+
/**
|
|
186
|
+
*
|
|
187
|
+
* Activate Secure Connectivity for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/ActivateSecureConnectivity) for more details.
|
|
188
|
+
* @param clusterUuid - The cluster UUID
|
|
189
|
+
* @param request - The allowed principals and regions
|
|
190
|
+
* @throws {RESTError}
|
|
191
|
+
*/
|
|
192
|
+
activateSecureConnectivity(clusterUuid: string, request: Dto.ActivateSecureConnectivityBody): Promise<void>;
|
|
193
|
+
/**
|
|
194
|
+
*
|
|
195
|
+
* Deactivate Secure Connectivity for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/DeactivateSecureConnectivity) for more details.
|
|
196
|
+
* @param clusterUuid - The cluster UUID
|
|
197
|
+
* @throws {RESTError}
|
|
198
|
+
*/
|
|
199
|
+
deactivateSecureConnectivity(clusterUuid: string): Promise<void>;
|
|
200
|
+
/**
|
|
201
|
+
*
|
|
202
|
+
* Get the Secure Connectivity status for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/GetSecureConnectivityStatus) for more details.
|
|
203
|
+
* @param clusterUuid - The cluster UUID
|
|
204
|
+
* @throws {RESTError}
|
|
205
|
+
*/
|
|
206
|
+
getSecureConnectivityStatus(clusterUuid: string): Promise<Dto.SecureConnectivityStatusResponse>;
|
|
207
|
+
/**
|
|
208
|
+
*
|
|
209
|
+
* Activate External Monitoring (BYOM) for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/ActivateMonitoring) for more details.
|
|
210
|
+
* @param clusterUuid - The cluster UUID
|
|
211
|
+
* @throws {RESTError}
|
|
212
|
+
*/
|
|
213
|
+
activateMonitoring(clusterUuid: string): Promise<void>;
|
|
214
|
+
/**
|
|
215
|
+
*
|
|
216
|
+
* Deactivate External Monitoring (BYOM) for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/DeactivateMonitoring) for more details.
|
|
217
|
+
* @param clusterUuid - The cluster UUID
|
|
218
|
+
* @throws {RESTError}
|
|
219
|
+
*/
|
|
220
|
+
deactivateMonitoring(clusterUuid: string): Promise<void>;
|
|
221
|
+
/**
|
|
222
|
+
*
|
|
223
|
+
* Get all External Monitoring clients for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/GetMonitoringClients) for more details.
|
|
224
|
+
* @param clusterUuid - The cluster UUID
|
|
225
|
+
* @throws {RESTError}
|
|
226
|
+
*/
|
|
227
|
+
getMonitoringClients(clusterUuid: string): Promise<Dto.MonitoringClientsResponse>;
|
|
228
|
+
/**
|
|
229
|
+
*
|
|
230
|
+
* Create a new External Monitoring client for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/CreateMonitoringClient) for more details.
|
|
231
|
+
* @param clusterUuid - The cluster UUID
|
|
232
|
+
* @param username - The username for the monitoring client
|
|
233
|
+
* @throws {RESTError}
|
|
234
|
+
*/
|
|
235
|
+
createMonitoringClient(clusterUuid: string, username: string): Promise<Dto.CreatedMonitoringClient>;
|
|
236
|
+
/**
|
|
237
|
+
*
|
|
238
|
+
* Rotate the password for an External Monitoring client. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/RotateMonitoringClientPassword) for more details.
|
|
239
|
+
* @param clusterUuid - The cluster UUID
|
|
240
|
+
* @param clientUuid - The monitoring client UUID
|
|
241
|
+
* @throws {RESTError}
|
|
242
|
+
*/
|
|
243
|
+
rotateMonitoringClientPassword(clusterUuid: string, clientUuid: string): Promise<Dto.CreatedMonitoringClient>;
|
|
244
|
+
/**
|
|
245
|
+
*
|
|
246
|
+
* Delete an External Monitoring client. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/DeleteMonitoringClient) for more details.
|
|
247
|
+
* @param clusterUuid - The cluster UUID
|
|
248
|
+
* @param clientUuid - The monitoring client UUID
|
|
249
|
+
* @throws {RESTError}
|
|
250
|
+
*/
|
|
251
|
+
deleteMonitoringClient(clusterUuid: string, clientUuid: string): Promise<void>;
|
|
252
|
+
/**
|
|
253
|
+
*
|
|
254
|
+
* Get all backups for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/GetBackups) for more details.
|
|
255
|
+
* @param clusterUuid - The cluster UUID
|
|
256
|
+
* @throws {RESTError}
|
|
257
|
+
*/
|
|
258
|
+
getBackups(clusterUuid: string): Promise<Dto.Backup[]>;
|
|
259
|
+
/**
|
|
260
|
+
*
|
|
261
|
+
* Create a new backup for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/CreateBackup) for more details.
|
|
262
|
+
* @param clusterUuid - The cluster UUID
|
|
263
|
+
* @throws {RESTError}
|
|
264
|
+
*/
|
|
265
|
+
createBackup(clusterUuid: string): Promise<Dto.Backup>;
|
|
266
|
+
/**
|
|
267
|
+
*
|
|
268
|
+
* Delete a backup. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/DeleteBackup) for more details.
|
|
269
|
+
* @param clusterUuid - The cluster UUID
|
|
270
|
+
* @param backupId - The backup ID
|
|
271
|
+
* @throws {RESTError}
|
|
272
|
+
*/
|
|
273
|
+
deleteBackup(clusterUuid: string, backupId: string): Promise<Dto.Backup>;
|
|
274
|
+
/**
|
|
275
|
+
*
|
|
276
|
+
* Fetch all activity/audit events as JSON. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/GetJson) for more details.
|
|
277
|
+
* @throws {RESTError}
|
|
278
|
+
*/
|
|
279
|
+
getActivityEvents(): Promise<Dto.AuditEvent[]>;
|
|
280
|
+
/**
|
|
281
|
+
*
|
|
282
|
+
* Fetch all activity/audit events as CSV. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/GetCsv) for more details.
|
|
283
|
+
* @throws {RESTError}
|
|
284
|
+
*/
|
|
285
|
+
getActivityEventsCsv(): Promise<string>;
|
|
140
286
|
}
|
|
@@ -276,6 +276,287 @@ class AdminApiClient {
|
|
|
276
276
|
})
|
|
277
277
|
.json();
|
|
278
278
|
}
|
|
279
|
+
/**
|
|
280
|
+
*
|
|
281
|
+
* Get the egress IP ranges for Camunda SaaS. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/GetMeta) for more details.
|
|
282
|
+
* @throws {RESTError}
|
|
283
|
+
*/
|
|
284
|
+
async getIpRanges() {
|
|
285
|
+
const headers = await this.getHeaders();
|
|
286
|
+
const rest = await this.rest;
|
|
287
|
+
return rest('meta/ip-ranges', {
|
|
288
|
+
headers,
|
|
289
|
+
}).json();
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
*
|
|
293
|
+
* Update a cluster's name, description, or stage label. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/UpdateCluster) for more details.
|
|
294
|
+
* @param clusterUuid - The cluster UUID
|
|
295
|
+
* @param updateRequest - The fields to update
|
|
296
|
+
* @throws {RESTError}
|
|
297
|
+
*/
|
|
298
|
+
async updateCluster(clusterUuid, updateRequest) {
|
|
299
|
+
const headers = await this.getHeaders();
|
|
300
|
+
const rest = await this.rest;
|
|
301
|
+
await rest.patch(`clusters/${clusterUuid}`, {
|
|
302
|
+
body: JSON.stringify(updateRequest),
|
|
303
|
+
headers,
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
*
|
|
308
|
+
* Upgrade a cluster to the latest available generation. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/UpgradeCluster) for more details.
|
|
309
|
+
* @param clusterUuid - The cluster UUID
|
|
310
|
+
* @throws {RESTError}
|
|
311
|
+
*/
|
|
312
|
+
async upgradeCluster(clusterUuid) {
|
|
313
|
+
const headers = await this.getHeaders();
|
|
314
|
+
const rest = await this.rest;
|
|
315
|
+
return rest
|
|
316
|
+
.put(`clusters/${clusterUuid}/upgrade`, {
|
|
317
|
+
headers,
|
|
318
|
+
})
|
|
319
|
+
.json();
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
*
|
|
323
|
+
* Resume a suspended cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/Wake) for more details.
|
|
324
|
+
* @param clusterUuid - The cluster UUID
|
|
325
|
+
* @throws {RESTError}
|
|
326
|
+
*/
|
|
327
|
+
async wakeCluster(clusterUuid) {
|
|
328
|
+
const headers = await this.getHeaders();
|
|
329
|
+
const rest = await this.rest;
|
|
330
|
+
await rest.put(`clusters/${clusterUuid}/wake`, {
|
|
331
|
+
headers,
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
*
|
|
336
|
+
* Update the IP allowlist for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/UpdateIpAllowlist) for more details.
|
|
337
|
+
* @param clusterUuid - The cluster UUID
|
|
338
|
+
* @param ipallowlist - Array of IP allowlist entries
|
|
339
|
+
* @throws {RESTError}
|
|
340
|
+
*/
|
|
341
|
+
async updateIpAllowlist(clusterUuid, ipallowlist) {
|
|
342
|
+
const headers = await this.getHeaders();
|
|
343
|
+
const rest = await this.rest;
|
|
344
|
+
await rest.put(`clusters/${clusterUuid}/ipallowlist`, {
|
|
345
|
+
body: JSON.stringify({ ipallowlist }),
|
|
346
|
+
headers,
|
|
347
|
+
});
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
*
|
|
351
|
+
* Update a connector secret value. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/UpdateSecret) for more details.
|
|
352
|
+
* @param clusterUuid - The cluster UUID
|
|
353
|
+
* @param secretName - The name of the secret to update
|
|
354
|
+
* @param secretValue - The new secret value
|
|
355
|
+
* @throws {RESTError}
|
|
356
|
+
*/
|
|
357
|
+
async updateSecret(clusterUuid, secretName, secretValue) {
|
|
358
|
+
const headers = await this.getHeaders();
|
|
359
|
+
const rest = await this.rest;
|
|
360
|
+
await rest.put(`clusters/${clusterUuid}/secrets/${secretName}`, {
|
|
361
|
+
body: JSON.stringify({ secretValue }),
|
|
362
|
+
headers,
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
*
|
|
367
|
+
* Activate Secure Connectivity for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/ActivateSecureConnectivity) for more details.
|
|
368
|
+
* @param clusterUuid - The cluster UUID
|
|
369
|
+
* @param request - The allowed principals and regions
|
|
370
|
+
* @throws {RESTError}
|
|
371
|
+
*/
|
|
372
|
+
async activateSecureConnectivity(clusterUuid, request) {
|
|
373
|
+
const headers = await this.getHeaders();
|
|
374
|
+
const rest = await this.rest;
|
|
375
|
+
await rest.post(`clusters/${clusterUuid}/secure-connectivity`, {
|
|
376
|
+
body: JSON.stringify(request),
|
|
377
|
+
headers,
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
*
|
|
382
|
+
* Deactivate Secure Connectivity for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/DeactivateSecureConnectivity) for more details.
|
|
383
|
+
* @param clusterUuid - The cluster UUID
|
|
384
|
+
* @throws {RESTError}
|
|
385
|
+
*/
|
|
386
|
+
async deactivateSecureConnectivity(clusterUuid) {
|
|
387
|
+
const headers = await this.getHeaders();
|
|
388
|
+
const rest = await this.rest;
|
|
389
|
+
await rest.delete(`clusters/${clusterUuid}/secure-connectivity`, {
|
|
390
|
+
headers,
|
|
391
|
+
});
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
*
|
|
395
|
+
* Get the Secure Connectivity status for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/GetSecureConnectivityStatus) for more details.
|
|
396
|
+
* @param clusterUuid - The cluster UUID
|
|
397
|
+
* @throws {RESTError}
|
|
398
|
+
*/
|
|
399
|
+
async getSecureConnectivityStatus(clusterUuid) {
|
|
400
|
+
const headers = await this.getHeaders();
|
|
401
|
+
const rest = await this.rest;
|
|
402
|
+
return rest(`clusters/${clusterUuid}/secure-connectivity`, {
|
|
403
|
+
headers,
|
|
404
|
+
}).json();
|
|
405
|
+
}
|
|
406
|
+
/**
|
|
407
|
+
*
|
|
408
|
+
* Activate External Monitoring (BYOM) for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/ActivateMonitoring) for more details.
|
|
409
|
+
* @param clusterUuid - The cluster UUID
|
|
410
|
+
* @throws {RESTError}
|
|
411
|
+
*/
|
|
412
|
+
async activateMonitoring(clusterUuid) {
|
|
413
|
+
const headers = await this.getHeaders();
|
|
414
|
+
const rest = await this.rest;
|
|
415
|
+
await rest.post(`clusters/${clusterUuid}/monitoring`, {
|
|
416
|
+
headers,
|
|
417
|
+
});
|
|
418
|
+
}
|
|
419
|
+
/**
|
|
420
|
+
*
|
|
421
|
+
* Deactivate External Monitoring (BYOM) for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/DeactivateMonitoring) for more details.
|
|
422
|
+
* @param clusterUuid - The cluster UUID
|
|
423
|
+
* @throws {RESTError}
|
|
424
|
+
*/
|
|
425
|
+
async deactivateMonitoring(clusterUuid) {
|
|
426
|
+
const headers = await this.getHeaders();
|
|
427
|
+
const rest = await this.rest;
|
|
428
|
+
await rest.delete(`clusters/${clusterUuid}/monitoring`, {
|
|
429
|
+
headers,
|
|
430
|
+
});
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
*
|
|
434
|
+
* Get all External Monitoring clients for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/GetMonitoringClients) for more details.
|
|
435
|
+
* @param clusterUuid - The cluster UUID
|
|
436
|
+
* @throws {RESTError}
|
|
437
|
+
*/
|
|
438
|
+
async getMonitoringClients(clusterUuid) {
|
|
439
|
+
const headers = await this.getHeaders();
|
|
440
|
+
const rest = await this.rest;
|
|
441
|
+
return rest(`clusters/${clusterUuid}/monitoring/clients`, {
|
|
442
|
+
headers,
|
|
443
|
+
}).json();
|
|
444
|
+
}
|
|
445
|
+
/**
|
|
446
|
+
*
|
|
447
|
+
* Create a new External Monitoring client for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/CreateMonitoringClient) for more details.
|
|
448
|
+
* @param clusterUuid - The cluster UUID
|
|
449
|
+
* @param username - The username for the monitoring client
|
|
450
|
+
* @throws {RESTError}
|
|
451
|
+
*/
|
|
452
|
+
async createMonitoringClient(clusterUuid, username) {
|
|
453
|
+
const headers = await this.getHeaders();
|
|
454
|
+
const rest = await this.rest;
|
|
455
|
+
return rest
|
|
456
|
+
.post(`clusters/${clusterUuid}/monitoring/clients`, {
|
|
457
|
+
body: JSON.stringify({ username }),
|
|
458
|
+
headers,
|
|
459
|
+
})
|
|
460
|
+
.json();
|
|
461
|
+
}
|
|
462
|
+
/**
|
|
463
|
+
*
|
|
464
|
+
* Rotate the password for an External Monitoring client. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/RotateMonitoringClientPassword) for more details.
|
|
465
|
+
* @param clusterUuid - The cluster UUID
|
|
466
|
+
* @param clientUuid - The monitoring client UUID
|
|
467
|
+
* @throws {RESTError}
|
|
468
|
+
*/
|
|
469
|
+
async rotateMonitoringClientPassword(clusterUuid, clientUuid) {
|
|
470
|
+
const headers = await this.getHeaders();
|
|
471
|
+
const rest = await this.rest;
|
|
472
|
+
return rest
|
|
473
|
+
.post(`clusters/${clusterUuid}/monitoring/clients/${clientUuid}/rotate`, {
|
|
474
|
+
headers,
|
|
475
|
+
})
|
|
476
|
+
.json();
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
*
|
|
480
|
+
* Delete an External Monitoring client. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/DeleteMonitoringClient) for more details.
|
|
481
|
+
* @param clusterUuid - The cluster UUID
|
|
482
|
+
* @param clientUuid - The monitoring client UUID
|
|
483
|
+
* @throws {RESTError}
|
|
484
|
+
*/
|
|
485
|
+
async deleteMonitoringClient(clusterUuid, clientUuid) {
|
|
486
|
+
const headers = await this.getHeaders();
|
|
487
|
+
const rest = await this.rest;
|
|
488
|
+
await rest.delete(`clusters/${clusterUuid}/monitoring/clients/${clientUuid}`, {
|
|
489
|
+
headers,
|
|
490
|
+
});
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
*
|
|
494
|
+
* Get all backups for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/GetBackups) for more details.
|
|
495
|
+
* @param clusterUuid - The cluster UUID
|
|
496
|
+
* @throws {RESTError}
|
|
497
|
+
*/
|
|
498
|
+
async getBackups(clusterUuid) {
|
|
499
|
+
const headers = await this.getHeaders();
|
|
500
|
+
const rest = await this.rest;
|
|
501
|
+
return rest(`clusters/${clusterUuid}/backups`, {
|
|
502
|
+
headers,
|
|
503
|
+
}).json();
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
*
|
|
507
|
+
* Create a new backup for a cluster. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/CreateBackup) for more details.
|
|
508
|
+
* @param clusterUuid - The cluster UUID
|
|
509
|
+
* @throws {RESTError}
|
|
510
|
+
*/
|
|
511
|
+
async createBackup(clusterUuid) {
|
|
512
|
+
const headers = await this.getHeaders();
|
|
513
|
+
const rest = await this.rest;
|
|
514
|
+
return rest
|
|
515
|
+
.post(`clusters/${clusterUuid}/backups`, {
|
|
516
|
+
headers,
|
|
517
|
+
})
|
|
518
|
+
.json();
|
|
519
|
+
}
|
|
520
|
+
/**
|
|
521
|
+
*
|
|
522
|
+
* Delete a backup. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/DeleteBackup) for more details.
|
|
523
|
+
* @param clusterUuid - The cluster UUID
|
|
524
|
+
* @param backupId - The backup ID
|
|
525
|
+
* @throws {RESTError}
|
|
526
|
+
*/
|
|
527
|
+
async deleteBackup(clusterUuid, backupId) {
|
|
528
|
+
const headers = await this.getHeaders();
|
|
529
|
+
const rest = await this.rest;
|
|
530
|
+
return rest
|
|
531
|
+
.delete(`clusters/${clusterUuid}/backups/${backupId}`, {
|
|
532
|
+
headers,
|
|
533
|
+
})
|
|
534
|
+
.json();
|
|
535
|
+
}
|
|
536
|
+
/**
|
|
537
|
+
*
|
|
538
|
+
* Fetch all activity/audit events as JSON. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/GetJson) for more details.
|
|
539
|
+
* @throws {RESTError}
|
|
540
|
+
*/
|
|
541
|
+
async getActivityEvents() {
|
|
542
|
+
const headers = await this.getHeaders();
|
|
543
|
+
const rest = await this.rest;
|
|
544
|
+
return rest('activity/json', {
|
|
545
|
+
headers,
|
|
546
|
+
}).json();
|
|
547
|
+
}
|
|
548
|
+
/**
|
|
549
|
+
*
|
|
550
|
+
* Fetch all activity/audit events as CSV. See [the API Documentation](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/GetCsv) for more details.
|
|
551
|
+
* @throws {RESTError}
|
|
552
|
+
*/
|
|
553
|
+
async getActivityEventsCsv() {
|
|
554
|
+
const headers = await this.getHeaders();
|
|
555
|
+
const rest = await this.rest;
|
|
556
|
+
return rest('activity/csv', {
|
|
557
|
+
headers,
|
|
558
|
+
}).text();
|
|
559
|
+
}
|
|
279
560
|
}
|
|
280
561
|
exports.AdminApiClient = AdminApiClient;
|
|
281
562
|
//# sourceMappingURL=AdminApiClient.js.map
|