DeviceRegistrationRequest.java
package com.cloudforge.core.manager.agent;
/**
* Body of {@code POST /api/v1/settings/devices} — the one request every CloudForge Agent client
* (cloudforge-studio/desktop/terminal) sends to register itself. Requires an already-authenticated
* browser-equivalent session (whatever login the paired Manager instance runs — local password or
* Cognito), same as issuing a personal access token; this is what turns that one-time login into a
* durable, independently-revocable device credential. See this module's manager-devices OpenAPI
* spec for the wire contract every non-JVM client builds against — this record is
* cloudforge-manager's own implementation of that same contract, not a second source of truth.
*
* @param displayName client-supplied, human-chosen ("Phillip's MacBook") — shown as-is in the
* admin Devices view, never validated against the actual device.
* @param platform which client is registering.
*/
public record DeviceRegistrationRequest(String displayName, AgentPlatform platform) {
}