@meshery/schemas 1.3.7 → 1.3.9

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.
@@ -120,6 +120,58 @@ export interface paths {
120
120
  patch?: never;
121
121
  trace?: never;
122
122
  };
123
+ "/api/meshmodels/connections": {
124
+ parameters: {
125
+ query?: never;
126
+ header?: never;
127
+ path?: never;
128
+ cookie?: never;
129
+ };
130
+ /**
131
+ * List connection definitions
132
+ * @description Returns a paginated list of connection definitions registered in the registry, optionally filtered by model or kind.
133
+ */
134
+ get: operations["listConnectionDefinitions"];
135
+ put?: never;
136
+ /**
137
+ * Register a connection definition
138
+ * @description Register a new connection definition into the registry.
139
+ */
140
+ post: operations["registerConnectionDefinition"];
141
+ delete?: never;
142
+ options?: never;
143
+ head?: never;
144
+ patch?: never;
145
+ trace?: never;
146
+ };
147
+ "/api/meshmodels/connections/{connectionDefinitionId}": {
148
+ parameters: {
149
+ query?: never;
150
+ header?: never;
151
+ path?: never;
152
+ cookie?: never;
153
+ };
154
+ /**
155
+ * Get connection definition by ID
156
+ * @description Returns a specific connection definition by its ID.
157
+ */
158
+ get: operations["getConnectionDefinition"];
159
+ /**
160
+ * Update a connection definition
161
+ * @description Update an existing connection definition.
162
+ */
163
+ put: operations["updateConnectionDefinition"];
164
+ post?: never;
165
+ /**
166
+ * Delete a connection definition
167
+ * @description Delete a specific connection definition from the registry.
168
+ */
169
+ delete: operations["deleteConnectionDefinition"];
170
+ options?: never;
171
+ head?: never;
172
+ patch?: never;
173
+ trace?: never;
174
+ };
123
175
  }
124
176
  export type webhooks = Record<string, never>;
125
177
  export interface components {
@@ -151,13 +203,534 @@ export interface components {
151
203
  subType: string;
152
204
  /** @description Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) */
153
205
  kind: string;
206
+ /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
207
+ model?: {
208
+ /**
209
+ * Format: uuid
210
+ * @description Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).
211
+ */
212
+ id: string;
213
+ /**
214
+ * @description Specifies the version of the schema used for the definition.
215
+ * @default models.meshery.io/v1beta1
216
+ * @example [
217
+ * "v1",
218
+ * "v1alpha1",
219
+ * "v2beta3",
220
+ * "v1.custom-suffix",
221
+ * "models.meshery.io/v1beta1",
222
+ * "capability.meshery.io/v1alpha1"
223
+ * ]
224
+ */
225
+ schemaVersion: string;
226
+ /** @description Version of the model definition. */
227
+ version: string;
228
+ /**
229
+ * @description The unique name for the model within the scope of a registrant.
230
+ * @default untitled-model
231
+ * @example cert-manager
232
+ */
233
+ name: string;
234
+ /**
235
+ * @description Human-readable name for the model.
236
+ * @default Untitled Model
237
+ * @example Cert Manager
238
+ */
239
+ displayName: string;
240
+ /**
241
+ * @description Description of the model.
242
+ * @default A new Meshery model.
243
+ */
244
+ description: string;
245
+ /**
246
+ * @description Status of model, including:
247
+ * - duplicate: this component is a duplicate of another. The component that is to be the canonical reference and that is duplicated by other components should not be assigned the 'duplicate' status.
248
+ * - maintenance: model is unavailable for a period of time.
249
+ * - enabled: model is available for use for all users of this Meshery Server.
250
+ * - ignored: model is unavailable for use for all users of this Meshery Server.
251
+ * @default enabled
252
+ * @enum {string}
253
+ */
254
+ status: "ignored" | "enabled" | "duplicate";
255
+ /** @description Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections */
256
+ registrant: {
257
+ /**
258
+ * Format: uuid
259
+ * @description Connection ID
260
+ */
261
+ id: string;
262
+ /** @description Connection Name */
263
+ name: string;
264
+ /**
265
+ * Format: uuid
266
+ * @description Associated Credential ID
267
+ */
268
+ credentialId?: string;
269
+ /** @description Connection Type (platform, telemetry, collaboration) */
270
+ type: string;
271
+ /** @description Connection Subtype (cloud, identity, metrics, chat, git, orchestration) */
272
+ subType: string;
273
+ /** @description Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) */
274
+ kind: string;
275
+ /** @description Additional connection metadata */
276
+ metadata?: Record<string, never>;
277
+ /**
278
+ * @description Connection Status
279
+ * @enum {string}
280
+ */
281
+ status: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
282
+ /**
283
+ * Format: uuid
284
+ * @description User ID who owns this connection
285
+ */
286
+ user_id?: string;
287
+ /** Format: date-time */
288
+ created_at?: string;
289
+ /** Format: date-time */
290
+ updated_at?: string;
291
+ /**
292
+ * Format: date-time
293
+ * @description SQL null Timestamp to handle null values of time.
294
+ */
295
+ deleted_at?: string;
296
+ /** @description Associated environments for this connection */
297
+ environments?: {
298
+ /**
299
+ * Format: uuid
300
+ * @description ID
301
+ */
302
+ id: string;
303
+ /**
304
+ * @description Specifies the version of the schema to which the environment conforms.
305
+ * @default environments.meshery.io/v1beta1
306
+ * @example [
307
+ * "v1",
308
+ * "v1alpha1",
309
+ * "v2beta3",
310
+ * "v1.custom-suffix",
311
+ * "models.meshery.io/v1beta1",
312
+ * "capability.meshery.io/v1alpha1"
313
+ * ]
314
+ */
315
+ schemaVersion: string;
316
+ /** @description Environment name */
317
+ name: string;
318
+ /** @description Environment description */
319
+ description: string;
320
+ /**
321
+ * Format: uuid
322
+ * @description Environment organization ID
323
+ */
324
+ organization_id: string;
325
+ /**
326
+ * Format: uuid
327
+ * @description Environment owner
328
+ */
329
+ owner?: string;
330
+ /**
331
+ * Format: date-time
332
+ * @description Timestamp when the resource was created.
333
+ */
334
+ created_at?: string;
335
+ /** @description Additional metadata associated with the environment. */
336
+ metadata?: Record<string, never>;
337
+ /**
338
+ * Format: date-time
339
+ * @description Timestamp when the resource was updated.
340
+ */
341
+ updated_at?: string;
342
+ /**
343
+ * Format: date-time
344
+ * @description Timestamp when the environment was soft deleted. Null while the environment remains active.
345
+ */
346
+ deleted_at?: string | null;
347
+ }[];
348
+ /**
349
+ * @description Specifies the version of the schema used for the definition.
350
+ * @default connections.meshery.io/v1beta1
351
+ * @example [
352
+ * "v1",
353
+ * "v1alpha1",
354
+ * "v2beta3",
355
+ * "v1.custom-suffix",
356
+ * "models.meshery.io/v1beta1",
357
+ * "capability.meshery.io/v1alpha1"
358
+ * ]
359
+ */
360
+ schemaVersion: string;
361
+ };
362
+ /**
363
+ * Format: uuid
364
+ * @description ID of the registrant.
365
+ */
366
+ registrantId: string;
367
+ /**
368
+ * Format: uuid
369
+ * @description ID of the category.
370
+ */
371
+ categoryId: string;
372
+ /** @description Category of the model. */
373
+ category: {
374
+ /**
375
+ * Format: uuid
376
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
377
+ */
378
+ id: string;
379
+ /**
380
+ * @description The category of the model that determines the main grouping.
381
+ * @default Uncategorized
382
+ * @enum {string}
383
+ */
384
+ name: "Analytics" | "App Definition and Development" | "Cloud Native Network" | "Cloud Native Storage" | "Database" | "Machine Learning" | "Observability and Analysis" | "Orchestration & Management" | "Platform" | "Provisioning" | "Runtime" | "Security & Compliance" | "Serverless" | "Tools" | "Uncategorized";
385
+ /** @description Additional metadata associated with the category. */
386
+ metadata: Record<string, never>;
387
+ };
388
+ /**
389
+ * SubCategory
390
+ * @description Sub category of the model determines the secondary grouping.
391
+ * @default Uncategorized
392
+ * @enum {string}
393
+ */
394
+ subCategory: "API Gateway" | "API Integration" | "Application Definition & Image Build" | "Automation & Configuration" | "Certified Kubernetes - Distribution" | "Chaos Engineering" | "Cloud Native Storage" | "Cloud Provider" | "CNI" | "Compute" | "Container Registry" | "Container Runtime" | "Container Security" | "Container" | "Content Delivery Network" | "Continuous Integration & Delivery" | "Coordination & Service Discovery" | "Database" | "Flowchart" | "Framework" | "Installable Platform" | "Key Management" | "Key Management Service" | "Kubernetes" | "Logging" | "Machine Learning" | "Management Governance" | "Metrics" | "Monitoring" | "Networking Content Delivery" | "Operating System" | "Query" | "Remote Procedure Call" | "Scheduling & Orchestration" | "Secrets Management" | "Security Identity & Compliance" | "Service Mesh" | "Service Proxy" | "Source Version Control" | "Storage" | "Specifications" | "Streaming & Messaging" | "Tools" | "Tracing" | "Uncategorized" | "Video Conferencing";
395
+ /** @description Metadata containing additional information associated with the model. */
396
+ metadata?: {
397
+ /** @description Capabilities associated with the model */
398
+ capabilities?: {
399
+ /**
400
+ * @description Specifies the version of the schema to which the capability definition conforms.
401
+ * @example [
402
+ * "v1",
403
+ * "v1alpha1",
404
+ * "v2beta3",
405
+ * "v1.custom-suffix",
406
+ * "models.meshery.io/v1beta1",
407
+ * "capability.meshery.io/v1alpha1"
408
+ * ]
409
+ */
410
+ schemaVersion: string;
411
+ /** @description Version of the capability definition. */
412
+ version: string;
413
+ /** @description Name of the capability in human-readible format. */
414
+ displayName: string;
415
+ /** @description A written representation of the purpose and characteristics of the capability. */
416
+ description: string;
417
+ /** @description Top-level categorization of the capability */
418
+ kind: string | "action" | "mutate" | "view" | "interaction";
419
+ /** @description Classification of capabilities. Used to group capabilities similar in nature. */
420
+ type: string;
421
+ /** @description Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. */
422
+ subType: string;
423
+ /** @description Key that backs the capability. */
424
+ key: string;
425
+ /** @description State of the entity in which the capability is applicable. */
426
+ entityState: ("declaration" | "instance")[];
427
+ /**
428
+ * @description Status of the capability
429
+ * @default enabled
430
+ * @enum {string}
431
+ */
432
+ status: "enabled" | "disabled";
433
+ /** @description Metadata contains additional information associated with the capability. Extension point. */
434
+ metadata?: {
435
+ [key: string]: unknown;
436
+ };
437
+ }[];
438
+ /**
439
+ * @description Indicates whether the model and its entities should be treated as deployable entities or as logical representations.
440
+ * @default false
441
+ */
442
+ isAnnotation: boolean;
443
+ /**
444
+ * @description Primary color associated with the model.
445
+ * @default #00b39f
446
+ */
447
+ primaryColor: string;
448
+ /**
449
+ * @description Secondary color associated with the model.
450
+ * @default #00D3A9
451
+ */
452
+ secondaryColor: string;
453
+ /**
454
+ * @description SVG representation of the model in white color.
455
+ * @default <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.405 8.732v6.57l5.694-3.297-5.694-3.273Zm0 7.942v6.602l5.747-3.285-5.747-3.317Z" fill="#fff"/><path d="M15.586 15.256v-6.47l-5.622 3.225 5.622 3.245ZM4.307 23.252a13.809 13.809 0 0 0 4.362 4.39v-6.914l-4.362 2.524Zm11.279-.008v-6.52L9.95 19.985l5.636 3.258Z" fill="#fff" fill-opacity=".8"/><path d="m9.49 27.23 5.707-3.263-5.707-3.3v6.563Z" fill="#fff"/><path d="M22.54 27.265v-6.553l-5.699 3.259 5.7 3.294Zm5.58-4.773a13.697 13.697 0 0 0 1.612-5.895l-5.934 3.397 4.323 2.498Z" fill="#fff" fill-opacity=".8"/><path d="m23.362 19.298 5.728-3.276-5.728-3.291v6.567Z" fill="#fff"/><path d="M22.541 11.315V4.8l-5.673 3.253 5.673 3.262Zm0 7.955v-6.574l-5.685 3.292 5.685 3.281Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 12.684v6.622l5.728-3.316-5.728-3.306Z" fill="#fff"/><path d="M15.586 2.25a13.69 13.69 0 0 0-6.037 1.595l6.037 3.463V2.25Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 4.756v6.583l5.732-3.288L9.49 4.756Z" fill="#fff"/><path d="M8.669 4.356a13.83 13.83 0 0 0-4.362 4.39l4.362 2.518V4.356Z" fill="#fff" fill-opacity=".8"/><path d="M22.504 3.88a13.695 13.695 0 0 0-6.099-1.63v5.123l6.1-3.493ZM2.25 16.483c.071 2.12.634 4.196 1.644 6.062l4.418-2.559-6.062-3.503Zm1.644-7.028a13.68 13.68 0 0 0-1.644 6.036l6.068-3.482-4.424-2.554Z" fill="#fff"/><path d="M9.539 28.147a13.673 13.673 0 0 0 6.047 1.603v-5.062L9.54 28.147Z" fill="#fff" fill-opacity=".8"/><path d="M27.697 8.768a13.83 13.83 0 0 0-4.335-4.383v6.889l4.335-2.506ZM23.362 27.62a13.851 13.851 0 0 0 4.351-4.417l-4.351-2.514v6.93Z" fill="#fff"/><path d="M29.75 15.452a13.659 13.659 0 0 0-1.63-5.979l-4.381 2.53 6.011 3.45Z" fill="#fff" fill-opacity=".8"/><path d="M16.405 29.75a13.673 13.673 0 0 0 6.036-1.595l-6.036-3.498v5.093Z" fill="#fff"/><path d="M8.669 19.247v-6.494L3.03 15.986l5.639 3.261Z" fill="#fff" fill-opacity=".8"/></svg>
456
+ */
457
+ svgWhite: string;
458
+ /**
459
+ * @description SVG representation of the model in colored format.
460
+ * @default <svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 134.95 135.02"><defs><style>.cls-1{fill:#00d3a9}.cls-2{fill:#00b39f}</style></defs><title>meshery-logo-light</title><polygon points="69.49 31.82 69.49 64.07 97.44 47.89 69.49 31.82" class="cls-1"/><polygon points="69.49 70.81 69.49 103.22 97.7 87.09 69.49 70.81" class="cls-1"/><polygon points="65.47 63.85 65.47 32.09 37.87 47.92 65.47 63.85" class="cls-2"/><path d="M10.1,103.1a67.79,67.79,0,0,0,21.41,21.55V90.71Z" class="cls-2"/><polygon points="65.47 103.06 65.47 71.05 37.8 87.07 65.47 103.06" class="cls-2"/><polygon points="35.54 122.63 63.56 106.61 35.54 90.41 35.54 122.63" class="cls-1"/><polygon points="99.61 122.8 99.61 90.63 71.63 106.63 99.61 122.8" class="cls-2"/><path d="M127,99.37a67.22,67.22,0,0,0,7.91-28.94L105.78,87.11Z" class="cls-2"/><polygon points="103.64 83.69 131.76 67.61 103.64 51.45 103.64 83.69" class="cls-1"/><polygon points="99.61 44.5 99.61 12.52 71.76 28.49 99.61 44.5" class="cls-2"/><polygon points="99.61 83.55 99.61 51.28 71.7 67.44 99.61 83.55" class="cls-2"/><polygon points="67.48 135.02 67.49 135.02 67.48 135.02 67.48 135.02" class="cls-2"/><polygon points="35.54 51.22 35.54 83.73 63.66 67.45 35.54 51.22" class="cls-1"/><path d="M65.47,0A67.2,67.2,0,0,0,35.83,7.83l29.64,17Z" class="cls-2"/><polygon points="35.54 12.3 35.54 44.62 63.68 28.48 35.54 12.3" class="cls-1"/><path d="M31.51,10.34A67.89,67.89,0,0,0,10.1,31.89L31.51,44.25Z" class="cls-2"/><path d="M99.43,8A67.23,67.23,0,0,0,69.49,0V25.15Z" class="cls-1"/><path d="M0,69.87A67.27,67.27,0,0,0,8.07,99.63L29.76,87.07Z" class="cls-1"/><path d="M8.07,35.37A67.16,67.16,0,0,0,0,65L29.79,47.91Z" class="cls-1"/><path d="M35.78,127.13A67.13,67.13,0,0,0,65.47,135V110.15Z" class="cls-2"/><path d="M124.92,32a67.9,67.9,0,0,0-21.28-21.52V44.3Z" class="cls-1"/><path d="M103.64,124.54A68,68,0,0,0,125,102.86L103.64,90.52Z" class="cls-1"/><path d="M135,64.81a67.06,67.06,0,0,0-8-29.35L105.49,47.88Z" class="cls-2"/><path d="M69.49,135a67.12,67.12,0,0,0,29.63-7.83L69.49,110Z" class="cls-1"/><polygon points="31.51 83.44 31.51 51.56 3.83 67.43 31.51 83.44" class="cls-2"/></svg>
461
+ */
462
+ svgColor: string;
463
+ /** @description SVG representation of the complete model. */
464
+ svgComplete?: string;
465
+ /**
466
+ * @description The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes)
467
+ * @enum {string}
468
+ */
469
+ shape?: "ellipse" | "triangle" | "round-triangle" | "rectangle" | "round-rectangle" | "bottom-round-rectangle" | "cut-rectangle" | "barrel" | "rhomboid" | "diamond" | "round-diamond" | "pentagon" | "round-pentagon" | "hexagon" | "round-hexagon" | "concave-hexagon" | "heptagon" | "round-heptagon" | "octagon" | "round-octagon" | "star" | "tag" | "round-tag" | "vee" | "polygon";
470
+ } & {
471
+ [key: string]: unknown;
472
+ };
473
+ /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
474
+ model: {
475
+ /** @description Version of the model as defined by the registrant. */
476
+ version: string;
477
+ };
478
+ /** @description The relationships of the model. */
479
+ relationships: unknown[];
480
+ /** @description The components of the model. */
481
+ components: unknown[];
482
+ /**
483
+ * @description Number of components associated with the model.
484
+ * @default 0
485
+ */
486
+ componentsCount: number;
487
+ /**
488
+ * @description Number of relationships associated with the model.
489
+ * @default 0
490
+ */
491
+ relationshipsCount: number;
492
+ /**
493
+ * Format: date-time
494
+ * @description Timestamp when the resource was created.
495
+ */
496
+ created_at?: string;
497
+ /**
498
+ * Format: date-time
499
+ * @description Timestamp when the resource was updated.
500
+ */
501
+ updated_at?: string;
502
+ };
503
+ /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
504
+ modelReference?: {
505
+ /**
506
+ * Format: uuid
507
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
508
+ */
509
+ id: string;
510
+ /**
511
+ * @description The unique name for the model within the scope of a registrant.
512
+ * @example cert-manager
513
+ */
514
+ name: string;
515
+ /** @description Version of the model definition. */
516
+ version: string;
517
+ /**
518
+ * @description Human-readable name for the model.
519
+ * @example Cert Manager
520
+ */
521
+ displayName: string;
522
+ /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
523
+ model: {
524
+ /** @description Version of the model as defined by the registrant. */
525
+ version: string;
526
+ };
527
+ registrant: {
528
+ /** @description Kind of the registrant. */
529
+ kind: string;
530
+ };
531
+ };
532
+ /**
533
+ * Format: uuid
534
+ * @description Foreign key to the model to which the component belongs. Populated by the ORM from the `model_id` column and suppressed on the JSON wire; consumers use the nested `model` object for wire-level access.
535
+ */
536
+ modelId?: string;
154
537
  /** @description Additional connection metadata */
155
538
  metadata?: Record<string, never>;
539
+ /** @description Schema for the credential Associated with the connection */
540
+ credentialSchema?: Record<string, never>;
541
+ /** @description Schema for the connection */
542
+ connectionSchema?: Record<string, never>;
543
+ /** @description Visualization styles for the connection, including svgColor and svgWhite used for UI representation. */
544
+ styles?: ({
545
+ /** @description Primary color of the component used for UI representation. */
546
+ primaryColor: string;
547
+ /** @description Secondary color of the entity used for UI representation. */
548
+ secondaryColor?: string;
549
+ /** @description White SVG of the entity used for UI representation on dark background. */
550
+ svgWhite: string;
551
+ /** @description Colored SVG of the entity used for UI representation on light background. */
552
+ svgColor: string;
553
+ /** @description Complete SVG of the entity used for UI representation, often inclusive of background. */
554
+ svgComplete: string;
555
+ /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. */
556
+ color?: string;
557
+ /** @description The opacity of the label text, including its outline. */
558
+ textOpacity?: number;
559
+ /** @description A comma-separated list of font names to use on the label text. */
560
+ fontFamily?: string;
561
+ /** @description The size of the label text. */
562
+ fontSize?: string;
563
+ /** @description A CSS font style to be applied to the label text. */
564
+ fontStyle?: string;
565
+ /** @description A CSS font weight to be applied to the label text. */
566
+ fontWeight?: string;
567
+ /**
568
+ * @description A transformation to apply to the label text
569
+ * @enum {string}
570
+ */
571
+ textTransform?: "none" | "uppercase" | "lowercase";
572
+ /** @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children. */
573
+ opacity?: number;
574
+ /** @description An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. */
575
+ zIndex?: number;
576
+ /** @description The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id */
577
+ label?: string;
578
+ /** @description The animation to apply to the element. example ripple,bounce,etc */
579
+ animation?: Record<string, never>;
580
+ } & {
581
+ [key: string]: unknown;
582
+ }) & {
583
+ /**
584
+ * @description The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes)
585
+ * @enum {string}
586
+ */
587
+ shape: "ellipse" | "triangle" | "round-triangle" | "rectangle" | "round-rectangle" | "bottom-round-rectangle" | "cut-rectangle" | "barrel" | "rhomboid" | "diamond" | "round-diamond" | "pentagon" | "round-pentagon" | "hexagon" | "round-hexagon" | "concave-hexagon" | "heptagon" | "round-heptagon" | "octagon" | "round-octagon" | "star" | "tag" | "round-tag" | "vee" | "polygon";
588
+ /** @description The position of the node. If the position is set, the node is drawn at that position in the given dimensions. If the position is not set, the node is drawn at a random position. */
589
+ position?: {
590
+ /** @description The x-coordinate of the node. */
591
+ x: number;
592
+ /** @description The y-coordinate of the node. */
593
+ y: number;
594
+ };
595
+ /** @description The text to display for an element's body. Can give a path, e.g. data(id) will label with the elements id */
596
+ bodyText?: string;
597
+ /**
598
+ * @description How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
599
+ * @enum {string}
600
+ */
601
+ bodyTextWrap?: "none" | "wrap" | "ellipsis";
602
+ /** @description The maximum width for wrapping text in the node. */
603
+ bodyTextMaxWidth?: string;
604
+ /** @description The opacity of the node's body text, including its outline. */
605
+ bodyTextOpacity?: number;
606
+ /** @description The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. */
607
+ bodyTextBackgroundColor?: string;
608
+ /** @description The size of the node's body text. */
609
+ bodyTextFontSize?: number;
610
+ /** @description The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. */
611
+ bodyTextColor?: string;
612
+ /** @description A CSS font weight to be applied to the node's body text. */
613
+ bodyTextFontWeight?: string;
614
+ /** @description A CSS horizontal alignment to be applied to the node's body text. */
615
+ bodyTextHorizontalAlign?: string;
616
+ /** @description A CSS text decoration to be applied to the node's body text. */
617
+ bodyTextDecoration?: string;
618
+ /** @description A CSS vertical alignment to be applied to the node's body text. */
619
+ bodyTextVerticalAlign?: string;
620
+ /** @description The width of the node's body or the width of an edge's line. */
621
+ width?: number;
622
+ /** @description The height of the node's body */
623
+ height?: number;
624
+ /**
625
+ * Format: uri
626
+ * @description The URL that points to the image to show in the node.
627
+ */
628
+ backgroundImage?: string;
629
+ /** @description The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. */
630
+ backgroundColor?: string;
631
+ /** @description Blackens the node's body for values from 0 to 1; whitens the node's body for values from 0 to -1. */
632
+ backgroundBlacken?: number;
633
+ /** @description The opacity level of the node's background colour */
634
+ backgroundOpacity?: number;
635
+ /** @description The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
636
+ backgroundPositionX?: string;
637
+ /** @description The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
638
+ backgroundPositionY?: string;
639
+ /** @description The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
640
+ backgroundOffsetX?: string;
641
+ /** @description The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
642
+ backgroundOffsetY?: string;
643
+ /**
644
+ * @description How the background image is fit to the node. Can be 'none', 'contain', or 'cover'.
645
+ * @enum {string}
646
+ */
647
+ backgroundFit?: "none" | "contain" | "cover";
648
+ /**
649
+ * @description How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'.
650
+ * @enum {string}
651
+ */
652
+ backgroundClip?: "none" | "node" | "node-border";
653
+ /**
654
+ * @description How the background image's width is determined. Can be 'none', 'inner', or 'outer'.
655
+ * @enum {string}
656
+ */
657
+ backgroundWidthRelativeTo?: "none" | "inner" | "outer";
658
+ /**
659
+ * @description How the background image's height is determined. Can be 'none', 'inner', or 'outer'.
660
+ * @enum {string}
661
+ */
662
+ backgroundHeightRelativeTo?: "none" | "inner" | "outer";
663
+ /** @description The size of the node's border. */
664
+ borderWidth?: number;
665
+ /**
666
+ * @description The style of the node's border
667
+ * @enum {string}
668
+ */
669
+ borderStyle?: "solid" | "dotted" | "dashed" | "double";
670
+ /** @description The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. */
671
+ borderColor?: string;
672
+ /** @description The opacity of the node's border */
673
+ borderOpacity?: number;
674
+ /** @description The amount of padding around all sides of the node. */
675
+ padding?: number;
676
+ /**
677
+ * @description The horizontal alignment of a node's label
678
+ * @enum {string}
679
+ */
680
+ textHalign?: "left" | "center" | "right";
681
+ /**
682
+ * @description The vertical alignment of a node's label
683
+ * @enum {string}
684
+ */
685
+ textValign?: "top" | "center" | "bottom";
686
+ /**
687
+ * @description Whether to use the ghost effect, a semitransparent duplicate of the element drawn at an offset.
688
+ * @default no
689
+ * @enum {string}
690
+ */
691
+ ghost: "yes" | "no";
692
+ /** @description The colour of the indicator shown when the background is grabbed by the user. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
693
+ activeBgColor?: string;
694
+ /** @description The opacity of the active background indicator. Selector needs to be *core*. */
695
+ activeBgOpacity?: string;
696
+ /** @description The opacity of the active background indicator. Selector needs to be *core*. */
697
+ activeBgSize?: string;
698
+ /** @description The background colour of the selection box used for drag selection. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
699
+ selectionBoxColor?: string;
700
+ /** @description The size of the border on the selection box. Selector needs to be *core* */
701
+ selectionBoxBorderWidth?: number;
702
+ /** @description The opacity of the selection box. Selector needs to be *core* */
703
+ selectionBoxOpacity?: number;
704
+ /** @description The colour of the area outside the viewport texture when initOptions.textureOnViewport === true. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
705
+ outsideTextureBgColor?: string;
706
+ /** @description The opacity of the area outside the viewport texture. Selector needs to be *core* */
707
+ outsideTextureBgOpacity?: number;
708
+ /** @description An array (or a space-separated string) of numbers ranging on [-1, 1], representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This represents the points in the polygon for the node's shape. The bounding box of the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's position is the origin (0, 0 ) */
709
+ shapePolygonPoints?: string;
710
+ /** @description The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. */
711
+ menuBackgroundColor?: string;
712
+ /** @description The opacity of the background of the component menu. */
713
+ menuBackgroundOpacity?: number;
714
+ /** @description The colour of the text or icons in the component menu. Colours may be specified by name (e.g. red), hex (e.g. */
715
+ menuForgroundColor?: string;
716
+ };
156
717
  /**
157
718
  * @description Connection Status
158
719
  * @enum {string}
159
720
  */
160
721
  status: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
722
+ /** @description Map describing the connection state machine. Each key is a current connection status and its value is the list of states the connection may transition to from that status, along with a description of each transition. */
723
+ transitionMap?: {
724
+ [key: string]: {
725
+ /**
726
+ * @description Connection Status Value
727
+ * @enum {string}
728
+ */
729
+ nextState: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
730
+ /** @description Human-readable explanation of when or why this transition occurs. */
731
+ description?: string;
732
+ }[];
733
+ };
161
734
  /**
162
735
  * Format: uuid
163
736
  * @description User ID who owns this connection
@@ -244,6 +817,19 @@ export interface components {
244
817
  */
245
818
  schemaVersion: string;
246
819
  };
820
+ /** @description A connection definition is an uninitialized connection, authored per-model (in a model's `connections/` folder) and registered into the registry alongside components and relationships. It conforms to the connection schema; the dynamic, kind-specific shape is carried in `metadata`. The `model` association scopes the definition to its owning model. */
821
+ ConnectionDefinition: unknown;
822
+ /** @description Represents a page of connection definitions with meta information about the total count */
823
+ ConnectionDefinitionPage: {
824
+ /** @description List of connection definitions on this page */
825
+ connectionDefinitions: unknown[];
826
+ /** @description Total number of connection definitions on all pages */
827
+ totalCount: number;
828
+ /** @description Current page number */
829
+ page: number;
830
+ /** @description Number of elements per page */
831
+ pageSize: number;
832
+ };
247
833
  /** @description Represents a page of connections with meta information about connections count */
248
834
  ConnectionPage: {
249
835
  /** @description List of connections on this page */
@@ -264,22 +850,543 @@ export interface components {
264
850
  url?: string;
265
851
  /**
266
852
  * Format: uuid
267
- * @description Associated Credential ID
853
+ * @description Associated Credential ID
854
+ */
855
+ credentialId?: string;
856
+ /** @description Connection Type (platform, telemetry, collaboration) */
857
+ type: string;
858
+ /** @description Connection Subtype (cloud, identity, metrics, chat, git, orchestration) */
859
+ subType: string;
860
+ /** @description Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) */
861
+ kind: string;
862
+ /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
863
+ model?: {
864
+ /**
865
+ * Format: uuid
866
+ * @description Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).
867
+ */
868
+ id: string;
869
+ /**
870
+ * @description Specifies the version of the schema used for the definition.
871
+ * @default models.meshery.io/v1beta1
872
+ * @example [
873
+ * "v1",
874
+ * "v1alpha1",
875
+ * "v2beta3",
876
+ * "v1.custom-suffix",
877
+ * "models.meshery.io/v1beta1",
878
+ * "capability.meshery.io/v1alpha1"
879
+ * ]
880
+ */
881
+ schemaVersion: string;
882
+ /** @description Version of the model definition. */
883
+ version: string;
884
+ /**
885
+ * @description The unique name for the model within the scope of a registrant.
886
+ * @default untitled-model
887
+ * @example cert-manager
888
+ */
889
+ name: string;
890
+ /**
891
+ * @description Human-readable name for the model.
892
+ * @default Untitled Model
893
+ * @example Cert Manager
894
+ */
895
+ displayName: string;
896
+ /**
897
+ * @description Description of the model.
898
+ * @default A new Meshery model.
899
+ */
900
+ description: string;
901
+ /**
902
+ * @description Status of model, including:
903
+ * - duplicate: this component is a duplicate of another. The component that is to be the canonical reference and that is duplicated by other components should not be assigned the 'duplicate' status.
904
+ * - maintenance: model is unavailable for a period of time.
905
+ * - enabled: model is available for use for all users of this Meshery Server.
906
+ * - ignored: model is unavailable for use for all users of this Meshery Server.
907
+ * @default enabled
908
+ * @enum {string}
909
+ */
910
+ status: "ignored" | "enabled" | "duplicate";
911
+ /** @description Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections */
912
+ registrant: {
913
+ /**
914
+ * Format: uuid
915
+ * @description Connection ID
916
+ */
917
+ id: string;
918
+ /** @description Connection Name */
919
+ name: string;
920
+ /**
921
+ * Format: uuid
922
+ * @description Associated Credential ID
923
+ */
924
+ credentialId?: string;
925
+ /** @description Connection Type (platform, telemetry, collaboration) */
926
+ type: string;
927
+ /** @description Connection Subtype (cloud, identity, metrics, chat, git, orchestration) */
928
+ subType: string;
929
+ /** @description Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) */
930
+ kind: string;
931
+ /** @description Additional connection metadata */
932
+ metadata?: Record<string, never>;
933
+ /**
934
+ * @description Connection Status
935
+ * @enum {string}
936
+ */
937
+ status: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
938
+ /**
939
+ * Format: uuid
940
+ * @description User ID who owns this connection
941
+ */
942
+ user_id?: string;
943
+ /** Format: date-time */
944
+ created_at?: string;
945
+ /** Format: date-time */
946
+ updated_at?: string;
947
+ /**
948
+ * Format: date-time
949
+ * @description SQL null Timestamp to handle null values of time.
950
+ */
951
+ deleted_at?: string;
952
+ /** @description Associated environments for this connection */
953
+ environments?: {
954
+ /**
955
+ * Format: uuid
956
+ * @description ID
957
+ */
958
+ id: string;
959
+ /**
960
+ * @description Specifies the version of the schema to which the environment conforms.
961
+ * @default environments.meshery.io/v1beta1
962
+ * @example [
963
+ * "v1",
964
+ * "v1alpha1",
965
+ * "v2beta3",
966
+ * "v1.custom-suffix",
967
+ * "models.meshery.io/v1beta1",
968
+ * "capability.meshery.io/v1alpha1"
969
+ * ]
970
+ */
971
+ schemaVersion: string;
972
+ /** @description Environment name */
973
+ name: string;
974
+ /** @description Environment description */
975
+ description: string;
976
+ /**
977
+ * Format: uuid
978
+ * @description Environment organization ID
979
+ */
980
+ organization_id: string;
981
+ /**
982
+ * Format: uuid
983
+ * @description Environment owner
984
+ */
985
+ owner?: string;
986
+ /**
987
+ * Format: date-time
988
+ * @description Timestamp when the resource was created.
989
+ */
990
+ created_at?: string;
991
+ /** @description Additional metadata associated with the environment. */
992
+ metadata?: Record<string, never>;
993
+ /**
994
+ * Format: date-time
995
+ * @description Timestamp when the resource was updated.
996
+ */
997
+ updated_at?: string;
998
+ /**
999
+ * Format: date-time
1000
+ * @description Timestamp when the environment was soft deleted. Null while the environment remains active.
1001
+ */
1002
+ deleted_at?: string | null;
1003
+ }[];
1004
+ /**
1005
+ * @description Specifies the version of the schema used for the definition.
1006
+ * @default connections.meshery.io/v1beta1
1007
+ * @example [
1008
+ * "v1",
1009
+ * "v1alpha1",
1010
+ * "v2beta3",
1011
+ * "v1.custom-suffix",
1012
+ * "models.meshery.io/v1beta1",
1013
+ * "capability.meshery.io/v1alpha1"
1014
+ * ]
1015
+ */
1016
+ schemaVersion: string;
1017
+ };
1018
+ /**
1019
+ * Format: uuid
1020
+ * @description ID of the registrant.
1021
+ */
1022
+ registrantId: string;
1023
+ /**
1024
+ * Format: uuid
1025
+ * @description ID of the category.
1026
+ */
1027
+ categoryId: string;
1028
+ /** @description Category of the model. */
1029
+ category: {
1030
+ /**
1031
+ * Format: uuid
1032
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
1033
+ */
1034
+ id: string;
1035
+ /**
1036
+ * @description The category of the model that determines the main grouping.
1037
+ * @default Uncategorized
1038
+ * @enum {string}
1039
+ */
1040
+ name: "Analytics" | "App Definition and Development" | "Cloud Native Network" | "Cloud Native Storage" | "Database" | "Machine Learning" | "Observability and Analysis" | "Orchestration & Management" | "Platform" | "Provisioning" | "Runtime" | "Security & Compliance" | "Serverless" | "Tools" | "Uncategorized";
1041
+ /** @description Additional metadata associated with the category. */
1042
+ metadata: Record<string, never>;
1043
+ };
1044
+ /**
1045
+ * SubCategory
1046
+ * @description Sub category of the model determines the secondary grouping.
1047
+ * @default Uncategorized
1048
+ * @enum {string}
1049
+ */
1050
+ subCategory: "API Gateway" | "API Integration" | "Application Definition & Image Build" | "Automation & Configuration" | "Certified Kubernetes - Distribution" | "Chaos Engineering" | "Cloud Native Storage" | "Cloud Provider" | "CNI" | "Compute" | "Container Registry" | "Container Runtime" | "Container Security" | "Container" | "Content Delivery Network" | "Continuous Integration & Delivery" | "Coordination & Service Discovery" | "Database" | "Flowchart" | "Framework" | "Installable Platform" | "Key Management" | "Key Management Service" | "Kubernetes" | "Logging" | "Machine Learning" | "Management Governance" | "Metrics" | "Monitoring" | "Networking Content Delivery" | "Operating System" | "Query" | "Remote Procedure Call" | "Scheduling & Orchestration" | "Secrets Management" | "Security Identity & Compliance" | "Service Mesh" | "Service Proxy" | "Source Version Control" | "Storage" | "Specifications" | "Streaming & Messaging" | "Tools" | "Tracing" | "Uncategorized" | "Video Conferencing";
1051
+ /** @description Metadata containing additional information associated with the model. */
1052
+ metadata?: {
1053
+ /** @description Capabilities associated with the model */
1054
+ capabilities?: {
1055
+ /**
1056
+ * @description Specifies the version of the schema to which the capability definition conforms.
1057
+ * @example [
1058
+ * "v1",
1059
+ * "v1alpha1",
1060
+ * "v2beta3",
1061
+ * "v1.custom-suffix",
1062
+ * "models.meshery.io/v1beta1",
1063
+ * "capability.meshery.io/v1alpha1"
1064
+ * ]
1065
+ */
1066
+ schemaVersion: string;
1067
+ /** @description Version of the capability definition. */
1068
+ version: string;
1069
+ /** @description Name of the capability in human-readible format. */
1070
+ displayName: string;
1071
+ /** @description A written representation of the purpose and characteristics of the capability. */
1072
+ description: string;
1073
+ /** @description Top-level categorization of the capability */
1074
+ kind: string | "action" | "mutate" | "view" | "interaction";
1075
+ /** @description Classification of capabilities. Used to group capabilities similar in nature. */
1076
+ type: string;
1077
+ /** @description Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. */
1078
+ subType: string;
1079
+ /** @description Key that backs the capability. */
1080
+ key: string;
1081
+ /** @description State of the entity in which the capability is applicable. */
1082
+ entityState: ("declaration" | "instance")[];
1083
+ /**
1084
+ * @description Status of the capability
1085
+ * @default enabled
1086
+ * @enum {string}
1087
+ */
1088
+ status: "enabled" | "disabled";
1089
+ /** @description Metadata contains additional information associated with the capability. Extension point. */
1090
+ metadata?: {
1091
+ [key: string]: unknown;
1092
+ };
1093
+ }[];
1094
+ /**
1095
+ * @description Indicates whether the model and its entities should be treated as deployable entities or as logical representations.
1096
+ * @default false
1097
+ */
1098
+ isAnnotation: boolean;
1099
+ /**
1100
+ * @description Primary color associated with the model.
1101
+ * @default #00b39f
1102
+ */
1103
+ primaryColor: string;
1104
+ /**
1105
+ * @description Secondary color associated with the model.
1106
+ * @default #00D3A9
1107
+ */
1108
+ secondaryColor: string;
1109
+ /**
1110
+ * @description SVG representation of the model in white color.
1111
+ * @default <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.405 8.732v6.57l5.694-3.297-5.694-3.273Zm0 7.942v6.602l5.747-3.285-5.747-3.317Z" fill="#fff"/><path d="M15.586 15.256v-6.47l-5.622 3.225 5.622 3.245ZM4.307 23.252a13.809 13.809 0 0 0 4.362 4.39v-6.914l-4.362 2.524Zm11.279-.008v-6.52L9.95 19.985l5.636 3.258Z" fill="#fff" fill-opacity=".8"/><path d="m9.49 27.23 5.707-3.263-5.707-3.3v6.563Z" fill="#fff"/><path d="M22.54 27.265v-6.553l-5.699 3.259 5.7 3.294Zm5.58-4.773a13.697 13.697 0 0 0 1.612-5.895l-5.934 3.397 4.323 2.498Z" fill="#fff" fill-opacity=".8"/><path d="m23.362 19.298 5.728-3.276-5.728-3.291v6.567Z" fill="#fff"/><path d="M22.541 11.315V4.8l-5.673 3.253 5.673 3.262Zm0 7.955v-6.574l-5.685 3.292 5.685 3.281Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 12.684v6.622l5.728-3.316-5.728-3.306Z" fill="#fff"/><path d="M15.586 2.25a13.69 13.69 0 0 0-6.037 1.595l6.037 3.463V2.25Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 4.756v6.583l5.732-3.288L9.49 4.756Z" fill="#fff"/><path d="M8.669 4.356a13.83 13.83 0 0 0-4.362 4.39l4.362 2.518V4.356Z" fill="#fff" fill-opacity=".8"/><path d="M22.504 3.88a13.695 13.695 0 0 0-6.099-1.63v5.123l6.1-3.493ZM2.25 16.483c.071 2.12.634 4.196 1.644 6.062l4.418-2.559-6.062-3.503Zm1.644-7.028a13.68 13.68 0 0 0-1.644 6.036l6.068-3.482-4.424-2.554Z" fill="#fff"/><path d="M9.539 28.147a13.673 13.673 0 0 0 6.047 1.603v-5.062L9.54 28.147Z" fill="#fff" fill-opacity=".8"/><path d="M27.697 8.768a13.83 13.83 0 0 0-4.335-4.383v6.889l4.335-2.506ZM23.362 27.62a13.851 13.851 0 0 0 4.351-4.417l-4.351-2.514v6.93Z" fill="#fff"/><path d="M29.75 15.452a13.659 13.659 0 0 0-1.63-5.979l-4.381 2.53 6.011 3.45Z" fill="#fff" fill-opacity=".8"/><path d="M16.405 29.75a13.673 13.673 0 0 0 6.036-1.595l-6.036-3.498v5.093Z" fill="#fff"/><path d="M8.669 19.247v-6.494L3.03 15.986l5.639 3.261Z" fill="#fff" fill-opacity=".8"/></svg>
1112
+ */
1113
+ svgWhite: string;
1114
+ /**
1115
+ * @description SVG representation of the model in colored format.
1116
+ * @default <svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 134.95 135.02"><defs><style>.cls-1{fill:#00d3a9}.cls-2{fill:#00b39f}</style></defs><title>meshery-logo-light</title><polygon points="69.49 31.82 69.49 64.07 97.44 47.89 69.49 31.82" class="cls-1"/><polygon points="69.49 70.81 69.49 103.22 97.7 87.09 69.49 70.81" class="cls-1"/><polygon points="65.47 63.85 65.47 32.09 37.87 47.92 65.47 63.85" class="cls-2"/><path d="M10.1,103.1a67.79,67.79,0,0,0,21.41,21.55V90.71Z" class="cls-2"/><polygon points="65.47 103.06 65.47 71.05 37.8 87.07 65.47 103.06" class="cls-2"/><polygon points="35.54 122.63 63.56 106.61 35.54 90.41 35.54 122.63" class="cls-1"/><polygon points="99.61 122.8 99.61 90.63 71.63 106.63 99.61 122.8" class="cls-2"/><path d="M127,99.37a67.22,67.22,0,0,0,7.91-28.94L105.78,87.11Z" class="cls-2"/><polygon points="103.64 83.69 131.76 67.61 103.64 51.45 103.64 83.69" class="cls-1"/><polygon points="99.61 44.5 99.61 12.52 71.76 28.49 99.61 44.5" class="cls-2"/><polygon points="99.61 83.55 99.61 51.28 71.7 67.44 99.61 83.55" class="cls-2"/><polygon points="67.48 135.02 67.49 135.02 67.48 135.02 67.48 135.02" class="cls-2"/><polygon points="35.54 51.22 35.54 83.73 63.66 67.45 35.54 51.22" class="cls-1"/><path d="M65.47,0A67.2,67.2,0,0,0,35.83,7.83l29.64,17Z" class="cls-2"/><polygon points="35.54 12.3 35.54 44.62 63.68 28.48 35.54 12.3" class="cls-1"/><path d="M31.51,10.34A67.89,67.89,0,0,0,10.1,31.89L31.51,44.25Z" class="cls-2"/><path d="M99.43,8A67.23,67.23,0,0,0,69.49,0V25.15Z" class="cls-1"/><path d="M0,69.87A67.27,67.27,0,0,0,8.07,99.63L29.76,87.07Z" class="cls-1"/><path d="M8.07,35.37A67.16,67.16,0,0,0,0,65L29.79,47.91Z" class="cls-1"/><path d="M35.78,127.13A67.13,67.13,0,0,0,65.47,135V110.15Z" class="cls-2"/><path d="M124.92,32a67.9,67.9,0,0,0-21.28-21.52V44.3Z" class="cls-1"/><path d="M103.64,124.54A68,68,0,0,0,125,102.86L103.64,90.52Z" class="cls-1"/><path d="M135,64.81a67.06,67.06,0,0,0-8-29.35L105.49,47.88Z" class="cls-2"/><path d="M69.49,135a67.12,67.12,0,0,0,29.63-7.83L69.49,110Z" class="cls-1"/><polygon points="31.51 83.44 31.51 51.56 3.83 67.43 31.51 83.44" class="cls-2"/></svg>
1117
+ */
1118
+ svgColor: string;
1119
+ /** @description SVG representation of the complete model. */
1120
+ svgComplete?: string;
1121
+ /**
1122
+ * @description The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes)
1123
+ * @enum {string}
1124
+ */
1125
+ shape?: "ellipse" | "triangle" | "round-triangle" | "rectangle" | "round-rectangle" | "bottom-round-rectangle" | "cut-rectangle" | "barrel" | "rhomboid" | "diamond" | "round-diamond" | "pentagon" | "round-pentagon" | "hexagon" | "round-hexagon" | "concave-hexagon" | "heptagon" | "round-heptagon" | "octagon" | "round-octagon" | "star" | "tag" | "round-tag" | "vee" | "polygon";
1126
+ } & {
1127
+ [key: string]: unknown;
1128
+ };
1129
+ /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
1130
+ model: {
1131
+ /** @description Version of the model as defined by the registrant. */
1132
+ version: string;
1133
+ };
1134
+ /** @description The relationships of the model. */
1135
+ relationships: unknown[];
1136
+ /** @description The components of the model. */
1137
+ components: unknown[];
1138
+ /**
1139
+ * @description Number of components associated with the model.
1140
+ * @default 0
1141
+ */
1142
+ componentsCount: number;
1143
+ /**
1144
+ * @description Number of relationships associated with the model.
1145
+ * @default 0
1146
+ */
1147
+ relationshipsCount: number;
1148
+ /**
1149
+ * Format: date-time
1150
+ * @description Timestamp when the resource was created.
1151
+ */
1152
+ created_at?: string;
1153
+ /**
1154
+ * Format: date-time
1155
+ * @description Timestamp when the resource was updated.
1156
+ */
1157
+ updated_at?: string;
1158
+ };
1159
+ /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
1160
+ modelReference?: {
1161
+ /**
1162
+ * Format: uuid
1163
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
1164
+ */
1165
+ id: string;
1166
+ /**
1167
+ * @description The unique name for the model within the scope of a registrant.
1168
+ * @example cert-manager
1169
+ */
1170
+ name: string;
1171
+ /** @description Version of the model definition. */
1172
+ version: string;
1173
+ /**
1174
+ * @description Human-readable name for the model.
1175
+ * @example Cert Manager
1176
+ */
1177
+ displayName: string;
1178
+ /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
1179
+ model: {
1180
+ /** @description Version of the model as defined by the registrant. */
1181
+ version: string;
1182
+ };
1183
+ registrant: {
1184
+ /** @description Kind of the registrant. */
1185
+ kind: string;
1186
+ };
1187
+ };
1188
+ /**
1189
+ * Format: uuid
1190
+ * @description Foreign key to the model to which the component belongs. Populated by the ORM from the `model_id` column and suppressed on the JSON wire; consumers use the nested `model` object for wire-level access.
268
1191
  */
269
- credentialId?: string;
270
- /** @description Connection Type (platform, telemetry, collaboration) */
271
- type: string;
272
- /** @description Connection Subtype (cloud, identity, metrics, chat, git, orchestration) */
273
- subType: string;
274
- /** @description Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) */
275
- kind: string;
1192
+ modelId?: string;
276
1193
  /** @description Additional connection metadata */
277
1194
  metadata?: Record<string, never>;
1195
+ /** @description Schema for the credential Associated with the connection */
1196
+ credentialSchema?: Record<string, never>;
1197
+ /** @description Schema for the connection */
1198
+ connectionSchema?: Record<string, never>;
1199
+ /** @description Visualization styles for the connection, including svgColor and svgWhite used for UI representation. */
1200
+ styles?: ({
1201
+ /** @description Primary color of the component used for UI representation. */
1202
+ primaryColor: string;
1203
+ /** @description Secondary color of the entity used for UI representation. */
1204
+ secondaryColor?: string;
1205
+ /** @description White SVG of the entity used for UI representation on dark background. */
1206
+ svgWhite: string;
1207
+ /** @description Colored SVG of the entity used for UI representation on light background. */
1208
+ svgColor: string;
1209
+ /** @description Complete SVG of the entity used for UI representation, often inclusive of background. */
1210
+ svgComplete: string;
1211
+ /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. */
1212
+ color?: string;
1213
+ /** @description The opacity of the label text, including its outline. */
1214
+ textOpacity?: number;
1215
+ /** @description A comma-separated list of font names to use on the label text. */
1216
+ fontFamily?: string;
1217
+ /** @description The size of the label text. */
1218
+ fontSize?: string;
1219
+ /** @description A CSS font style to be applied to the label text. */
1220
+ fontStyle?: string;
1221
+ /** @description A CSS font weight to be applied to the label text. */
1222
+ fontWeight?: string;
1223
+ /**
1224
+ * @description A transformation to apply to the label text
1225
+ * @enum {string}
1226
+ */
1227
+ textTransform?: "none" | "uppercase" | "lowercase";
1228
+ /** @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children. */
1229
+ opacity?: number;
1230
+ /** @description An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. */
1231
+ zIndex?: number;
1232
+ /** @description The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id */
1233
+ label?: string;
1234
+ /** @description The animation to apply to the element. example ripple,bounce,etc */
1235
+ animation?: Record<string, never>;
1236
+ } & {
1237
+ [key: string]: unknown;
1238
+ }) & {
1239
+ /**
1240
+ * @description The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes)
1241
+ * @enum {string}
1242
+ */
1243
+ shape: "ellipse" | "triangle" | "round-triangle" | "rectangle" | "round-rectangle" | "bottom-round-rectangle" | "cut-rectangle" | "barrel" | "rhomboid" | "diamond" | "round-diamond" | "pentagon" | "round-pentagon" | "hexagon" | "round-hexagon" | "concave-hexagon" | "heptagon" | "round-heptagon" | "octagon" | "round-octagon" | "star" | "tag" | "round-tag" | "vee" | "polygon";
1244
+ /** @description The position of the node. If the position is set, the node is drawn at that position in the given dimensions. If the position is not set, the node is drawn at a random position. */
1245
+ position?: {
1246
+ /** @description The x-coordinate of the node. */
1247
+ x: number;
1248
+ /** @description The y-coordinate of the node. */
1249
+ y: number;
1250
+ };
1251
+ /** @description The text to display for an element's body. Can give a path, e.g. data(id) will label with the elements id */
1252
+ bodyText?: string;
1253
+ /**
1254
+ * @description How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
1255
+ * @enum {string}
1256
+ */
1257
+ bodyTextWrap?: "none" | "wrap" | "ellipsis";
1258
+ /** @description The maximum width for wrapping text in the node. */
1259
+ bodyTextMaxWidth?: string;
1260
+ /** @description The opacity of the node's body text, including its outline. */
1261
+ bodyTextOpacity?: number;
1262
+ /** @description The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. */
1263
+ bodyTextBackgroundColor?: string;
1264
+ /** @description The size of the node's body text. */
1265
+ bodyTextFontSize?: number;
1266
+ /** @description The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. */
1267
+ bodyTextColor?: string;
1268
+ /** @description A CSS font weight to be applied to the node's body text. */
1269
+ bodyTextFontWeight?: string;
1270
+ /** @description A CSS horizontal alignment to be applied to the node's body text. */
1271
+ bodyTextHorizontalAlign?: string;
1272
+ /** @description A CSS text decoration to be applied to the node's body text. */
1273
+ bodyTextDecoration?: string;
1274
+ /** @description A CSS vertical alignment to be applied to the node's body text. */
1275
+ bodyTextVerticalAlign?: string;
1276
+ /** @description The width of the node's body or the width of an edge's line. */
1277
+ width?: number;
1278
+ /** @description The height of the node's body */
1279
+ height?: number;
1280
+ /**
1281
+ * Format: uri
1282
+ * @description The URL that points to the image to show in the node.
1283
+ */
1284
+ backgroundImage?: string;
1285
+ /** @description The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. */
1286
+ backgroundColor?: string;
1287
+ /** @description Blackens the node's body for values from 0 to 1; whitens the node's body for values from 0 to -1. */
1288
+ backgroundBlacken?: number;
1289
+ /** @description The opacity level of the node's background colour */
1290
+ backgroundOpacity?: number;
1291
+ /** @description The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
1292
+ backgroundPositionX?: string;
1293
+ /** @description The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
1294
+ backgroundPositionY?: string;
1295
+ /** @description The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
1296
+ backgroundOffsetX?: string;
1297
+ /** @description The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
1298
+ backgroundOffsetY?: string;
1299
+ /**
1300
+ * @description How the background image is fit to the node. Can be 'none', 'contain', or 'cover'.
1301
+ * @enum {string}
1302
+ */
1303
+ backgroundFit?: "none" | "contain" | "cover";
1304
+ /**
1305
+ * @description How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'.
1306
+ * @enum {string}
1307
+ */
1308
+ backgroundClip?: "none" | "node" | "node-border";
1309
+ /**
1310
+ * @description How the background image's width is determined. Can be 'none', 'inner', or 'outer'.
1311
+ * @enum {string}
1312
+ */
1313
+ backgroundWidthRelativeTo?: "none" | "inner" | "outer";
1314
+ /**
1315
+ * @description How the background image's height is determined. Can be 'none', 'inner', or 'outer'.
1316
+ * @enum {string}
1317
+ */
1318
+ backgroundHeightRelativeTo?: "none" | "inner" | "outer";
1319
+ /** @description The size of the node's border. */
1320
+ borderWidth?: number;
1321
+ /**
1322
+ * @description The style of the node's border
1323
+ * @enum {string}
1324
+ */
1325
+ borderStyle?: "solid" | "dotted" | "dashed" | "double";
1326
+ /** @description The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. */
1327
+ borderColor?: string;
1328
+ /** @description The opacity of the node's border */
1329
+ borderOpacity?: number;
1330
+ /** @description The amount of padding around all sides of the node. */
1331
+ padding?: number;
1332
+ /**
1333
+ * @description The horizontal alignment of a node's label
1334
+ * @enum {string}
1335
+ */
1336
+ textHalign?: "left" | "center" | "right";
1337
+ /**
1338
+ * @description The vertical alignment of a node's label
1339
+ * @enum {string}
1340
+ */
1341
+ textValign?: "top" | "center" | "bottom";
1342
+ /**
1343
+ * @description Whether to use the ghost effect, a semitransparent duplicate of the element drawn at an offset.
1344
+ * @default no
1345
+ * @enum {string}
1346
+ */
1347
+ ghost: "yes" | "no";
1348
+ /** @description The colour of the indicator shown when the background is grabbed by the user. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
1349
+ activeBgColor?: string;
1350
+ /** @description The opacity of the active background indicator. Selector needs to be *core*. */
1351
+ activeBgOpacity?: string;
1352
+ /** @description The opacity of the active background indicator. Selector needs to be *core*. */
1353
+ activeBgSize?: string;
1354
+ /** @description The background colour of the selection box used for drag selection. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
1355
+ selectionBoxColor?: string;
1356
+ /** @description The size of the border on the selection box. Selector needs to be *core* */
1357
+ selectionBoxBorderWidth?: number;
1358
+ /** @description The opacity of the selection box. Selector needs to be *core* */
1359
+ selectionBoxOpacity?: number;
1360
+ /** @description The colour of the area outside the viewport texture when initOptions.textureOnViewport === true. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
1361
+ outsideTextureBgColor?: string;
1362
+ /** @description The opacity of the area outside the viewport texture. Selector needs to be *core* */
1363
+ outsideTextureBgOpacity?: number;
1364
+ /** @description An array (or a space-separated string) of numbers ranging on [-1, 1], representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This represents the points in the polygon for the node's shape. The bounding box of the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's position is the origin (0, 0 ) */
1365
+ shapePolygonPoints?: string;
1366
+ /** @description The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. */
1367
+ menuBackgroundColor?: string;
1368
+ /** @description The opacity of the background of the component menu. */
1369
+ menuBackgroundOpacity?: number;
1370
+ /** @description The colour of the text or icons in the component menu. Colours may be specified by name (e.g. red), hex (e.g. */
1371
+ menuForgroundColor?: string;
1372
+ };
278
1373
  /**
279
1374
  * @description Connection Status
280
1375
  * @enum {string}
281
1376
  */
282
1377
  status: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
1378
+ /** @description Map describing the connection state machine. Each key is a current connection status and its value is the list of states the connection may transition to from that status, along with a description of each transition. */
1379
+ transitionMap?: {
1380
+ [key: string]: {
1381
+ /**
1382
+ * @description Connection Status Value
1383
+ * @enum {string}
1384
+ */
1385
+ nextState: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
1386
+ /** @description Human-readable explanation of when or why this transition occurs. */
1387
+ description?: string;
1388
+ }[];
1389
+ };
283
1390
  /**
284
1391
  * Format: uuid
285
1392
  * @description User ID who owns this connection
@@ -382,6 +1489,16 @@ export interface components {
382
1489
  * @enum {string}
383
1490
  */
384
1491
  ConnectionStatusValue: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
1492
+ /** @description A single permissible state transition for a connection, describing the next reachable state and the meaning of that transition. */
1493
+ ConnectionStateTransition: {
1494
+ /**
1495
+ * @description Connection Status Value
1496
+ * @enum {string}
1497
+ */
1498
+ nextState: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
1499
+ /** @description Human-readable explanation of when or why this transition occurs. */
1500
+ description?: string;
1501
+ };
385
1502
  /** @description Payload for creating or updating a connection */
386
1503
  ConnectionPayload: {
387
1504
  /**
@@ -401,6 +1518,180 @@ export interface components {
401
1518
  credentialSecret?: Record<string, never>;
402
1519
  /** @description Connection metadata */
403
1520
  metadata?: Record<string, never>;
1521
+ /** @description Visualization styles for the connection, including svgColor and svgWhite used for UI representation. */
1522
+ styles?: ({
1523
+ /** @description Primary color of the component used for UI representation. */
1524
+ primaryColor: string;
1525
+ /** @description Secondary color of the entity used for UI representation. */
1526
+ secondaryColor?: string;
1527
+ /** @description White SVG of the entity used for UI representation on dark background. */
1528
+ svgWhite: string;
1529
+ /** @description Colored SVG of the entity used for UI representation on light background. */
1530
+ svgColor: string;
1531
+ /** @description Complete SVG of the entity used for UI representation, often inclusive of background. */
1532
+ svgComplete: string;
1533
+ /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. */
1534
+ color?: string;
1535
+ /** @description The opacity of the label text, including its outline. */
1536
+ textOpacity?: number;
1537
+ /** @description A comma-separated list of font names to use on the label text. */
1538
+ fontFamily?: string;
1539
+ /** @description The size of the label text. */
1540
+ fontSize?: string;
1541
+ /** @description A CSS font style to be applied to the label text. */
1542
+ fontStyle?: string;
1543
+ /** @description A CSS font weight to be applied to the label text. */
1544
+ fontWeight?: string;
1545
+ /**
1546
+ * @description A transformation to apply to the label text
1547
+ * @enum {string}
1548
+ */
1549
+ textTransform?: "none" | "uppercase" | "lowercase";
1550
+ /** @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children. */
1551
+ opacity?: number;
1552
+ /** @description An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. */
1553
+ zIndex?: number;
1554
+ /** @description The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id */
1555
+ label?: string;
1556
+ /** @description The animation to apply to the element. example ripple,bounce,etc */
1557
+ animation?: Record<string, never>;
1558
+ } & {
1559
+ [key: string]: unknown;
1560
+ }) & {
1561
+ /**
1562
+ * @description The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes)
1563
+ * @enum {string}
1564
+ */
1565
+ shape: "ellipse" | "triangle" | "round-triangle" | "rectangle" | "round-rectangle" | "bottom-round-rectangle" | "cut-rectangle" | "barrel" | "rhomboid" | "diamond" | "round-diamond" | "pentagon" | "round-pentagon" | "hexagon" | "round-hexagon" | "concave-hexagon" | "heptagon" | "round-heptagon" | "octagon" | "round-octagon" | "star" | "tag" | "round-tag" | "vee" | "polygon";
1566
+ /** @description The position of the node. If the position is set, the node is drawn at that position in the given dimensions. If the position is not set, the node is drawn at a random position. */
1567
+ position?: {
1568
+ /** @description The x-coordinate of the node. */
1569
+ x: number;
1570
+ /** @description The y-coordinate of the node. */
1571
+ y: number;
1572
+ };
1573
+ /** @description The text to display for an element's body. Can give a path, e.g. data(id) will label with the elements id */
1574
+ bodyText?: string;
1575
+ /**
1576
+ * @description How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
1577
+ * @enum {string}
1578
+ */
1579
+ bodyTextWrap?: "none" | "wrap" | "ellipsis";
1580
+ /** @description The maximum width for wrapping text in the node. */
1581
+ bodyTextMaxWidth?: string;
1582
+ /** @description The opacity of the node's body text, including its outline. */
1583
+ bodyTextOpacity?: number;
1584
+ /** @description The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. */
1585
+ bodyTextBackgroundColor?: string;
1586
+ /** @description The size of the node's body text. */
1587
+ bodyTextFontSize?: number;
1588
+ /** @description The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. */
1589
+ bodyTextColor?: string;
1590
+ /** @description A CSS font weight to be applied to the node's body text. */
1591
+ bodyTextFontWeight?: string;
1592
+ /** @description A CSS horizontal alignment to be applied to the node's body text. */
1593
+ bodyTextHorizontalAlign?: string;
1594
+ /** @description A CSS text decoration to be applied to the node's body text. */
1595
+ bodyTextDecoration?: string;
1596
+ /** @description A CSS vertical alignment to be applied to the node's body text. */
1597
+ bodyTextVerticalAlign?: string;
1598
+ /** @description The width of the node's body or the width of an edge's line. */
1599
+ width?: number;
1600
+ /** @description The height of the node's body */
1601
+ height?: number;
1602
+ /**
1603
+ * Format: uri
1604
+ * @description The URL that points to the image to show in the node.
1605
+ */
1606
+ backgroundImage?: string;
1607
+ /** @description The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. */
1608
+ backgroundColor?: string;
1609
+ /** @description Blackens the node's body for values from 0 to 1; whitens the node's body for values from 0 to -1. */
1610
+ backgroundBlacken?: number;
1611
+ /** @description The opacity level of the node's background colour */
1612
+ backgroundOpacity?: number;
1613
+ /** @description The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
1614
+ backgroundPositionX?: string;
1615
+ /** @description The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
1616
+ backgroundPositionY?: string;
1617
+ /** @description The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
1618
+ backgroundOffsetX?: string;
1619
+ /** @description The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
1620
+ backgroundOffsetY?: string;
1621
+ /**
1622
+ * @description How the background image is fit to the node. Can be 'none', 'contain', or 'cover'.
1623
+ * @enum {string}
1624
+ */
1625
+ backgroundFit?: "none" | "contain" | "cover";
1626
+ /**
1627
+ * @description How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'.
1628
+ * @enum {string}
1629
+ */
1630
+ backgroundClip?: "none" | "node" | "node-border";
1631
+ /**
1632
+ * @description How the background image's width is determined. Can be 'none', 'inner', or 'outer'.
1633
+ * @enum {string}
1634
+ */
1635
+ backgroundWidthRelativeTo?: "none" | "inner" | "outer";
1636
+ /**
1637
+ * @description How the background image's height is determined. Can be 'none', 'inner', or 'outer'.
1638
+ * @enum {string}
1639
+ */
1640
+ backgroundHeightRelativeTo?: "none" | "inner" | "outer";
1641
+ /** @description The size of the node's border. */
1642
+ borderWidth?: number;
1643
+ /**
1644
+ * @description The style of the node's border
1645
+ * @enum {string}
1646
+ */
1647
+ borderStyle?: "solid" | "dotted" | "dashed" | "double";
1648
+ /** @description The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. */
1649
+ borderColor?: string;
1650
+ /** @description The opacity of the node's border */
1651
+ borderOpacity?: number;
1652
+ /** @description The amount of padding around all sides of the node. */
1653
+ padding?: number;
1654
+ /**
1655
+ * @description The horizontal alignment of a node's label
1656
+ * @enum {string}
1657
+ */
1658
+ textHalign?: "left" | "center" | "right";
1659
+ /**
1660
+ * @description The vertical alignment of a node's label
1661
+ * @enum {string}
1662
+ */
1663
+ textValign?: "top" | "center" | "bottom";
1664
+ /**
1665
+ * @description Whether to use the ghost effect, a semitransparent duplicate of the element drawn at an offset.
1666
+ * @default no
1667
+ * @enum {string}
1668
+ */
1669
+ ghost: "yes" | "no";
1670
+ /** @description The colour of the indicator shown when the background is grabbed by the user. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
1671
+ activeBgColor?: string;
1672
+ /** @description The opacity of the active background indicator. Selector needs to be *core*. */
1673
+ activeBgOpacity?: string;
1674
+ /** @description The opacity of the active background indicator. Selector needs to be *core*. */
1675
+ activeBgSize?: string;
1676
+ /** @description The background colour of the selection box used for drag selection. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
1677
+ selectionBoxColor?: string;
1678
+ /** @description The size of the border on the selection box. Selector needs to be *core* */
1679
+ selectionBoxBorderWidth?: number;
1680
+ /** @description The opacity of the selection box. Selector needs to be *core* */
1681
+ selectionBoxOpacity?: number;
1682
+ /** @description The colour of the area outside the viewport texture when initOptions.textureOnViewport === true. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
1683
+ outsideTextureBgColor?: string;
1684
+ /** @description The opacity of the area outside the viewport texture. Selector needs to be *core* */
1685
+ outsideTextureBgOpacity?: number;
1686
+ /** @description An array (or a space-separated string) of numbers ranging on [-1, 1], representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This represents the points in the polygon for the node's shape. The bounding box of the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's position is the origin (0, 0 ) */
1687
+ shapePolygonPoints?: string;
1688
+ /** @description The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. */
1689
+ menuBackgroundColor?: string;
1690
+ /** @description The opacity of the background of the component menu. */
1691
+ menuBackgroundOpacity?: number;
1692
+ /** @description The colour of the text or icons in the component menu. Colours may be specified by name (e.g. red), hex (e.g. */
1693
+ menuForgroundColor?: string;
1694
+ };
404
1695
  /** @description Connection status */
405
1696
  status: string;
406
1697
  /**
@@ -562,6 +1853,8 @@ export interface components {
562
1853
  parameters: {
563
1854
  /** @description Connection ID */
564
1855
  connectionId: string;
1856
+ /** @description Connection definition ID */
1857
+ connectionDefinitionId: string;
565
1858
  /** @description Connection kind (meshery, kubernetes, prometheus, grafana, etc.) */
566
1859
  connectionKind: string;
567
1860
  /** @description Environment ID */
@@ -649,13 +1942,534 @@ export interface operations {
649
1942
  subType: string;
650
1943
  /** @description Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) */
651
1944
  kind: string;
1945
+ /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
1946
+ model?: {
1947
+ /**
1948
+ * Format: uuid
1949
+ * @description Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).
1950
+ */
1951
+ id: string;
1952
+ /**
1953
+ * @description Specifies the version of the schema used for the definition.
1954
+ * @default models.meshery.io/v1beta1
1955
+ * @example [
1956
+ * "v1",
1957
+ * "v1alpha1",
1958
+ * "v2beta3",
1959
+ * "v1.custom-suffix",
1960
+ * "models.meshery.io/v1beta1",
1961
+ * "capability.meshery.io/v1alpha1"
1962
+ * ]
1963
+ */
1964
+ schemaVersion: string;
1965
+ /** @description Version of the model definition. */
1966
+ version: string;
1967
+ /**
1968
+ * @description The unique name for the model within the scope of a registrant.
1969
+ * @default untitled-model
1970
+ * @example cert-manager
1971
+ */
1972
+ name: string;
1973
+ /**
1974
+ * @description Human-readable name for the model.
1975
+ * @default Untitled Model
1976
+ * @example Cert Manager
1977
+ */
1978
+ displayName: string;
1979
+ /**
1980
+ * @description Description of the model.
1981
+ * @default A new Meshery model.
1982
+ */
1983
+ description: string;
1984
+ /**
1985
+ * @description Status of model, including:
1986
+ * - duplicate: this component is a duplicate of another. The component that is to be the canonical reference and that is duplicated by other components should not be assigned the 'duplicate' status.
1987
+ * - maintenance: model is unavailable for a period of time.
1988
+ * - enabled: model is available for use for all users of this Meshery Server.
1989
+ * - ignored: model is unavailable for use for all users of this Meshery Server.
1990
+ * @default enabled
1991
+ * @enum {string}
1992
+ */
1993
+ status: "ignored" | "enabled" | "duplicate";
1994
+ /** @description Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections */
1995
+ registrant: {
1996
+ /**
1997
+ * Format: uuid
1998
+ * @description Connection ID
1999
+ */
2000
+ id: string;
2001
+ /** @description Connection Name */
2002
+ name: string;
2003
+ /**
2004
+ * Format: uuid
2005
+ * @description Associated Credential ID
2006
+ */
2007
+ credentialId?: string;
2008
+ /** @description Connection Type (platform, telemetry, collaboration) */
2009
+ type: string;
2010
+ /** @description Connection Subtype (cloud, identity, metrics, chat, git, orchestration) */
2011
+ subType: string;
2012
+ /** @description Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) */
2013
+ kind: string;
2014
+ /** @description Additional connection metadata */
2015
+ metadata?: Record<string, never>;
2016
+ /**
2017
+ * @description Connection Status
2018
+ * @enum {string}
2019
+ */
2020
+ status: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
2021
+ /**
2022
+ * Format: uuid
2023
+ * @description User ID who owns this connection
2024
+ */
2025
+ user_id?: string;
2026
+ /** Format: date-time */
2027
+ created_at?: string;
2028
+ /** Format: date-time */
2029
+ updated_at?: string;
2030
+ /**
2031
+ * Format: date-time
2032
+ * @description SQL null Timestamp to handle null values of time.
2033
+ */
2034
+ deleted_at?: string;
2035
+ /** @description Associated environments for this connection */
2036
+ environments?: {
2037
+ /**
2038
+ * Format: uuid
2039
+ * @description ID
2040
+ */
2041
+ id: string;
2042
+ /**
2043
+ * @description Specifies the version of the schema to which the environment conforms.
2044
+ * @default environments.meshery.io/v1beta1
2045
+ * @example [
2046
+ * "v1",
2047
+ * "v1alpha1",
2048
+ * "v2beta3",
2049
+ * "v1.custom-suffix",
2050
+ * "models.meshery.io/v1beta1",
2051
+ * "capability.meshery.io/v1alpha1"
2052
+ * ]
2053
+ */
2054
+ schemaVersion: string;
2055
+ /** @description Environment name */
2056
+ name: string;
2057
+ /** @description Environment description */
2058
+ description: string;
2059
+ /**
2060
+ * Format: uuid
2061
+ * @description Environment organization ID
2062
+ */
2063
+ organization_id: string;
2064
+ /**
2065
+ * Format: uuid
2066
+ * @description Environment owner
2067
+ */
2068
+ owner?: string;
2069
+ /**
2070
+ * Format: date-time
2071
+ * @description Timestamp when the resource was created.
2072
+ */
2073
+ created_at?: string;
2074
+ /** @description Additional metadata associated with the environment. */
2075
+ metadata?: Record<string, never>;
2076
+ /**
2077
+ * Format: date-time
2078
+ * @description Timestamp when the resource was updated.
2079
+ */
2080
+ updated_at?: string;
2081
+ /**
2082
+ * Format: date-time
2083
+ * @description Timestamp when the environment was soft deleted. Null while the environment remains active.
2084
+ */
2085
+ deleted_at?: string | null;
2086
+ }[];
2087
+ /**
2088
+ * @description Specifies the version of the schema used for the definition.
2089
+ * @default connections.meshery.io/v1beta1
2090
+ * @example [
2091
+ * "v1",
2092
+ * "v1alpha1",
2093
+ * "v2beta3",
2094
+ * "v1.custom-suffix",
2095
+ * "models.meshery.io/v1beta1",
2096
+ * "capability.meshery.io/v1alpha1"
2097
+ * ]
2098
+ */
2099
+ schemaVersion: string;
2100
+ };
2101
+ /**
2102
+ * Format: uuid
2103
+ * @description ID of the registrant.
2104
+ */
2105
+ registrantId: string;
2106
+ /**
2107
+ * Format: uuid
2108
+ * @description ID of the category.
2109
+ */
2110
+ categoryId: string;
2111
+ /** @description Category of the model. */
2112
+ category: {
2113
+ /**
2114
+ * Format: uuid
2115
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
2116
+ */
2117
+ id: string;
2118
+ /**
2119
+ * @description The category of the model that determines the main grouping.
2120
+ * @default Uncategorized
2121
+ * @enum {string}
2122
+ */
2123
+ name: "Analytics" | "App Definition and Development" | "Cloud Native Network" | "Cloud Native Storage" | "Database" | "Machine Learning" | "Observability and Analysis" | "Orchestration & Management" | "Platform" | "Provisioning" | "Runtime" | "Security & Compliance" | "Serverless" | "Tools" | "Uncategorized";
2124
+ /** @description Additional metadata associated with the category. */
2125
+ metadata: Record<string, never>;
2126
+ };
2127
+ /**
2128
+ * SubCategory
2129
+ * @description Sub category of the model determines the secondary grouping.
2130
+ * @default Uncategorized
2131
+ * @enum {string}
2132
+ */
2133
+ subCategory: "API Gateway" | "API Integration" | "Application Definition & Image Build" | "Automation & Configuration" | "Certified Kubernetes - Distribution" | "Chaos Engineering" | "Cloud Native Storage" | "Cloud Provider" | "CNI" | "Compute" | "Container Registry" | "Container Runtime" | "Container Security" | "Container" | "Content Delivery Network" | "Continuous Integration & Delivery" | "Coordination & Service Discovery" | "Database" | "Flowchart" | "Framework" | "Installable Platform" | "Key Management" | "Key Management Service" | "Kubernetes" | "Logging" | "Machine Learning" | "Management Governance" | "Metrics" | "Monitoring" | "Networking Content Delivery" | "Operating System" | "Query" | "Remote Procedure Call" | "Scheduling & Orchestration" | "Secrets Management" | "Security Identity & Compliance" | "Service Mesh" | "Service Proxy" | "Source Version Control" | "Storage" | "Specifications" | "Streaming & Messaging" | "Tools" | "Tracing" | "Uncategorized" | "Video Conferencing";
2134
+ /** @description Metadata containing additional information associated with the model. */
2135
+ metadata?: {
2136
+ /** @description Capabilities associated with the model */
2137
+ capabilities?: {
2138
+ /**
2139
+ * @description Specifies the version of the schema to which the capability definition conforms.
2140
+ * @example [
2141
+ * "v1",
2142
+ * "v1alpha1",
2143
+ * "v2beta3",
2144
+ * "v1.custom-suffix",
2145
+ * "models.meshery.io/v1beta1",
2146
+ * "capability.meshery.io/v1alpha1"
2147
+ * ]
2148
+ */
2149
+ schemaVersion: string;
2150
+ /** @description Version of the capability definition. */
2151
+ version: string;
2152
+ /** @description Name of the capability in human-readible format. */
2153
+ displayName: string;
2154
+ /** @description A written representation of the purpose and characteristics of the capability. */
2155
+ description: string;
2156
+ /** @description Top-level categorization of the capability */
2157
+ kind: string | "action" | "mutate" | "view" | "interaction";
2158
+ /** @description Classification of capabilities. Used to group capabilities similar in nature. */
2159
+ type: string;
2160
+ /** @description Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. */
2161
+ subType: string;
2162
+ /** @description Key that backs the capability. */
2163
+ key: string;
2164
+ /** @description State of the entity in which the capability is applicable. */
2165
+ entityState: ("declaration" | "instance")[];
2166
+ /**
2167
+ * @description Status of the capability
2168
+ * @default enabled
2169
+ * @enum {string}
2170
+ */
2171
+ status: "enabled" | "disabled";
2172
+ /** @description Metadata contains additional information associated with the capability. Extension point. */
2173
+ metadata?: {
2174
+ [key: string]: unknown;
2175
+ };
2176
+ }[];
2177
+ /**
2178
+ * @description Indicates whether the model and its entities should be treated as deployable entities or as logical representations.
2179
+ * @default false
2180
+ */
2181
+ isAnnotation: boolean;
2182
+ /**
2183
+ * @description Primary color associated with the model.
2184
+ * @default #00b39f
2185
+ */
2186
+ primaryColor: string;
2187
+ /**
2188
+ * @description Secondary color associated with the model.
2189
+ * @default #00D3A9
2190
+ */
2191
+ secondaryColor: string;
2192
+ /**
2193
+ * @description SVG representation of the model in white color.
2194
+ * @default <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.405 8.732v6.57l5.694-3.297-5.694-3.273Zm0 7.942v6.602l5.747-3.285-5.747-3.317Z" fill="#fff"/><path d="M15.586 15.256v-6.47l-5.622 3.225 5.622 3.245ZM4.307 23.252a13.809 13.809 0 0 0 4.362 4.39v-6.914l-4.362 2.524Zm11.279-.008v-6.52L9.95 19.985l5.636 3.258Z" fill="#fff" fill-opacity=".8"/><path d="m9.49 27.23 5.707-3.263-5.707-3.3v6.563Z" fill="#fff"/><path d="M22.54 27.265v-6.553l-5.699 3.259 5.7 3.294Zm5.58-4.773a13.697 13.697 0 0 0 1.612-5.895l-5.934 3.397 4.323 2.498Z" fill="#fff" fill-opacity=".8"/><path d="m23.362 19.298 5.728-3.276-5.728-3.291v6.567Z" fill="#fff"/><path d="M22.541 11.315V4.8l-5.673 3.253 5.673 3.262Zm0 7.955v-6.574l-5.685 3.292 5.685 3.281Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 12.684v6.622l5.728-3.316-5.728-3.306Z" fill="#fff"/><path d="M15.586 2.25a13.69 13.69 0 0 0-6.037 1.595l6.037 3.463V2.25Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 4.756v6.583l5.732-3.288L9.49 4.756Z" fill="#fff"/><path d="M8.669 4.356a13.83 13.83 0 0 0-4.362 4.39l4.362 2.518V4.356Z" fill="#fff" fill-opacity=".8"/><path d="M22.504 3.88a13.695 13.695 0 0 0-6.099-1.63v5.123l6.1-3.493ZM2.25 16.483c.071 2.12.634 4.196 1.644 6.062l4.418-2.559-6.062-3.503Zm1.644-7.028a13.68 13.68 0 0 0-1.644 6.036l6.068-3.482-4.424-2.554Z" fill="#fff"/><path d="M9.539 28.147a13.673 13.673 0 0 0 6.047 1.603v-5.062L9.54 28.147Z" fill="#fff" fill-opacity=".8"/><path d="M27.697 8.768a13.83 13.83 0 0 0-4.335-4.383v6.889l4.335-2.506ZM23.362 27.62a13.851 13.851 0 0 0 4.351-4.417l-4.351-2.514v6.93Z" fill="#fff"/><path d="M29.75 15.452a13.659 13.659 0 0 0-1.63-5.979l-4.381 2.53 6.011 3.45Z" fill="#fff" fill-opacity=".8"/><path d="M16.405 29.75a13.673 13.673 0 0 0 6.036-1.595l-6.036-3.498v5.093Z" fill="#fff"/><path d="M8.669 19.247v-6.494L3.03 15.986l5.639 3.261Z" fill="#fff" fill-opacity=".8"/></svg>
2195
+ */
2196
+ svgWhite: string;
2197
+ /**
2198
+ * @description SVG representation of the model in colored format.
2199
+ * @default <svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 134.95 135.02"><defs><style>.cls-1{fill:#00d3a9}.cls-2{fill:#00b39f}</style></defs><title>meshery-logo-light</title><polygon points="69.49 31.82 69.49 64.07 97.44 47.89 69.49 31.82" class="cls-1"/><polygon points="69.49 70.81 69.49 103.22 97.7 87.09 69.49 70.81" class="cls-1"/><polygon points="65.47 63.85 65.47 32.09 37.87 47.92 65.47 63.85" class="cls-2"/><path d="M10.1,103.1a67.79,67.79,0,0,0,21.41,21.55V90.71Z" class="cls-2"/><polygon points="65.47 103.06 65.47 71.05 37.8 87.07 65.47 103.06" class="cls-2"/><polygon points="35.54 122.63 63.56 106.61 35.54 90.41 35.54 122.63" class="cls-1"/><polygon points="99.61 122.8 99.61 90.63 71.63 106.63 99.61 122.8" class="cls-2"/><path d="M127,99.37a67.22,67.22,0,0,0,7.91-28.94L105.78,87.11Z" class="cls-2"/><polygon points="103.64 83.69 131.76 67.61 103.64 51.45 103.64 83.69" class="cls-1"/><polygon points="99.61 44.5 99.61 12.52 71.76 28.49 99.61 44.5" class="cls-2"/><polygon points="99.61 83.55 99.61 51.28 71.7 67.44 99.61 83.55" class="cls-2"/><polygon points="67.48 135.02 67.49 135.02 67.48 135.02 67.48 135.02" class="cls-2"/><polygon points="35.54 51.22 35.54 83.73 63.66 67.45 35.54 51.22" class="cls-1"/><path d="M65.47,0A67.2,67.2,0,0,0,35.83,7.83l29.64,17Z" class="cls-2"/><polygon points="35.54 12.3 35.54 44.62 63.68 28.48 35.54 12.3" class="cls-1"/><path d="M31.51,10.34A67.89,67.89,0,0,0,10.1,31.89L31.51,44.25Z" class="cls-2"/><path d="M99.43,8A67.23,67.23,0,0,0,69.49,0V25.15Z" class="cls-1"/><path d="M0,69.87A67.27,67.27,0,0,0,8.07,99.63L29.76,87.07Z" class="cls-1"/><path d="M8.07,35.37A67.16,67.16,0,0,0,0,65L29.79,47.91Z" class="cls-1"/><path d="M35.78,127.13A67.13,67.13,0,0,0,65.47,135V110.15Z" class="cls-2"/><path d="M124.92,32a67.9,67.9,0,0,0-21.28-21.52V44.3Z" class="cls-1"/><path d="M103.64,124.54A68,68,0,0,0,125,102.86L103.64,90.52Z" class="cls-1"/><path d="M135,64.81a67.06,67.06,0,0,0-8-29.35L105.49,47.88Z" class="cls-2"/><path d="M69.49,135a67.12,67.12,0,0,0,29.63-7.83L69.49,110Z" class="cls-1"/><polygon points="31.51 83.44 31.51 51.56 3.83 67.43 31.51 83.44" class="cls-2"/></svg>
2200
+ */
2201
+ svgColor: string;
2202
+ /** @description SVG representation of the complete model. */
2203
+ svgComplete?: string;
2204
+ /**
2205
+ * @description The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes)
2206
+ * @enum {string}
2207
+ */
2208
+ shape?: "ellipse" | "triangle" | "round-triangle" | "rectangle" | "round-rectangle" | "bottom-round-rectangle" | "cut-rectangle" | "barrel" | "rhomboid" | "diamond" | "round-diamond" | "pentagon" | "round-pentagon" | "hexagon" | "round-hexagon" | "concave-hexagon" | "heptagon" | "round-heptagon" | "octagon" | "round-octagon" | "star" | "tag" | "round-tag" | "vee" | "polygon";
2209
+ } & {
2210
+ [key: string]: unknown;
2211
+ };
2212
+ /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
2213
+ model: {
2214
+ /** @description Version of the model as defined by the registrant. */
2215
+ version: string;
2216
+ };
2217
+ /** @description The relationships of the model. */
2218
+ relationships: unknown[];
2219
+ /** @description The components of the model. */
2220
+ components: unknown[];
2221
+ /**
2222
+ * @description Number of components associated with the model.
2223
+ * @default 0
2224
+ */
2225
+ componentsCount: number;
2226
+ /**
2227
+ * @description Number of relationships associated with the model.
2228
+ * @default 0
2229
+ */
2230
+ relationshipsCount: number;
2231
+ /**
2232
+ * Format: date-time
2233
+ * @description Timestamp when the resource was created.
2234
+ */
2235
+ created_at?: string;
2236
+ /**
2237
+ * Format: date-time
2238
+ * @description Timestamp when the resource was updated.
2239
+ */
2240
+ updated_at?: string;
2241
+ };
2242
+ /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
2243
+ modelReference?: {
2244
+ /**
2245
+ * Format: uuid
2246
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
2247
+ */
2248
+ id: string;
2249
+ /**
2250
+ * @description The unique name for the model within the scope of a registrant.
2251
+ * @example cert-manager
2252
+ */
2253
+ name: string;
2254
+ /** @description Version of the model definition. */
2255
+ version: string;
2256
+ /**
2257
+ * @description Human-readable name for the model.
2258
+ * @example Cert Manager
2259
+ */
2260
+ displayName: string;
2261
+ /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
2262
+ model: {
2263
+ /** @description Version of the model as defined by the registrant. */
2264
+ version: string;
2265
+ };
2266
+ registrant: {
2267
+ /** @description Kind of the registrant. */
2268
+ kind: string;
2269
+ };
2270
+ };
2271
+ /**
2272
+ * Format: uuid
2273
+ * @description Foreign key to the model to which the component belongs. Populated by the ORM from the `model_id` column and suppressed on the JSON wire; consumers use the nested `model` object for wire-level access.
2274
+ */
2275
+ modelId?: string;
652
2276
  /** @description Additional connection metadata */
653
2277
  metadata?: Record<string, never>;
2278
+ /** @description Schema for the credential Associated with the connection */
2279
+ credentialSchema?: Record<string, never>;
2280
+ /** @description Schema for the connection */
2281
+ connectionSchema?: Record<string, never>;
2282
+ /** @description Visualization styles for the connection, including svgColor and svgWhite used for UI representation. */
2283
+ styles?: ({
2284
+ /** @description Primary color of the component used for UI representation. */
2285
+ primaryColor: string;
2286
+ /** @description Secondary color of the entity used for UI representation. */
2287
+ secondaryColor?: string;
2288
+ /** @description White SVG of the entity used for UI representation on dark background. */
2289
+ svgWhite: string;
2290
+ /** @description Colored SVG of the entity used for UI representation on light background. */
2291
+ svgColor: string;
2292
+ /** @description Complete SVG of the entity used for UI representation, often inclusive of background. */
2293
+ svgComplete: string;
2294
+ /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. */
2295
+ color?: string;
2296
+ /** @description The opacity of the label text, including its outline. */
2297
+ textOpacity?: number;
2298
+ /** @description A comma-separated list of font names to use on the label text. */
2299
+ fontFamily?: string;
2300
+ /** @description The size of the label text. */
2301
+ fontSize?: string;
2302
+ /** @description A CSS font style to be applied to the label text. */
2303
+ fontStyle?: string;
2304
+ /** @description A CSS font weight to be applied to the label text. */
2305
+ fontWeight?: string;
2306
+ /**
2307
+ * @description A transformation to apply to the label text
2308
+ * @enum {string}
2309
+ */
2310
+ textTransform?: "none" | "uppercase" | "lowercase";
2311
+ /** @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children. */
2312
+ opacity?: number;
2313
+ /** @description An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. */
2314
+ zIndex?: number;
2315
+ /** @description The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id */
2316
+ label?: string;
2317
+ /** @description The animation to apply to the element. example ripple,bounce,etc */
2318
+ animation?: Record<string, never>;
2319
+ } & {
2320
+ [key: string]: unknown;
2321
+ }) & {
2322
+ /**
2323
+ * @description The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes)
2324
+ * @enum {string}
2325
+ */
2326
+ shape: "ellipse" | "triangle" | "round-triangle" | "rectangle" | "round-rectangle" | "bottom-round-rectangle" | "cut-rectangle" | "barrel" | "rhomboid" | "diamond" | "round-diamond" | "pentagon" | "round-pentagon" | "hexagon" | "round-hexagon" | "concave-hexagon" | "heptagon" | "round-heptagon" | "octagon" | "round-octagon" | "star" | "tag" | "round-tag" | "vee" | "polygon";
2327
+ /** @description The position of the node. If the position is set, the node is drawn at that position in the given dimensions. If the position is not set, the node is drawn at a random position. */
2328
+ position?: {
2329
+ /** @description The x-coordinate of the node. */
2330
+ x: number;
2331
+ /** @description The y-coordinate of the node. */
2332
+ y: number;
2333
+ };
2334
+ /** @description The text to display for an element's body. Can give a path, e.g. data(id) will label with the elements id */
2335
+ bodyText?: string;
2336
+ /**
2337
+ * @description How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
2338
+ * @enum {string}
2339
+ */
2340
+ bodyTextWrap?: "none" | "wrap" | "ellipsis";
2341
+ /** @description The maximum width for wrapping text in the node. */
2342
+ bodyTextMaxWidth?: string;
2343
+ /** @description The opacity of the node's body text, including its outline. */
2344
+ bodyTextOpacity?: number;
2345
+ /** @description The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. */
2346
+ bodyTextBackgroundColor?: string;
2347
+ /** @description The size of the node's body text. */
2348
+ bodyTextFontSize?: number;
2349
+ /** @description The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. */
2350
+ bodyTextColor?: string;
2351
+ /** @description A CSS font weight to be applied to the node's body text. */
2352
+ bodyTextFontWeight?: string;
2353
+ /** @description A CSS horizontal alignment to be applied to the node's body text. */
2354
+ bodyTextHorizontalAlign?: string;
2355
+ /** @description A CSS text decoration to be applied to the node's body text. */
2356
+ bodyTextDecoration?: string;
2357
+ /** @description A CSS vertical alignment to be applied to the node's body text. */
2358
+ bodyTextVerticalAlign?: string;
2359
+ /** @description The width of the node's body or the width of an edge's line. */
2360
+ width?: number;
2361
+ /** @description The height of the node's body */
2362
+ height?: number;
2363
+ /**
2364
+ * Format: uri
2365
+ * @description The URL that points to the image to show in the node.
2366
+ */
2367
+ backgroundImage?: string;
2368
+ /** @description The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. */
2369
+ backgroundColor?: string;
2370
+ /** @description Blackens the node's body for values from 0 to 1; whitens the node's body for values from 0 to -1. */
2371
+ backgroundBlacken?: number;
2372
+ /** @description The opacity level of the node's background colour */
2373
+ backgroundOpacity?: number;
2374
+ /** @description The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
2375
+ backgroundPositionX?: string;
2376
+ /** @description The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
2377
+ backgroundPositionY?: string;
2378
+ /** @description The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
2379
+ backgroundOffsetX?: string;
2380
+ /** @description The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
2381
+ backgroundOffsetY?: string;
2382
+ /**
2383
+ * @description How the background image is fit to the node. Can be 'none', 'contain', or 'cover'.
2384
+ * @enum {string}
2385
+ */
2386
+ backgroundFit?: "none" | "contain" | "cover";
2387
+ /**
2388
+ * @description How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'.
2389
+ * @enum {string}
2390
+ */
2391
+ backgroundClip?: "none" | "node" | "node-border";
2392
+ /**
2393
+ * @description How the background image's width is determined. Can be 'none', 'inner', or 'outer'.
2394
+ * @enum {string}
2395
+ */
2396
+ backgroundWidthRelativeTo?: "none" | "inner" | "outer";
2397
+ /**
2398
+ * @description How the background image's height is determined. Can be 'none', 'inner', or 'outer'.
2399
+ * @enum {string}
2400
+ */
2401
+ backgroundHeightRelativeTo?: "none" | "inner" | "outer";
2402
+ /** @description The size of the node's border. */
2403
+ borderWidth?: number;
2404
+ /**
2405
+ * @description The style of the node's border
2406
+ * @enum {string}
2407
+ */
2408
+ borderStyle?: "solid" | "dotted" | "dashed" | "double";
2409
+ /** @description The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. */
2410
+ borderColor?: string;
2411
+ /** @description The opacity of the node's border */
2412
+ borderOpacity?: number;
2413
+ /** @description The amount of padding around all sides of the node. */
2414
+ padding?: number;
2415
+ /**
2416
+ * @description The horizontal alignment of a node's label
2417
+ * @enum {string}
2418
+ */
2419
+ textHalign?: "left" | "center" | "right";
2420
+ /**
2421
+ * @description The vertical alignment of a node's label
2422
+ * @enum {string}
2423
+ */
2424
+ textValign?: "top" | "center" | "bottom";
2425
+ /**
2426
+ * @description Whether to use the ghost effect, a semitransparent duplicate of the element drawn at an offset.
2427
+ * @default no
2428
+ * @enum {string}
2429
+ */
2430
+ ghost: "yes" | "no";
2431
+ /** @description The colour of the indicator shown when the background is grabbed by the user. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
2432
+ activeBgColor?: string;
2433
+ /** @description The opacity of the active background indicator. Selector needs to be *core*. */
2434
+ activeBgOpacity?: string;
2435
+ /** @description The opacity of the active background indicator. Selector needs to be *core*. */
2436
+ activeBgSize?: string;
2437
+ /** @description The background colour of the selection box used for drag selection. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
2438
+ selectionBoxColor?: string;
2439
+ /** @description The size of the border on the selection box. Selector needs to be *core* */
2440
+ selectionBoxBorderWidth?: number;
2441
+ /** @description The opacity of the selection box. Selector needs to be *core* */
2442
+ selectionBoxOpacity?: number;
2443
+ /** @description The colour of the area outside the viewport texture when initOptions.textureOnViewport === true. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
2444
+ outsideTextureBgColor?: string;
2445
+ /** @description The opacity of the area outside the viewport texture. Selector needs to be *core* */
2446
+ outsideTextureBgOpacity?: number;
2447
+ /** @description An array (or a space-separated string) of numbers ranging on [-1, 1], representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This represents the points in the polygon for the node's shape. The bounding box of the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's position is the origin (0, 0 ) */
2448
+ shapePolygonPoints?: string;
2449
+ /** @description The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. */
2450
+ menuBackgroundColor?: string;
2451
+ /** @description The opacity of the background of the component menu. */
2452
+ menuBackgroundOpacity?: number;
2453
+ /** @description The colour of the text or icons in the component menu. Colours may be specified by name (e.g. red), hex (e.g. */
2454
+ menuForgroundColor?: string;
2455
+ };
654
2456
  /**
655
2457
  * @description Connection Status
656
2458
  * @enum {string}
657
2459
  */
658
2460
  status: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
2461
+ /** @description Map describing the connection state machine. Each key is a current connection status and its value is the list of states the connection may transition to from that status, along with a description of each transition. */
2462
+ transitionMap?: {
2463
+ [key: string]: {
2464
+ /**
2465
+ * @description Connection Status Value
2466
+ * @enum {string}
2467
+ */
2468
+ nextState: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
2469
+ /** @description Human-readable explanation of when or why this transition occurs. */
2470
+ description?: string;
2471
+ }[];
2472
+ };
659
2473
  /**
660
2474
  * Format: uuid
661
2475
  * @description User ID who owns this connection
@@ -802,6 +2616,180 @@ export interface operations {
802
2616
  credentialSecret?: Record<string, never>;
803
2617
  /** @description Connection metadata */
804
2618
  metadata?: Record<string, never>;
2619
+ /** @description Visualization styles for the connection, including svgColor and svgWhite used for UI representation. */
2620
+ styles?: ({
2621
+ /** @description Primary color of the component used for UI representation. */
2622
+ primaryColor: string;
2623
+ /** @description Secondary color of the entity used for UI representation. */
2624
+ secondaryColor?: string;
2625
+ /** @description White SVG of the entity used for UI representation on dark background. */
2626
+ svgWhite: string;
2627
+ /** @description Colored SVG of the entity used for UI representation on light background. */
2628
+ svgColor: string;
2629
+ /** @description Complete SVG of the entity used for UI representation, often inclusive of background. */
2630
+ svgComplete: string;
2631
+ /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. */
2632
+ color?: string;
2633
+ /** @description The opacity of the label text, including its outline. */
2634
+ textOpacity?: number;
2635
+ /** @description A comma-separated list of font names to use on the label text. */
2636
+ fontFamily?: string;
2637
+ /** @description The size of the label text. */
2638
+ fontSize?: string;
2639
+ /** @description A CSS font style to be applied to the label text. */
2640
+ fontStyle?: string;
2641
+ /** @description A CSS font weight to be applied to the label text. */
2642
+ fontWeight?: string;
2643
+ /**
2644
+ * @description A transformation to apply to the label text
2645
+ * @enum {string}
2646
+ */
2647
+ textTransform?: "none" | "uppercase" | "lowercase";
2648
+ /** @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children. */
2649
+ opacity?: number;
2650
+ /** @description An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. */
2651
+ zIndex?: number;
2652
+ /** @description The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id */
2653
+ label?: string;
2654
+ /** @description The animation to apply to the element. example ripple,bounce,etc */
2655
+ animation?: Record<string, never>;
2656
+ } & {
2657
+ [key: string]: unknown;
2658
+ }) & {
2659
+ /**
2660
+ * @description The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes)
2661
+ * @enum {string}
2662
+ */
2663
+ shape: "ellipse" | "triangle" | "round-triangle" | "rectangle" | "round-rectangle" | "bottom-round-rectangle" | "cut-rectangle" | "barrel" | "rhomboid" | "diamond" | "round-diamond" | "pentagon" | "round-pentagon" | "hexagon" | "round-hexagon" | "concave-hexagon" | "heptagon" | "round-heptagon" | "octagon" | "round-octagon" | "star" | "tag" | "round-tag" | "vee" | "polygon";
2664
+ /** @description The position of the node. If the position is set, the node is drawn at that position in the given dimensions. If the position is not set, the node is drawn at a random position. */
2665
+ position?: {
2666
+ /** @description The x-coordinate of the node. */
2667
+ x: number;
2668
+ /** @description The y-coordinate of the node. */
2669
+ y: number;
2670
+ };
2671
+ /** @description The text to display for an element's body. Can give a path, e.g. data(id) will label with the elements id */
2672
+ bodyText?: string;
2673
+ /**
2674
+ * @description How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
2675
+ * @enum {string}
2676
+ */
2677
+ bodyTextWrap?: "none" | "wrap" | "ellipsis";
2678
+ /** @description The maximum width for wrapping text in the node. */
2679
+ bodyTextMaxWidth?: string;
2680
+ /** @description The opacity of the node's body text, including its outline. */
2681
+ bodyTextOpacity?: number;
2682
+ /** @description The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. */
2683
+ bodyTextBackgroundColor?: string;
2684
+ /** @description The size of the node's body text. */
2685
+ bodyTextFontSize?: number;
2686
+ /** @description The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. */
2687
+ bodyTextColor?: string;
2688
+ /** @description A CSS font weight to be applied to the node's body text. */
2689
+ bodyTextFontWeight?: string;
2690
+ /** @description A CSS horizontal alignment to be applied to the node's body text. */
2691
+ bodyTextHorizontalAlign?: string;
2692
+ /** @description A CSS text decoration to be applied to the node's body text. */
2693
+ bodyTextDecoration?: string;
2694
+ /** @description A CSS vertical alignment to be applied to the node's body text. */
2695
+ bodyTextVerticalAlign?: string;
2696
+ /** @description The width of the node's body or the width of an edge's line. */
2697
+ width?: number;
2698
+ /** @description The height of the node's body */
2699
+ height?: number;
2700
+ /**
2701
+ * Format: uri
2702
+ * @description The URL that points to the image to show in the node.
2703
+ */
2704
+ backgroundImage?: string;
2705
+ /** @description The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. */
2706
+ backgroundColor?: string;
2707
+ /** @description Blackens the node's body for values from 0 to 1; whitens the node's body for values from 0 to -1. */
2708
+ backgroundBlacken?: number;
2709
+ /** @description The opacity level of the node's background colour */
2710
+ backgroundOpacity?: number;
2711
+ /** @description The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
2712
+ backgroundPositionX?: string;
2713
+ /** @description The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
2714
+ backgroundPositionY?: string;
2715
+ /** @description The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
2716
+ backgroundOffsetX?: string;
2717
+ /** @description The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
2718
+ backgroundOffsetY?: string;
2719
+ /**
2720
+ * @description How the background image is fit to the node. Can be 'none', 'contain', or 'cover'.
2721
+ * @enum {string}
2722
+ */
2723
+ backgroundFit?: "none" | "contain" | "cover";
2724
+ /**
2725
+ * @description How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'.
2726
+ * @enum {string}
2727
+ */
2728
+ backgroundClip?: "none" | "node" | "node-border";
2729
+ /**
2730
+ * @description How the background image's width is determined. Can be 'none', 'inner', or 'outer'.
2731
+ * @enum {string}
2732
+ */
2733
+ backgroundWidthRelativeTo?: "none" | "inner" | "outer";
2734
+ /**
2735
+ * @description How the background image's height is determined. Can be 'none', 'inner', or 'outer'.
2736
+ * @enum {string}
2737
+ */
2738
+ backgroundHeightRelativeTo?: "none" | "inner" | "outer";
2739
+ /** @description The size of the node's border. */
2740
+ borderWidth?: number;
2741
+ /**
2742
+ * @description The style of the node's border
2743
+ * @enum {string}
2744
+ */
2745
+ borderStyle?: "solid" | "dotted" | "dashed" | "double";
2746
+ /** @description The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. */
2747
+ borderColor?: string;
2748
+ /** @description The opacity of the node's border */
2749
+ borderOpacity?: number;
2750
+ /** @description The amount of padding around all sides of the node. */
2751
+ padding?: number;
2752
+ /**
2753
+ * @description The horizontal alignment of a node's label
2754
+ * @enum {string}
2755
+ */
2756
+ textHalign?: "left" | "center" | "right";
2757
+ /**
2758
+ * @description The vertical alignment of a node's label
2759
+ * @enum {string}
2760
+ */
2761
+ textValign?: "top" | "center" | "bottom";
2762
+ /**
2763
+ * @description Whether to use the ghost effect, a semitransparent duplicate of the element drawn at an offset.
2764
+ * @default no
2765
+ * @enum {string}
2766
+ */
2767
+ ghost?: "yes" | "no";
2768
+ /** @description The colour of the indicator shown when the background is grabbed by the user. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
2769
+ activeBgColor?: string;
2770
+ /** @description The opacity of the active background indicator. Selector needs to be *core*. */
2771
+ activeBgOpacity?: string;
2772
+ /** @description The opacity of the active background indicator. Selector needs to be *core*. */
2773
+ activeBgSize?: string;
2774
+ /** @description The background colour of the selection box used for drag selection. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
2775
+ selectionBoxColor?: string;
2776
+ /** @description The size of the border on the selection box. Selector needs to be *core* */
2777
+ selectionBoxBorderWidth?: number;
2778
+ /** @description The opacity of the selection box. Selector needs to be *core* */
2779
+ selectionBoxOpacity?: number;
2780
+ /** @description The colour of the area outside the viewport texture when initOptions.textureOnViewport === true. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
2781
+ outsideTextureBgColor?: string;
2782
+ /** @description The opacity of the area outside the viewport texture. Selector needs to be *core* */
2783
+ outsideTextureBgOpacity?: number;
2784
+ /** @description An array (or a space-separated string) of numbers ranging on [-1, 1], representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This represents the points in the polygon for the node's shape. The bounding box of the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's position is the origin (0, 0 ) */
2785
+ shapePolygonPoints?: string;
2786
+ /** @description The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. */
2787
+ menuBackgroundColor?: string;
2788
+ /** @description The opacity of the background of the component menu. */
2789
+ menuBackgroundOpacity?: number;
2790
+ /** @description The colour of the text or icons in the component menu. Colours may be specified by name (e.g. red), hex (e.g. */
2791
+ menuForgroundColor?: string;
2792
+ };
805
2793
  /** @description Connection status */
806
2794
  status: string;
807
2795
  /**
@@ -845,13 +2833,534 @@ export interface operations {
845
2833
  subType: string;
846
2834
  /** @description Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) */
847
2835
  kind: string;
2836
+ /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
2837
+ model?: {
2838
+ /**
2839
+ * Format: uuid
2840
+ * @description Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).
2841
+ */
2842
+ id: string;
2843
+ /**
2844
+ * @description Specifies the version of the schema used for the definition.
2845
+ * @default models.meshery.io/v1beta1
2846
+ * @example [
2847
+ * "v1",
2848
+ * "v1alpha1",
2849
+ * "v2beta3",
2850
+ * "v1.custom-suffix",
2851
+ * "models.meshery.io/v1beta1",
2852
+ * "capability.meshery.io/v1alpha1"
2853
+ * ]
2854
+ */
2855
+ schemaVersion: string;
2856
+ /** @description Version of the model definition. */
2857
+ version: string;
2858
+ /**
2859
+ * @description The unique name for the model within the scope of a registrant.
2860
+ * @default untitled-model
2861
+ * @example cert-manager
2862
+ */
2863
+ name: string;
2864
+ /**
2865
+ * @description Human-readable name for the model.
2866
+ * @default Untitled Model
2867
+ * @example Cert Manager
2868
+ */
2869
+ displayName: string;
2870
+ /**
2871
+ * @description Description of the model.
2872
+ * @default A new Meshery model.
2873
+ */
2874
+ description: string;
2875
+ /**
2876
+ * @description Status of model, including:
2877
+ * - duplicate: this component is a duplicate of another. The component that is to be the canonical reference and that is duplicated by other components should not be assigned the 'duplicate' status.
2878
+ * - maintenance: model is unavailable for a period of time.
2879
+ * - enabled: model is available for use for all users of this Meshery Server.
2880
+ * - ignored: model is unavailable for use for all users of this Meshery Server.
2881
+ * @default enabled
2882
+ * @enum {string}
2883
+ */
2884
+ status: "ignored" | "enabled" | "duplicate";
2885
+ /** @description Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections */
2886
+ registrant: {
2887
+ /**
2888
+ * Format: uuid
2889
+ * @description Connection ID
2890
+ */
2891
+ id: string;
2892
+ /** @description Connection Name */
2893
+ name: string;
2894
+ /**
2895
+ * Format: uuid
2896
+ * @description Associated Credential ID
2897
+ */
2898
+ credentialId?: string;
2899
+ /** @description Connection Type (platform, telemetry, collaboration) */
2900
+ type: string;
2901
+ /** @description Connection Subtype (cloud, identity, metrics, chat, git, orchestration) */
2902
+ subType: string;
2903
+ /** @description Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) */
2904
+ kind: string;
2905
+ /** @description Additional connection metadata */
2906
+ metadata?: Record<string, never>;
2907
+ /**
2908
+ * @description Connection Status
2909
+ * @enum {string}
2910
+ */
2911
+ status: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
2912
+ /**
2913
+ * Format: uuid
2914
+ * @description User ID who owns this connection
2915
+ */
2916
+ user_id?: string;
2917
+ /** Format: date-time */
2918
+ created_at?: string;
2919
+ /** Format: date-time */
2920
+ updated_at?: string;
2921
+ /**
2922
+ * Format: date-time
2923
+ * @description SQL null Timestamp to handle null values of time.
2924
+ */
2925
+ deleted_at?: string;
2926
+ /** @description Associated environments for this connection */
2927
+ environments?: {
2928
+ /**
2929
+ * Format: uuid
2930
+ * @description ID
2931
+ */
2932
+ id: string;
2933
+ /**
2934
+ * @description Specifies the version of the schema to which the environment conforms.
2935
+ * @default environments.meshery.io/v1beta1
2936
+ * @example [
2937
+ * "v1",
2938
+ * "v1alpha1",
2939
+ * "v2beta3",
2940
+ * "v1.custom-suffix",
2941
+ * "models.meshery.io/v1beta1",
2942
+ * "capability.meshery.io/v1alpha1"
2943
+ * ]
2944
+ */
2945
+ schemaVersion: string;
2946
+ /** @description Environment name */
2947
+ name: string;
2948
+ /** @description Environment description */
2949
+ description: string;
2950
+ /**
2951
+ * Format: uuid
2952
+ * @description Environment organization ID
2953
+ */
2954
+ organization_id: string;
2955
+ /**
2956
+ * Format: uuid
2957
+ * @description Environment owner
2958
+ */
2959
+ owner?: string;
2960
+ /**
2961
+ * Format: date-time
2962
+ * @description Timestamp when the resource was created.
2963
+ */
2964
+ created_at?: string;
2965
+ /** @description Additional metadata associated with the environment. */
2966
+ metadata?: Record<string, never>;
2967
+ /**
2968
+ * Format: date-time
2969
+ * @description Timestamp when the resource was updated.
2970
+ */
2971
+ updated_at?: string;
2972
+ /**
2973
+ * Format: date-time
2974
+ * @description Timestamp when the environment was soft deleted. Null while the environment remains active.
2975
+ */
2976
+ deleted_at?: string | null;
2977
+ }[];
2978
+ /**
2979
+ * @description Specifies the version of the schema used for the definition.
2980
+ * @default connections.meshery.io/v1beta1
2981
+ * @example [
2982
+ * "v1",
2983
+ * "v1alpha1",
2984
+ * "v2beta3",
2985
+ * "v1.custom-suffix",
2986
+ * "models.meshery.io/v1beta1",
2987
+ * "capability.meshery.io/v1alpha1"
2988
+ * ]
2989
+ */
2990
+ schemaVersion: string;
2991
+ };
2992
+ /**
2993
+ * Format: uuid
2994
+ * @description ID of the registrant.
2995
+ */
2996
+ registrantId: string;
2997
+ /**
2998
+ * Format: uuid
2999
+ * @description ID of the category.
3000
+ */
3001
+ categoryId: string;
3002
+ /** @description Category of the model. */
3003
+ category: {
3004
+ /**
3005
+ * Format: uuid
3006
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
3007
+ */
3008
+ id: string;
3009
+ /**
3010
+ * @description The category of the model that determines the main grouping.
3011
+ * @default Uncategorized
3012
+ * @enum {string}
3013
+ */
3014
+ name: "Analytics" | "App Definition and Development" | "Cloud Native Network" | "Cloud Native Storage" | "Database" | "Machine Learning" | "Observability and Analysis" | "Orchestration & Management" | "Platform" | "Provisioning" | "Runtime" | "Security & Compliance" | "Serverless" | "Tools" | "Uncategorized";
3015
+ /** @description Additional metadata associated with the category. */
3016
+ metadata: Record<string, never>;
3017
+ };
3018
+ /**
3019
+ * SubCategory
3020
+ * @description Sub category of the model determines the secondary grouping.
3021
+ * @default Uncategorized
3022
+ * @enum {string}
3023
+ */
3024
+ subCategory: "API Gateway" | "API Integration" | "Application Definition & Image Build" | "Automation & Configuration" | "Certified Kubernetes - Distribution" | "Chaos Engineering" | "Cloud Native Storage" | "Cloud Provider" | "CNI" | "Compute" | "Container Registry" | "Container Runtime" | "Container Security" | "Container" | "Content Delivery Network" | "Continuous Integration & Delivery" | "Coordination & Service Discovery" | "Database" | "Flowchart" | "Framework" | "Installable Platform" | "Key Management" | "Key Management Service" | "Kubernetes" | "Logging" | "Machine Learning" | "Management Governance" | "Metrics" | "Monitoring" | "Networking Content Delivery" | "Operating System" | "Query" | "Remote Procedure Call" | "Scheduling & Orchestration" | "Secrets Management" | "Security Identity & Compliance" | "Service Mesh" | "Service Proxy" | "Source Version Control" | "Storage" | "Specifications" | "Streaming & Messaging" | "Tools" | "Tracing" | "Uncategorized" | "Video Conferencing";
3025
+ /** @description Metadata containing additional information associated with the model. */
3026
+ metadata?: {
3027
+ /** @description Capabilities associated with the model */
3028
+ capabilities?: {
3029
+ /**
3030
+ * @description Specifies the version of the schema to which the capability definition conforms.
3031
+ * @example [
3032
+ * "v1",
3033
+ * "v1alpha1",
3034
+ * "v2beta3",
3035
+ * "v1.custom-suffix",
3036
+ * "models.meshery.io/v1beta1",
3037
+ * "capability.meshery.io/v1alpha1"
3038
+ * ]
3039
+ */
3040
+ schemaVersion: string;
3041
+ /** @description Version of the capability definition. */
3042
+ version: string;
3043
+ /** @description Name of the capability in human-readible format. */
3044
+ displayName: string;
3045
+ /** @description A written representation of the purpose and characteristics of the capability. */
3046
+ description: string;
3047
+ /** @description Top-level categorization of the capability */
3048
+ kind: string | "action" | "mutate" | "view" | "interaction";
3049
+ /** @description Classification of capabilities. Used to group capabilities similar in nature. */
3050
+ type: string;
3051
+ /** @description Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. */
3052
+ subType: string;
3053
+ /** @description Key that backs the capability. */
3054
+ key: string;
3055
+ /** @description State of the entity in which the capability is applicable. */
3056
+ entityState: ("declaration" | "instance")[];
3057
+ /**
3058
+ * @description Status of the capability
3059
+ * @default enabled
3060
+ * @enum {string}
3061
+ */
3062
+ status: "enabled" | "disabled";
3063
+ /** @description Metadata contains additional information associated with the capability. Extension point. */
3064
+ metadata?: {
3065
+ [key: string]: unknown;
3066
+ };
3067
+ }[];
3068
+ /**
3069
+ * @description Indicates whether the model and its entities should be treated as deployable entities or as logical representations.
3070
+ * @default false
3071
+ */
3072
+ isAnnotation: boolean;
3073
+ /**
3074
+ * @description Primary color associated with the model.
3075
+ * @default #00b39f
3076
+ */
3077
+ primaryColor: string;
3078
+ /**
3079
+ * @description Secondary color associated with the model.
3080
+ * @default #00D3A9
3081
+ */
3082
+ secondaryColor: string;
3083
+ /**
3084
+ * @description SVG representation of the model in white color.
3085
+ * @default <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.405 8.732v6.57l5.694-3.297-5.694-3.273Zm0 7.942v6.602l5.747-3.285-5.747-3.317Z" fill="#fff"/><path d="M15.586 15.256v-6.47l-5.622 3.225 5.622 3.245ZM4.307 23.252a13.809 13.809 0 0 0 4.362 4.39v-6.914l-4.362 2.524Zm11.279-.008v-6.52L9.95 19.985l5.636 3.258Z" fill="#fff" fill-opacity=".8"/><path d="m9.49 27.23 5.707-3.263-5.707-3.3v6.563Z" fill="#fff"/><path d="M22.54 27.265v-6.553l-5.699 3.259 5.7 3.294Zm5.58-4.773a13.697 13.697 0 0 0 1.612-5.895l-5.934 3.397 4.323 2.498Z" fill="#fff" fill-opacity=".8"/><path d="m23.362 19.298 5.728-3.276-5.728-3.291v6.567Z" fill="#fff"/><path d="M22.541 11.315V4.8l-5.673 3.253 5.673 3.262Zm0 7.955v-6.574l-5.685 3.292 5.685 3.281Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 12.684v6.622l5.728-3.316-5.728-3.306Z" fill="#fff"/><path d="M15.586 2.25a13.69 13.69 0 0 0-6.037 1.595l6.037 3.463V2.25Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 4.756v6.583l5.732-3.288L9.49 4.756Z" fill="#fff"/><path d="M8.669 4.356a13.83 13.83 0 0 0-4.362 4.39l4.362 2.518V4.356Z" fill="#fff" fill-opacity=".8"/><path d="M22.504 3.88a13.695 13.695 0 0 0-6.099-1.63v5.123l6.1-3.493ZM2.25 16.483c.071 2.12.634 4.196 1.644 6.062l4.418-2.559-6.062-3.503Zm1.644-7.028a13.68 13.68 0 0 0-1.644 6.036l6.068-3.482-4.424-2.554Z" fill="#fff"/><path d="M9.539 28.147a13.673 13.673 0 0 0 6.047 1.603v-5.062L9.54 28.147Z" fill="#fff" fill-opacity=".8"/><path d="M27.697 8.768a13.83 13.83 0 0 0-4.335-4.383v6.889l4.335-2.506ZM23.362 27.62a13.851 13.851 0 0 0 4.351-4.417l-4.351-2.514v6.93Z" fill="#fff"/><path d="M29.75 15.452a13.659 13.659 0 0 0-1.63-5.979l-4.381 2.53 6.011 3.45Z" fill="#fff" fill-opacity=".8"/><path d="M16.405 29.75a13.673 13.673 0 0 0 6.036-1.595l-6.036-3.498v5.093Z" fill="#fff"/><path d="M8.669 19.247v-6.494L3.03 15.986l5.639 3.261Z" fill="#fff" fill-opacity=".8"/></svg>
3086
+ */
3087
+ svgWhite: string;
3088
+ /**
3089
+ * @description SVG representation of the model in colored format.
3090
+ * @default <svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 134.95 135.02"><defs><style>.cls-1{fill:#00d3a9}.cls-2{fill:#00b39f}</style></defs><title>meshery-logo-light</title><polygon points="69.49 31.82 69.49 64.07 97.44 47.89 69.49 31.82" class="cls-1"/><polygon points="69.49 70.81 69.49 103.22 97.7 87.09 69.49 70.81" class="cls-1"/><polygon points="65.47 63.85 65.47 32.09 37.87 47.92 65.47 63.85" class="cls-2"/><path d="M10.1,103.1a67.79,67.79,0,0,0,21.41,21.55V90.71Z" class="cls-2"/><polygon points="65.47 103.06 65.47 71.05 37.8 87.07 65.47 103.06" class="cls-2"/><polygon points="35.54 122.63 63.56 106.61 35.54 90.41 35.54 122.63" class="cls-1"/><polygon points="99.61 122.8 99.61 90.63 71.63 106.63 99.61 122.8" class="cls-2"/><path d="M127,99.37a67.22,67.22,0,0,0,7.91-28.94L105.78,87.11Z" class="cls-2"/><polygon points="103.64 83.69 131.76 67.61 103.64 51.45 103.64 83.69" class="cls-1"/><polygon points="99.61 44.5 99.61 12.52 71.76 28.49 99.61 44.5" class="cls-2"/><polygon points="99.61 83.55 99.61 51.28 71.7 67.44 99.61 83.55" class="cls-2"/><polygon points="67.48 135.02 67.49 135.02 67.48 135.02 67.48 135.02" class="cls-2"/><polygon points="35.54 51.22 35.54 83.73 63.66 67.45 35.54 51.22" class="cls-1"/><path d="M65.47,0A67.2,67.2,0,0,0,35.83,7.83l29.64,17Z" class="cls-2"/><polygon points="35.54 12.3 35.54 44.62 63.68 28.48 35.54 12.3" class="cls-1"/><path d="M31.51,10.34A67.89,67.89,0,0,0,10.1,31.89L31.51,44.25Z" class="cls-2"/><path d="M99.43,8A67.23,67.23,0,0,0,69.49,0V25.15Z" class="cls-1"/><path d="M0,69.87A67.27,67.27,0,0,0,8.07,99.63L29.76,87.07Z" class="cls-1"/><path d="M8.07,35.37A67.16,67.16,0,0,0,0,65L29.79,47.91Z" class="cls-1"/><path d="M35.78,127.13A67.13,67.13,0,0,0,65.47,135V110.15Z" class="cls-2"/><path d="M124.92,32a67.9,67.9,0,0,0-21.28-21.52V44.3Z" class="cls-1"/><path d="M103.64,124.54A68,68,0,0,0,125,102.86L103.64,90.52Z" class="cls-1"/><path d="M135,64.81a67.06,67.06,0,0,0-8-29.35L105.49,47.88Z" class="cls-2"/><path d="M69.49,135a67.12,67.12,0,0,0,29.63-7.83L69.49,110Z" class="cls-1"/><polygon points="31.51 83.44 31.51 51.56 3.83 67.43 31.51 83.44" class="cls-2"/></svg>
3091
+ */
3092
+ svgColor: string;
3093
+ /** @description SVG representation of the complete model. */
3094
+ svgComplete?: string;
3095
+ /**
3096
+ * @description The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes)
3097
+ * @enum {string}
3098
+ */
3099
+ shape?: "ellipse" | "triangle" | "round-triangle" | "rectangle" | "round-rectangle" | "bottom-round-rectangle" | "cut-rectangle" | "barrel" | "rhomboid" | "diamond" | "round-diamond" | "pentagon" | "round-pentagon" | "hexagon" | "round-hexagon" | "concave-hexagon" | "heptagon" | "round-heptagon" | "octagon" | "round-octagon" | "star" | "tag" | "round-tag" | "vee" | "polygon";
3100
+ } & {
3101
+ [key: string]: unknown;
3102
+ };
3103
+ /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
3104
+ model: {
3105
+ /** @description Version of the model as defined by the registrant. */
3106
+ version: string;
3107
+ };
3108
+ /** @description The relationships of the model. */
3109
+ relationships: unknown[];
3110
+ /** @description The components of the model. */
3111
+ components: unknown[];
3112
+ /**
3113
+ * @description Number of components associated with the model.
3114
+ * @default 0
3115
+ */
3116
+ componentsCount: number;
3117
+ /**
3118
+ * @description Number of relationships associated with the model.
3119
+ * @default 0
3120
+ */
3121
+ relationshipsCount: number;
3122
+ /**
3123
+ * Format: date-time
3124
+ * @description Timestamp when the resource was created.
3125
+ */
3126
+ created_at?: string;
3127
+ /**
3128
+ * Format: date-time
3129
+ * @description Timestamp when the resource was updated.
3130
+ */
3131
+ updated_at?: string;
3132
+ };
3133
+ /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
3134
+ modelReference?: {
3135
+ /**
3136
+ * Format: uuid
3137
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
3138
+ */
3139
+ id: string;
3140
+ /**
3141
+ * @description The unique name for the model within the scope of a registrant.
3142
+ * @example cert-manager
3143
+ */
3144
+ name: string;
3145
+ /** @description Version of the model definition. */
3146
+ version: string;
3147
+ /**
3148
+ * @description Human-readable name for the model.
3149
+ * @example Cert Manager
3150
+ */
3151
+ displayName: string;
3152
+ /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
3153
+ model: {
3154
+ /** @description Version of the model as defined by the registrant. */
3155
+ version: string;
3156
+ };
3157
+ registrant: {
3158
+ /** @description Kind of the registrant. */
3159
+ kind: string;
3160
+ };
3161
+ };
3162
+ /**
3163
+ * Format: uuid
3164
+ * @description Foreign key to the model to which the component belongs. Populated by the ORM from the `model_id` column and suppressed on the JSON wire; consumers use the nested `model` object for wire-level access.
3165
+ */
3166
+ modelId?: string;
848
3167
  /** @description Additional connection metadata */
849
3168
  metadata?: Record<string, never>;
3169
+ /** @description Schema for the credential Associated with the connection */
3170
+ credentialSchema?: Record<string, never>;
3171
+ /** @description Schema for the connection */
3172
+ connectionSchema?: Record<string, never>;
3173
+ /** @description Visualization styles for the connection, including svgColor and svgWhite used for UI representation. */
3174
+ styles?: ({
3175
+ /** @description Primary color of the component used for UI representation. */
3176
+ primaryColor: string;
3177
+ /** @description Secondary color of the entity used for UI representation. */
3178
+ secondaryColor?: string;
3179
+ /** @description White SVG of the entity used for UI representation on dark background. */
3180
+ svgWhite: string;
3181
+ /** @description Colored SVG of the entity used for UI representation on light background. */
3182
+ svgColor: string;
3183
+ /** @description Complete SVG of the entity used for UI representation, often inclusive of background. */
3184
+ svgComplete: string;
3185
+ /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. */
3186
+ color?: string;
3187
+ /** @description The opacity of the label text, including its outline. */
3188
+ textOpacity?: number;
3189
+ /** @description A comma-separated list of font names to use on the label text. */
3190
+ fontFamily?: string;
3191
+ /** @description The size of the label text. */
3192
+ fontSize?: string;
3193
+ /** @description A CSS font style to be applied to the label text. */
3194
+ fontStyle?: string;
3195
+ /** @description A CSS font weight to be applied to the label text. */
3196
+ fontWeight?: string;
3197
+ /**
3198
+ * @description A transformation to apply to the label text
3199
+ * @enum {string}
3200
+ */
3201
+ textTransform?: "none" | "uppercase" | "lowercase";
3202
+ /** @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children. */
3203
+ opacity?: number;
3204
+ /** @description An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. */
3205
+ zIndex?: number;
3206
+ /** @description The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id */
3207
+ label?: string;
3208
+ /** @description The animation to apply to the element. example ripple,bounce,etc */
3209
+ animation?: Record<string, never>;
3210
+ } & {
3211
+ [key: string]: unknown;
3212
+ }) & {
3213
+ /**
3214
+ * @description The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes)
3215
+ * @enum {string}
3216
+ */
3217
+ shape: "ellipse" | "triangle" | "round-triangle" | "rectangle" | "round-rectangle" | "bottom-round-rectangle" | "cut-rectangle" | "barrel" | "rhomboid" | "diamond" | "round-diamond" | "pentagon" | "round-pentagon" | "hexagon" | "round-hexagon" | "concave-hexagon" | "heptagon" | "round-heptagon" | "octagon" | "round-octagon" | "star" | "tag" | "round-tag" | "vee" | "polygon";
3218
+ /** @description The position of the node. If the position is set, the node is drawn at that position in the given dimensions. If the position is not set, the node is drawn at a random position. */
3219
+ position?: {
3220
+ /** @description The x-coordinate of the node. */
3221
+ x: number;
3222
+ /** @description The y-coordinate of the node. */
3223
+ y: number;
3224
+ };
3225
+ /** @description The text to display for an element's body. Can give a path, e.g. data(id) will label with the elements id */
3226
+ bodyText?: string;
3227
+ /**
3228
+ * @description How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
3229
+ * @enum {string}
3230
+ */
3231
+ bodyTextWrap?: "none" | "wrap" | "ellipsis";
3232
+ /** @description The maximum width for wrapping text in the node. */
3233
+ bodyTextMaxWidth?: string;
3234
+ /** @description The opacity of the node's body text, including its outline. */
3235
+ bodyTextOpacity?: number;
3236
+ /** @description The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. */
3237
+ bodyTextBackgroundColor?: string;
3238
+ /** @description The size of the node's body text. */
3239
+ bodyTextFontSize?: number;
3240
+ /** @description The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. */
3241
+ bodyTextColor?: string;
3242
+ /** @description A CSS font weight to be applied to the node's body text. */
3243
+ bodyTextFontWeight?: string;
3244
+ /** @description A CSS horizontal alignment to be applied to the node's body text. */
3245
+ bodyTextHorizontalAlign?: string;
3246
+ /** @description A CSS text decoration to be applied to the node's body text. */
3247
+ bodyTextDecoration?: string;
3248
+ /** @description A CSS vertical alignment to be applied to the node's body text. */
3249
+ bodyTextVerticalAlign?: string;
3250
+ /** @description The width of the node's body or the width of an edge's line. */
3251
+ width?: number;
3252
+ /** @description The height of the node's body */
3253
+ height?: number;
3254
+ /**
3255
+ * Format: uri
3256
+ * @description The URL that points to the image to show in the node.
3257
+ */
3258
+ backgroundImage?: string;
3259
+ /** @description The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. */
3260
+ backgroundColor?: string;
3261
+ /** @description Blackens the node's body for values from 0 to 1; whitens the node's body for values from 0 to -1. */
3262
+ backgroundBlacken?: number;
3263
+ /** @description The opacity level of the node's background colour */
3264
+ backgroundOpacity?: number;
3265
+ /** @description The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
3266
+ backgroundPositionX?: string;
3267
+ /** @description The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
3268
+ backgroundPositionY?: string;
3269
+ /** @description The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
3270
+ backgroundOffsetX?: string;
3271
+ /** @description The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
3272
+ backgroundOffsetY?: string;
3273
+ /**
3274
+ * @description How the background image is fit to the node. Can be 'none', 'contain', or 'cover'.
3275
+ * @enum {string}
3276
+ */
3277
+ backgroundFit?: "none" | "contain" | "cover";
3278
+ /**
3279
+ * @description How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'.
3280
+ * @enum {string}
3281
+ */
3282
+ backgroundClip?: "none" | "node" | "node-border";
3283
+ /**
3284
+ * @description How the background image's width is determined. Can be 'none', 'inner', or 'outer'.
3285
+ * @enum {string}
3286
+ */
3287
+ backgroundWidthRelativeTo?: "none" | "inner" | "outer";
3288
+ /**
3289
+ * @description How the background image's height is determined. Can be 'none', 'inner', or 'outer'.
3290
+ * @enum {string}
3291
+ */
3292
+ backgroundHeightRelativeTo?: "none" | "inner" | "outer";
3293
+ /** @description The size of the node's border. */
3294
+ borderWidth?: number;
3295
+ /**
3296
+ * @description The style of the node's border
3297
+ * @enum {string}
3298
+ */
3299
+ borderStyle?: "solid" | "dotted" | "dashed" | "double";
3300
+ /** @description The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. */
3301
+ borderColor?: string;
3302
+ /** @description The opacity of the node's border */
3303
+ borderOpacity?: number;
3304
+ /** @description The amount of padding around all sides of the node. */
3305
+ padding?: number;
3306
+ /**
3307
+ * @description The horizontal alignment of a node's label
3308
+ * @enum {string}
3309
+ */
3310
+ textHalign?: "left" | "center" | "right";
3311
+ /**
3312
+ * @description The vertical alignment of a node's label
3313
+ * @enum {string}
3314
+ */
3315
+ textValign?: "top" | "center" | "bottom";
3316
+ /**
3317
+ * @description Whether to use the ghost effect, a semitransparent duplicate of the element drawn at an offset.
3318
+ * @default no
3319
+ * @enum {string}
3320
+ */
3321
+ ghost: "yes" | "no";
3322
+ /** @description The colour of the indicator shown when the background is grabbed by the user. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
3323
+ activeBgColor?: string;
3324
+ /** @description The opacity of the active background indicator. Selector needs to be *core*. */
3325
+ activeBgOpacity?: string;
3326
+ /** @description The opacity of the active background indicator. Selector needs to be *core*. */
3327
+ activeBgSize?: string;
3328
+ /** @description The background colour of the selection box used for drag selection. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
3329
+ selectionBoxColor?: string;
3330
+ /** @description The size of the border on the selection box. Selector needs to be *core* */
3331
+ selectionBoxBorderWidth?: number;
3332
+ /** @description The opacity of the selection box. Selector needs to be *core* */
3333
+ selectionBoxOpacity?: number;
3334
+ /** @description The colour of the area outside the viewport texture when initOptions.textureOnViewport === true. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
3335
+ outsideTextureBgColor?: string;
3336
+ /** @description The opacity of the area outside the viewport texture. Selector needs to be *core* */
3337
+ outsideTextureBgOpacity?: number;
3338
+ /** @description An array (or a space-separated string) of numbers ranging on [-1, 1], representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This represents the points in the polygon for the node's shape. The bounding box of the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's position is the origin (0, 0 ) */
3339
+ shapePolygonPoints?: string;
3340
+ /** @description The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. */
3341
+ menuBackgroundColor?: string;
3342
+ /** @description The opacity of the background of the component menu. */
3343
+ menuBackgroundOpacity?: number;
3344
+ /** @description The colour of the text or icons in the component menu. Colours may be specified by name (e.g. red), hex (e.g. */
3345
+ menuForgroundColor?: string;
3346
+ };
850
3347
  /**
851
3348
  * @description Connection Status
852
3349
  * @enum {string}
853
3350
  */
854
3351
  status: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
3352
+ /** @description Map describing the connection state machine. Each key is a current connection status and its value is the list of states the connection may transition to from that status, along with a description of each transition. */
3353
+ transitionMap?: {
3354
+ [key: string]: {
3355
+ /**
3356
+ * @description Connection Status Value
3357
+ * @enum {string}
3358
+ */
3359
+ nextState: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
3360
+ /** @description Human-readable explanation of when or why this transition occurs. */
3361
+ description?: string;
3362
+ }[];
3363
+ };
855
3364
  /**
856
3365
  * Format: uuid
857
3366
  * @description User ID who owns this connection
@@ -1004,22 +3513,543 @@ export interface operations {
1004
3513
  url?: string;
1005
3514
  /**
1006
3515
  * Format: uuid
1007
- * @description Associated Credential ID
3516
+ * @description Associated Credential ID
3517
+ */
3518
+ credentialId?: string;
3519
+ /** @description Connection Type (platform, telemetry, collaboration) */
3520
+ type: string;
3521
+ /** @description Connection Subtype (cloud, identity, metrics, chat, git, orchestration) */
3522
+ subType: string;
3523
+ /** @description Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) */
3524
+ kind: string;
3525
+ /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
3526
+ model?: {
3527
+ /**
3528
+ * Format: uuid
3529
+ * @description Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).
3530
+ */
3531
+ id: string;
3532
+ /**
3533
+ * @description Specifies the version of the schema used for the definition.
3534
+ * @default models.meshery.io/v1beta1
3535
+ * @example [
3536
+ * "v1",
3537
+ * "v1alpha1",
3538
+ * "v2beta3",
3539
+ * "v1.custom-suffix",
3540
+ * "models.meshery.io/v1beta1",
3541
+ * "capability.meshery.io/v1alpha1"
3542
+ * ]
3543
+ */
3544
+ schemaVersion: string;
3545
+ /** @description Version of the model definition. */
3546
+ version: string;
3547
+ /**
3548
+ * @description The unique name for the model within the scope of a registrant.
3549
+ * @default untitled-model
3550
+ * @example cert-manager
3551
+ */
3552
+ name: string;
3553
+ /**
3554
+ * @description Human-readable name for the model.
3555
+ * @default Untitled Model
3556
+ * @example Cert Manager
3557
+ */
3558
+ displayName: string;
3559
+ /**
3560
+ * @description Description of the model.
3561
+ * @default A new Meshery model.
3562
+ */
3563
+ description: string;
3564
+ /**
3565
+ * @description Status of model, including:
3566
+ * - duplicate: this component is a duplicate of another. The component that is to be the canonical reference and that is duplicated by other components should not be assigned the 'duplicate' status.
3567
+ * - maintenance: model is unavailable for a period of time.
3568
+ * - enabled: model is available for use for all users of this Meshery Server.
3569
+ * - ignored: model is unavailable for use for all users of this Meshery Server.
3570
+ * @default enabled
3571
+ * @enum {string}
3572
+ */
3573
+ status: "ignored" | "enabled" | "duplicate";
3574
+ /** @description Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections */
3575
+ registrant: {
3576
+ /**
3577
+ * Format: uuid
3578
+ * @description Connection ID
3579
+ */
3580
+ id: string;
3581
+ /** @description Connection Name */
3582
+ name: string;
3583
+ /**
3584
+ * Format: uuid
3585
+ * @description Associated Credential ID
3586
+ */
3587
+ credentialId?: string;
3588
+ /** @description Connection Type (platform, telemetry, collaboration) */
3589
+ type: string;
3590
+ /** @description Connection Subtype (cloud, identity, metrics, chat, git, orchestration) */
3591
+ subType: string;
3592
+ /** @description Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) */
3593
+ kind: string;
3594
+ /** @description Additional connection metadata */
3595
+ metadata?: Record<string, never>;
3596
+ /**
3597
+ * @description Connection Status
3598
+ * @enum {string}
3599
+ */
3600
+ status: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
3601
+ /**
3602
+ * Format: uuid
3603
+ * @description User ID who owns this connection
3604
+ */
3605
+ user_id?: string;
3606
+ /** Format: date-time */
3607
+ created_at?: string;
3608
+ /** Format: date-time */
3609
+ updated_at?: string;
3610
+ /**
3611
+ * Format: date-time
3612
+ * @description SQL null Timestamp to handle null values of time.
3613
+ */
3614
+ deleted_at?: string;
3615
+ /** @description Associated environments for this connection */
3616
+ environments?: {
3617
+ /**
3618
+ * Format: uuid
3619
+ * @description ID
3620
+ */
3621
+ id: string;
3622
+ /**
3623
+ * @description Specifies the version of the schema to which the environment conforms.
3624
+ * @default environments.meshery.io/v1beta1
3625
+ * @example [
3626
+ * "v1",
3627
+ * "v1alpha1",
3628
+ * "v2beta3",
3629
+ * "v1.custom-suffix",
3630
+ * "models.meshery.io/v1beta1",
3631
+ * "capability.meshery.io/v1alpha1"
3632
+ * ]
3633
+ */
3634
+ schemaVersion: string;
3635
+ /** @description Environment name */
3636
+ name: string;
3637
+ /** @description Environment description */
3638
+ description: string;
3639
+ /**
3640
+ * Format: uuid
3641
+ * @description Environment organization ID
3642
+ */
3643
+ organization_id: string;
3644
+ /**
3645
+ * Format: uuid
3646
+ * @description Environment owner
3647
+ */
3648
+ owner?: string;
3649
+ /**
3650
+ * Format: date-time
3651
+ * @description Timestamp when the resource was created.
3652
+ */
3653
+ created_at?: string;
3654
+ /** @description Additional metadata associated with the environment. */
3655
+ metadata?: Record<string, never>;
3656
+ /**
3657
+ * Format: date-time
3658
+ * @description Timestamp when the resource was updated.
3659
+ */
3660
+ updated_at?: string;
3661
+ /**
3662
+ * Format: date-time
3663
+ * @description Timestamp when the environment was soft deleted. Null while the environment remains active.
3664
+ */
3665
+ deleted_at?: string | null;
3666
+ }[];
3667
+ /**
3668
+ * @description Specifies the version of the schema used for the definition.
3669
+ * @default connections.meshery.io/v1beta1
3670
+ * @example [
3671
+ * "v1",
3672
+ * "v1alpha1",
3673
+ * "v2beta3",
3674
+ * "v1.custom-suffix",
3675
+ * "models.meshery.io/v1beta1",
3676
+ * "capability.meshery.io/v1alpha1"
3677
+ * ]
3678
+ */
3679
+ schemaVersion: string;
3680
+ };
3681
+ /**
3682
+ * Format: uuid
3683
+ * @description ID of the registrant.
3684
+ */
3685
+ registrantId: string;
3686
+ /**
3687
+ * Format: uuid
3688
+ * @description ID of the category.
3689
+ */
3690
+ categoryId: string;
3691
+ /** @description Category of the model. */
3692
+ category: {
3693
+ /**
3694
+ * Format: uuid
3695
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
3696
+ */
3697
+ id: string;
3698
+ /**
3699
+ * @description The category of the model that determines the main grouping.
3700
+ * @default Uncategorized
3701
+ * @enum {string}
3702
+ */
3703
+ name: "Analytics" | "App Definition and Development" | "Cloud Native Network" | "Cloud Native Storage" | "Database" | "Machine Learning" | "Observability and Analysis" | "Orchestration & Management" | "Platform" | "Provisioning" | "Runtime" | "Security & Compliance" | "Serverless" | "Tools" | "Uncategorized";
3704
+ /** @description Additional metadata associated with the category. */
3705
+ metadata: Record<string, never>;
3706
+ };
3707
+ /**
3708
+ * SubCategory
3709
+ * @description Sub category of the model determines the secondary grouping.
3710
+ * @default Uncategorized
3711
+ * @enum {string}
3712
+ */
3713
+ subCategory: "API Gateway" | "API Integration" | "Application Definition & Image Build" | "Automation & Configuration" | "Certified Kubernetes - Distribution" | "Chaos Engineering" | "Cloud Native Storage" | "Cloud Provider" | "CNI" | "Compute" | "Container Registry" | "Container Runtime" | "Container Security" | "Container" | "Content Delivery Network" | "Continuous Integration & Delivery" | "Coordination & Service Discovery" | "Database" | "Flowchart" | "Framework" | "Installable Platform" | "Key Management" | "Key Management Service" | "Kubernetes" | "Logging" | "Machine Learning" | "Management Governance" | "Metrics" | "Monitoring" | "Networking Content Delivery" | "Operating System" | "Query" | "Remote Procedure Call" | "Scheduling & Orchestration" | "Secrets Management" | "Security Identity & Compliance" | "Service Mesh" | "Service Proxy" | "Source Version Control" | "Storage" | "Specifications" | "Streaming & Messaging" | "Tools" | "Tracing" | "Uncategorized" | "Video Conferencing";
3714
+ /** @description Metadata containing additional information associated with the model. */
3715
+ metadata?: {
3716
+ /** @description Capabilities associated with the model */
3717
+ capabilities?: {
3718
+ /**
3719
+ * @description Specifies the version of the schema to which the capability definition conforms.
3720
+ * @example [
3721
+ * "v1",
3722
+ * "v1alpha1",
3723
+ * "v2beta3",
3724
+ * "v1.custom-suffix",
3725
+ * "models.meshery.io/v1beta1",
3726
+ * "capability.meshery.io/v1alpha1"
3727
+ * ]
3728
+ */
3729
+ schemaVersion: string;
3730
+ /** @description Version of the capability definition. */
3731
+ version: string;
3732
+ /** @description Name of the capability in human-readible format. */
3733
+ displayName: string;
3734
+ /** @description A written representation of the purpose and characteristics of the capability. */
3735
+ description: string;
3736
+ /** @description Top-level categorization of the capability */
3737
+ kind: string | "action" | "mutate" | "view" | "interaction";
3738
+ /** @description Classification of capabilities. Used to group capabilities similar in nature. */
3739
+ type: string;
3740
+ /** @description Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. */
3741
+ subType: string;
3742
+ /** @description Key that backs the capability. */
3743
+ key: string;
3744
+ /** @description State of the entity in which the capability is applicable. */
3745
+ entityState: ("declaration" | "instance")[];
3746
+ /**
3747
+ * @description Status of the capability
3748
+ * @default enabled
3749
+ * @enum {string}
3750
+ */
3751
+ status: "enabled" | "disabled";
3752
+ /** @description Metadata contains additional information associated with the capability. Extension point. */
3753
+ metadata?: {
3754
+ [key: string]: unknown;
3755
+ };
3756
+ }[];
3757
+ /**
3758
+ * @description Indicates whether the model and its entities should be treated as deployable entities or as logical representations.
3759
+ * @default false
3760
+ */
3761
+ isAnnotation: boolean;
3762
+ /**
3763
+ * @description Primary color associated with the model.
3764
+ * @default #00b39f
3765
+ */
3766
+ primaryColor: string;
3767
+ /**
3768
+ * @description Secondary color associated with the model.
3769
+ * @default #00D3A9
3770
+ */
3771
+ secondaryColor: string;
3772
+ /**
3773
+ * @description SVG representation of the model in white color.
3774
+ * @default <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.405 8.732v6.57l5.694-3.297-5.694-3.273Zm0 7.942v6.602l5.747-3.285-5.747-3.317Z" fill="#fff"/><path d="M15.586 15.256v-6.47l-5.622 3.225 5.622 3.245ZM4.307 23.252a13.809 13.809 0 0 0 4.362 4.39v-6.914l-4.362 2.524Zm11.279-.008v-6.52L9.95 19.985l5.636 3.258Z" fill="#fff" fill-opacity=".8"/><path d="m9.49 27.23 5.707-3.263-5.707-3.3v6.563Z" fill="#fff"/><path d="M22.54 27.265v-6.553l-5.699 3.259 5.7 3.294Zm5.58-4.773a13.697 13.697 0 0 0 1.612-5.895l-5.934 3.397 4.323 2.498Z" fill="#fff" fill-opacity=".8"/><path d="m23.362 19.298 5.728-3.276-5.728-3.291v6.567Z" fill="#fff"/><path d="M22.541 11.315V4.8l-5.673 3.253 5.673 3.262Zm0 7.955v-6.574l-5.685 3.292 5.685 3.281Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 12.684v6.622l5.728-3.316-5.728-3.306Z" fill="#fff"/><path d="M15.586 2.25a13.69 13.69 0 0 0-6.037 1.595l6.037 3.463V2.25Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 4.756v6.583l5.732-3.288L9.49 4.756Z" fill="#fff"/><path d="M8.669 4.356a13.83 13.83 0 0 0-4.362 4.39l4.362 2.518V4.356Z" fill="#fff" fill-opacity=".8"/><path d="M22.504 3.88a13.695 13.695 0 0 0-6.099-1.63v5.123l6.1-3.493ZM2.25 16.483c.071 2.12.634 4.196 1.644 6.062l4.418-2.559-6.062-3.503Zm1.644-7.028a13.68 13.68 0 0 0-1.644 6.036l6.068-3.482-4.424-2.554Z" fill="#fff"/><path d="M9.539 28.147a13.673 13.673 0 0 0 6.047 1.603v-5.062L9.54 28.147Z" fill="#fff" fill-opacity=".8"/><path d="M27.697 8.768a13.83 13.83 0 0 0-4.335-4.383v6.889l4.335-2.506ZM23.362 27.62a13.851 13.851 0 0 0 4.351-4.417l-4.351-2.514v6.93Z" fill="#fff"/><path d="M29.75 15.452a13.659 13.659 0 0 0-1.63-5.979l-4.381 2.53 6.011 3.45Z" fill="#fff" fill-opacity=".8"/><path d="M16.405 29.75a13.673 13.673 0 0 0 6.036-1.595l-6.036-3.498v5.093Z" fill="#fff"/><path d="M8.669 19.247v-6.494L3.03 15.986l5.639 3.261Z" fill="#fff" fill-opacity=".8"/></svg>
3775
+ */
3776
+ svgWhite: string;
3777
+ /**
3778
+ * @description SVG representation of the model in colored format.
3779
+ * @default <svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 134.95 135.02"><defs><style>.cls-1{fill:#00d3a9}.cls-2{fill:#00b39f}</style></defs><title>meshery-logo-light</title><polygon points="69.49 31.82 69.49 64.07 97.44 47.89 69.49 31.82" class="cls-1"/><polygon points="69.49 70.81 69.49 103.22 97.7 87.09 69.49 70.81" class="cls-1"/><polygon points="65.47 63.85 65.47 32.09 37.87 47.92 65.47 63.85" class="cls-2"/><path d="M10.1,103.1a67.79,67.79,0,0,0,21.41,21.55V90.71Z" class="cls-2"/><polygon points="65.47 103.06 65.47 71.05 37.8 87.07 65.47 103.06" class="cls-2"/><polygon points="35.54 122.63 63.56 106.61 35.54 90.41 35.54 122.63" class="cls-1"/><polygon points="99.61 122.8 99.61 90.63 71.63 106.63 99.61 122.8" class="cls-2"/><path d="M127,99.37a67.22,67.22,0,0,0,7.91-28.94L105.78,87.11Z" class="cls-2"/><polygon points="103.64 83.69 131.76 67.61 103.64 51.45 103.64 83.69" class="cls-1"/><polygon points="99.61 44.5 99.61 12.52 71.76 28.49 99.61 44.5" class="cls-2"/><polygon points="99.61 83.55 99.61 51.28 71.7 67.44 99.61 83.55" class="cls-2"/><polygon points="67.48 135.02 67.49 135.02 67.48 135.02 67.48 135.02" class="cls-2"/><polygon points="35.54 51.22 35.54 83.73 63.66 67.45 35.54 51.22" class="cls-1"/><path d="M65.47,0A67.2,67.2,0,0,0,35.83,7.83l29.64,17Z" class="cls-2"/><polygon points="35.54 12.3 35.54 44.62 63.68 28.48 35.54 12.3" class="cls-1"/><path d="M31.51,10.34A67.89,67.89,0,0,0,10.1,31.89L31.51,44.25Z" class="cls-2"/><path d="M99.43,8A67.23,67.23,0,0,0,69.49,0V25.15Z" class="cls-1"/><path d="M0,69.87A67.27,67.27,0,0,0,8.07,99.63L29.76,87.07Z" class="cls-1"/><path d="M8.07,35.37A67.16,67.16,0,0,0,0,65L29.79,47.91Z" class="cls-1"/><path d="M35.78,127.13A67.13,67.13,0,0,0,65.47,135V110.15Z" class="cls-2"/><path d="M124.92,32a67.9,67.9,0,0,0-21.28-21.52V44.3Z" class="cls-1"/><path d="M103.64,124.54A68,68,0,0,0,125,102.86L103.64,90.52Z" class="cls-1"/><path d="M135,64.81a67.06,67.06,0,0,0-8-29.35L105.49,47.88Z" class="cls-2"/><path d="M69.49,135a67.12,67.12,0,0,0,29.63-7.83L69.49,110Z" class="cls-1"/><polygon points="31.51 83.44 31.51 51.56 3.83 67.43 31.51 83.44" class="cls-2"/></svg>
3780
+ */
3781
+ svgColor: string;
3782
+ /** @description SVG representation of the complete model. */
3783
+ svgComplete?: string;
3784
+ /**
3785
+ * @description The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes)
3786
+ * @enum {string}
3787
+ */
3788
+ shape?: "ellipse" | "triangle" | "round-triangle" | "rectangle" | "round-rectangle" | "bottom-round-rectangle" | "cut-rectangle" | "barrel" | "rhomboid" | "diamond" | "round-diamond" | "pentagon" | "round-pentagon" | "hexagon" | "round-hexagon" | "concave-hexagon" | "heptagon" | "round-heptagon" | "octagon" | "round-octagon" | "star" | "tag" | "round-tag" | "vee" | "polygon";
3789
+ } & {
3790
+ [key: string]: unknown;
3791
+ };
3792
+ /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
3793
+ model: {
3794
+ /** @description Version of the model as defined by the registrant. */
3795
+ version: string;
3796
+ };
3797
+ /** @description The relationships of the model. */
3798
+ relationships: unknown[];
3799
+ /** @description The components of the model. */
3800
+ components: unknown[];
3801
+ /**
3802
+ * @description Number of components associated with the model.
3803
+ * @default 0
3804
+ */
3805
+ componentsCount: number;
3806
+ /**
3807
+ * @description Number of relationships associated with the model.
3808
+ * @default 0
3809
+ */
3810
+ relationshipsCount: number;
3811
+ /**
3812
+ * Format: date-time
3813
+ * @description Timestamp when the resource was created.
3814
+ */
3815
+ created_at?: string;
3816
+ /**
3817
+ * Format: date-time
3818
+ * @description Timestamp when the resource was updated.
3819
+ */
3820
+ updated_at?: string;
3821
+ };
3822
+ /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
3823
+ modelReference?: {
3824
+ /**
3825
+ * Format: uuid
3826
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
3827
+ */
3828
+ id: string;
3829
+ /**
3830
+ * @description The unique name for the model within the scope of a registrant.
3831
+ * @example cert-manager
3832
+ */
3833
+ name: string;
3834
+ /** @description Version of the model definition. */
3835
+ version: string;
3836
+ /**
3837
+ * @description Human-readable name for the model.
3838
+ * @example Cert Manager
3839
+ */
3840
+ displayName: string;
3841
+ /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
3842
+ model: {
3843
+ /** @description Version of the model as defined by the registrant. */
3844
+ version: string;
3845
+ };
3846
+ registrant: {
3847
+ /** @description Kind of the registrant. */
3848
+ kind: string;
3849
+ };
3850
+ };
3851
+ /**
3852
+ * Format: uuid
3853
+ * @description Foreign key to the model to which the component belongs. Populated by the ORM from the `model_id` column and suppressed on the JSON wire; consumers use the nested `model` object for wire-level access.
1008
3854
  */
1009
- credentialId?: string;
1010
- /** @description Connection Type (platform, telemetry, collaboration) */
1011
- type: string;
1012
- /** @description Connection Subtype (cloud, identity, metrics, chat, git, orchestration) */
1013
- subType: string;
1014
- /** @description Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) */
1015
- kind: string;
3855
+ modelId?: string;
1016
3856
  /** @description Additional connection metadata */
1017
3857
  metadata?: Record<string, never>;
3858
+ /** @description Schema for the credential Associated with the connection */
3859
+ credentialSchema?: Record<string, never>;
3860
+ /** @description Schema for the connection */
3861
+ connectionSchema?: Record<string, never>;
3862
+ /** @description Visualization styles for the connection, including svgColor and svgWhite used for UI representation. */
3863
+ styles?: ({
3864
+ /** @description Primary color of the component used for UI representation. */
3865
+ primaryColor: string;
3866
+ /** @description Secondary color of the entity used for UI representation. */
3867
+ secondaryColor?: string;
3868
+ /** @description White SVG of the entity used for UI representation on dark background. */
3869
+ svgWhite: string;
3870
+ /** @description Colored SVG of the entity used for UI representation on light background. */
3871
+ svgColor: string;
3872
+ /** @description Complete SVG of the entity used for UI representation, often inclusive of background. */
3873
+ svgComplete: string;
3874
+ /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. */
3875
+ color?: string;
3876
+ /** @description The opacity of the label text, including its outline. */
3877
+ textOpacity?: number;
3878
+ /** @description A comma-separated list of font names to use on the label text. */
3879
+ fontFamily?: string;
3880
+ /** @description The size of the label text. */
3881
+ fontSize?: string;
3882
+ /** @description A CSS font style to be applied to the label text. */
3883
+ fontStyle?: string;
3884
+ /** @description A CSS font weight to be applied to the label text. */
3885
+ fontWeight?: string;
3886
+ /**
3887
+ * @description A transformation to apply to the label text
3888
+ * @enum {string}
3889
+ */
3890
+ textTransform?: "none" | "uppercase" | "lowercase";
3891
+ /** @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children. */
3892
+ opacity?: number;
3893
+ /** @description An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. */
3894
+ zIndex?: number;
3895
+ /** @description The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id */
3896
+ label?: string;
3897
+ /** @description The animation to apply to the element. example ripple,bounce,etc */
3898
+ animation?: Record<string, never>;
3899
+ } & {
3900
+ [key: string]: unknown;
3901
+ }) & {
3902
+ /**
3903
+ * @description The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes)
3904
+ * @enum {string}
3905
+ */
3906
+ shape: "ellipse" | "triangle" | "round-triangle" | "rectangle" | "round-rectangle" | "bottom-round-rectangle" | "cut-rectangle" | "barrel" | "rhomboid" | "diamond" | "round-diamond" | "pentagon" | "round-pentagon" | "hexagon" | "round-hexagon" | "concave-hexagon" | "heptagon" | "round-heptagon" | "octagon" | "round-octagon" | "star" | "tag" | "round-tag" | "vee" | "polygon";
3907
+ /** @description The position of the node. If the position is set, the node is drawn at that position in the given dimensions. If the position is not set, the node is drawn at a random position. */
3908
+ position?: {
3909
+ /** @description The x-coordinate of the node. */
3910
+ x: number;
3911
+ /** @description The y-coordinate of the node. */
3912
+ y: number;
3913
+ };
3914
+ /** @description The text to display for an element's body. Can give a path, e.g. data(id) will label with the elements id */
3915
+ bodyText?: string;
3916
+ /**
3917
+ * @description How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
3918
+ * @enum {string}
3919
+ */
3920
+ bodyTextWrap?: "none" | "wrap" | "ellipsis";
3921
+ /** @description The maximum width for wrapping text in the node. */
3922
+ bodyTextMaxWidth?: string;
3923
+ /** @description The opacity of the node's body text, including its outline. */
3924
+ bodyTextOpacity?: number;
3925
+ /** @description The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. */
3926
+ bodyTextBackgroundColor?: string;
3927
+ /** @description The size of the node's body text. */
3928
+ bodyTextFontSize?: number;
3929
+ /** @description The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. */
3930
+ bodyTextColor?: string;
3931
+ /** @description A CSS font weight to be applied to the node's body text. */
3932
+ bodyTextFontWeight?: string;
3933
+ /** @description A CSS horizontal alignment to be applied to the node's body text. */
3934
+ bodyTextHorizontalAlign?: string;
3935
+ /** @description A CSS text decoration to be applied to the node's body text. */
3936
+ bodyTextDecoration?: string;
3937
+ /** @description A CSS vertical alignment to be applied to the node's body text. */
3938
+ bodyTextVerticalAlign?: string;
3939
+ /** @description The width of the node's body or the width of an edge's line. */
3940
+ width?: number;
3941
+ /** @description The height of the node's body */
3942
+ height?: number;
3943
+ /**
3944
+ * Format: uri
3945
+ * @description The URL that points to the image to show in the node.
3946
+ */
3947
+ backgroundImage?: string;
3948
+ /** @description The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. */
3949
+ backgroundColor?: string;
3950
+ /** @description Blackens the node's body for values from 0 to 1; whitens the node's body for values from 0 to -1. */
3951
+ backgroundBlacken?: number;
3952
+ /** @description The opacity level of the node's background colour */
3953
+ backgroundOpacity?: number;
3954
+ /** @description The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
3955
+ backgroundPositionX?: string;
3956
+ /** @description The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
3957
+ backgroundPositionY?: string;
3958
+ /** @description The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
3959
+ backgroundOffsetX?: string;
3960
+ /** @description The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
3961
+ backgroundOffsetY?: string;
3962
+ /**
3963
+ * @description How the background image is fit to the node. Can be 'none', 'contain', or 'cover'.
3964
+ * @enum {string}
3965
+ */
3966
+ backgroundFit?: "none" | "contain" | "cover";
3967
+ /**
3968
+ * @description How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'.
3969
+ * @enum {string}
3970
+ */
3971
+ backgroundClip?: "none" | "node" | "node-border";
3972
+ /**
3973
+ * @description How the background image's width is determined. Can be 'none', 'inner', or 'outer'.
3974
+ * @enum {string}
3975
+ */
3976
+ backgroundWidthRelativeTo?: "none" | "inner" | "outer";
3977
+ /**
3978
+ * @description How the background image's height is determined. Can be 'none', 'inner', or 'outer'.
3979
+ * @enum {string}
3980
+ */
3981
+ backgroundHeightRelativeTo?: "none" | "inner" | "outer";
3982
+ /** @description The size of the node's border. */
3983
+ borderWidth?: number;
3984
+ /**
3985
+ * @description The style of the node's border
3986
+ * @enum {string}
3987
+ */
3988
+ borderStyle?: "solid" | "dotted" | "dashed" | "double";
3989
+ /** @description The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. */
3990
+ borderColor?: string;
3991
+ /** @description The opacity of the node's border */
3992
+ borderOpacity?: number;
3993
+ /** @description The amount of padding around all sides of the node. */
3994
+ padding?: number;
3995
+ /**
3996
+ * @description The horizontal alignment of a node's label
3997
+ * @enum {string}
3998
+ */
3999
+ textHalign?: "left" | "center" | "right";
4000
+ /**
4001
+ * @description The vertical alignment of a node's label
4002
+ * @enum {string}
4003
+ */
4004
+ textValign?: "top" | "center" | "bottom";
4005
+ /**
4006
+ * @description Whether to use the ghost effect, a semitransparent duplicate of the element drawn at an offset.
4007
+ * @default no
4008
+ * @enum {string}
4009
+ */
4010
+ ghost: "yes" | "no";
4011
+ /** @description The colour of the indicator shown when the background is grabbed by the user. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
4012
+ activeBgColor?: string;
4013
+ /** @description The opacity of the active background indicator. Selector needs to be *core*. */
4014
+ activeBgOpacity?: string;
4015
+ /** @description The opacity of the active background indicator. Selector needs to be *core*. */
4016
+ activeBgSize?: string;
4017
+ /** @description The background colour of the selection box used for drag selection. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
4018
+ selectionBoxColor?: string;
4019
+ /** @description The size of the border on the selection box. Selector needs to be *core* */
4020
+ selectionBoxBorderWidth?: number;
4021
+ /** @description The opacity of the selection box. Selector needs to be *core* */
4022
+ selectionBoxOpacity?: number;
4023
+ /** @description The colour of the area outside the viewport texture when initOptions.textureOnViewport === true. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
4024
+ outsideTextureBgColor?: string;
4025
+ /** @description The opacity of the area outside the viewport texture. Selector needs to be *core* */
4026
+ outsideTextureBgOpacity?: number;
4027
+ /** @description An array (or a space-separated string) of numbers ranging on [-1, 1], representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This represents the points in the polygon for the node's shape. The bounding box of the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's position is the origin (0, 0 ) */
4028
+ shapePolygonPoints?: string;
4029
+ /** @description The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. */
4030
+ menuBackgroundColor?: string;
4031
+ /** @description The opacity of the background of the component menu. */
4032
+ menuBackgroundOpacity?: number;
4033
+ /** @description The colour of the text or icons in the component menu. Colours may be specified by name (e.g. red), hex (e.g. */
4034
+ menuForgroundColor?: string;
4035
+ };
1018
4036
  /**
1019
4037
  * @description Connection Status
1020
4038
  * @enum {string}
1021
4039
  */
1022
4040
  status: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
4041
+ /** @description Map describing the connection state machine. Each key is a current connection status and its value is the list of states the connection may transition to from that status, along with a description of each transition. */
4042
+ transitionMap?: {
4043
+ [key: string]: {
4044
+ /**
4045
+ * @description Connection Status Value
4046
+ * @enum {string}
4047
+ */
4048
+ nextState: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
4049
+ /** @description Human-readable explanation of when or why this transition occurs. */
4050
+ description?: string;
4051
+ }[];
4052
+ };
1023
4053
  /**
1024
4054
  * Format: uuid
1025
4055
  * @description User ID who owns this connection
@@ -1167,6 +4197,180 @@ export interface operations {
1167
4197
  credentialSecret?: Record<string, never>;
1168
4198
  /** @description Connection metadata */
1169
4199
  metadata?: Record<string, never>;
4200
+ /** @description Visualization styles for the connection, including svgColor and svgWhite used for UI representation. */
4201
+ styles?: ({
4202
+ /** @description Primary color of the component used for UI representation. */
4203
+ primaryColor: string;
4204
+ /** @description Secondary color of the entity used for UI representation. */
4205
+ secondaryColor?: string;
4206
+ /** @description White SVG of the entity used for UI representation on dark background. */
4207
+ svgWhite: string;
4208
+ /** @description Colored SVG of the entity used for UI representation on light background. */
4209
+ svgColor: string;
4210
+ /** @description Complete SVG of the entity used for UI representation, often inclusive of background. */
4211
+ svgComplete: string;
4212
+ /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. */
4213
+ color?: string;
4214
+ /** @description The opacity of the label text, including its outline. */
4215
+ textOpacity?: number;
4216
+ /** @description A comma-separated list of font names to use on the label text. */
4217
+ fontFamily?: string;
4218
+ /** @description The size of the label text. */
4219
+ fontSize?: string;
4220
+ /** @description A CSS font style to be applied to the label text. */
4221
+ fontStyle?: string;
4222
+ /** @description A CSS font weight to be applied to the label text. */
4223
+ fontWeight?: string;
4224
+ /**
4225
+ * @description A transformation to apply to the label text
4226
+ * @enum {string}
4227
+ */
4228
+ textTransform?: "none" | "uppercase" | "lowercase";
4229
+ /** @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children. */
4230
+ opacity?: number;
4231
+ /** @description An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. */
4232
+ zIndex?: number;
4233
+ /** @description The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id */
4234
+ label?: string;
4235
+ /** @description The animation to apply to the element. example ripple,bounce,etc */
4236
+ animation?: Record<string, never>;
4237
+ } & {
4238
+ [key: string]: unknown;
4239
+ }) & {
4240
+ /**
4241
+ * @description The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes)
4242
+ * @enum {string}
4243
+ */
4244
+ shape: "ellipse" | "triangle" | "round-triangle" | "rectangle" | "round-rectangle" | "bottom-round-rectangle" | "cut-rectangle" | "barrel" | "rhomboid" | "diamond" | "round-diamond" | "pentagon" | "round-pentagon" | "hexagon" | "round-hexagon" | "concave-hexagon" | "heptagon" | "round-heptagon" | "octagon" | "round-octagon" | "star" | "tag" | "round-tag" | "vee" | "polygon";
4245
+ /** @description The position of the node. If the position is set, the node is drawn at that position in the given dimensions. If the position is not set, the node is drawn at a random position. */
4246
+ position?: {
4247
+ /** @description The x-coordinate of the node. */
4248
+ x: number;
4249
+ /** @description The y-coordinate of the node. */
4250
+ y: number;
4251
+ };
4252
+ /** @description The text to display for an element's body. Can give a path, e.g. data(id) will label with the elements id */
4253
+ bodyText?: string;
4254
+ /**
4255
+ * @description How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
4256
+ * @enum {string}
4257
+ */
4258
+ bodyTextWrap?: "none" | "wrap" | "ellipsis";
4259
+ /** @description The maximum width for wrapping text in the node. */
4260
+ bodyTextMaxWidth?: string;
4261
+ /** @description The opacity of the node's body text, including its outline. */
4262
+ bodyTextOpacity?: number;
4263
+ /** @description The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. */
4264
+ bodyTextBackgroundColor?: string;
4265
+ /** @description The size of the node's body text. */
4266
+ bodyTextFontSize?: number;
4267
+ /** @description The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. */
4268
+ bodyTextColor?: string;
4269
+ /** @description A CSS font weight to be applied to the node's body text. */
4270
+ bodyTextFontWeight?: string;
4271
+ /** @description A CSS horizontal alignment to be applied to the node's body text. */
4272
+ bodyTextHorizontalAlign?: string;
4273
+ /** @description A CSS text decoration to be applied to the node's body text. */
4274
+ bodyTextDecoration?: string;
4275
+ /** @description A CSS vertical alignment to be applied to the node's body text. */
4276
+ bodyTextVerticalAlign?: string;
4277
+ /** @description The width of the node's body or the width of an edge's line. */
4278
+ width?: number;
4279
+ /** @description The height of the node's body */
4280
+ height?: number;
4281
+ /**
4282
+ * Format: uri
4283
+ * @description The URL that points to the image to show in the node.
4284
+ */
4285
+ backgroundImage?: string;
4286
+ /** @description The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. */
4287
+ backgroundColor?: string;
4288
+ /** @description Blackens the node's body for values from 0 to 1; whitens the node's body for values from 0 to -1. */
4289
+ backgroundBlacken?: number;
4290
+ /** @description The opacity level of the node's background colour */
4291
+ backgroundOpacity?: number;
4292
+ /** @description The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
4293
+ backgroundPositionX?: string;
4294
+ /** @description The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
4295
+ backgroundPositionY?: string;
4296
+ /** @description The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
4297
+ backgroundOffsetX?: string;
4298
+ /** @description The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
4299
+ backgroundOffsetY?: string;
4300
+ /**
4301
+ * @description How the background image is fit to the node. Can be 'none', 'contain', or 'cover'.
4302
+ * @enum {string}
4303
+ */
4304
+ backgroundFit?: "none" | "contain" | "cover";
4305
+ /**
4306
+ * @description How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'.
4307
+ * @enum {string}
4308
+ */
4309
+ backgroundClip?: "none" | "node" | "node-border";
4310
+ /**
4311
+ * @description How the background image's width is determined. Can be 'none', 'inner', or 'outer'.
4312
+ * @enum {string}
4313
+ */
4314
+ backgroundWidthRelativeTo?: "none" | "inner" | "outer";
4315
+ /**
4316
+ * @description How the background image's height is determined. Can be 'none', 'inner', or 'outer'.
4317
+ * @enum {string}
4318
+ */
4319
+ backgroundHeightRelativeTo?: "none" | "inner" | "outer";
4320
+ /** @description The size of the node's border. */
4321
+ borderWidth?: number;
4322
+ /**
4323
+ * @description The style of the node's border
4324
+ * @enum {string}
4325
+ */
4326
+ borderStyle?: "solid" | "dotted" | "dashed" | "double";
4327
+ /** @description The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. */
4328
+ borderColor?: string;
4329
+ /** @description The opacity of the node's border */
4330
+ borderOpacity?: number;
4331
+ /** @description The amount of padding around all sides of the node. */
4332
+ padding?: number;
4333
+ /**
4334
+ * @description The horizontal alignment of a node's label
4335
+ * @enum {string}
4336
+ */
4337
+ textHalign?: "left" | "center" | "right";
4338
+ /**
4339
+ * @description The vertical alignment of a node's label
4340
+ * @enum {string}
4341
+ */
4342
+ textValign?: "top" | "center" | "bottom";
4343
+ /**
4344
+ * @description Whether to use the ghost effect, a semitransparent duplicate of the element drawn at an offset.
4345
+ * @default no
4346
+ * @enum {string}
4347
+ */
4348
+ ghost?: "yes" | "no";
4349
+ /** @description The colour of the indicator shown when the background is grabbed by the user. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
4350
+ activeBgColor?: string;
4351
+ /** @description The opacity of the active background indicator. Selector needs to be *core*. */
4352
+ activeBgOpacity?: string;
4353
+ /** @description The opacity of the active background indicator. Selector needs to be *core*. */
4354
+ activeBgSize?: string;
4355
+ /** @description The background colour of the selection box used for drag selection. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
4356
+ selectionBoxColor?: string;
4357
+ /** @description The size of the border on the selection box. Selector needs to be *core* */
4358
+ selectionBoxBorderWidth?: number;
4359
+ /** @description The opacity of the selection box. Selector needs to be *core* */
4360
+ selectionBoxOpacity?: number;
4361
+ /** @description The colour of the area outside the viewport texture when initOptions.textureOnViewport === true. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
4362
+ outsideTextureBgColor?: string;
4363
+ /** @description The opacity of the area outside the viewport texture. Selector needs to be *core* */
4364
+ outsideTextureBgOpacity?: number;
4365
+ /** @description An array (or a space-separated string) of numbers ranging on [-1, 1], representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This represents the points in the polygon for the node's shape. The bounding box of the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's position is the origin (0, 0 ) */
4366
+ shapePolygonPoints?: string;
4367
+ /** @description The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. */
4368
+ menuBackgroundColor?: string;
4369
+ /** @description The opacity of the background of the component menu. */
4370
+ menuBackgroundOpacity?: number;
4371
+ /** @description The colour of the text or icons in the component menu. Colours may be specified by name (e.g. red), hex (e.g. */
4372
+ menuForgroundColor?: string;
4373
+ };
1170
4374
  /** @description Connection status */
1171
4375
  status: string;
1172
4376
  /**
@@ -1210,13 +4414,534 @@ export interface operations {
1210
4414
  subType: string;
1211
4415
  /** @description Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) */
1212
4416
  kind: string;
4417
+ /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
4418
+ model?: {
4419
+ /**
4420
+ * Format: uuid
4421
+ * @description Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).
4422
+ */
4423
+ id: string;
4424
+ /**
4425
+ * @description Specifies the version of the schema used for the definition.
4426
+ * @default models.meshery.io/v1beta1
4427
+ * @example [
4428
+ * "v1",
4429
+ * "v1alpha1",
4430
+ * "v2beta3",
4431
+ * "v1.custom-suffix",
4432
+ * "models.meshery.io/v1beta1",
4433
+ * "capability.meshery.io/v1alpha1"
4434
+ * ]
4435
+ */
4436
+ schemaVersion: string;
4437
+ /** @description Version of the model definition. */
4438
+ version: string;
4439
+ /**
4440
+ * @description The unique name for the model within the scope of a registrant.
4441
+ * @default untitled-model
4442
+ * @example cert-manager
4443
+ */
4444
+ name: string;
4445
+ /**
4446
+ * @description Human-readable name for the model.
4447
+ * @default Untitled Model
4448
+ * @example Cert Manager
4449
+ */
4450
+ displayName: string;
4451
+ /**
4452
+ * @description Description of the model.
4453
+ * @default A new Meshery model.
4454
+ */
4455
+ description: string;
4456
+ /**
4457
+ * @description Status of model, including:
4458
+ * - duplicate: this component is a duplicate of another. The component that is to be the canonical reference and that is duplicated by other components should not be assigned the 'duplicate' status.
4459
+ * - maintenance: model is unavailable for a period of time.
4460
+ * - enabled: model is available for use for all users of this Meshery Server.
4461
+ * - ignored: model is unavailable for use for all users of this Meshery Server.
4462
+ * @default enabled
4463
+ * @enum {string}
4464
+ */
4465
+ status: "ignored" | "enabled" | "duplicate";
4466
+ /** @description Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections */
4467
+ registrant: {
4468
+ /**
4469
+ * Format: uuid
4470
+ * @description Connection ID
4471
+ */
4472
+ id: string;
4473
+ /** @description Connection Name */
4474
+ name: string;
4475
+ /**
4476
+ * Format: uuid
4477
+ * @description Associated Credential ID
4478
+ */
4479
+ credentialId?: string;
4480
+ /** @description Connection Type (platform, telemetry, collaboration) */
4481
+ type: string;
4482
+ /** @description Connection Subtype (cloud, identity, metrics, chat, git, orchestration) */
4483
+ subType: string;
4484
+ /** @description Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github) */
4485
+ kind: string;
4486
+ /** @description Additional connection metadata */
4487
+ metadata?: Record<string, never>;
4488
+ /**
4489
+ * @description Connection Status
4490
+ * @enum {string}
4491
+ */
4492
+ status: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
4493
+ /**
4494
+ * Format: uuid
4495
+ * @description User ID who owns this connection
4496
+ */
4497
+ user_id?: string;
4498
+ /** Format: date-time */
4499
+ created_at?: string;
4500
+ /** Format: date-time */
4501
+ updated_at?: string;
4502
+ /**
4503
+ * Format: date-time
4504
+ * @description SQL null Timestamp to handle null values of time.
4505
+ */
4506
+ deleted_at?: string;
4507
+ /** @description Associated environments for this connection */
4508
+ environments?: {
4509
+ /**
4510
+ * Format: uuid
4511
+ * @description ID
4512
+ */
4513
+ id: string;
4514
+ /**
4515
+ * @description Specifies the version of the schema to which the environment conforms.
4516
+ * @default environments.meshery.io/v1beta1
4517
+ * @example [
4518
+ * "v1",
4519
+ * "v1alpha1",
4520
+ * "v2beta3",
4521
+ * "v1.custom-suffix",
4522
+ * "models.meshery.io/v1beta1",
4523
+ * "capability.meshery.io/v1alpha1"
4524
+ * ]
4525
+ */
4526
+ schemaVersion: string;
4527
+ /** @description Environment name */
4528
+ name: string;
4529
+ /** @description Environment description */
4530
+ description: string;
4531
+ /**
4532
+ * Format: uuid
4533
+ * @description Environment organization ID
4534
+ */
4535
+ organization_id: string;
4536
+ /**
4537
+ * Format: uuid
4538
+ * @description Environment owner
4539
+ */
4540
+ owner?: string;
4541
+ /**
4542
+ * Format: date-time
4543
+ * @description Timestamp when the resource was created.
4544
+ */
4545
+ created_at?: string;
4546
+ /** @description Additional metadata associated with the environment. */
4547
+ metadata?: Record<string, never>;
4548
+ /**
4549
+ * Format: date-time
4550
+ * @description Timestamp when the resource was updated.
4551
+ */
4552
+ updated_at?: string;
4553
+ /**
4554
+ * Format: date-time
4555
+ * @description Timestamp when the environment was soft deleted. Null while the environment remains active.
4556
+ */
4557
+ deleted_at?: string | null;
4558
+ }[];
4559
+ /**
4560
+ * @description Specifies the version of the schema used for the definition.
4561
+ * @default connections.meshery.io/v1beta1
4562
+ * @example [
4563
+ * "v1",
4564
+ * "v1alpha1",
4565
+ * "v2beta3",
4566
+ * "v1.custom-suffix",
4567
+ * "models.meshery.io/v1beta1",
4568
+ * "capability.meshery.io/v1alpha1"
4569
+ * ]
4570
+ */
4571
+ schemaVersion: string;
4572
+ };
4573
+ /**
4574
+ * Format: uuid
4575
+ * @description ID of the registrant.
4576
+ */
4577
+ registrantId: string;
4578
+ /**
4579
+ * Format: uuid
4580
+ * @description ID of the category.
4581
+ */
4582
+ categoryId: string;
4583
+ /** @description Category of the model. */
4584
+ category: {
4585
+ /**
4586
+ * Format: uuid
4587
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
4588
+ */
4589
+ id: string;
4590
+ /**
4591
+ * @description The category of the model that determines the main grouping.
4592
+ * @default Uncategorized
4593
+ * @enum {string}
4594
+ */
4595
+ name: "Analytics" | "App Definition and Development" | "Cloud Native Network" | "Cloud Native Storage" | "Database" | "Machine Learning" | "Observability and Analysis" | "Orchestration & Management" | "Platform" | "Provisioning" | "Runtime" | "Security & Compliance" | "Serverless" | "Tools" | "Uncategorized";
4596
+ /** @description Additional metadata associated with the category. */
4597
+ metadata: Record<string, never>;
4598
+ };
4599
+ /**
4600
+ * SubCategory
4601
+ * @description Sub category of the model determines the secondary grouping.
4602
+ * @default Uncategorized
4603
+ * @enum {string}
4604
+ */
4605
+ subCategory: "API Gateway" | "API Integration" | "Application Definition & Image Build" | "Automation & Configuration" | "Certified Kubernetes - Distribution" | "Chaos Engineering" | "Cloud Native Storage" | "Cloud Provider" | "CNI" | "Compute" | "Container Registry" | "Container Runtime" | "Container Security" | "Container" | "Content Delivery Network" | "Continuous Integration & Delivery" | "Coordination & Service Discovery" | "Database" | "Flowchart" | "Framework" | "Installable Platform" | "Key Management" | "Key Management Service" | "Kubernetes" | "Logging" | "Machine Learning" | "Management Governance" | "Metrics" | "Monitoring" | "Networking Content Delivery" | "Operating System" | "Query" | "Remote Procedure Call" | "Scheduling & Orchestration" | "Secrets Management" | "Security Identity & Compliance" | "Service Mesh" | "Service Proxy" | "Source Version Control" | "Storage" | "Specifications" | "Streaming & Messaging" | "Tools" | "Tracing" | "Uncategorized" | "Video Conferencing";
4606
+ /** @description Metadata containing additional information associated with the model. */
4607
+ metadata?: {
4608
+ /** @description Capabilities associated with the model */
4609
+ capabilities?: {
4610
+ /**
4611
+ * @description Specifies the version of the schema to which the capability definition conforms.
4612
+ * @example [
4613
+ * "v1",
4614
+ * "v1alpha1",
4615
+ * "v2beta3",
4616
+ * "v1.custom-suffix",
4617
+ * "models.meshery.io/v1beta1",
4618
+ * "capability.meshery.io/v1alpha1"
4619
+ * ]
4620
+ */
4621
+ schemaVersion: string;
4622
+ /** @description Version of the capability definition. */
4623
+ version: string;
4624
+ /** @description Name of the capability in human-readible format. */
4625
+ displayName: string;
4626
+ /** @description A written representation of the purpose and characteristics of the capability. */
4627
+ description: string;
4628
+ /** @description Top-level categorization of the capability */
4629
+ kind: string | "action" | "mutate" | "view" | "interaction";
4630
+ /** @description Classification of capabilities. Used to group capabilities similar in nature. */
4631
+ type: string;
4632
+ /** @description Most granular unit of capability classification. The combination of Kind, Type and SubType together uniquely identify a Capability. */
4633
+ subType: string;
4634
+ /** @description Key that backs the capability. */
4635
+ key: string;
4636
+ /** @description State of the entity in which the capability is applicable. */
4637
+ entityState: ("declaration" | "instance")[];
4638
+ /**
4639
+ * @description Status of the capability
4640
+ * @default enabled
4641
+ * @enum {string}
4642
+ */
4643
+ status: "enabled" | "disabled";
4644
+ /** @description Metadata contains additional information associated with the capability. Extension point. */
4645
+ metadata?: {
4646
+ [key: string]: unknown;
4647
+ };
4648
+ }[];
4649
+ /**
4650
+ * @description Indicates whether the model and its entities should be treated as deployable entities or as logical representations.
4651
+ * @default false
4652
+ */
4653
+ isAnnotation: boolean;
4654
+ /**
4655
+ * @description Primary color associated with the model.
4656
+ * @default #00b39f
4657
+ */
4658
+ primaryColor: string;
4659
+ /**
4660
+ * @description Secondary color associated with the model.
4661
+ * @default #00D3A9
4662
+ */
4663
+ secondaryColor: string;
4664
+ /**
4665
+ * @description SVG representation of the model in white color.
4666
+ * @default <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.405 8.732v6.57l5.694-3.297-5.694-3.273Zm0 7.942v6.602l5.747-3.285-5.747-3.317Z" fill="#fff"/><path d="M15.586 15.256v-6.47l-5.622 3.225 5.622 3.245ZM4.307 23.252a13.809 13.809 0 0 0 4.362 4.39v-6.914l-4.362 2.524Zm11.279-.008v-6.52L9.95 19.985l5.636 3.258Z" fill="#fff" fill-opacity=".8"/><path d="m9.49 27.23 5.707-3.263-5.707-3.3v6.563Z" fill="#fff"/><path d="M22.54 27.265v-6.553l-5.699 3.259 5.7 3.294Zm5.58-4.773a13.697 13.697 0 0 0 1.612-5.895l-5.934 3.397 4.323 2.498Z" fill="#fff" fill-opacity=".8"/><path d="m23.362 19.298 5.728-3.276-5.728-3.291v6.567Z" fill="#fff"/><path d="M22.541 11.315V4.8l-5.673 3.253 5.673 3.262Zm0 7.955v-6.574l-5.685 3.292 5.685 3.281Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 12.684v6.622l5.728-3.316-5.728-3.306Z" fill="#fff"/><path d="M15.586 2.25a13.69 13.69 0 0 0-6.037 1.595l6.037 3.463V2.25Z" fill="#fff" fill-opacity=".8"/><path d="M9.49 4.756v6.583l5.732-3.288L9.49 4.756Z" fill="#fff"/><path d="M8.669 4.356a13.83 13.83 0 0 0-4.362 4.39l4.362 2.518V4.356Z" fill="#fff" fill-opacity=".8"/><path d="M22.504 3.88a13.695 13.695 0 0 0-6.099-1.63v5.123l6.1-3.493ZM2.25 16.483c.071 2.12.634 4.196 1.644 6.062l4.418-2.559-6.062-3.503Zm1.644-7.028a13.68 13.68 0 0 0-1.644 6.036l6.068-3.482-4.424-2.554Z" fill="#fff"/><path d="M9.539 28.147a13.673 13.673 0 0 0 6.047 1.603v-5.062L9.54 28.147Z" fill="#fff" fill-opacity=".8"/><path d="M27.697 8.768a13.83 13.83 0 0 0-4.335-4.383v6.889l4.335-2.506ZM23.362 27.62a13.851 13.851 0 0 0 4.351-4.417l-4.351-2.514v6.93Z" fill="#fff"/><path d="M29.75 15.452a13.659 13.659 0 0 0-1.63-5.979l-4.381 2.53 6.011 3.45Z" fill="#fff" fill-opacity=".8"/><path d="M16.405 29.75a13.673 13.673 0 0 0 6.036-1.595l-6.036-3.498v5.093Z" fill="#fff"/><path d="M8.669 19.247v-6.494L3.03 15.986l5.639 3.261Z" fill="#fff" fill-opacity=".8"/></svg>
4667
+ */
4668
+ svgWhite: string;
4669
+ /**
4670
+ * @description SVG representation of the model in colored format.
4671
+ * @default <svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 134.95 135.02"><defs><style>.cls-1{fill:#00d3a9}.cls-2{fill:#00b39f}</style></defs><title>meshery-logo-light</title><polygon points="69.49 31.82 69.49 64.07 97.44 47.89 69.49 31.82" class="cls-1"/><polygon points="69.49 70.81 69.49 103.22 97.7 87.09 69.49 70.81" class="cls-1"/><polygon points="65.47 63.85 65.47 32.09 37.87 47.92 65.47 63.85" class="cls-2"/><path d="M10.1,103.1a67.79,67.79,0,0,0,21.41,21.55V90.71Z" class="cls-2"/><polygon points="65.47 103.06 65.47 71.05 37.8 87.07 65.47 103.06" class="cls-2"/><polygon points="35.54 122.63 63.56 106.61 35.54 90.41 35.54 122.63" class="cls-1"/><polygon points="99.61 122.8 99.61 90.63 71.63 106.63 99.61 122.8" class="cls-2"/><path d="M127,99.37a67.22,67.22,0,0,0,7.91-28.94L105.78,87.11Z" class="cls-2"/><polygon points="103.64 83.69 131.76 67.61 103.64 51.45 103.64 83.69" class="cls-1"/><polygon points="99.61 44.5 99.61 12.52 71.76 28.49 99.61 44.5" class="cls-2"/><polygon points="99.61 83.55 99.61 51.28 71.7 67.44 99.61 83.55" class="cls-2"/><polygon points="67.48 135.02 67.49 135.02 67.48 135.02 67.48 135.02" class="cls-2"/><polygon points="35.54 51.22 35.54 83.73 63.66 67.45 35.54 51.22" class="cls-1"/><path d="M65.47,0A67.2,67.2,0,0,0,35.83,7.83l29.64,17Z" class="cls-2"/><polygon points="35.54 12.3 35.54 44.62 63.68 28.48 35.54 12.3" class="cls-1"/><path d="M31.51,10.34A67.89,67.89,0,0,0,10.1,31.89L31.51,44.25Z" class="cls-2"/><path d="M99.43,8A67.23,67.23,0,0,0,69.49,0V25.15Z" class="cls-1"/><path d="M0,69.87A67.27,67.27,0,0,0,8.07,99.63L29.76,87.07Z" class="cls-1"/><path d="M8.07,35.37A67.16,67.16,0,0,0,0,65L29.79,47.91Z" class="cls-1"/><path d="M35.78,127.13A67.13,67.13,0,0,0,65.47,135V110.15Z" class="cls-2"/><path d="M124.92,32a67.9,67.9,0,0,0-21.28-21.52V44.3Z" class="cls-1"/><path d="M103.64,124.54A68,68,0,0,0,125,102.86L103.64,90.52Z" class="cls-1"/><path d="M135,64.81a67.06,67.06,0,0,0-8-29.35L105.49,47.88Z" class="cls-2"/><path d="M69.49,135a67.12,67.12,0,0,0,29.63-7.83L69.49,110Z" class="cls-1"/><polygon points="31.51 83.44 31.51 51.56 3.83 67.43 31.51 83.44" class="cls-2"/></svg>
4672
+ */
4673
+ svgColor: string;
4674
+ /** @description SVG representation of the complete model. */
4675
+ svgComplete?: string;
4676
+ /**
4677
+ * @description The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes)
4678
+ * @enum {string}
4679
+ */
4680
+ shape?: "ellipse" | "triangle" | "round-triangle" | "rectangle" | "round-rectangle" | "bottom-round-rectangle" | "cut-rectangle" | "barrel" | "rhomboid" | "diamond" | "round-diamond" | "pentagon" | "round-pentagon" | "hexagon" | "round-hexagon" | "concave-hexagon" | "heptagon" | "round-heptagon" | "octagon" | "round-octagon" | "star" | "tag" | "round-tag" | "vee" | "polygon";
4681
+ } & {
4682
+ [key: string]: unknown;
4683
+ };
4684
+ /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
4685
+ model: {
4686
+ /** @description Version of the model as defined by the registrant. */
4687
+ version: string;
4688
+ };
4689
+ /** @description The relationships of the model. */
4690
+ relationships: unknown[];
4691
+ /** @description The components of the model. */
4692
+ components: unknown[];
4693
+ /**
4694
+ * @description Number of components associated with the model.
4695
+ * @default 0
4696
+ */
4697
+ componentsCount: number;
4698
+ /**
4699
+ * @description Number of relationships associated with the model.
4700
+ * @default 0
4701
+ */
4702
+ relationshipsCount: number;
4703
+ /**
4704
+ * Format: date-time
4705
+ * @description Timestamp when the resource was created.
4706
+ */
4707
+ created_at?: string;
4708
+ /**
4709
+ * Format: date-time
4710
+ * @description Timestamp when the resource was updated.
4711
+ */
4712
+ updated_at?: string;
4713
+ };
4714
+ /** @description Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models */
4715
+ modelReference?: {
4716
+ /**
4717
+ * Format: uuid
4718
+ * @description A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
4719
+ */
4720
+ id: string;
4721
+ /**
4722
+ * @description The unique name for the model within the scope of a registrant.
4723
+ * @example cert-manager
4724
+ */
4725
+ name: string;
4726
+ /** @description Version of the model definition. */
4727
+ version: string;
4728
+ /**
4729
+ * @description Human-readable name for the model.
4730
+ * @example Cert Manager
4731
+ */
4732
+ displayName: string;
4733
+ /** @description Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g. Kubernetes v1.31). */
4734
+ model: {
4735
+ /** @description Version of the model as defined by the registrant. */
4736
+ version: string;
4737
+ };
4738
+ registrant: {
4739
+ /** @description Kind of the registrant. */
4740
+ kind: string;
4741
+ };
4742
+ };
4743
+ /**
4744
+ * Format: uuid
4745
+ * @description Foreign key to the model to which the component belongs. Populated by the ORM from the `model_id` column and suppressed on the JSON wire; consumers use the nested `model` object for wire-level access.
4746
+ */
4747
+ modelId?: string;
1213
4748
  /** @description Additional connection metadata */
1214
4749
  metadata?: Record<string, never>;
4750
+ /** @description Schema for the credential Associated with the connection */
4751
+ credentialSchema?: Record<string, never>;
4752
+ /** @description Schema for the connection */
4753
+ connectionSchema?: Record<string, never>;
4754
+ /** @description Visualization styles for the connection, including svgColor and svgWhite used for UI representation. */
4755
+ styles?: ({
4756
+ /** @description Primary color of the component used for UI representation. */
4757
+ primaryColor: string;
4758
+ /** @description Secondary color of the entity used for UI representation. */
4759
+ secondaryColor?: string;
4760
+ /** @description White SVG of the entity used for UI representation on dark background. */
4761
+ svgWhite: string;
4762
+ /** @description Colored SVG of the entity used for UI representation on light background. */
4763
+ svgColor: string;
4764
+ /** @description Complete SVG of the entity used for UI representation, often inclusive of background. */
4765
+ svgComplete: string;
4766
+ /** @description The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g. */
4767
+ color?: string;
4768
+ /** @description The opacity of the label text, including its outline. */
4769
+ textOpacity?: number;
4770
+ /** @description A comma-separated list of font names to use on the label text. */
4771
+ fontFamily?: string;
4772
+ /** @description The size of the label text. */
4773
+ fontSize?: string;
4774
+ /** @description A CSS font style to be applied to the label text. */
4775
+ fontStyle?: string;
4776
+ /** @description A CSS font weight to be applied to the label text. */
4777
+ fontWeight?: string;
4778
+ /**
4779
+ * @description A transformation to apply to the label text
4780
+ * @enum {string}
4781
+ */
4782
+ textTransform?: "none" | "uppercase" | "lowercase";
4783
+ /** @description The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children. */
4784
+ opacity?: number;
4785
+ /** @description An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index. */
4786
+ zIndex?: number;
4787
+ /** @description The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id */
4788
+ label?: string;
4789
+ /** @description The animation to apply to the element. example ripple,bounce,etc */
4790
+ animation?: Record<string, never>;
4791
+ } & {
4792
+ [key: string]: unknown;
4793
+ }) & {
4794
+ /**
4795
+ * @description The shape of the node's body. Note that each shape fits within the specified width and height, and so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for several equilateral shapes)
4796
+ * @enum {string}
4797
+ */
4798
+ shape: "ellipse" | "triangle" | "round-triangle" | "rectangle" | "round-rectangle" | "bottom-round-rectangle" | "cut-rectangle" | "barrel" | "rhomboid" | "diamond" | "round-diamond" | "pentagon" | "round-pentagon" | "hexagon" | "round-hexagon" | "concave-hexagon" | "heptagon" | "round-heptagon" | "octagon" | "round-octagon" | "star" | "tag" | "round-tag" | "vee" | "polygon";
4799
+ /** @description The position of the node. If the position is set, the node is drawn at that position in the given dimensions. If the position is not set, the node is drawn at a random position. */
4800
+ position?: {
4801
+ /** @description The x-coordinate of the node. */
4802
+ x: number;
4803
+ /** @description The y-coordinate of the node. */
4804
+ y: number;
4805
+ };
4806
+ /** @description The text to display for an element's body. Can give a path, e.g. data(id) will label with the elements id */
4807
+ bodyText?: string;
4808
+ /**
4809
+ * @description How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
4810
+ * @enum {string}
4811
+ */
4812
+ bodyTextWrap?: "none" | "wrap" | "ellipsis";
4813
+ /** @description The maximum width for wrapping text in the node. */
4814
+ bodyTextMaxWidth?: string;
4815
+ /** @description The opacity of the node's body text, including its outline. */
4816
+ bodyTextOpacity?: number;
4817
+ /** @description The colour of the node's body text background. Colours may be specified by name (e.g. red), hex (e.g. */
4818
+ bodyTextBackgroundColor?: string;
4819
+ /** @description The size of the node's body text. */
4820
+ bodyTextFontSize?: number;
4821
+ /** @description The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g. */
4822
+ bodyTextColor?: string;
4823
+ /** @description A CSS font weight to be applied to the node's body text. */
4824
+ bodyTextFontWeight?: string;
4825
+ /** @description A CSS horizontal alignment to be applied to the node's body text. */
4826
+ bodyTextHorizontalAlign?: string;
4827
+ /** @description A CSS text decoration to be applied to the node's body text. */
4828
+ bodyTextDecoration?: string;
4829
+ /** @description A CSS vertical alignment to be applied to the node's body text. */
4830
+ bodyTextVerticalAlign?: string;
4831
+ /** @description The width of the node's body or the width of an edge's line. */
4832
+ width?: number;
4833
+ /** @description The height of the node's body */
4834
+ height?: number;
4835
+ /**
4836
+ * Format: uri
4837
+ * @description The URL that points to the image to show in the node.
4838
+ */
4839
+ backgroundImage?: string;
4840
+ /** @description The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g. */
4841
+ backgroundColor?: string;
4842
+ /** @description Blackens the node's body for values from 0 to 1; whitens the node's body for values from 0 to -1. */
4843
+ backgroundBlacken?: number;
4844
+ /** @description The opacity level of the node's background colour */
4845
+ backgroundOpacity?: number;
4846
+ /** @description The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
4847
+ backgroundPositionX?: string;
4848
+ /** @description The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
4849
+ backgroundPositionY?: string;
4850
+ /** @description The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
4851
+ backgroundOffsetX?: string;
4852
+ /** @description The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px) */
4853
+ backgroundOffsetY?: string;
4854
+ /**
4855
+ * @description How the background image is fit to the node. Can be 'none', 'contain', or 'cover'.
4856
+ * @enum {string}
4857
+ */
4858
+ backgroundFit?: "none" | "contain" | "cover";
4859
+ /**
4860
+ * @description How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'.
4861
+ * @enum {string}
4862
+ */
4863
+ backgroundClip?: "none" | "node" | "node-border";
4864
+ /**
4865
+ * @description How the background image's width is determined. Can be 'none', 'inner', or 'outer'.
4866
+ * @enum {string}
4867
+ */
4868
+ backgroundWidthRelativeTo?: "none" | "inner" | "outer";
4869
+ /**
4870
+ * @description How the background image's height is determined. Can be 'none', 'inner', or 'outer'.
4871
+ * @enum {string}
4872
+ */
4873
+ backgroundHeightRelativeTo?: "none" | "inner" | "outer";
4874
+ /** @description The size of the node's border. */
4875
+ borderWidth?: number;
4876
+ /**
4877
+ * @description The style of the node's border
4878
+ * @enum {string}
4879
+ */
4880
+ borderStyle?: "solid" | "dotted" | "dashed" | "double";
4881
+ /** @description The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g. */
4882
+ borderColor?: string;
4883
+ /** @description The opacity of the node's border */
4884
+ borderOpacity?: number;
4885
+ /** @description The amount of padding around all sides of the node. */
4886
+ padding?: number;
4887
+ /**
4888
+ * @description The horizontal alignment of a node's label
4889
+ * @enum {string}
4890
+ */
4891
+ textHalign?: "left" | "center" | "right";
4892
+ /**
4893
+ * @description The vertical alignment of a node's label
4894
+ * @enum {string}
4895
+ */
4896
+ textValign?: "top" | "center" | "bottom";
4897
+ /**
4898
+ * @description Whether to use the ghost effect, a semitransparent duplicate of the element drawn at an offset.
4899
+ * @default no
4900
+ * @enum {string}
4901
+ */
4902
+ ghost: "yes" | "no";
4903
+ /** @description The colour of the indicator shown when the background is grabbed by the user. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
4904
+ activeBgColor?: string;
4905
+ /** @description The opacity of the active background indicator. Selector needs to be *core*. */
4906
+ activeBgOpacity?: string;
4907
+ /** @description The opacity of the active background indicator. Selector needs to be *core*. */
4908
+ activeBgSize?: string;
4909
+ /** @description The background colour of the selection box used for drag selection. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
4910
+ selectionBoxColor?: string;
4911
+ /** @description The size of the border on the selection box. Selector needs to be *core* */
4912
+ selectionBoxBorderWidth?: number;
4913
+ /** @description The opacity of the selection box. Selector needs to be *core* */
4914
+ selectionBoxOpacity?: number;
4915
+ /** @description The colour of the area outside the viewport texture when initOptions.textureOnViewport === true. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g. */
4916
+ outsideTextureBgColor?: string;
4917
+ /** @description The opacity of the area outside the viewport texture. Selector needs to be *core* */
4918
+ outsideTextureBgOpacity?: number;
4919
+ /** @description An array (or a space-separated string) of numbers ranging on [-1, 1], representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This represents the points in the polygon for the node's shape. The bounding box of the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's position is the origin (0, 0 ) */
4920
+ shapePolygonPoints?: string;
4921
+ /** @description The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex (e.g. */
4922
+ menuBackgroundColor?: string;
4923
+ /** @description The opacity of the background of the component menu. */
4924
+ menuBackgroundOpacity?: number;
4925
+ /** @description The colour of the text or icons in the component menu. Colours may be specified by name (e.g. red), hex (e.g. */
4926
+ menuForgroundColor?: string;
4927
+ };
1215
4928
  /**
1216
4929
  * @description Connection Status
1217
4930
  * @enum {string}
1218
4931
  */
1219
4932
  status: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
4933
+ /** @description Map describing the connection state machine. Each key is a current connection status and its value is the list of states the connection may transition to from that status, along with a description of each transition. */
4934
+ transitionMap?: {
4935
+ [key: string]: {
4936
+ /**
4937
+ * @description Connection Status Value
4938
+ * @enum {string}
4939
+ */
4940
+ nextState: "discovered" | "registered" | "connected" | "ignored" | "maintenance" | "disconnected" | "deleted" | "not found";
4941
+ /** @description Human-readable explanation of when or why this transition occurs. */
4942
+ description?: string;
4943
+ }[];
4944
+ };
1220
4945
  /**
1221
4946
  * Format: uuid
1222
4947
  * @description User ID who owns this connection
@@ -1598,4 +5323,276 @@ export interface operations {
1598
5323
  };
1599
5324
  };
1600
5325
  };
5326
+ listConnectionDefinitions: {
5327
+ parameters: {
5328
+ query?: {
5329
+ /** @description Page number */
5330
+ page?: number;
5331
+ /** @description Number of items per page */
5332
+ pageSize?: number;
5333
+ /** @description Search term */
5334
+ search?: string;
5335
+ /** @description Sort order */
5336
+ order?: string;
5337
+ /** @description Filter by the name of the model the connection definition belongs to */
5338
+ model?: string;
5339
+ /** @description Filter by connection kind (e.g., kubernetes, prometheus, grafana) */
5340
+ kind?: string[];
5341
+ };
5342
+ header?: never;
5343
+ path?: never;
5344
+ cookie?: never;
5345
+ };
5346
+ requestBody?: never;
5347
+ responses: {
5348
+ /** @description Paginated list of connection definitions */
5349
+ 200: {
5350
+ headers: {
5351
+ [name: string]: unknown;
5352
+ };
5353
+ content: {
5354
+ "application/json": {
5355
+ /** @description List of connection definitions on this page */
5356
+ connectionDefinitions: unknown[];
5357
+ /** @description Total number of connection definitions on all pages */
5358
+ totalCount: number;
5359
+ /** @description Current page number */
5360
+ page: number;
5361
+ /** @description Number of elements per page */
5362
+ pageSize: number;
5363
+ };
5364
+ };
5365
+ };
5366
+ /** @description Expired JWT token used or insufficient privilege */
5367
+ 401: {
5368
+ headers: {
5369
+ [name: string]: unknown;
5370
+ };
5371
+ content: {
5372
+ "text/plain": string;
5373
+ };
5374
+ };
5375
+ /** @description Internal server error */
5376
+ 500: {
5377
+ headers: {
5378
+ [name: string]: unknown;
5379
+ };
5380
+ content: {
5381
+ "text/plain": string;
5382
+ };
5383
+ };
5384
+ };
5385
+ };
5386
+ registerConnectionDefinition: {
5387
+ parameters: {
5388
+ query?: never;
5389
+ header?: never;
5390
+ path?: never;
5391
+ cookie?: never;
5392
+ };
5393
+ requestBody: {
5394
+ content: {
5395
+ "application/json": unknown;
5396
+ };
5397
+ };
5398
+ responses: {
5399
+ /** @description Connection definition registered */
5400
+ 201: {
5401
+ headers: {
5402
+ [name: string]: unknown;
5403
+ };
5404
+ content: {
5405
+ "application/json": unknown;
5406
+ };
5407
+ };
5408
+ /** @description Invalid request body or request param */
5409
+ 400: {
5410
+ headers: {
5411
+ [name: string]: unknown;
5412
+ };
5413
+ content: {
5414
+ "text/plain": string;
5415
+ };
5416
+ };
5417
+ /** @description Expired JWT token used or insufficient privilege */
5418
+ 401: {
5419
+ headers: {
5420
+ [name: string]: unknown;
5421
+ };
5422
+ content: {
5423
+ "text/plain": string;
5424
+ };
5425
+ };
5426
+ /** @description Internal server error */
5427
+ 500: {
5428
+ headers: {
5429
+ [name: string]: unknown;
5430
+ };
5431
+ content: {
5432
+ "text/plain": string;
5433
+ };
5434
+ };
5435
+ };
5436
+ };
5437
+ getConnectionDefinition: {
5438
+ parameters: {
5439
+ query?: never;
5440
+ header?: never;
5441
+ path: {
5442
+ /** @description Connection definition ID */
5443
+ connectionDefinitionId: string;
5444
+ };
5445
+ cookie?: never;
5446
+ };
5447
+ requestBody?: never;
5448
+ responses: {
5449
+ /** @description Connection definition details */
5450
+ 200: {
5451
+ headers: {
5452
+ [name: string]: unknown;
5453
+ };
5454
+ content: {
5455
+ "application/json": unknown;
5456
+ };
5457
+ };
5458
+ /** @description Expired JWT token used or insufficient privilege */
5459
+ 401: {
5460
+ headers: {
5461
+ [name: string]: unknown;
5462
+ };
5463
+ content: {
5464
+ "text/plain": string;
5465
+ };
5466
+ };
5467
+ /** @description Result not found */
5468
+ 404: {
5469
+ headers: {
5470
+ [name: string]: unknown;
5471
+ };
5472
+ content: {
5473
+ "text/plain": string;
5474
+ };
5475
+ };
5476
+ /** @description Internal server error */
5477
+ 500: {
5478
+ headers: {
5479
+ [name: string]: unknown;
5480
+ };
5481
+ content: {
5482
+ "text/plain": string;
5483
+ };
5484
+ };
5485
+ };
5486
+ };
5487
+ updateConnectionDefinition: {
5488
+ parameters: {
5489
+ query?: never;
5490
+ header?: never;
5491
+ path: {
5492
+ /** @description Connection definition ID */
5493
+ connectionDefinitionId: string;
5494
+ };
5495
+ cookie?: never;
5496
+ };
5497
+ requestBody: {
5498
+ content: {
5499
+ "application/json": unknown;
5500
+ };
5501
+ };
5502
+ responses: {
5503
+ /** @description Connection definition updated */
5504
+ 200: {
5505
+ headers: {
5506
+ [name: string]: unknown;
5507
+ };
5508
+ content: {
5509
+ "application/json": unknown;
5510
+ };
5511
+ };
5512
+ /** @description Invalid request body or request param */
5513
+ 400: {
5514
+ headers: {
5515
+ [name: string]: unknown;
5516
+ };
5517
+ content: {
5518
+ "text/plain": string;
5519
+ };
5520
+ };
5521
+ /** @description Expired JWT token used or insufficient privilege */
5522
+ 401: {
5523
+ headers: {
5524
+ [name: string]: unknown;
5525
+ };
5526
+ content: {
5527
+ "text/plain": string;
5528
+ };
5529
+ };
5530
+ /** @description Result not found */
5531
+ 404: {
5532
+ headers: {
5533
+ [name: string]: unknown;
5534
+ };
5535
+ content: {
5536
+ "text/plain": string;
5537
+ };
5538
+ };
5539
+ /** @description Internal server error */
5540
+ 500: {
5541
+ headers: {
5542
+ [name: string]: unknown;
5543
+ };
5544
+ content: {
5545
+ "text/plain": string;
5546
+ };
5547
+ };
5548
+ };
5549
+ };
5550
+ deleteConnectionDefinition: {
5551
+ parameters: {
5552
+ query?: never;
5553
+ header?: never;
5554
+ path: {
5555
+ /** @description Connection definition ID */
5556
+ connectionDefinitionId: string;
5557
+ };
5558
+ cookie?: never;
5559
+ };
5560
+ requestBody?: never;
5561
+ responses: {
5562
+ /** @description Connection definition deleted */
5563
+ 204: {
5564
+ headers: {
5565
+ [name: string]: unknown;
5566
+ };
5567
+ content?: never;
5568
+ };
5569
+ /** @description Expired JWT token used or insufficient privilege */
5570
+ 401: {
5571
+ headers: {
5572
+ [name: string]: unknown;
5573
+ };
5574
+ content: {
5575
+ "text/plain": string;
5576
+ };
5577
+ };
5578
+ /** @description Result not found */
5579
+ 404: {
5580
+ headers: {
5581
+ [name: string]: unknown;
5582
+ };
5583
+ content: {
5584
+ "text/plain": string;
5585
+ };
5586
+ };
5587
+ /** @description Internal server error */
5588
+ 500: {
5589
+ headers: {
5590
+ [name: string]: unknown;
5591
+ };
5592
+ content: {
5593
+ "text/plain": string;
5594
+ };
5595
+ };
5596
+ };
5597
+ };
1601
5598
  }