@serve.zone/interfaces 32.51.0 → 32.52.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.
@@ -150,6 +150,13 @@ export interface IReq_Any_Cloudly_CreateNodeJumpCommand extends plugins.typedreq
150
150
  role?: IClusterNode['data']['role'];
151
151
  nodeType?: IClusterNode['data']['nodeType'];
152
152
  ttlMs?: number;
153
+ /**
154
+ * The new node's name (`data.isClusterNodeName`). The setup command names the host
155
+ * `cloudly-worker-<nodeName>` (`data.deriveDefaultClusterNodeHostname`) before it enrolls, so
156
+ * the node enrolls under its default hostname. Absent, the node keeps the hostname it has and
157
+ * its name is proposed from that (`data.proposeClusterNodeName`).
158
+ */
159
+ nodeName?: string;
153
160
  };
154
161
  response: {
155
162
  jumpCode: string;
@@ -356,6 +363,66 @@ export interface IReq_Any_Cloudly_SetClusterNodeCorestoreDatabaseEndpoint extend
356
363
  };
357
364
  }
358
365
 
366
+ /**
367
+ * An administrator renames a node: the static hostname Cloudly wants it to carry
368
+ * (`IClusterNode.data.hostnameIntent.hostname`).
369
+ *
370
+ * The node's name stays as it is: the new intent keeps the name of the node's current intent. A
371
+ * node without an intent takes the name `data.proposeClusterNodeName(hostname)` (`foo` names the
372
+ * node `foo`, `cloudly-worker-grasberg` names it `grasberg`), and is refused `name-invalid` when
373
+ * that is `null`.
374
+ *
375
+ * Cloudly records the intent and answers at once; Spark applies the intent of the latest
376
+ * generation on the host and the node has converged when its report states the new hostname. A new
377
+ * intent may replace one the node has not converged to, whether it is still applying, failed or
378
+ * never reached the node. `expectedGeneration` is the generation of the node's current intent, `0`
379
+ * when it has none, and serializes concurrent changes. Every refusal is one of
380
+ * `data.clusterNodeHostnameRefusals` and changes nothing.
381
+ */
382
+ export interface IReq_Any_Cloudly_SetClusterNodeHostname extends plugins.typedrequestInterfaces.implementsTR<
383
+ plugins.typedrequestInterfaces.ITypedRequest,
384
+ IReq_Any_Cloudly_SetClusterNodeHostname
385
+ > {
386
+ method: 'setClusterNodeHostname';
387
+ request: {
388
+ identity: IIdentity;
389
+ nodeId: string;
390
+ expectedGeneration: number;
391
+ /** One lowercase RFC 1123 label (`data.isClusterNodeHostname`). */
392
+ hostname: string;
393
+ };
394
+ response: {
395
+ /** The node as it now stands, carrying the new intent. */
396
+ node: IClusterNode;
397
+ };
398
+ }
399
+
400
+ /**
401
+ * An administrator resets a node to the default scheme: hostname `cloudly-worker-<name>`
402
+ * (`data.deriveDefaultClusterNodeHostname`).
403
+ *
404
+ * `name` replaces the node's name when stated; absent, the name of the node's current intent is
405
+ * used, and a node without an intent is refused `name-invalid`. Recorded, applied and replaceable
406
+ * exactly like `setClusterNodeHostname`, with the same refusals.
407
+ */
408
+ export interface IReq_Any_Cloudly_ResetClusterNodeHostname extends plugins.typedrequestInterfaces.implementsTR<
409
+ plugins.typedrequestInterfaces.ITypedRequest,
410
+ IReq_Any_Cloudly_ResetClusterNodeHostname
411
+ > {
412
+ method: 'resetClusterNodeHostname';
413
+ request: {
414
+ identity: IIdentity;
415
+ nodeId: string;
416
+ expectedGeneration: number;
417
+ /** The node's name (`data.isClusterNodeName`). */
418
+ name?: string;
419
+ };
420
+ response: {
421
+ /** The node as it now stands, carrying the new intent. */
422
+ node: IClusterNode;
423
+ };
424
+ }
425
+
359
426
  export interface IReq_Any_Cloudly_CreateNodeAction extends plugins.typedrequestInterfaces.implementsTR<
360
427
  plugins.typedrequestInterfaces.ITypedRequest,
361
428
  IReq_Any_Cloudly_CreateNodeAction