Skip to content

feat: add Installation resource with Generate Token operation - #15

Open
jspern wants to merge 1 commit into
redanthrax:masterfrom
jspern:feat/generate-installation-token
Open

feat: add Installation resource with Generate Token operation#15
jspern wants to merge 1 commit into
redanthrax:masterfrom
jspern:feat/generate-installation-token

Conversation

@jspern

@jspern jspern commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Adds a fourth resource that generates agent installation tokens via PUT https://api.backup.management/agent/installation, returning the installationToken for use with the Backup Manager installer.

This is the first REST call in the node, so transport gains restRequest alongside jsonRpcRequest. It reuses the cached visa as an Authorization Bearer header and retries once on a 401 after clearing the cache.

The API treats the unlimited flags and their concrete counterparts as mutually exclusive, so the body sends either UnlimitedCount or InstallationCount, and either UnlimitedExpiration or ExpirationTimestamp, never both. Field labels follow the Cove console (Customer, Retention Policy, Profile, Encryption, Device Name). InstallationType is always Initial, so it is a constant rather than a UI field.

The Customer dropdown uses a new getCustomers loader that labels the root entry with the partner name instead of the existing "All Partners (Top Level)" wording; the shared enumerate logic moves into getDescendantPartnerOptions so the Account operations keep their label.

Adds a fourth resource that generates agent installation tokens via
PUT https://api.backup.management/agent/installation, returning the
installationToken for use with the Backup Manager installer.

This is the first REST call in the node, so transport gains restRequest
alongside jsonRpcRequest. It reuses the cached visa as an Authorization
Bearer header and retries once on a 401 after clearing the cache.

The API treats the unlimited flags and their concrete counterparts as
mutually exclusive, so the body sends either UnlimitedCount or
InstallationCount, and either UnlimitedExpiration or ExpirationTimestamp,
never both. Field labels follow the Cove console (Customer, Retention
Policy, Profile, Encryption, Device Name). InstallationType is always
Initial, so it is a constant rather than a UI field.

The Customer dropdown uses a new getCustomers loader that labels the root
entry with the partner name instead of the existing "All Partners (Top
Level)" wording; the shared enumerate logic moves into
getDescendantPartnerOptions so the Account operations keep their label.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant