infrawrench-sdk 0.1.1

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.
@@ -0,0 +1,2099 @@
1
+ # infrawrench-sdk v0.1.1 | MIT | Copyright (c) 2026 Infrawrench LLC
2
+ # https://github.com/Infrawrench/Infrawrench
3
+ #
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.1.1).
5
+ #
6
+ # DO NOT EDIT. Regenerate with:
7
+ # pnpm --filter @infrawrench/web generate:sdk
8
+ #
9
+ # Internal routes are absent by construction: the generator consumes the same
10
+ # published spec that /openapi.json serves, which drops every operation
11
+ # marked x-internal.
12
+
13
+ # RBS signatures for the whole gem.
14
+ #
15
+ # Ruby never loads this; steep, TypeProf and RubyMine do. Every
16
+ # `components.schemas` entry is a type alias here, which is where the schema
17
+ # shapes live — the runtime deliberately returns plain Hashes, so this file is
18
+ # the only place the field names are written down.
19
+
20
+ module Infrawrench
21
+ VERSION: String
22
+ DEFAULT_BASE_URL: String
23
+ SCOPE_PARAM: String?
24
+
25
+ # Anything that can hand over bytes — File, StringIO, or a custom reader.
26
+ interface _Readable
27
+ def read: () -> String
28
+ end
29
+
30
+ class Error < StandardError
31
+ end
32
+
33
+ class ConfigurationError < Error
34
+ end
35
+
36
+ class ApiError < Error
37
+ attr_reader status: Integer
38
+ attr_reader code: String?
39
+ attr_reader body: untyped
40
+ attr_reader http_method: String
41
+ attr_reader url: String
42
+
43
+ def initialize: (
44
+ status: Integer,
45
+ message: String,
46
+ code: String?,
47
+ body: untyped,
48
+ http_method: String,
49
+ url: String
50
+ ) -> void
51
+ end
52
+
53
+ class Upload
54
+ attr_reader bytes: String
55
+ attr_reader filename: String
56
+ attr_reader content_type: String
57
+
58
+ def initialize: (Upload | _Readable | String, ?filename: String, ?content_type: String) -> void
59
+ def self.coerce: (Upload | _Readable | String) -> Upload
60
+ end
61
+
62
+ class Transport
63
+ attr_reader base_url: String
64
+
65
+ def initialize: (
66
+ ?base_url: String?,
67
+ ?api_key: String?,
68
+ ?org_id: String?,
69
+ ?headers: Hash[String, String],
70
+ ?timeout: Numeric?,
71
+ ?open_timeout: Numeric?,
72
+ ?http_handler: untyped
73
+ ) -> void
74
+
75
+ def request: (
76
+ http_method: String,
77
+ path: String,
78
+ ?path_params: Hash[String, untyped]?,
79
+ ?query: Hash[String, untyped]?,
80
+ ?body: untyped,
81
+ ?form: Hash[String, untyped]?,
82
+ ?form_files: Array[String],
83
+ ?accept: Symbol,
84
+ ?request_options: Hash[Symbol, untyped]?
85
+ ) -> untyped
86
+ end
87
+
88
+ # Spec schema: `AcceptInvitationRequest`.
89
+ type accept_invitation_request = { "token" => String }
90
+
91
+ # Spec schema: `AcceptInvitationResponse`.
92
+ type accept_invitation_response = { "organization" => { "id" => String, "displayName" => String } }
93
+
94
+ # Spec schema: `Account`.
95
+ type account = {
96
+ "id" => String,
97
+ "pluginId" => String,
98
+ "displayName" => String,
99
+ "bastionId" => String | nil,
100
+ "createdAt" => String
101
+ }
102
+
103
+ # Spec schema: `AccountDetail`.
104
+ type account_detail = {
105
+ "account" => { "id" => String, "pluginId" => String, "displayName" => String },
106
+ "resourceTypes" => Array[resource_type_summary],
107
+ "pluginDisplayName" => String,
108
+ "pluginLogoSvg" => String
109
+ }
110
+
111
+ # Spec schema: `ActiveTunnel`.
112
+ type active_tunnel = { "localPort" => Integer, "sshHost" => String, "remotePort" => Integer }
113
+
114
+ # Spec schema: `AgentSession`.
115
+ type agent_session = {
116
+ "id" => String,
117
+ "repo" => String,
118
+ "projectName" => String,
119
+ "workspaceName" => String,
120
+ "accountId" => String,
121
+ "pluginId" => String,
122
+ "resourceTypeId" => String,
123
+ "tool" => "codex" | "claude-code",
124
+ "branchName" => String,
125
+ "status" => "pending" | "provisioning" | "setting-up" | "up" | "failed" | "stopped",
126
+ "vmResourceId" => String | nil,
127
+ "logs" => Array[String],
128
+ "createdAt" => String,
129
+ "updatedAt" => String
130
+ }
131
+
132
+ # Spec schema: `AgentSettings`.
133
+ type agent_settings = {
134
+ "accountId" => String,
135
+ "pluginId" => String,
136
+ "resourceTypeId" => String,
137
+ "tool" => "codex" | "claude-code",
138
+ "fields" => Hash[String, String]
139
+ }
140
+ | nil
141
+
142
+ # Spec schema: `AgentVmAccount`.
143
+ type agent_vm_account = {
144
+ "accountId" => String,
145
+ "accountName" => String,
146
+ "pluginId" => String,
147
+ "pluginName" => String,
148
+ ?"pluginLogoSvg" => String,
149
+ "resourceTypeId" => String,
150
+ "resourceTypeName" => String,
151
+ "defaultUsername" => String,
152
+ "defaultFields" => Hash[String, String],
153
+ ?"defaultFieldLabels" => Hash[String, String],
154
+ ?"createFields" => Array[json_object],
155
+ "hiddenFieldKeys" => Array[String]
156
+ }
157
+
158
+ # Spec schema: `ApiKey`.
159
+ type api_key = {
160
+ "id" => String,
161
+ "name" => String,
162
+ "prefix" => String,
163
+ "scopes" => Array[permission],
164
+ "lastUsedAt" => String | nil,
165
+ "expiresAt" => String | nil,
166
+ "revokedAt" => String | nil,
167
+ "legacyHashSunsetAt" => String | nil,
168
+ "needsRotation" => bool,
169
+ "createdAt" => String
170
+ }
171
+
172
+ # Spec schema: `ApplyManifestRequest`.
173
+ type apply_manifest_request = {
174
+ "accountId" => String,
175
+ "resourceId" => resource_id,
176
+ "manifest" => String,
177
+ ?"parentResourceId" => resource_id
178
+ }
179
+
180
+ # Spec schema: `ArtifactsListRequest`.
181
+ type artifacts_list_request = {
182
+ "accountId" => String,
183
+ "resourceId" => resource_id,
184
+ "resourceTypeId" => String,
185
+ ?"pageToken" => String,
186
+ ?"prefix" => String
187
+ }
188
+
189
+ # Spec schema: `AssociationRequest`.
190
+ type association_request = {
191
+ "consumerResourceId" => resource_id,
192
+ "consumerFieldKey" => String,
193
+ "providerResourceId" => resource_id,
194
+ "providerOutputKey" => String,
195
+ "providerPluginId" => String,
196
+ "providerResourceTypeId" => String,
197
+ "providerAccountId" => String
198
+ }
199
+
200
+ # Spec schema: `AttachRequest`.
201
+ type attach_request = {
202
+ "pluginId" => String,
203
+ "accountId" => String,
204
+ "sourceTypeId" => String,
205
+ "sourceResourceId" => resource_id,
206
+ "targetTypeId" => String,
207
+ "targetResourceId" => resource_id
208
+ }
209
+
210
+ # Spec schema: `AuditEntry`.
211
+ type audit_entry = {
212
+ "id" => String,
213
+ "userId" => String | nil,
214
+ "apiKeyId" => String | nil,
215
+ "action" => String,
216
+ "entityType" => String,
217
+ "entityId" => String,
218
+ "metadata" => json_object & (Hash[String, untyped] | nil),
219
+ "ipAddress" => String | nil,
220
+ "createdAt" => String,
221
+ "userName" => String | nil,
222
+ "userEmail" => String | nil
223
+ }
224
+
225
+ # Spec schema: `AuditResponse`.
226
+ type audit_response = { "entries" => Array[audit_entry], "total" => Integer }
227
+
228
+ # Spec schema: `AuthFactor`.
229
+ type auth_factor = {
230
+ "id" => String,
231
+ "type" => "totp" | "sms" | "generic_otp",
232
+ "createdAt" => String,
233
+ "updatedAt" => String,
234
+ "totpIssuer" => String | nil,
235
+ "totpUser" => String | nil
236
+ }
237
+
238
+ # Spec schema: `Bastion`.
239
+ type bastion = {
240
+ "id" => String,
241
+ "name" => String,
242
+ "tokenPrefix" => String,
243
+ "agentVersion" => String | nil,
244
+ "lastSeenAt" => String | nil,
245
+ "status" => bastion_status,
246
+ "revokedAt" => String | nil,
247
+ "createdAt" => String,
248
+ "createdByUserId" => String,
249
+ "connected" => bool,
250
+ "accountCount" => Integer
251
+ }
252
+
253
+ # Spec schema: `BastionStatus`.
254
+ type bastion_status = "pending" | "active" | "revoked"
255
+
256
+ # Spec schema: `BillingStatus`.
257
+ type billing_status = { "complimentary" => bool, "subscription" => subscription }
258
+
259
+ # Spec schema: `BudgetAlertEvent`.
260
+ type budget_alert_event = {
261
+ "id" => String,
262
+ "month" => String,
263
+ "thresholdType" => "actual" | "forecast",
264
+ "thresholdPercent" => Integer,
265
+ "actualAmountCents" => Integer,
266
+ "forecastAmountCents" => Integer | nil,
267
+ "triggeredAt" => String
268
+ }
269
+
270
+ # Spec schema: `BudgetCostFilter`.
271
+ type budget_cost_filter = {
272
+ "dimension" => "provider" | "account" | "service" | "region" | "resource" | "tag",
273
+ "op" => "in" | "not_in",
274
+ "values" => Array[String],
275
+ ?"tagKey" => String
276
+ }
277
+
278
+ # Spec schema: `BudgetFull`.
279
+ type budget_full = {
280
+ "id" => String,
281
+ "organizationId" => String,
282
+ "name" => String,
283
+ "amountCents" => Integer,
284
+ "currency" => String,
285
+ "filters" => Array[budget_cost_filter],
286
+ "thresholds" => Array[budget_threshold],
287
+ "createdByUserId" => String | nil,
288
+ "deletedAt" => String | nil,
289
+ "createdAt" => String,
290
+ "updatedAt" => String
291
+ }
292
+
293
+ # Spec schema: `BudgetInput`.
294
+ type budget_input = {
295
+ "name" => String,
296
+ "amountCents" => Integer,
297
+ ?"currency" => String,
298
+ ?"filters" => Array[budget_cost_filter],
299
+ "thresholds" => Array[budget_threshold]
300
+ }
301
+
302
+ # Spec schema: `BudgetThreshold`.
303
+ type budget_threshold = { "type" => "actual" | "forecast", "percent" => Integer }
304
+
305
+ # Spec schema: `BudgetWithStatus`.
306
+ type budget_with_status = {
307
+ "id" => String,
308
+ "name" => String,
309
+ "amountCents" => Integer,
310
+ "currency" => String,
311
+ "filters" => Array[budget_cost_filter],
312
+ "thresholds" => Array[budget_threshold],
313
+ "month" => String,
314
+ "actualCents" => Integer,
315
+ "forecastCents" => Integer | nil,
316
+ "currentMonthEvents" => Array[{
317
+ "id" => String,
318
+ "thresholdType" => "actual" | "forecast",
319
+ "thresholdPercent" => Integer,
320
+ "triggeredAt" => String
321
+ }]
322
+ }
323
+
324
+ # Spec schema: `ChildResourceRef`.
325
+ type child_resource_ref = {
326
+ "id" => resource_id,
327
+ "displayName" => String,
328
+ "resourceTypeId" => String,
329
+ "pluginId" => String,
330
+ "accountId" => String,
331
+ ?"status" => status_dot
332
+ }
333
+
334
+ # Spec schema: `ChildTypeRef`.
335
+ type child_type_ref = {
336
+ "id" => String,
337
+ "displayName" => String,
338
+ ?"pluralDisplayName" => String,
339
+ "supportsCreate" => bool
340
+ }
341
+
342
+ # Spec schema: `ConnectEnvDeployRequest`.
343
+ type connect_env_deploy_request = {
344
+ "sourceAccountId" => String,
345
+ "sourceResourceId" => resource_id,
346
+ "sourcePluginId" => String,
347
+ "sourceResourceTypeId" => String,
348
+ ?"sourceExternalId" => String,
349
+ "targetSshHost" => String,
350
+ "sshKeyId" => String,
351
+ "sshUsername" => String,
352
+ "templateId" => String,
353
+ "keyOverrides" => Hash[String, String],
354
+ "format" => "dotenv" | "profile",
355
+ "filePath" => String,
356
+ "append" => bool
357
+ }
358
+
359
+ # Spec schema: `ConnectSecretExportRequest`.
360
+ type connect_secret_export_request = {
361
+ "sourceAccountId" => String,
362
+ "sourceResourceId" => resource_id,
363
+ "sourcePluginId" => String,
364
+ "sourceResourceTypeId" => String,
365
+ ?"sourceExternalId" => String,
366
+ "targetAccountId" => String,
367
+ "targetPluginId" => String,
368
+ "templateId" => String,
369
+ "namespace" => String,
370
+ "secretName" => String,
371
+ "keyOverrides" => Hash[String, String]
372
+ }
373
+
374
+ # Spec schema: `ConnectTemplatesRequest`.
375
+ type connect_templates_request = {
376
+ "sourcePluginId" => String,
377
+ "sourceResourceTypeId" => String,
378
+ "targetAccountId" => String,
379
+ "targetPluginId" => String
380
+ }
381
+
382
+ # Spec schema: `ConnectTemplatesResponse`.
383
+ type connect_templates_response = {
384
+ "templates" => Array[secret_export_template],
385
+ "effectiveResourceTypeId" => String,
386
+ "supportsSecretImport" => bool,
387
+ "namespaces" => Array[String]
388
+ }
389
+
390
+ # Spec schema: `CostAccountStatus`.
391
+ type cost_account_status = {
392
+ "accountId" => String,
393
+ "pluginId" => String,
394
+ "displayName" => String,
395
+ "supportsCosts" => bool,
396
+ "periodNative" => bool,
397
+ "dimensions" => Array["service" | "region" | "resource" | "tag"],
398
+ "costLastPolledAt" => String | nil,
399
+ "costBackfilledAt" => String | nil,
400
+ "costPollFailureCount" => Integer,
401
+ "costPollError" => { "message" => String, "helpLink" => { "label" => String, "url" => String } | nil } | nil,
402
+ "coverage" => { "firstDay" => String, "lastDay" => String } | nil
403
+ }
404
+
405
+ # Spec schema: `CostDimension`.
406
+ type cost_dimension = "provider" | "account" | "service" | "region" | "resource" | "tag"
407
+
408
+ # Spec schema: `CostDimensionValues`.
409
+ type cost_dimension_values = { "values" => Array[String | { "value" => String, "label" => String }] }
410
+
411
+ # Spec schema: `CostFilter`.
412
+ type cost_filter = {
413
+ "dimension" => cost_dimension,
414
+ "op" => "in" | "not_in",
415
+ "values" => Array[String],
416
+ ?"tagKey" => String
417
+ }
418
+
419
+ # Spec schema: `CostQueryRequest`.
420
+ type cost_query_request = {
421
+ "from" => String,
422
+ "to" => String,
423
+ "binning" => "daily" | "weekly" | "monthly" | "cumulative",
424
+ "groupBy" => "none" | "provider" | "account" | "service" | "region" | "resource" | "tag",
425
+ ?"groupByTagKey" => String,
426
+ ?"filters" => Array[cost_filter],
427
+ ?"topN" => Integer,
428
+ ?"comparePreviousPeriod" => bool,
429
+ ?"forecast" => bool
430
+ }
431
+
432
+ # Spec schema: `CostQueryResponse`.
433
+ type cost_query_response = {
434
+ "series" => Array[cost_query_series],
435
+ ?"comparison" => Array[cost_query_series],
436
+ ?"forecast" => Array[cost_series_point],
437
+ "currencies" => Array[String],
438
+ "totals" => Hash[String, Numeric],
439
+ ?"previousTotals" => Hash[String, Numeric]
440
+ }
441
+
442
+ # Spec schema: `CostQuerySeries`.
443
+ type cost_query_series = {
444
+ "key" => String,
445
+ "label" => String,
446
+ "currency" => String,
447
+ "points" => Array[cost_series_point]
448
+ }
449
+
450
+ # Spec schema: `CostSeriesPoint`.
451
+ type cost_series_point = { "bucket" => String, "amount" => Numeric }
452
+
453
+ # Spec schema: `CreateAccountRequest`.
454
+ type create_account_request = {
455
+ "pluginId" => String,
456
+ "displayName" => String,
457
+ "credentials" => Hash[String, String],
458
+ ?"bastionId" => String | nil
459
+ }
460
+
461
+ # Spec schema: `CreateAccountResponse`.
462
+ type create_account_response = { "id" => String, ?"syncError" => { "message" => String } }
463
+
464
+ # Spec schema: `CreateAgentSession`.
465
+ type create_agent_session = {
466
+ "repo" => String,
467
+ ?"projectName" => String,
468
+ ?"workspaceName" => String,
469
+ "settings" => agent_settings & Hash[String, untyped]
470
+ }
471
+
472
+ # Spec schema: `CreateApiKeyRequest`.
473
+ type create_api_key_request = { "name" => String, "scopes" => Array[permission], ?"expiresAt" => String }
474
+
475
+ # Spec schema: `CreateBastionRequest`.
476
+ type create_bastion_request = { "name" => String }
477
+
478
+ # Spec schema: `CreateBastionResponse`.
479
+ type create_bastion_response = { "id" => String, "name" => String, "tokenPrefix" => String, "token" => String }
480
+
481
+ # Spec schema: `CreateConfigRequest`.
482
+ type create_config_request = {
483
+ "accountId" => String,
484
+ "resourceTypeId" => String,
485
+ ?"pluginId" => String,
486
+ ?"parentResourceId" => resource_id
487
+ }
488
+
489
+ # Spec schema: `CreateCostEstimateRequest`.
490
+ type create_cost_estimate_request = {
491
+ "accountId" => String,
492
+ "resourceTypeId" => String,
493
+ "fields" => Hash[String, String],
494
+ ?"pluginId" => String,
495
+ ?"parentResourceId" => resource_id
496
+ }
497
+
498
+ # Spec schema: `CreateOrgRequest`.
499
+ type create_org_request = { "displayName" => String }
500
+
501
+ # Spec schema: `CreatePricingRequest`.
502
+ type create_pricing_request = {
503
+ "accountId" => String,
504
+ "resourceTypeId" => String,
505
+ ?"regionId" => String,
506
+ "sizes" => Array[{ "id" => String, "vcpus" => Numeric, "memoryMb" => Numeric }],
507
+ ?"pluginId" => String,
508
+ ?"parentResourceId" => resource_id
509
+ }
510
+
511
+ # Spec schema: `CreateResourceRequest`.
512
+ type create_resource_request = {
513
+ "accountId" => String,
514
+ "pluginId" => String,
515
+ "resourceTypeId" => String,
516
+ "fields" => Hash[String, String],
517
+ ?"parentResourceId" => resource_id
518
+ }
519
+
520
+ # Spec schema: `CreateResourceResponse`.
521
+ type create_resource_response = { "id" => resource_id, "displayName" => String, ?"warnings" => Array[String] }
522
+
523
+ # Spec schema: `CreateWidgetRequest`.
524
+ type create_widget_request = {
525
+ "dashboardId" => String,
526
+ "kind" => dashboard_widget_kind,
527
+ ?"title" => String,
528
+ "config" => json_object
529
+ }
530
+
531
+ # Spec schema: `CreatedApiKey`.
532
+ type created_api_key = { "id" => String, "key" => String }
533
+
534
+ # Spec schema: `CredentialExport`.
535
+ type credential_export = {
536
+ "content" => String,
537
+ "filename" => String,
538
+ "mimeType" => String,
539
+ ?"fields" => Hash[String, String],
540
+ ?"warning" => String
541
+ }
542
+
543
+ # Spec schema: `CredentialField`.
544
+ type credential_field = {
545
+ "key" => String,
546
+ "label" => String,
547
+ ?"description" => String,
548
+ ?"placeholder" => String,
549
+ ?"sensitive" => bool,
550
+ ?"multiline" => bool,
551
+ ?"defaultValue" => String,
552
+ ?"regions" => Array[credential_field_region],
553
+ ?"helpLink" => { "label" => String, "url" => String }
554
+ }
555
+
556
+ # Spec schema: `CredentialFieldRegion`.
557
+ type credential_field_region = { "id" => String, "label" => String, ?"location" => String, ?"flag" => String }
558
+
559
+ # Spec schema: `CredentialFormat`.
560
+ type credential_format = {
561
+ "id" => String,
562
+ "label" => String,
563
+ ?"description" => String,
564
+ ?"fileExtension" => String,
565
+ ?"mimeType" => String
566
+ }
567
+
568
+ # Spec schema: `Dashboard`.
569
+ type dashboard = { "id" => String, "name" => String, "isDefault" => bool }
570
+
571
+ # Spec schema: `DashboardFull`.
572
+ type dashboard_full = {
573
+ "id" => String,
574
+ "organizationId" => String,
575
+ "name" => String,
576
+ "isDefault" => bool,
577
+ "createdAt" => String,
578
+ "updatedAt" => String,
579
+ "deletedAt" => String | nil,
580
+ "syncVersion" => Integer
581
+ }
582
+
583
+ # Spec schema: `DashboardPin`.
584
+ type dashboard_pin = {
585
+ "pinId" => String,
586
+ "resourceId" => resource_id,
587
+ "gridX" => Integer,
588
+ "gridY" => Integer,
589
+ "gridW" => Integer,
590
+ "gridH" => Integer
591
+ }
592
+
593
+ # Spec schema: `DashboardWidget`.
594
+ type dashboard_widget = {
595
+ "id" => String,
596
+ "dashboardId" => String,
597
+ "kind" => dashboard_widget_kind,
598
+ "title" => String,
599
+ "config" => json_object,
600
+ "gridX" => Integer,
601
+ "gridY" => Integer,
602
+ "gridW" => Integer,
603
+ "gridH" => Integer
604
+ }
605
+
606
+ # Spec schema: `DashboardWidgetFull`.
607
+ type dashboard_widget_full = {
608
+ "id" => String,
609
+ "organizationId" => String,
610
+ "dashboardId" => String,
611
+ "kind" => dashboard_widget_kind,
612
+ "title" => String,
613
+ "config" => json_object,
614
+ "gridX" => Integer,
615
+ "gridY" => Integer,
616
+ "gridW" => Integer,
617
+ "gridH" => Integer,
618
+ "syncVersion" => Integer,
619
+ "deletedAt" => String | nil,
620
+ "createdAt" => String,
621
+ "updatedAt" => String
622
+ }
623
+
624
+ # Spec schema: `DashboardWidgetKind`.
625
+ type dashboard_widget_kind = "cost_graph" | "budget"
626
+
627
+ # Spec schema: `DashboardWithPins`.
628
+ type dashboard_with_pins = {
629
+ "dashboard" => dashboard_full,
630
+ "pins" => Array[dashboard_pin],
631
+ "workflowPins" => Array[dashboard_workflow_pin],
632
+ "widgets" => Array[dashboard_widget]
633
+ }
634
+
635
+ # Spec schema: `DashboardWorkflowPin`.
636
+ type dashboard_workflow_pin = {
637
+ "pinId" => String,
638
+ "workflowId" => String,
639
+ "gridX" => Integer,
640
+ "name" => String,
641
+ "lastRunAt" => String | nil,
642
+ "lastStatus" => String | nil,
643
+ "metrics" => Array[{ "key" => String, "label" => String, "unit" => String | nil, ?"value" => untyped }]
644
+ }
645
+
646
+ # Spec schema: `DescribeRequest`.
647
+ type describe_request = { "accountId" => String, "resourceId" => resource_id, ?"parentResourceId" => resource_id }
648
+
649
+ # Spec schema: `DescribeResponse`.
650
+ type describe_response = { "text" => String }
651
+
652
+ # Spec schema: `DockerCommandRequest`.
653
+ type docker_command_request = { "accountId" => String, "op" => String, ?"params" => json_object }
654
+
655
+ # Spec schema: `DockerCommandResponse`.
656
+ type docker_command_response = { ?"result" => json_object | untyped | nil }
657
+
658
+ # Spec schema: `EditableField`.
659
+ type editable_field = {
660
+ "key" => String,
661
+ "label" => String,
662
+ "kind" => "string" | "number" | "boolean" | "enum" | "secret" | "association" | "password",
663
+ "required" => bool,
664
+ ?"description" => String,
665
+ ?"enumValues" => Array[String]
666
+ }
667
+
668
+ # Spec schema: `Error`.
669
+ type error = { "error" => String }
670
+
671
+ # Spec schema: `ExportCredentialRequest`.
672
+ type export_credential_request = {
673
+ "resourceId" => resource_id,
674
+ "accountId" => String,
675
+ "formatId" => String,
676
+ ?"parentResourceId" => resource_id
677
+ }
678
+
679
+ # Spec schema: `FieldActionRequest`.
680
+ type field_action_request = {
681
+ "accountId" => String,
682
+ "resourceTypeId" => String,
683
+ "fieldKey" => String,
684
+ "actionId" => String,
685
+ "fields" => Hash[String, String],
686
+ ?"actionFields" => Hash[String, String],
687
+ ?"pluginId" => String,
688
+ ?"parentResourceId" => resource_id
689
+ }
690
+
691
+ # Spec schema: `FieldActionResponse`.
692
+ type field_action_response = { "value" => String, ?"option" => { "id" => String, "label" => String } }
693
+
694
+ # Spec schema: `GenerateSshKeyRequest`.
695
+ type generate_ssh_key_request = { "name" => String }
696
+
697
+ # Spec schema: `GeneratedSshKey`.
698
+ type generated_ssh_key = {
699
+ "id" => String,
700
+ "name" => String,
701
+ "keyType" => ssh_key_type,
702
+ "fingerprint" => String,
703
+ "publicKey" => String,
704
+ "privateKey" => String
705
+ }
706
+
707
+ # Spec schema: `ImportSshKeyRequest`.
708
+ type import_ssh_key_request = { "name" => String, "publicKey" => String }
709
+
710
+ # Spec schema: `ImportYamlRequest`.
711
+ type import_yaml_request = { "accountId" => String, "yaml" => String, ?"parentResourceId" => resource_id }
712
+
713
+ # Spec schema: `ImportedSshKey`.
714
+ type imported_ssh_key = {
715
+ "id" => String,
716
+ "name" => String,
717
+ "keyType" => ssh_key_type,
718
+ "fingerprint" => String,
719
+ "publicKey" => String,
720
+ "isImported" => bool
721
+ }
722
+
723
+ # Spec schema: `Invitation`.
724
+ type invitation = {
725
+ "id" => String,
726
+ "email" => String,
727
+ "role" => organization_role,
728
+ "roleId" => String | nil,
729
+ "roleName" => String | nil,
730
+ "acceptedAt" => String | nil,
731
+ "expiresAt" => String,
732
+ "createdAt" => String
733
+ }
734
+
735
+ # Spec schema: `InvitationDetail`.
736
+ type invitation_detail = {
737
+ "id" => String,
738
+ "email" => String,
739
+ "role" => organization_role,
740
+ "expiresAt" => String,
741
+ "acceptedAt" => String | nil,
742
+ "organizationId" => String,
743
+ "organizationName" => String
744
+ }
745
+
746
+ # Spec schema: `InviteRequest`.
747
+ type invite_request = { "email" => String, ?"role" => organization_role, ?"roleId" => String }
748
+
749
+ # Spec schema: `InviteResponse`.
750
+ type invite_response = { "id" => String, "token" => String }
751
+
752
+ # Spec schema: `InvokeActionRequest`.
753
+ type invoke_action_request = {
754
+ "pluginId" => String,
755
+ "accountId" => String,
756
+ "resourceTypeId" => String,
757
+ "resourceId" => resource_id,
758
+ "actionId" => String,
759
+ ?"parentResourceId" => resource_id
760
+ }
761
+
762
+ # Free-form JSON object whose shape depends on the plugin.
763
+ #
764
+ # Spec schema: `JsonObject`.
765
+ type json_object = Hash[String, untyped]
766
+
767
+ # Spec schema: `KvCommandRequest`.
768
+ type kv_command_request = {
769
+ "accountId" => String,
770
+ "command" => String,
771
+ "args" => Array[String | Numeric],
772
+ ?"pluginId" => String,
773
+ ?"parentResourceId" => resource_id
774
+ }
775
+
776
+ # Spec schema: `KvCommandResponse`.
777
+ type kv_command_response = { ?"result" => json_object | untyped | nil }
778
+
779
+ # Spec schema: `LiteralAssociationRequest`.
780
+ type literal_association_request = { "resourceId" => resource_id, "fieldKey" => String, "plaintextValue" => String }
781
+
782
+ # Spec schema: `LogsRequest`.
783
+ type logs_request = {
784
+ "accountId" => String,
785
+ "resourceId" => resource_id,
786
+ ?"parentResourceId" => resource_id,
787
+ ?"tailLines" => Integer,
788
+ ?"container" => String,
789
+ ?"previous" => bool
790
+ }
791
+
792
+ # Spec schema: `LogsResponse`.
793
+ type logs_response = { "lines" => Array[String], ?"nextPageToken" => String, ?"truncated" => bool }
794
+
795
+ # Spec schema: `Manifest`.
796
+ type manifest = { "manifest" => String }
797
+
798
+ # Spec schema: `MeResponse`.
799
+ type me_response = {
800
+ "userId" => String,
801
+ "email" => String,
802
+ "role" => role_summary,
803
+ "permissions" => Array[permission]
804
+ }
805
+
806
+ # Spec schema: `MetricSeries`.
807
+ type metric_series = {
808
+ "label" => String,
809
+ ?"unit" => String,
810
+ "points" => Array[{ "ts" => Numeric, "value" => Numeric }]
811
+ }
812
+
813
+ # Spec schema: `MetricsRequest`.
814
+ type metrics_request = {
815
+ "accountId" => String,
816
+ "resourceId" => resource_id,
817
+ ?"startMs" => Integer,
818
+ ?"endMs" => Integer,
819
+ ?"parentResourceId" => resource_id
820
+ }
821
+
822
+ # Spec schema: `MetricsResponse`.
823
+ type metrics_response = { "series" => Array[metric_series] }
824
+
825
+ # Spec schema: `NoSqlCommandRequest`.
826
+ type no_sql_command_request = {
827
+ "pluginId" => String,
828
+ "accountId" => String,
829
+ "resourceTypeId" => String,
830
+ "resourceId" => resource_id,
831
+ "command" => String,
832
+ "args" => Array[String | Numeric],
833
+ ?"parentResourceId" => resource_id
834
+ }
835
+
836
+ # Spec schema: `Ok`.
837
+ type ok = { "ok" => bool }
838
+
839
+ # Spec schema: `OrgMember`.
840
+ type org_member = {
841
+ "id" => String,
842
+ "email" => String,
843
+ "displayName" => String | nil,
844
+ "role" => organization_role,
845
+ "roleId" => String | nil,
846
+ "roleName" => String | nil,
847
+ "roleSystemKey" => String | nil,
848
+ "createdAt" => String
849
+ }
850
+
851
+ # Spec schema: `OrgMembership`.
852
+ type org_membership = { "id" => String, "displayName" => String, "role" => organization_role }
853
+
854
+ # Spec schema: `Organization`.
855
+ type organization = { "id" => String, "displayName" => String }
856
+
857
+ # Spec schema: `OrganizationRole`.
858
+ type organization_role = "owner" | "admin" | "member"
859
+
860
+ # Spec schema: `PeerPane`.
861
+ type peer_pane = peer_pane_stub & { "schema" => json_object }
862
+
863
+ # Spec schema: `PeerPaneStub`.
864
+ type peer_pane_stub = { "tabLabel" => String, "pluginLogoSvg" => String, "peerPluginId" => String }
865
+
866
+ # Spec schema: `PeerPanesRequest`.
867
+ type peer_panes_request = { "accountId" => String, "resourceId" => resource_id, ?"parentResourceId" => resource_id }
868
+
869
+ # A permission string. Roles may grant exact permissions like the entries in
870
+ # this enum, or wildcards (e.g. `resources:*:read`, `*`).
871
+ #
872
+ # Spec schema: `Permission`.
873
+ type permission = "accounts:read"
874
+ | "accounts:write"
875
+ | "accounts:delete"
876
+ | "resources:read"
877
+ | "resources:write"
878
+ | "resources:delete"
879
+ | "resources:execute"
880
+ | "secrets:read"
881
+ | "secrets:write"
882
+ | "storage:read"
883
+ | "storage:write"
884
+ | "dashboards:read"
885
+ | "dashboards:write"
886
+ | "costs:read"
887
+ | "budgets:read"
888
+ | "budgets:write"
889
+ | "audit:read"
890
+ | "team:read"
891
+ | "team:invite"
892
+ | "team:role:write"
893
+ | "team:remove"
894
+ | "apikeys:read"
895
+ | "apikeys:write"
896
+ | "billing:read"
897
+ | "billing:write"
898
+ | "ssh-keys:read"
899
+ | "ssh-keys:write"
900
+ | "bastions:read"
901
+ | "bastions:write"
902
+ | "chat:read"
903
+ | "chat:write"
904
+ | "org:settings:write"
905
+
906
+ # Spec schema: `PermissionCatalog`.
907
+ type permission_catalog = { "permissions" => Array[permission] }
908
+
909
+ # Spec schema: `PickerResource`.
910
+ type picker_resource = {
911
+ "id" => resource_id,
912
+ "label" => String,
913
+ "pluginId" => String,
914
+ "resourceTypeId" => String,
915
+ "accountId" => String,
916
+ "outputKey" => String,
917
+ "outputValue" => String
918
+ }
919
+
920
+ # Spec schema: `PickerResourcesRequest`.
921
+ type picker_resources_request = {
922
+ "sources" => Array[{ "pluginId" => String, "resourceTypeId" => String, "outputKey" => String }],
923
+ "accountId" => String,
924
+ ?"regionHint" => String
925
+ }
926
+
927
+ # Spec schema: `PinFull`.
928
+ type pin_full = {
929
+ "pinId" => String,
930
+ "resourceId" => resource_id,
931
+ "gridX" => Integer,
932
+ "gridY" => Integer,
933
+ "gridW" => Integer,
934
+ "gridH" => Integer,
935
+ "displayName" => String,
936
+ "pluginId" => String,
937
+ "resourceTypeId" => String,
938
+ "accountId" => String,
939
+ "fieldsJson" => json_object,
940
+ "outputsJson" => json_object,
941
+ "pluginLogoSvg" => String,
942
+ "pluginDisplayName" => String,
943
+ "status" => probe_status
944
+ }
945
+
946
+ # Spec schema: `PinRangeMetricSeries`.
947
+ type pin_range_metric_series = {
948
+ "label" => String,
949
+ ?"unit" => String,
950
+ "points" => Array[{ "timestamp" => Numeric, "value" => Numeric }]
951
+ }
952
+
953
+ # Spec schema: `PinRangeResponse`.
954
+ type pin_range_response = { "series" => Array[pin_range_metric_series] }
955
+
956
+ # Spec schema: `PinRequest`.
957
+ type pin_request = {
958
+ "dashboardId" => String,
959
+ "resourceId" => resource_id,
960
+ ?"gridX" => Integer,
961
+ ?"gridY" => Integer
962
+ }
963
+
964
+ # Manifest id of an installed plugin.
965
+ #
966
+ # Spec schema: `PluginId`.
967
+ type plugin_id = "aws"
968
+ | "azure"
969
+ | "clickhouse"
970
+ | "cloudflare"
971
+ | "cloudinary"
972
+ | "databricks"
973
+ | "digitalocean"
974
+ | "docker"
975
+ | "fly"
976
+ | "gcp"
977
+ | "hetzner"
978
+ | "kafka"
979
+ | "kubernetes"
980
+ | "memcached"
981
+ | "mongodb"
982
+ | "mssql"
983
+ | "mysql"
984
+ | "neon"
985
+ | "netlify"
986
+ | "opensearch"
987
+ | "ovh"
988
+ | "planetscale"
989
+ | "postgres"
990
+ | "redis"
991
+ | "scaleway"
992
+ | "ssh"
993
+ | "turso"
994
+ | "vercel"
995
+
996
+ # Spec schema: `PluginSummary`.
997
+ type plugin_summary = {
998
+ "id" => String,
999
+ "displayName" => String,
1000
+ "logoSvg" => String,
1001
+ "credentialFields" => Array[credential_field]
1002
+ }
1003
+
1004
+ # Spec schema: `ProbeRequest`.
1005
+ type probe_request = {
1006
+ "items" => Array[{
1007
+ "resourceId" => resource_id,
1008
+ "accountId" => String,
1009
+ "pluginId" => String,
1010
+ "resourceTypeId" => String
1011
+ }]
1012
+ }
1013
+
1014
+ # Spec schema: `ProbeStatus`.
1015
+ type probe_status = {
1016
+ "phase" => "ok" | "loading" | "error",
1017
+ ?"error" => String,
1018
+ ?"stats" => Array[json_object],
1019
+ ?"sparkline" => Array[{ "ts" => Numeric, "value" => Numeric }],
1020
+ ?"sparklineLabel" => String,
1021
+ ?"resourceCounts" => Array[{ "typeId" => String, "count" => Integer }]
1022
+ }
1023
+
1024
+ # Spec schema: `Profile`.
1025
+ type profile = {
1026
+ "id" => String,
1027
+ "email" => String,
1028
+ "emailVerified" => bool,
1029
+ "firstName" => String | nil,
1030
+ "lastName" => String | nil,
1031
+ "profilePictureUrl" => String | nil,
1032
+ "lastSignInAt" => String | nil,
1033
+ "createdAt" => String,
1034
+ "identities" => Array[{ "provider" => String }]
1035
+ }
1036
+
1037
+ # Spec schema: `ProfileSummary`.
1038
+ type profile_summary = {
1039
+ "id" => String,
1040
+ "email" => String,
1041
+ "emailVerified" => bool,
1042
+ "firstName" => String | nil,
1043
+ "lastName" => String | nil,
1044
+ "profilePictureUrl" => String | nil,
1045
+ "lastSignInAt" => String | nil,
1046
+ "createdAt" => String
1047
+ }
1048
+
1049
+ # Spec schema: `ReauthenticationRequired`.
1050
+ type reauthentication_required = { "error" => String, "code" => "reauthentication_required" }
1051
+
1052
+ # Spec schema: `ReorderRequest`.
1053
+ type reorder_request = {
1054
+ ?"cards" => Array[{ "kind" => "resource" | "workflow" | "widget", "id" => String }],
1055
+ ?"resourceIds" => Array[resource_id]
1056
+ }
1057
+
1058
+ # Spec schema: `Resource`.
1059
+ type resource = {
1060
+ "id" => resource_id,
1061
+ "pluginId" => String,
1062
+ "resourceTypeId" => String,
1063
+ "accountId" => String,
1064
+ "displayName" => String,
1065
+ "externalId" => String | nil,
1066
+ "fieldsJson" => json_object,
1067
+ "outputsJson" => json_object,
1068
+ "parentResourceId" => resource_id & (String | nil)
1069
+ }
1070
+
1071
+ # Spec schema: `ResourceDetail`.
1072
+ type resource_detail = {
1073
+ "detailSchema" => json_object & untyped,
1074
+ "childResources" => Array[child_resource_ref],
1075
+ "childTypes" => Array[child_type_ref],
1076
+ "pluginId" => String,
1077
+ "pluginLogoSvg" => String,
1078
+ "resourceId" => resource_id,
1079
+ "accountId" => String,
1080
+ "resourceTypeId" => String,
1081
+ "peerPanes" => Array[peer_pane],
1082
+ "peerIntegrationStubs" => Array[peer_pane_stub],
1083
+ "canDelete" => bool,
1084
+ "canEdit" => bool,
1085
+ "editableFields" => Array[editable_field],
1086
+ "credentialFormats" => Array[credential_format],
1087
+ "hasManifestEditor" => bool,
1088
+ "hasSecretVersions" => bool,
1089
+ "resourceDisplayName" => String,
1090
+ "resourceTypeLabel" => String,
1091
+ "resourceFields" => json_object,
1092
+ "hasSqlEditor" => bool,
1093
+ "hasStorageBrowser" => bool,
1094
+ "hasArtifactRegistry" => bool,
1095
+ "hasKvBrowser" => bool,
1096
+ "hasKvConsole" => bool,
1097
+ ?"kvDriverName" => String,
1098
+ "isMongoDb" => bool,
1099
+ "hasDockerActions" => bool,
1100
+ "hasSshTerminal" => bool,
1101
+ "hasSftpBrowser" => bool,
1102
+ "sshHost" => String | nil,
1103
+ ?"sshPrivateHost" => String | nil,
1104
+ "defaultSshUsername" => String | nil,
1105
+ "containerId" => String,
1106
+ "databaseName" => String,
1107
+ "storageBucketName" => String,
1108
+ "supportsMetrics" => bool
1109
+ }
1110
+
1111
+ # Composite id `pluginId:accountId:externalId`.
1112
+ #
1113
+ # Spec schema: `ResourceId`.
1114
+ type resource_id = String
1115
+
1116
+ # Normalized status reported by a plugin's renderSidebarItem/renderDetail.
1117
+ #
1118
+ # Spec schema: `ResourceStatus`.
1119
+ type resource_status = "healthy" | "warning" | "error" | "unknown" | "pending" | "stopped"
1120
+
1121
+ # Resource type id. Note: not every plugin exposes every type — see the
1122
+ # plugin's `resourceTypes` for the valid (pluginId, typeId) pairs.
1123
+ #
1124
+ # Spec schema: `ResourceTypeId`.
1125
+ type resource_type_id = "access-application"
1126
+ | "access-policy"
1127
+ | "acm-certificate"
1128
+ | "agent-api-key"
1129
+ | "ai-gateway"
1130
+ | "ai-search"
1131
+ | "alb"
1132
+ | "alert-policy"
1133
+ | "alloydb-cluster"
1134
+ | "alloydb-instance"
1135
+ | "api-gateway"
1136
+ | "app"
1137
+ | "app-engine-service"
1138
+ | "apprunner-service"
1139
+ | "artifact-registry-repo"
1140
+ | "auto-scaling-group"
1141
+ | "azure-aks-cluster"
1142
+ | "azure-app-gateway"
1143
+ | "azure-app-registration"
1144
+ | "azure-app-service"
1145
+ | "azure-container-instance"
1146
+ | "azure-container-registry"
1147
+ | "azure-cosmos-db"
1148
+ | "azure-disk"
1149
+ | "azure-dns-zone"
1150
+ | "azure-event-hub"
1151
+ | "azure-firewall"
1152
+ | "azure-function-app"
1153
+ | "azure-key-vault"
1154
+ | "azure-load-balancer"
1155
+ | "azure-log-analytics"
1156
+ | "azure-managed-identity"
1157
+ | "azure-mysql-flexible"
1158
+ | "azure-nat-gateway"
1159
+ | "azure-nsg"
1160
+ | "azure-postgres-flexible"
1161
+ | "azure-private-dns-zone"
1162
+ | "azure-public-ip"
1163
+ | "azure-redis-cache"
1164
+ | "azure-resource-group"
1165
+ | "azure-route-table"
1166
+ | "azure-service-bus"
1167
+ | "azure-sql-database"
1168
+ | "azure-storage-account"
1169
+ | "azure-subnet"
1170
+ | "azure-vm"
1171
+ | "azure-vnet"
1172
+ | "backend-service"
1173
+ | "backup-vault"
1174
+ | "batch-job-queue"
1175
+ | "bedrock-model"
1176
+ | "bigquery-dataset"
1177
+ | "bigquery-table"
1178
+ | "bigtable-instance"
1179
+ | "block-volume"
1180
+ | "cache-rule"
1181
+ | "certificate"
1182
+ | "ch-database"
1183
+ | "ch-service"
1184
+ | "cloud-armor-policy"
1185
+ | "cloud-build-trigger"
1186
+ | "cloud-deploy-pipeline"
1187
+ | "cloud-dns-record-set"
1188
+ | "cloud-dns-zone"
1189
+ | "cloud-function"
1190
+ | "cloud-nat"
1191
+ | "cloud-router"
1192
+ | "cloud-run-service"
1193
+ | "cloud-scheduler-job"
1194
+ | "cloud-tasks-queue"
1195
+ | "cloudformation-stack"
1196
+ | "cloudfront-distribution"
1197
+ | "cloudsql-instance"
1198
+ | "cloudtrail-trail"
1199
+ | "cloudwatch-alarm"
1200
+ | "cloudwatch-log-group"
1201
+ | "codebuild-project"
1202
+ | "codepipeline-pipeline"
1203
+ | "cognito-user-pool"
1204
+ | "composer-environment"
1205
+ | "custom-hostname"
1206
+ | "d1-database"
1207
+ | "databricks-app"
1208
+ | "databricks-catalog"
1209
+ | "databricks-cluster"
1210
+ | "databricks-cluster-policy"
1211
+ | "databricks-dashboard"
1212
+ | "databricks-function"
1213
+ | "databricks-job"
1214
+ | "databricks-model-version"
1215
+ | "databricks-node-type"
1216
+ | "databricks-pipeline"
1217
+ | "databricks-registered-model"
1218
+ | "databricks-repo"
1219
+ | "databricks-schema"
1220
+ | "databricks-secret-scope"
1221
+ | "databricks-serving-endpoint"
1222
+ | "databricks-sql-query"
1223
+ | "databricks-sql-warehouse"
1224
+ | "databricks-table"
1225
+ | "databricks-vector-search-endpoint"
1226
+ | "databricks-vector-search-index"
1227
+ | "databricks-volume"
1228
+ | "databricks-workspace-object"
1229
+ | "dataflow-job"
1230
+ | "db-user"
1231
+ | "dedicated-inference"
1232
+ | "dns-record"
1233
+ | "docker-container"
1234
+ | "docker-image"
1235
+ | "docker-network"
1236
+ | "docker-volume"
1237
+ | "documentdb-cluster"
1238
+ | "doks-cluster"
1239
+ | "domain"
1240
+ | "droplet"
1241
+ | "durable-object-namespace"
1242
+ | "dynamodb-table"
1243
+ | "ebs-volume"
1244
+ | "ec2-instance"
1245
+ | "ecr-repository"
1246
+ | "ecs-service"
1247
+ | "efs-file-system"
1248
+ | "eks-cluster"
1249
+ | "elastic-ip"
1250
+ | "elasticache-cluster"
1251
+ | "email-routing-rule"
1252
+ | "eventbridge-rule"
1253
+ | "firestore-database"
1254
+ | "firewall"
1255
+ | "firewall-rule"
1256
+ | "floating-ip"
1257
+ | "folder"
1258
+ | "forwarding-rule"
1259
+ | "gateway"
1260
+ | "gce-disk"
1261
+ | "gce-instance"
1262
+ | "gcp-service-account"
1263
+ | "gcs-bucket"
1264
+ | "gen-ai-agent"
1265
+ | "gen-ai-knowledge-base"
1266
+ | "gen-ai-model-router"
1267
+ | "gke-cluster"
1268
+ | "glue-database"
1269
+ | "health-check"
1270
+ | "healthcheck"
1271
+ | "hyperdrive"
1272
+ | "iam-role"
1273
+ | "iam-user"
1274
+ | "image"
1275
+ | "inference-batch"
1276
+ | "instance"
1277
+ | "instance-group"
1278
+ | "instance-template"
1279
+ | "internet-gateway"
1280
+ | "ip-access-rule"
1281
+ | "ip-allocation"
1282
+ | "k8s-cluster"
1283
+ | "k8s-configmap"
1284
+ | "k8s-cronjob"
1285
+ | "k8s-daemonset"
1286
+ | "k8s-deployment"
1287
+ | "k8s-ingress"
1288
+ | "k8s-job"
1289
+ | "k8s-namespace"
1290
+ | "k8s-pod"
1291
+ | "k8s-secret"
1292
+ | "k8s-service"
1293
+ | "k8s-statefulset"
1294
+ | "kafka-cluster"
1295
+ | "kafka-consumer-group"
1296
+ | "kafka-topic"
1297
+ | "kapsule-cluster"
1298
+ | "kinesis-stream"
1299
+ | "kms-key"
1300
+ | "kms-key-ring"
1301
+ | "kv-namespace"
1302
+ | "lambda-function"
1303
+ | "load-balancer"
1304
+ | "log-sink"
1305
+ | "logpush-job"
1306
+ | "machine"
1307
+ | "managed-database"
1308
+ | "managed-db"
1309
+ | "managed-kube"
1310
+ | "media-asset"
1311
+ | "memcached-instance"
1312
+ | "memorystore-memcached"
1313
+ | "memorystore-redis"
1314
+ | "model-api-key"
1315
+ | "mongodb-database"
1316
+ | "mq-broker"
1317
+ | "msk-cluster"
1318
+ | "mssql-database"
1319
+ | "mysql-database"
1320
+ | "nat-gateway"
1321
+ | "neon-ai-gateway"
1322
+ | "neon-auth"
1323
+ | "neon-auth-domain"
1324
+ | "neon-auth-oauth-provider"
1325
+ | "neon-branch"
1326
+ | "neon-bucket"
1327
+ | "neon-credential"
1328
+ | "neon-data-api"
1329
+ | "neon-database"
1330
+ | "neon-endpoint"
1331
+ | "neon-function"
1332
+ | "neon-project"
1333
+ | "neon-role"
1334
+ | "neon-snapshot"
1335
+ | "neptune-cluster"
1336
+ | "netlify-build-hook"
1337
+ | "netlify-deploy"
1338
+ | "netlify-dns-record"
1339
+ | "netlify-dns-zone"
1340
+ | "netlify-env-var"
1341
+ | "netlify-form"
1342
+ | "netlify-site"
1343
+ | "network"
1344
+ | "nfs-share"
1345
+ | "notification-policy"
1346
+ | "object-storage-bucket"
1347
+ | "opensearch-cluster"
1348
+ | "opensearch-domain"
1349
+ | "page-rule"
1350
+ | "pg-database"
1351
+ | "pg-schema"
1352
+ | "placement-group"
1353
+ | "primary-ip"
1354
+ | "private-network"
1355
+ | "project"
1356
+ | "ps-backup"
1357
+ | "ps-branch"
1358
+ | "ps-database"
1359
+ | "ps-deploy-request"
1360
+ | "ps-password"
1361
+ | "pubsub-subscription"
1362
+ | "pubsub-topic"
1363
+ | "queue"
1364
+ | "r2-bucket"
1365
+ | "rate-limit-rule"
1366
+ | "rdb-instance"
1367
+ | "rds-cluster"
1368
+ | "rds-instance"
1369
+ | "redirect-rule"
1370
+ | "redis-instance"
1371
+ | "redshift-cluster"
1372
+ | "route-table"
1373
+ | "route53-health-check"
1374
+ | "route53-hosted-zone"
1375
+ | "route53-record-set"
1376
+ | "s3-bucket"
1377
+ | "sagemaker-endpoint"
1378
+ | "secret-manager-secret"
1379
+ | "secrets-manager-secret"
1380
+ | "security-group"
1381
+ | "server"
1382
+ | "snapshot"
1383
+ | "sns-topic"
1384
+ | "spaces-bucket"
1385
+ | "spanner-backup"
1386
+ | "spanner-database"
1387
+ | "spanner-instance"
1388
+ | "spectrum-application"
1389
+ | "sqs-queue"
1390
+ | "ssh-key"
1391
+ | "ssh-target"
1392
+ | "ssl-certificate"
1393
+ | "ssm-parameter"
1394
+ | "static-ip"
1395
+ | "step-function"
1396
+ | "subnet"
1397
+ | "target-group"
1398
+ | "transformation"
1399
+ | "tunnel"
1400
+ | "turnstile-widget"
1401
+ | "turso-api-token"
1402
+ | "turso-database"
1403
+ | "turso-database-instance"
1404
+ | "turso-group"
1405
+ | "turso-location"
1406
+ | "turso-organization-invite"
1407
+ | "turso-organization-member"
1408
+ | "upload-preset"
1409
+ | "vectorize-index"
1410
+ | "vercel-deployment"
1411
+ | "vercel-domain"
1412
+ | "vercel-env-var"
1413
+ | "vercel-project"
1414
+ | "vercel-team"
1415
+ | "vertex-ai-endpoint"
1416
+ | "vertex-gemini-model"
1417
+ | "volume"
1418
+ | "vpc"
1419
+ | "vpc-network"
1420
+ | "waf-web-acl"
1421
+ | "waiting-room"
1422
+ | "worker"
1423
+ | "worker-route"
1424
+ | "workers-ai-model"
1425
+ | "workflow"
1426
+ | "zone"
1427
+
1428
+ # Spec schema: `ResourceTypeSummary`.
1429
+ type resource_type_summary = {
1430
+ "id" => String,
1431
+ "displayName" => String,
1432
+ ?"pluralDisplayName" => String,
1433
+ ?"parentTypeId" => String,
1434
+ "supportsCreate" => bool,
1435
+ ?"attachTargets" => Array[{
1436
+ "pluginId" => String,
1437
+ "resourceTypeId" => String,
1438
+ ?"matchField" => String,
1439
+ ?"verb" => String
1440
+ }],
1441
+ ?"isSshHost" => bool,
1442
+ ?"sshTunnelAttachSource" => bool
1443
+ }
1444
+
1445
+ # Spec schema: `Role`.
1446
+ type role = role_summary & { "permissions" => Array[permission] }
1447
+
1448
+ # Spec schema: `RoleChangeRequest`.
1449
+ type role_change_request = { ?"role" => organization_role, ?"roleId" => String }
1450
+
1451
+ # Spec schema: `RoleCreateRequest`.
1452
+ type role_create_request = { "name" => String, ?"description" => String, "permissions" => Array[permission] }
1453
+
1454
+ # Spec schema: `RoleSummary`.
1455
+ type role_summary = {
1456
+ "id" => String,
1457
+ "name" => String,
1458
+ "description" => String | nil,
1459
+ "isSystem" => bool,
1460
+ "systemKey" => String | nil
1461
+ }
1462
+ | nil
1463
+
1464
+ # Spec schema: `RoleUpdateRequest`.
1465
+ type role_update_request = { ?"name" => String, ?"description" => String | nil, ?"permissions" => Array[permission] }
1466
+
1467
+ # Spec schema: `SearchHit`.
1468
+ type search_hit = {
1469
+ "id" => resource_id,
1470
+ "pluginId" => String,
1471
+ "pluginDisplayName" => String,
1472
+ "pluginLogoSvg" => String,
1473
+ "resourceTypeId" => String,
1474
+ "resourceTypeLabel" => String,
1475
+ "accountId" => String,
1476
+ "accountName" => String,
1477
+ "displayName" => String,
1478
+ ?"subtitle" => String
1479
+ }
1480
+
1481
+ # Spec schema: `SecretAccessRequest`.
1482
+ type secret_access_request = {
1483
+ "accountId" => String,
1484
+ "resourceId" => resource_id,
1485
+ "versionId" => String,
1486
+ ?"parentResourceId" => resource_id
1487
+ }
1488
+
1489
+ # Spec schema: `SecretAccessResponse`.
1490
+ type secret_access_response = { "value" => String }
1491
+
1492
+ # Spec schema: `SecretAddRequest`.
1493
+ type secret_add_request = {
1494
+ "accountId" => String,
1495
+ "resourceId" => resource_id,
1496
+ "value" => String,
1497
+ ?"parentResourceId" => resource_id
1498
+ }
1499
+
1500
+ # Spec schema: `SecretExportTemplate`.
1501
+ type secret_export_template = {
1502
+ "id" => String,
1503
+ "label" => String,
1504
+ ?"description" => String,
1505
+ "entries" => Array[{ "outputKey" => String, "envKey" => String }]
1506
+ }
1507
+
1508
+ # Spec schema: `SecretModifyRequest`.
1509
+ type secret_modify_request = {
1510
+ "accountId" => String,
1511
+ "resourceId" => resource_id,
1512
+ "versionId" => String,
1513
+ "action" => "enable" | "disable" | "destroy",
1514
+ ?"parentResourceId" => resource_id
1515
+ }
1516
+
1517
+ # Spec schema: `SecretVersion`.
1518
+ type secret_version = { "id" => String, "state" => "ENABLED" | "DISABLED" | "DESTROYED", "createdAt" => String }
1519
+
1520
+ # Spec schema: `SecretVersionResponse`.
1521
+ type secret_version_response = { "version" => secret_version }
1522
+
1523
+ # Spec schema: `SecretVersionsResponse`.
1524
+ type secret_versions_response = { "versions" => Array[secret_version] }
1525
+
1526
+ # Spec schema: `Session`.
1527
+ type session = { "userId" => String, "email" => String | nil, "needsOnboarding" => bool }
1528
+
1529
+ # Spec schema: `SftpDeleteRequest`.
1530
+ type sftp_delete_request = sftp_list_request & { "isDir" => bool }
1531
+
1532
+ # Spec schema: `SftpEntry`.
1533
+ type sftp_entry = { "name" => String, "isDir" => bool, ?"size" => Integer, ?"modifiedAt" => String }
1534
+
1535
+ # Spec schema: `SftpListRequest`.
1536
+ type sftp_list_request = {
1537
+ "accountId" => String,
1538
+ "path" => String,
1539
+ ?"sshKeyId" => String,
1540
+ ?"sshHost" => String,
1541
+ ?"sshUsername" => String
1542
+ }
1543
+
1544
+ # Spec schema: `SftpPathRequest`.
1545
+ type sftp_path_request = {
1546
+ "accountId" => String,
1547
+ "path" => String,
1548
+ ?"sshKeyId" => String,
1549
+ ?"sshHost" => String,
1550
+ ?"sshUsername" => String
1551
+ }
1552
+
1553
+ # Spec schema: `SftpUploadForm`.
1554
+ type sftp_upload_form = {
1555
+ "accountId" => String,
1556
+ "remotePath" => String,
1557
+ "file" => (Upload | _Readable | String),
1558
+ ?"sshKeyId" => String,
1559
+ ?"sshHost" => String,
1560
+ ?"sshUsername" => String
1561
+ }
1562
+
1563
+ # Spec schema: `SqlEstimateRequest`.
1564
+ type sql_estimate_request = { "accountId" => String, "resourceId" => resource_id, "sql" => String }
1565
+
1566
+ # Spec schema: `SqlExecuteRequest`.
1567
+ type sql_execute_request = sql_query_request & { ?"params" => Array[untyped] }
1568
+
1569
+ # Spec schema: `SqlExecuteResponse`.
1570
+ type sql_execute_response = { "affectedRows" => Integer }
1571
+
1572
+ # Spec schema: `SqlQueryRequest`.
1573
+ type sql_query_request = {
1574
+ "accountId" => String,
1575
+ ?"resourceId" => resource_id,
1576
+ ?"resourceTypeId" => String,
1577
+ "sql" => String
1578
+ }
1579
+
1580
+ # Spec schema: `SqlQueryResponse`.
1581
+ type sql_query_response = { "rows" => Array[json_object], ?"durationMs" => Integer }
1582
+
1583
+ # Spec schema: `SshExecRequest`.
1584
+ type ssh_exec_request = {
1585
+ "sshHost" => String,
1586
+ "sshPort" => Integer,
1587
+ "sshUser" => String,
1588
+ "sshKeyId" => String,
1589
+ "command" => String
1590
+ }
1591
+
1592
+ # Spec schema: `SshExecResponse`.
1593
+ type ssh_exec_response = { "stdout" => String, ?"stderr" => String, "code" => Integer }
1594
+
1595
+ # Spec schema: `SshKey`.
1596
+ type ssh_key = {
1597
+ "id" => String,
1598
+ "name" => String,
1599
+ "keyType" => ssh_key_type,
1600
+ "isImported" => bool,
1601
+ "fingerprint" => String | nil,
1602
+ "publicKey" => String,
1603
+ "userId" => String,
1604
+ "ownerEmail" => String,
1605
+ "ownerName" => String,
1606
+ "createdAt" => String
1607
+ }
1608
+
1609
+ # Spec schema: `SshKeyType`.
1610
+ type ssh_key_type = "ssh-rsa"
1611
+ | "ssh-ed25519"
1612
+ | "ssh-dss"
1613
+ | "ecdsa-sha2-nistp256"
1614
+ | "ecdsa-sha2-nistp384"
1615
+ | "ecdsa-sha2-nistp521"
1616
+ | "sk-ssh-ed25519@openssh.com"
1617
+ | "sk-ecdsa-sha2-nistp256@openssh.com"
1618
+
1619
+ # Spec schema: `SshTunnelCreateAccountRequest`.
1620
+ type ssh_tunnel_create_account_request = {
1621
+ "sshHost" => String,
1622
+ "sshPort" => Integer,
1623
+ "sshUser" => String,
1624
+ "sshKeyId" => String,
1625
+ "remoteHost" => String,
1626
+ "remotePort" => Integer,
1627
+ "pluginId" => String,
1628
+ "displayName" => String,
1629
+ "credentials" => Hash[String, String]
1630
+ }
1631
+
1632
+ # Spec schema: `SshTunnelCreateAccountResponse`.
1633
+ type ssh_tunnel_create_account_response = { "accountId" => String }
1634
+
1635
+ # Spec schema: `StatusDot`.
1636
+ type status_dot = { "kind" => "status-dot", "status" => resource_status, ?"label" => String }
1637
+
1638
+ # Spec schema: `StorageListRequest`.
1639
+ type storage_list_request = { "accountId" => String, "bucket" => String, "prefix" => String }
1640
+
1641
+ # Spec schema: `StorageObject`.
1642
+ type storage_object = { "key" => String, ?"size" => Integer, ?"isFolder" => bool, ?"lastModified" => String }
1643
+
1644
+ # Spec schema: `StoragePathRequest`.
1645
+ type storage_path_request = { "accountId" => String, "bucket" => String, "key" => String }
1646
+
1647
+ # Spec schema: `StorageUploadForm`.
1648
+ type storage_upload_form = {
1649
+ "accountId" => String,
1650
+ "bucket" => String,
1651
+ "key" => String,
1652
+ "file" => (Upload | _Readable | String)
1653
+ }
1654
+
1655
+ # Spec schema: `StripeRedirectUrl`.
1656
+ type stripe_redirect_url = { "url" => String }
1657
+
1658
+ # Spec schema: `Subscription`.
1659
+ type subscription = {
1660
+ "status" => "trialing" | "active" | "past_due" | "canceled" | "unpaid",
1661
+ "seatCount" => Integer,
1662
+ "currentPeriodEnd" => String | nil,
1663
+ "stripeCustomerId" => String
1664
+ }
1665
+ | nil
1666
+
1667
+ # Spec schema: `SyncResponse`.
1668
+ type sync_response = { "synced" => Integer }
1669
+
1670
+ # Spec schema: `TabTarget`.
1671
+ type tab_target = {
1672
+ "kind" => "dashboard" | "account" | "resource" | "agents" | "workflows" | "chat",
1673
+ ?"dashboardId" => String,
1674
+ ?"accountId" => String,
1675
+ ?"resourceId" => resource_id,
1676
+ ?"conversationId" => String
1677
+ }
1678
+
1679
+ # Spec schema: `TotpEnrollment`.
1680
+ type totp_enrollment = {
1681
+ "factorId" => String,
1682
+ "challengeId" => String,
1683
+ "qrCode" => String | nil,
1684
+ "secret" => String | nil,
1685
+ "uri" => String | nil
1686
+ }
1687
+
1688
+ # Spec schema: `UnpinRequest`.
1689
+ type unpin_request = { "dashboardId" => String, "resourceId" => resource_id }
1690
+
1691
+ # Spec schema: `UpdateAccountRequest`.
1692
+ type update_account_request = { ?"displayName" => String, ?"bastionId" => String | nil }
1693
+
1694
+ # Spec schema: `UpdateResourceRequest`.
1695
+ type update_resource_request = {
1696
+ "accountId" => String,
1697
+ "pluginId" => String,
1698
+ "resourceTypeId" => String,
1699
+ "resourceId" => resource_id,
1700
+ "fields" => Hash[String, String],
1701
+ ?"parentResourceId" => resource_id
1702
+ }
1703
+
1704
+ # Spec schema: `UpdateResourceResponse`.
1705
+ type update_resource_response = { "id" => resource_id, "displayName" => String, "fields" => Hash[String, String] }
1706
+
1707
+ # Spec schema: `UpdateWidgetRequest`.
1708
+ type update_widget_request = {
1709
+ ?"title" => String,
1710
+ ?"config" => json_object,
1711
+ ?"gridX" => Integer,
1712
+ ?"gridY" => Integer,
1713
+ ?"gridW" => Integer,
1714
+ ?"gridH" => Integer
1715
+ }
1716
+
1717
+ # Spec schema: `UpdatedAccount`.
1718
+ type updated_account = { "id" => String, "displayName" => String, "bastionId" => String | nil }
1719
+
1720
+ # Spec schema: `UserSession`.
1721
+ type user_session = {
1722
+ "id" => String,
1723
+ "ipAddress" => String | nil,
1724
+ "userAgent" => String | nil,
1725
+ "authMethod" => String,
1726
+ "status" => String,
1727
+ "expiresAt" => String,
1728
+ "createdAt" => String,
1729
+ "updatedAt" => String,
1730
+ "current" => bool
1731
+ }
1732
+
1733
+ # Spec schema: `ValidateTabsRequest`.
1734
+ type validate_tabs_request = { "tabs" => Array[{ "id" => String, "target" => tab_target }] }
1735
+
1736
+ # Spec schema: `ValidateTabsResponse`.
1737
+ type validate_tabs_response = { "validTabIds" => Array[String] }
1738
+
1739
+ # Spec schema: `WorkflowPinRequest`.
1740
+ type workflow_pin_request = { "dashboardId" => String, "workflowId" => String }
1741
+
1742
+ class AccountsCredentialsNamespace
1743
+ def initialize: (Transport) -> void
1744
+ def get: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Hash[String, String]
1745
+ def update: (id: String, body: { "credentials" => Hash[String, String] }, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "ok" => bool }
1746
+ end
1747
+
1748
+ class AccountsSyncTypeNamespace
1749
+ def initialize: (Transport) -> void
1750
+ def create: (id: String, type_id: resource_type_id, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[resource]
1751
+ end
1752
+
1753
+ class AccountsNamespace
1754
+ attr_reader credentials: AccountsCredentialsNamespace
1755
+ attr_reader sync_type: AccountsSyncTypeNamespace
1756
+ def initialize: (Transport) -> void
1757
+ def create: (body: (create_account_request & { ?"pluginId" => plugin_id }), ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> create_account_response
1758
+ def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1759
+ def detail: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> account_detail
1760
+ def list: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[account]
1761
+ def plugins: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[plugin_summary]
1762
+ def resources: (id: String, ?org_id: String?, ?top_level_only: "true" | "false"?, ?request_options: Hash[Symbol, untyped]?) -> Array[resource]
1763
+ def sync: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> sync_response
1764
+ def update: (id: String, body: update_account_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> updated_account
1765
+ end
1766
+
1767
+ class AgentsSessionsNamespace
1768
+ def initialize: (Transport) -> void
1769
+ def create: (body: create_agent_session, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> agent_session
1770
+ def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "ok" => bool }
1771
+ def list: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[agent_session]
1772
+ def open: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "command" => String, "cwd" => String, ?"sshKeyId" => String, ?"sshKeyName" => String }
1773
+ def reconcile: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "branchName" => String, "message" => String }
1774
+ end
1775
+
1776
+ class AgentsSettingsNamespace
1777
+ def initialize: (Transport) -> void
1778
+ def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> agent_settings
1779
+ def update: (body: (agent_settings & Hash[String, untyped]), ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> (agent_settings & Hash[String, untyped])
1780
+ end
1781
+
1782
+ class AgentsNamespace
1783
+ attr_reader sessions: AgentsSessionsNamespace
1784
+ attr_reader settings: AgentsSettingsNamespace
1785
+ def initialize: (Transport) -> void
1786
+ def accounts: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[agent_vm_account]
1787
+ end
1788
+
1789
+ class ApiKeysNamespace
1790
+ def initialize: (Transport) -> void
1791
+ def create: (body: create_api_key_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> created_api_key
1792
+ def list: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[api_key]
1793
+ def revoke: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1794
+ def rotate: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> created_api_key
1795
+ end
1796
+
1797
+ class ArtifactsNamespace
1798
+ def initialize: (Transport) -> void
1799
+ def list: (body: artifacts_list_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> json_object
1800
+ end
1801
+
1802
+ class AssociationsNamespace
1803
+ def initialize: (Transport) -> void
1804
+ def create: (body: association_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1805
+ def literal: (body: literal_association_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1806
+ end
1807
+
1808
+ class AuditLogsNamespace
1809
+ def initialize: (Transport) -> void
1810
+ def get: (?org_id: String?, ?page: Integer?, ?page_size: Integer?, ?action: String?, ?entity_type: String?, ?user_id: String?, ?from: String?, ?to: String?, ?request_options: Hash[Symbol, untyped]?) -> audit_response
1811
+ end
1812
+
1813
+ class AuthNamespace
1814
+ def initialize: (Transport) -> void
1815
+ def me: (?request_options: Hash[Symbol, untyped]?) -> session
1816
+ def orgs: (?request_options: Hash[Symbol, untyped]?) -> Array[org_membership]
1817
+ end
1818
+
1819
+ class BastionsNamespace
1820
+ def initialize: (Transport) -> void
1821
+ def create: (body: create_bastion_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> create_bastion_response
1822
+ def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1823
+ def list: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[bastion]
1824
+ end
1825
+
1826
+ class BillingNamespace
1827
+ def initialize: (Transport) -> void
1828
+ def checkout: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> stripe_redirect_url
1829
+ def portal: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> stripe_redirect_url
1830
+ def status: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> billing_status
1831
+ end
1832
+
1833
+ class BudgetsNamespace
1834
+ def initialize: (Transport) -> void
1835
+ def create: (body: budget_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> budget_full
1836
+ def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1837
+ def events: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[budget_alert_event]
1838
+ def get: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> budget_full
1839
+ def list: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[budget_with_status]
1840
+ def update: (id: String, body: budget_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> budget_full
1841
+ end
1842
+
1843
+ class ConnectNamespace
1844
+ def initialize: (Transport) -> void
1845
+ def env_deploy: (body: connect_env_deploy_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1846
+ def secret_export: (body: connect_secret_export_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1847
+ def templates: (body: connect_templates_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> connect_templates_response
1848
+ end
1849
+
1850
+ class CostsNamespace
1851
+ def initialize: (Transport) -> void
1852
+ def dimensions: (dimension: "provider" | "account" | "service" | "region" | "resource" | "tag" | "tag-keys", ?org_id: String?, ?tag_key: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_dimension_values
1853
+ def query: (body: cost_query_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> cost_query_response
1854
+ def status: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "accounts" => Array[cost_account_status] }
1855
+ end
1856
+
1857
+ class DashboardsDefaultNamespace
1858
+ def initialize: (Transport) -> void
1859
+ def full: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> dashboard_with_pins
1860
+ end
1861
+
1862
+ class DashboardsPinNamespace
1863
+ def initialize: (Transport) -> void
1864
+ def create: (body: pin_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1865
+ def get: (pin_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> pin_full
1866
+ def range: (pin_id: String, ?org_id: String?, ?from_ms: (Integer | nil)?, ?to_ms: (Integer | nil)?, ?request_options: Hash[Symbol, untyped]?) -> pin_range_response
1867
+ end
1868
+
1869
+ class DashboardsWidgetsNamespace
1870
+ def initialize: (Transport) -> void
1871
+ def create: (body: create_widget_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> dashboard_widget_full
1872
+ def delete: (widget_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1873
+ def update: (widget_id: String, body: update_widget_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> dashboard_widget_full
1874
+ end
1875
+
1876
+ class DashboardsNamespace
1877
+ attr_reader default: DashboardsDefaultNamespace
1878
+ attr_reader pin: DashboardsPinNamespace
1879
+ attr_reader widgets: DashboardsWidgetsNamespace
1880
+ def initialize: (Transport) -> void
1881
+ def create: (body: { "name" => String }, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> dashboard_full
1882
+ def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1883
+ def get: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> dashboard_with_pins
1884
+ def list: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[dashboard]
1885
+ def probe: (body: probe_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Hash[String, probe_status]
1886
+ def rename: (id: String, body: { "name" => String }, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1887
+ def reorder: (id: String, body: reorder_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1888
+ def unpin: (body: unpin_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1889
+ def validate_tabs: (body: validate_tabs_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> validate_tabs_response
1890
+ def workflow_pin: (body: workflow_pin_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1891
+ def workflow_unpin: (body: workflow_pin_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1892
+ end
1893
+
1894
+ class DockerNamespace
1895
+ def initialize: (Transport) -> void
1896
+ def command: (body: docker_command_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> docker_command_response
1897
+ end
1898
+
1899
+ class InvitationsByTokenNamespace
1900
+ def initialize: (Transport) -> void
1901
+ def get: (token: String, ?request_options: Hash[Symbol, untyped]?) -> invitation_detail
1902
+ end
1903
+
1904
+ class InvitationsNamespace
1905
+ attr_reader by_token: InvitationsByTokenNamespace
1906
+ def initialize: (Transport) -> void
1907
+ def accept: (body: accept_invitation_request, ?request_options: Hash[Symbol, untyped]?) -> accept_invitation_response
1908
+ end
1909
+
1910
+ class KvNamespace
1911
+ def initialize: (Transport) -> void
1912
+ def command: (body: kv_command_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> kv_command_response
1913
+ end
1914
+
1915
+ class OrgsNamespace
1916
+ def initialize: (Transport) -> void
1917
+ def create: (body: create_org_request, ?request_options: Hash[Symbol, untyped]?) -> organization
1918
+ end
1919
+
1920
+ class ProfileEmailChangeNamespace
1921
+ def initialize: (Transport) -> void
1922
+ def confirm: (?body: { "code" => String }?, ?request_options: Hash[Symbol, untyped]?) -> { "email" => String }
1923
+ def create: (?body: { "newEmail" => String }?, ?request_options: Hash[Symbol, untyped]?) -> { "newEmail" => String, "expiresAt" => String }
1924
+ end
1925
+
1926
+ class ProfileMfaNamespace
1927
+ def initialize: (Transport) -> void
1928
+ def challenge: (factor_id: String, ?request_options: Hash[Symbol, untyped]?) -> { "challengeId" => String }
1929
+ def create: (?request_options: Hash[Symbol, untyped]?) -> totp_enrollment
1930
+ def delete: (factor_id: String, ?request_options: Hash[Symbol, untyped]?) -> ok
1931
+ def list: (?request_options: Hash[Symbol, untyped]?) -> Array[auth_factor]
1932
+ def verify: (factor_id: String, ?body: { "challengeId" => String, "code" => String }?, ?request_options: Hash[Symbol, untyped]?) -> { "verified" => bool }
1933
+ end
1934
+
1935
+ class ProfileSessionsNamespace
1936
+ def initialize: (Transport) -> void
1937
+ def delete: (session_id: String, ?request_options: Hash[Symbol, untyped]?) -> ok
1938
+ def list: (?request_options: Hash[Symbol, untyped]?) -> Array[user_session]
1939
+ def revoke_others: (?request_options: Hash[Symbol, untyped]?) -> { "revoked" => Integer }
1940
+ end
1941
+
1942
+ class ProfileNamespace
1943
+ attr_reader email_change: ProfileEmailChangeNamespace
1944
+ attr_reader mfa: ProfileMfaNamespace
1945
+ attr_reader sessions: ProfileSessionsNamespace
1946
+ def initialize: (Transport) -> void
1947
+ def get: (?request_options: Hash[Symbol, untyped]?) -> profile
1948
+ def password_reset: (?request_options: Hash[Symbol, untyped]?) -> { "passwordResetUrl" => String, "expiresAt" => String }
1949
+ def send_verification_email: (?request_options: Hash[Symbol, untyped]?) -> ok
1950
+ def update: (?body: { ?"firstName" => String, ?"lastName" => String }?, ?request_options: Hash[Symbol, untyped]?) -> profile_summary
1951
+ end
1952
+
1953
+ class ResourcesManifestNamespace
1954
+ def initialize: (Transport) -> void
1955
+ def create: (plugin_id: plugin_id, type_id: resource_type_id, body: apply_manifest_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1956
+ def get: (plugin_id: plugin_id, type_id: resource_type_id, resource_id: resource_id, account_id: String, ?org_id: String?, ?parent_resource_id: resource_id?, ?request_options: Hash[Symbol, untyped]?) -> manifest
1957
+ end
1958
+
1959
+ class ResourcesSecretVersionsNamespace
1960
+ def initialize: (Transport) -> void
1961
+ def access: (plugin_id: plugin_id, type_id: resource_type_id, body: secret_access_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> secret_access_response
1962
+ def add: (plugin_id: plugin_id, type_id: resource_type_id, body: secret_add_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> secret_version_response
1963
+ def get: (plugin_id: plugin_id, type_id: resource_type_id, resource_id: resource_id, account_id: String, ?org_id: String?, ?parent_resource_id: resource_id?, ?request_options: Hash[Symbol, untyped]?) -> secret_versions_response
1964
+ def modify: (plugin_id: plugin_id, type_id: resource_type_id, body: secret_modify_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> secret_version_response
1965
+ end
1966
+
1967
+ class ResourcesNamespace
1968
+ attr_reader manifest: ResourcesManifestNamespace
1969
+ attr_reader secret_versions: ResourcesSecretVersionsNamespace
1970
+ def initialize: (Transport) -> void
1971
+ def attach: (body: attach_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1972
+ def create: (body: create_resource_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> create_resource_response
1973
+ def create_config: (body: create_config_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> json_object
1974
+ def create_cost_estimate: (body: create_cost_estimate_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "estimate" => json_object & (Hash[String, untyped] | nil) }
1975
+ def create_pricing: (body: create_pricing_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Hash[String, json_object]
1976
+ def delete: (plugin_id: plugin_id, type_id: resource_type_id, resource_id: resource_id, account_id: String, ?org_id: String?, ?parent_resource_id: resource_id?, ?request_options: Hash[Symbol, untyped]?) -> ok
1977
+ def describe: (plugin_id: plugin_id, type_id: resource_type_id, body: describe_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> describe_response
1978
+ def detail: (plugin_id: plugin_id, type_id: resource_type_id, resource_id: resource_id, ?org_id: String?, ?account_id: String?, ?parent_resource_id: resource_id?, ?include_peer_panes: "true" | "false"?, ?request_options: Hash[Symbol, untyped]?) -> resource_detail
1979
+ def export_credential: (plugin_id: plugin_id, type_id: resource_type_id, body: export_credential_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> credential_export
1980
+ def field_action: (body: field_action_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> field_action_response
1981
+ def import_yaml: (plugin_id: plugin_id, body: import_yaml_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> json_object
1982
+ def invoke_action: (body: invoke_action_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1983
+ def logs: (plugin_id: plugin_id, type_id: resource_type_id, body: logs_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> logs_response
1984
+ def metrics: (plugin_id: plugin_id, type_id: resource_type_id, body: metrics_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> metrics_response
1985
+ def nosql_command: (body: no_sql_command_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "result" => json_object }
1986
+ def peer_panes: (plugin_id: plugin_id, type_id: resource_type_id, body: peer_panes_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[peer_pane]
1987
+ def picker_resources: (body: picker_resources_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[picker_resource]
1988
+ def update: (body: update_resource_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> update_resource_response
1989
+ end
1990
+
1991
+ class SearchNamespace
1992
+ def initialize: (Transport) -> void
1993
+ def list: (?org_id: String?, ?q: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[search_hit]
1994
+ end
1995
+
1996
+ class SftpNamespace
1997
+ def initialize: (Transport) -> void
1998
+ def delete: (body: sftp_delete_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
1999
+ def download: (account_id: String, paths: String, ?org_id: String?, ?base_path: String?, ?ssh_key_id: String?, ?ssh_host: String?, ?ssh_username: String?, ?request_options: Hash[Symbol, untyped]?) -> String
2000
+ def list: (body: sftp_list_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[sftp_entry]
2001
+ def mkdir: (body: sftp_path_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
2002
+ def upload: (body: sftp_upload_form, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
2003
+ end
2004
+
2005
+ class SqlNamespace
2006
+ def initialize: (Transport) -> void
2007
+ def estimate: (body: sql_estimate_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> json_object
2008
+ def execute: (body: sql_execute_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> sql_execute_response
2009
+ def query: (body: sql_query_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> (sql_query_response | json_object)
2010
+ end
2011
+
2012
+ class SshKeysNamespace
2013
+ def initialize: (Transport) -> void
2014
+ def create: (body: generate_ssh_key_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> generated_ssh_key
2015
+ def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
2016
+ def import: (body: import_ssh_key_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> imported_ssh_key
2017
+ def list: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[ssh_key]
2018
+ end
2019
+
2020
+ class SshTunnelsNamespace
2021
+ def initialize: (Transport) -> void
2022
+ def active: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Hash[String, active_tunnel]
2023
+ def close: (body: { "tunnelId" => String }, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
2024
+ def create_account: (body: ssh_tunnel_create_account_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ssh_tunnel_create_account_response
2025
+ def exec: (body: ssh_exec_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ssh_exec_response
2026
+ def open: (body: { "accountId" => String }, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "tunnelId" => String, "localPort" => Integer }
2027
+ end
2028
+
2029
+ class StorageNamespace
2030
+ def initialize: (Transport) -> void
2031
+ def delete: (body: storage_path_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
2032
+ def download: (account_id: String, bucket: String, keys: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> String
2033
+ def list: (body: storage_list_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[storage_object]
2034
+ def mkdir: (body: storage_path_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
2035
+ def upload: (body: storage_upload_form, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
2036
+ end
2037
+
2038
+ class TeamInvitationsNamespace
2039
+ def initialize: (Transport) -> void
2040
+ def create: (body: invite_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> invite_response
2041
+ def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
2042
+ def list: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[invitation]
2043
+ end
2044
+
2045
+ class TeamMembersNamespace
2046
+ def initialize: (Transport) -> void
2047
+ def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
2048
+ def list: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[org_member]
2049
+ def role: (id: String, body: role_change_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
2050
+ end
2051
+
2052
+ class TeamRolesNamespace
2053
+ def initialize: (Transport) -> void
2054
+ def create: (body: role_create_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> role
2055
+ def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
2056
+ def list: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[role]
2057
+ def update: (id: String, body: role_update_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> role
2058
+ end
2059
+
2060
+ class TeamNamespace
2061
+ attr_reader invitations: TeamInvitationsNamespace
2062
+ attr_reader members: TeamMembersNamespace
2063
+ attr_reader roles: TeamRolesNamespace
2064
+ def initialize: (Transport) -> void
2065
+ def me: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> me_response
2066
+ def permissions: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> permission_catalog
2067
+ end
2068
+
2069
+ class APIV1Client
2070
+ attr_reader transport: Transport
2071
+ attr_reader accounts: AccountsNamespace
2072
+ attr_reader agents: AgentsNamespace
2073
+ attr_reader api_keys: ApiKeysNamespace
2074
+ attr_reader artifacts: ArtifactsNamespace
2075
+ attr_reader associations: AssociationsNamespace
2076
+ attr_reader audit_logs: AuditLogsNamespace
2077
+ attr_reader auth: AuthNamespace
2078
+ attr_reader bastions: BastionsNamespace
2079
+ attr_reader billing: BillingNamespace
2080
+ attr_reader budgets: BudgetsNamespace
2081
+ attr_reader connect: ConnectNamespace
2082
+ attr_reader costs: CostsNamespace
2083
+ attr_reader dashboards: DashboardsNamespace
2084
+ attr_reader docker: DockerNamespace
2085
+ attr_reader invitations: InvitationsNamespace
2086
+ attr_reader kv: KvNamespace
2087
+ attr_reader orgs: OrgsNamespace
2088
+ attr_reader profile: ProfileNamespace
2089
+ attr_reader resources: ResourcesNamespace
2090
+ attr_reader search: SearchNamespace
2091
+ attr_reader sftp: SftpNamespace
2092
+ attr_reader sql: SqlNamespace
2093
+ attr_reader ssh_keys: SshKeysNamespace
2094
+ attr_reader ssh_tunnels: SshTunnelsNamespace
2095
+ attr_reader storage: StorageNamespace
2096
+ attr_reader team: TeamNamespace
2097
+ def initialize: (**untyped) -> void
2098
+ end
2099
+ end