@cycleplatform/api-client-typescript 0.1.4 → 0.1.7

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.
@@ -81,6 +81,13 @@ export interface paths {
81
81
  */
82
82
  post: operations["disableTwoFa"];
83
83
  };
84
+ "/v1/account/2fa/recover": {
85
+ /**
86
+ * Disable TwoFa
87
+ * @description Disable TwoFa for an account
88
+ */
89
+ post: operations["recoverTwoFa"];
90
+ };
84
91
  "/v1/announcements": {
85
92
  /**
86
93
  * List Announcements
@@ -275,6 +282,28 @@ export interface paths {
275
282
  */
276
283
  post: operations["reconfigureLoadBalancer"];
277
284
  };
285
+ "/v1/environments/{environmentId}/services/lb/telemetry/report": {
286
+ /**
287
+ * Fetch load balancer v1 telemetry report
288
+ * @description ## Permissions
289
+ * Requires the `environments-view` capability. Also requires the user to have access specifically to the requested environment.
290
+ *
291
+ * ## Details
292
+ * Fetches a telemetry report for Cycle's native load balancer for the specified range.
293
+ */
294
+ get: operations["getLoadBalancerTelemetryReport"];
295
+ };
296
+ "/v1/environments/{environmentId}/services/lb/telemetry/latest": {
297
+ /**
298
+ * Fetch the latest load balancer v1 telemetry.
299
+ * @description ## Permissions
300
+ * Requires the `environments-view` capability. Also requires the user to have access specifically to the requested environment.
301
+ *
302
+ * ## Details
303
+ * Fetches the latest telemetry report for Cycle's native load balancer. Provides detailed information on a per-instance basis.
304
+ */
305
+ get: operations["getLoadBalancerLatestTelemetryReport"];
306
+ };
278
307
  "/v1/environments/{environmentId}/services/discovery/tasks": {
279
308
  /**
280
309
  * Reconfigure Discovery
@@ -463,6 +492,13 @@ export interface paths {
463
492
  */
464
493
  get: operations["getInstanceResourcesTelemetryReport"];
465
494
  };
495
+ "/v1/containers/{containerId}/instances/{instanceId}/telemetry/resources/stream": {
496
+ /**
497
+ * Instance Telemetry Stream Credentials
498
+ * @description Requires the `containers-view` capability. Retrieves an access token and URL to open a websocket to for streaming instance telemetry live. This connects directly to the compute layer on the server the instance is hosted on, and streams telemetry in real time.
499
+ */
500
+ get: operations["getInstanceResourcesTelemetryStream"];
501
+ };
466
502
  "/v1/containers/{containerId}/servers": {
467
503
  /**
468
504
  * List Container Servers
@@ -681,6 +717,13 @@ export interface paths {
681
717
  */
682
718
  get: operations["getHubMembers"];
683
719
  };
720
+ "/v1/hubs/current/membership": {
721
+ /**
722
+ * List Hub Memberships
723
+ * @description Gets the membership information for the current hub for the requesting account.
724
+ */
725
+ get: operations["getHubMembership"];
726
+ };
684
727
  "/v1/hubs/current/members/{memberId}": {
685
728
  /**
686
729
  * Fetch Hub Member
@@ -1082,29 +1125,29 @@ export interface paths {
1082
1125
  };
1083
1126
  "/v1/sdn/networks": {
1084
1127
  /**
1085
- * List SDNs
1128
+ * List SDN Network
1086
1129
  * @description Requires the `sdn-networks-view` capability.
1087
1130
  */
1088
1131
  get: operations["getNetworks"];
1089
1132
  /**
1090
- * Create SDN
1133
+ * Create SDN Network
1091
1134
  * @description Requires the `sdn-networks-manage` capability.
1092
1135
  */
1093
1136
  post: operations["createSDNNetwork"];
1094
1137
  };
1095
1138
  "/v1/sdn/networks/{networkId}": {
1096
1139
  /**
1097
- * Fetch SDN
1140
+ * Fetch SDN Network
1098
1141
  * @description Requires the `sdn-networks-view` capability.
1099
1142
  */
1100
1143
  get: operations["getNetwork"];
1101
1144
  /**
1102
- * Remove SDN
1145
+ * Remove SDN Network
1103
1146
  * @description Requires the `sdn-networks-manage` capability.
1104
1147
  */
1105
1148
  delete: operations["removeSDNNetwork"];
1106
1149
  /**
1107
- * Update SDN
1150
+ * Update SDN Network
1108
1151
  * @description Requires the `sdn-networks-manage` capability.
1109
1152
  */
1110
1153
  patch: operations["updateSDNNetwork"];
@@ -1116,6 +1159,35 @@ export interface paths {
1116
1159
  */
1117
1160
  post: operations["createNetworkJob"];
1118
1161
  };
1162
+ "/v1/sdn/global-lbs": {
1163
+ /**
1164
+ * List Global Load Balancers
1165
+ * @description Requires the `sdn-global-lbs-view` capability.
1166
+ */
1167
+ get: operations["getGlobalLoadBalancers"];
1168
+ /**
1169
+ * Create Global Load Balancer
1170
+ * @description Requires the `sdn-global-lbs-manage` capability.
1171
+ */
1172
+ post: operations["createGlobalLoadBalancer"];
1173
+ };
1174
+ "/v1/sdn/global-lbs/{lbId}": {
1175
+ /**
1176
+ * Fetch a Global Load Balancer
1177
+ * @description Requires the `sdn-global-lbs-view` capability.
1178
+ */
1179
+ get: operations["getGlobalLoadBalancer"];
1180
+ /**
1181
+ * Remove Global Load Balancer
1182
+ * @description Requires the `sdn-global-lbs-manage` capability.
1183
+ */
1184
+ delete: operations["removeGlobalLoadBalancer"];
1185
+ /**
1186
+ * Update Global Load Balancer
1187
+ * @description Requires the `sdn-global-lbs-manage` capability.
1188
+ */
1189
+ patch: operations["updateGlobalLoadBalancer"];
1190
+ };
1119
1191
  "/v1/pipelines": {
1120
1192
  /**
1121
1193
  * List Pipelines
@@ -1202,13 +1274,6 @@ export interface paths {
1202
1274
  */
1203
1275
  get: operations["instanceConsoleAuth"];
1204
1276
  };
1205
- "/v1/containers/{containerId}/instances/{instanceId}/telemetry/resources/stream": {
1206
- /**
1207
- * Instance Telemetry Stream Credentials
1208
- * @description Requires the `containers-view` capability. Retrieves an access token and URL to open a websocket to for streaming instance telemetry live. This connects directly to the compute layer on the server the instance is hosted on, and streams telemetry in real time.
1209
- */
1210
- get: operations["getInstanceResourcesTelemetryStream"];
1211
- };
1212
1277
  "/v1/security/report": {
1213
1278
  /**
1214
1279
  * Get Security Report
@@ -1252,7 +1317,7 @@ export interface components {
1252
1317
  ErrorEnvelope: {
1253
1318
  error: components["schemas"]["Error"];
1254
1319
  /** @description Data will always be `null` here. */
1255
- data: Record<string, never>;
1320
+ data: Record<string, unknown> | null;
1256
1321
  };
1257
1322
  /**
1258
1323
  * ID
@@ -1381,7 +1446,7 @@ export interface components {
1381
1446
  * @description A capability that a user or API key that represents what an API key or a user can do.
1382
1447
  * @enum {string}
1383
1448
  */
1384
- Capability: "hubs-update" | "hubs-delete" | "hubs-invites-send" | "hubs-invites-manage" | "hubs-members-manage" | "hubs-members-view" | "hubs-notifications-listen" | "hubs-integrations-manage" | "billing-methods-manage" | "billing-invoices-view" | "billing-invoices-pay" | "billing-orders-manage" | "billing-services-view" | "billing-credits-view" | "sdn-networks-view" | "sdn-networks-manage" | "pipelines-manage" | "pipelines-view" | "pipelines-trigger" | "environments-create" | "environments-delete" | "environments-view" | "environments-update" | "environments-state" | "environments-services-manage" | "environments-vpn" | "environments-vpn-manage" | "environments-scopedvariables-manage" | "environments-scopedvariables-view" | "containers-deploy" | "containers-view" | "containers-console" | "containers-ssh" | "containers-update" | "containers-delete" | "containers-state" | "containers-volumes-manage" | "containers-volumes-view" | "containers-instances-migrate" | "containers-backups-manage" | "containers-backups-view" | "stacks-manage" | "stacks-view" | "stacks-builds-manage" | "stacks-builds-deploy" | "images-view" | "images-import" | "images-update" | "images-delete" | "images-build" | "images-sources-view" | "images-sources-manage" | "jobs-view" | "api-keys-manage" | "ips-manage" | "servers-provision" | "servers-view" | "servers-update" | "servers-login" | "servers-state" | "servers-decommission" | "infrastructure-providers-manage" | "infrastructure-providers-view" | "usage-view" | "dns-view" | "dns-manage" | "dns-certs-view";
1449
+ Capability: "hubs-update" | "hubs-delete" | "hubs-invites-send" | "hubs-invites-manage" | "hubs-members-manage" | "hubs-members-view" | "hubs-notifications-listen" | "hubs-integrations-manage" | "hubs-usage-view" | "billing-methods-manage" | "billing-invoices-view" | "billing-invoices-pay" | "billing-orders-manage" | "billing-services-view" | "billing-credits-view" | "sdn-networks-view" | "sdn-networks-manage" | "sdn-global-lbs-manage" | "sdn-global-lbs-view" | "pipelines-manage" | "pipelines-view" | "pipelines-trigger" | "environments-create" | "environments-delete" | "environments-view" | "environments-update" | "environments-state" | "environments-services-manage" | "environments-vpn" | "environments-vpn-manage" | "environments-scopedvariables-manage" | "environments-scopedvariables-view" | "containers-deploy" | "containers-view" | "containers-console" | "containers-ssh" | "containers-update" | "containers-delete" | "containers-state" | "containers-volumes-manage" | "containers-volumes-view" | "containers-instances-migrate" | "containers-backups-manage" | "containers-backups-view" | "stacks-manage" | "stacks-view" | "stacks-builds-manage" | "stacks-builds-deploy" | "images-view" | "images-import" | "images-update" | "images-delete" | "images-build" | "images-sources-view" | "images-sources-manage" | "jobs-view" | "api-keys-manage" | "ips-manage" | "servers-provision" | "servers-view" | "servers-update" | "servers-login" | "servers-state" | "servers-decommission" | "infrastructure-providers-manage" | "infrastructure-providers-view" | "security-view" | "security-manage" | "monitor-view" | "monitor-manage" | "dns-view" | "dns-manage" | "dns-certs-view";
1385
1450
  /**
1386
1451
  * HubMembershipMeta
1387
1452
  * @description A list of meta fields that can be applied to a membership.
@@ -1396,27 +1461,37 @@ export interface components {
1396
1461
  HubMembership: {
1397
1462
  id: components["schemas"]["ID"];
1398
1463
  /** @description An ID for the account associated with the given membership. */
1399
- account_id: string;
1464
+ account_id?: string;
1400
1465
  hub_id: components["schemas"]["HubID"];
1401
- /** @description A number that maps to the currently set role of the member. */
1402
- role: number;
1403
1466
  /**
1404
1467
  * MembershipEvents
1405
1468
  * @description A collection of timestamps for each event in the membership's lifetime.
1406
1469
  */
1407
1470
  events: {
1408
1471
  /** @description The timestamp of when the membership was created. */
1409
- created: components["schemas"]["DateTime"];
1472
+ created?: components["schemas"]["DateTime"];
1410
1473
  /** @description The timestamp of when the membership was updated. */
1411
- updated: components["schemas"]["DateTime"];
1474
+ updated?: components["schemas"]["DateTime"];
1412
1475
  /** @description The timestamp of when the membership was deleted. */
1413
- deleted: components["schemas"]["DateTime"];
1476
+ deleted?: components["schemas"]["DateTime"];
1414
1477
  /** @description The timestamp of when the membership was accepted. */
1415
1478
  joined: components["schemas"]["DateTime"];
1416
1479
  };
1417
- state: components["schemas"]["MembershipState"];
1418
- invitation: components["schemas"]["Invitation"];
1419
- /** @description Information about this members permissions for a given hub. */
1480
+ /**
1481
+ * @description A number that maps to the currently set role of the member.
1482
+ *
1483
+ * ## Roles
1484
+ * 0 = DEFAULT
1485
+ * 1 = OWNER
1486
+ * 2 = ADMIN
1487
+ * 4 = DEVELOPER
1488
+ * 8 = ANALYST
1489
+ */
1490
+ role: number;
1491
+ /**
1492
+ * HubMembershipPermissions
1493
+ * @description Information about this member's permissions for a given hub.
1494
+ */
1420
1495
  permissions: {
1421
1496
  /** @description A boolean where true represents the member has access to view and manage all environments for the hub. */
1422
1497
  all_environments: boolean;
@@ -1427,8 +1502,11 @@ export interface components {
1427
1502
  manage: boolean;
1428
1503
  })[];
1429
1504
  };
1430
- /** @description Preference information set by the user for the membership. */
1431
- prefereneces: {
1505
+ /**
1506
+ * HubMembershipPreferences
1507
+ * @description Preference information set by the user for the membership.
1508
+ */
1509
+ preferences?: {
1432
1510
  portal: {
1433
1511
  notifications: {
1434
1512
  jobs: {
@@ -1439,13 +1517,15 @@ export interface components {
1439
1517
  email: {
1440
1518
  notificaitons?: {
1441
1519
  server: {
1442
- new?: boolean;
1443
- offline?: boolean;
1520
+ new: boolean | null;
1521
+ offline: boolean | null;
1444
1522
  };
1445
1523
  };
1446
1524
  };
1447
1525
  };
1448
- /** @description Information about the membership as it pertains to the account holders affiliation with being a Cycle employee. Cycle employee accounts do not consume a "membership" for a given hub. */
1526
+ state: components["schemas"]["MembershipState"];
1527
+ invitation: components["schemas"]["Invitation"];
1528
+ /** @description If this member is a Cycle employee, their employee ID will be listed here. Cycle employee accounts do not consume a "membership" for a given hub. */
1449
1529
  cycle?: {
1450
1530
  /** @description The ID of the employee this membership is associated with. */
1451
1531
  employee_id: string;
@@ -1454,7 +1534,7 @@ export interface components {
1454
1534
  };
1455
1535
  /**
1456
1536
  * Events
1457
- * @description Cycle resources usually contain an events field, the event being the key and a formatted time string being the value.
1537
+ * @description Describes the date and time at which certain events occurred in the lifetime of this resource.
1458
1538
  */
1459
1539
  Events: {
1460
1540
  [key: string]: components["schemas"]["DateTime"] | undefined;
@@ -1570,9 +1650,9 @@ export interface components {
1570
1650
  /** @description Information about the plan associated with this hub. */
1571
1651
  plans: {
1572
1652
  /** @description An ID referencing the pricing tier applied to this hub. */
1573
- tier_id: string;
1653
+ tier_id: string | null;
1574
1654
  /** @description An ID referencing the support plan applied to this hub. */
1575
- support_id: string;
1655
+ support_id: string | null;
1576
1656
  };
1577
1657
  /** @description An array of email addresses to whom the billing invoices will be sent to. If left empty, they will be sent to the owner of this hub. */
1578
1658
  emails: (string)[] | null;
@@ -2439,9 +2519,10 @@ export interface components {
2439
2519
  /** @description Whether or not legacy networking mode is enabled on this environment. */
2440
2520
  legacy_networking: boolean;
2441
2521
  };
2442
- HAProxyConfig: {
2522
+ /** HAProxyConfig */
2523
+ HaProxyConfigSet: {
2443
2524
  /** @description Settings that describe how incoming traffic to the load balancer is handled. */
2444
- frontend: ({
2525
+ frontend: {
2445
2526
  /**
2446
2527
  * @description The type of traffic expected by the load balancer for this port. Can be either:
2447
2528
  * - tcp: Traffic is forwarded without any parsing or additional manipulation.
@@ -2462,9 +2543,9 @@ export interface components {
2462
2543
  /** @description The number of milliseconds the load balancer will wait for a complete HTTP request. See the [HAProxy Docs](https://cbonte.github.io/haproxy-dconv/1.7/configuration.html#4.2-timeout%20http-request) for more information. (`http` mode only) */
2463
2544
  http_request_ms: number | null;
2464
2545
  }) | null;
2465
- }) | null;
2546
+ };
2466
2547
  /** @description Settings related to how the load balancer routes connections to container instances. */
2467
- backend: ({
2548
+ backend: {
2468
2549
  /**
2469
2550
  * @description How connections are balanced across your container instances. Can be one of the following:
2470
2551
  * - `roundrobin`: Each container instance is used in turns.
@@ -2488,8 +2569,82 @@ export interface components {
2488
2569
  /** @description The number of milliseconds the load balancer will allow for inactivity on a bidirectional tunnel. See the [HAProxy Docs](https://cbonte.github.io/haproxy-dconv/1.7/configuration.html#4-timeout%20tunnel) for more information. */
2489
2570
  tunnel_secs: number | null;
2490
2571
  }) | null;
2491
- }) | null;
2572
+ };
2573
+ };
2574
+ /** @description Describes settings that are passed to HAProxy within the load balancer. */
2575
+ HaProxyConfig: {
2576
+ /** @description Settings that are applied to any port that is not overridden in the following ports section. */
2577
+ default: components["schemas"]["HaProxyConfigSet"];
2578
+ /** @description An object that defines how HAProxy will act on a specific port. The key is a custom port, and the value is the same settings object found under `default` above. */
2579
+ ports: {
2580
+ [key: string]: components["schemas"]["HaProxyConfigSet"] | undefined;
2581
+ };
2582
+ };
2583
+ /** HaProxyLbType */
2584
+ HaProxyLbType: {
2585
+ /** @enum {string} */
2586
+ type: "haproxy";
2587
+ details: components["schemas"]["HaProxyConfig"] | null;
2588
+ };
2589
+ /** V1LbConfigRouter */
2590
+ V1LbConfigRouter: {
2591
+ identifier: string;
2592
+ /** @enum {string} */
2593
+ mode: "random" | "round-robin";
2594
+ config: {
2595
+ performance: boolean;
2596
+ sticky_sessions: boolean;
2597
+ destination_retries: number;
2598
+ transport: Record<string, never>;
2599
+ timeouts: {
2600
+ idle: number;
2601
+ };
2602
+ };
2603
+ };
2604
+ /** V1LbConfig */
2605
+ V1LbConfig: {
2606
+ controllers: {
2607
+ [key: string]: ({
2608
+ identifier: components["schemas"]["Identifier"];
2609
+ /** V1LbControllerTransport */
2610
+ transport: {
2611
+ /** @enum {string} */
2612
+ mode: "tcp" | "http";
2613
+ performance: boolean;
2614
+ ingress: {
2615
+ port: number;
2616
+ tls: boolean;
2617
+ };
2618
+ timeouts: {
2619
+ idle: number;
2620
+ };
2621
+ routers: (components["schemas"]["V1LbConfigRouter"])[];
2622
+ };
2623
+ }) | undefined;
2624
+ };
2625
+ };
2626
+ /** V1LbType */
2627
+ V1LbType: {
2628
+ /** @enum {string} */
2629
+ type: "v1";
2630
+ details: components["schemas"]["V1LbConfig"] | null;
2631
+ };
2632
+ /** DefaultLbType */
2633
+ DefaultLbType: {
2634
+ /** @enum {string} */
2635
+ type: "default";
2636
+ details: Record<string, unknown> | null;
2492
2637
  };
2638
+ /**
2639
+ * LoadBalancerConfig
2640
+ * @description The config object for the loadbalancer service.
2641
+ */
2642
+ LoadBalancerConfig: ({
2643
+ /** @description Allow / disallow traffic to be routed via IPv4. */
2644
+ ipv4: boolean;
2645
+ /** @description Allow / disallow traffic to be routed via IPv6. */
2646
+ ipv6: boolean;
2647
+ } & (components["schemas"]["V1LbType"] | components["schemas"]["HaProxyLbType"] | components["schemas"]["DefaultLbType"])) | null;
2493
2648
  /**
2494
2649
  * LoadBalancerEnvironmentService
2495
2650
  * @description Information about the environments loadbalancer service(s).
@@ -2498,29 +2653,16 @@ export interface components {
2498
2653
  /** @description Whether or not the loadbalancer service is enabled. */
2499
2654
  enable: boolean;
2500
2655
  /** @description The ID of the loadbalancer service container */
2501
- container_id: string;
2656
+ container_id: string | null;
2502
2657
  /** @description A boolean representing if this service container is set to high availability mode or not. */
2503
2658
  high_availability: boolean;
2504
- /** @description The config object for the loadbalancer service. */
2505
- config: ({
2506
- /** @description Describes settings that are passed to HAProxy within the load balancer. */
2507
- haproxy: ({
2508
- default: components["schemas"]["HAProxyConfig"];
2509
- ports: {
2510
- [key: string]: components["schemas"]["HAProxyConfig"] | undefined;
2511
- };
2512
- }) | null;
2513
- /** @description Allow / disallow traffic to be routed via IPv4. */
2514
- ipv4: boolean | null;
2515
- /** @description Allow / disallow traffic to be routed via IPv6. */
2516
- ipv6: boolean | null;
2517
- }) | null;
2659
+ config: components["schemas"]["LoadBalancerConfig"];
2518
2660
  }) | null;
2519
2661
  /**
2520
2662
  * DiscoveryEnvironmentService
2521
2663
  * @description Information about the environments discovery service(s).
2522
2664
  */
2523
- DiscoveryEnvironmentService: {
2665
+ DiscoveryEnvironmentService: ({
2524
2666
  /** @description Whether or not the discovery service is enabled. */
2525
2667
  enable: boolean;
2526
2668
  /** @description The ID of the discovery service container */
@@ -2528,8 +2670,8 @@ export interface components {
2528
2670
  /** @description A boolean representing if this service container is set to high availability mode or not. */
2529
2671
  high_availability: boolean;
2530
2672
  /** @description The config object for the discovery service. */
2531
- config: Record<string, never>;
2532
- } | null;
2673
+ config: Record<string, unknown> | null;
2674
+ }) | null;
2533
2675
  /**
2534
2676
  * VpnEnvironmentService
2535
2677
  * @description Information about the environments vpn service(s).
@@ -2662,7 +2804,7 @@ export interface components {
2662
2804
  container_subnet: string;
2663
2805
  ipv6: components["schemas"]["IPNet"];
2664
2806
  legacy: components["schemas"]["LegacyNetwork"];
2665
- };
2807
+ } | null;
2666
2808
  /**
2667
2809
  * ContainerSummary
2668
2810
  * @description Contains useful and relevant data/statistics for a container that would otherwise be several separate API calls.
@@ -2834,44 +2976,112 @@ export interface components {
2834
2976
  };
2835
2977
  };
2836
2978
  /**
2837
- * LoadBalancerInfoReturn
2838
- * @description Information about an environments load balancer configuration, state, and availability settings.
2979
+ * Range
2980
+ * @description A start and end date-time pair indicating a range of time
2839
2981
  */
2840
- LoadBalancerInfoReturn: {
2841
- /** @description The default configuration of the load balancer. */
2842
- default_config: {
2843
- /** @description Describes settings that are passed to HAProxy within the load balancer. */
2844
- haproxy?: {
2845
- default: components["schemas"]["HAProxyConfig"];
2846
- ports: components["schemas"]["HAProxyConfig"];
2847
- } | null;
2848
- /** @description Allow / disallow traffic to be routed via IPv4. */
2849
- ipv4?: boolean | null;
2850
- /** @description Allow / disallow traffic to be routed via IPv6. */
2851
- ipv6?: boolean | null;
2852
- };
2853
- /** @description Contains information about the status of the load balancer, as well as configuration overrides. */
2854
- service: {
2855
- /** @description Whether or not the loadbalancer service is enabled. */
2856
- enable: boolean;
2857
- /** @description The ID of the loadbalancer service container */
2858
- container_id: string;
2859
- /** @description A boolean representing if this service container is set to high availability mode or not. */
2860
- high_availability: boolean;
2861
- /** @description Contains custom configuration overrides for the load balancer. If null, the default config will be used. */
2862
- config?: {
2863
- /** @description Describes settings that are passed to HAProxy within the load balancer. */
2864
- haproxy?: {
2865
- default: components["schemas"]["HAProxyConfig"];
2866
- ports: components["schemas"]["HAProxyConfig"];
2867
- } | null;
2868
- /** @description Allow / disallow traffic to be routed via IPv4. */
2869
- ipv4?: boolean | null;
2870
- /** @description Allow / disallow traffic to be routed via IPv6. */
2871
- ipv6?: boolean | null;
2872
- };
2982
+ Range: {
2983
+ start: components["schemas"]["DateTime"];
2984
+ end: components["schemas"]["DateTime"];
2985
+ };
2986
+ /** LoadBalancerTelemetryControllerMetrics */
2987
+ LoadBalancerTelemetryControllerMetrics: {
2988
+ /** LoadBalancerTelemetryControllerDisconnectsMetrics */
2989
+ disconnects: {
2990
+ no_error: number;
2991
+ request_invalid: number;
2992
+ timeout_idle: number;
2993
+ router_none: number;
2994
+ router_nomatch: number;
2995
+ destination_unavailable: number;
2996
+ unknown_error: number;
2997
+ };
2998
+ connections: number;
2999
+ requests: number;
3000
+ bytes_transmitted: number;
3001
+ bytes_received: number;
3002
+ };
3003
+ /**
3004
+ * LoadBalancerTelemetryReport
3005
+ * @description Aggregated load balancer telemetry across all instances for a given range.
3006
+ */
3007
+ LoadBalancerTelemetryReport: {
3008
+ created: components["schemas"]["DateTime"];
3009
+ range: components["schemas"]["Range"];
3010
+ snapshots: ({
3011
+ time: components["schemas"]["DateTime"];
3012
+ controller: components["schemas"]["Identifier"];
3013
+ metrics: components["schemas"]["LoadBalancerTelemetryControllerMetrics"];
3014
+ })[] | null;
3015
+ };
3016
+ /** LoadBalancerTelemetryRouterMetrics */
3017
+ LoadBalancerTelemetryRouterMetrics: {
3018
+ destinations: {
3019
+ [key: string]: ({
3020
+ connections: ({
3021
+ sucess?: number;
3022
+ unavailable: number;
3023
+ errors?: {
3024
+ [key: string]: number | undefined;
3025
+ };
3026
+ }) | null;
3027
+ requests: ({
3028
+ total: number;
3029
+ responses?: {
3030
+ [key: string]: number | undefined;
3031
+ };
3032
+ errors?: {
3033
+ [key: string]: number | undefined;
3034
+ };
3035
+ }) | null;
3036
+ latency?: (number)[];
3037
+ }) | undefined;
3038
+ };
3039
+ };
3040
+ /** LoadBalancerTelemetryUrlMetrics */
3041
+ LoadBalancerTelemetryUrlMetrics: {
3042
+ destinations: {
3043
+ [key: string]: ({
3044
+ requests: ({
3045
+ total: number;
3046
+ responses?: {
3047
+ [key: string]: number | undefined;
3048
+ };
3049
+ errors?: {
3050
+ [key: string]: number | undefined;
3051
+ };
3052
+ }) | null;
3053
+ }) | undefined;
2873
3054
  };
2874
3055
  };
3056
+ /** LoadBalancerTelemetrySnapshot */
3057
+ LoadBalancerTelemetrySnapshot: {
3058
+ time: components["schemas"]["DateTime"];
3059
+ dataset_id: number;
3060
+ router?: components["schemas"]["LoadBalancerTelemetryRouterMetrics"];
3061
+ urls?: components["schemas"]["LoadBalancerTelemetryUrlMetrics"];
3062
+ metrics: components["schemas"]["LoadBalancerTelemetryControllerMetrics"];
3063
+ };
3064
+ /**
3065
+ * LoadBalancerLatestTelemetry
3066
+ * @description Snapshots of the latest load balancer telemetry
3067
+ */
3068
+ LoadBalancerLatestTelemetry: ({
3069
+ time: components["schemas"]["DateTime"];
3070
+ controller: components["schemas"]["Identifier"];
3071
+ instances: ({
3072
+ id: components["schemas"]["ID"];
3073
+ hub_id: components["schemas"]["HubID"];
3074
+ environment_id: components["schemas"]["ID"];
3075
+ container_id: components["schemas"]["ID"];
3076
+ instance_id: components["schemas"]["ID"];
3077
+ server_id: components["schemas"]["ID"];
3078
+ cluster: components["schemas"]["Identifier"];
3079
+ time: components["schemas"]["DateTime"];
3080
+ controller: components["schemas"]["Identifier"];
3081
+ latest?: components["schemas"]["LoadBalancerTelemetrySnapshot"] | null;
3082
+ snapshots?: (components["schemas"]["LoadBalancerTelemetrySnapshot"])[];
3083
+ })[];
3084
+ })[];
2875
3085
  /**
2876
3086
  * VPNInfo
2877
3087
  * @description A summary of a VPN service for a given environment.
@@ -3042,12 +3252,16 @@ export interface components {
3042
3252
  * @description A summary of the image this container was created from.
3043
3253
  */
3044
3254
  ImageSummary: {
3045
- id?: components["schemas"]["ID"];
3255
+ id: string | null;
3256
+ /** @description An image that is packaged with Cycle directly, such as the global load balancer. */
3257
+ extension: {
3258
+ identifier: components["schemas"]["Identifier"];
3259
+ } | null;
3046
3260
  /**
3047
3261
  * @description If a service container, the identifier specifying which service it is.
3048
3262
  * @enum {string|null}
3049
3263
  */
3050
- service?: "loadbalancer" | "discovery" | "vpn" | null;
3264
+ service: "loadbalancer" | "discovery" | "vpn" | null;
3051
3265
  };
3052
3266
  /**
3053
3267
  * ContainerStackSummary
@@ -3084,6 +3298,12 @@ export interface components {
3084
3298
  * @enum {string}
3085
3299
  */
3086
3300
  DeploymentStrategyName: "resource-density" | "high-availability" | "first-available" | "node" | "edge" | "manual";
3301
+ /**
3302
+ * Duration
3303
+ * @description A string signifying a duration of time. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h", "d", "w", "y".
3304
+ * @example 72h45m2s
3305
+ */
3306
+ Duration: string;
3087
3307
  /**
3088
3308
  * ContainerDeploy
3089
3309
  * @description Deployment configuration for the given container.
@@ -3110,25 +3330,19 @@ export interface components {
3110
3330
  all?: (string)[];
3111
3331
  };
3112
3332
  };
3113
- /** @description An array of container identifiers the platform will send the start signal to before sending the start signal to this container. */
3114
- containers?: (string)[];
3333
+ secrets?: (string)[];
3115
3334
  };
3116
3335
  /** @description Configuration for what to do during container shutdown. */
3117
3336
  shutdown?: {
3118
- /** @description The time in seconds the platform will wait for a container to stop gracefully. */
3119
- graceful_timeout: number;
3337
+ /** @description How long the platform will wait for a container to stop gracefully. */
3338
+ graceful_timeout: components["schemas"]["Duration"];
3120
3339
  /** @description Process signal sent to the container process. */
3121
3340
  signals: ("SIGTERM" | "SIGINT" | "SIGUSR1" | "SIGUSR2" | "SIGHUP" | "SIGQUIT")[];
3122
3341
  };
3123
3342
  /** @description Configurations for container startup. */
3124
3343
  startup?: {
3125
- /** @description A value in seconds representing how long the platform will wait before sending the start signal to the given container. */
3126
- delay?: number;
3127
- };
3128
- /** @description Configurations for how the container behaves when updating. */
3129
- update?: {
3130
- parallelism: number;
3131
- delay: number;
3344
+ /** @description How long the platform will wait before sending the start signal to the given container. */
3345
+ delay?: components["schemas"]["Duration"];
3132
3346
  };
3133
3347
  /** @description Configurations for container restart events. */
3134
3348
  restart?: {
@@ -3137,8 +3351,8 @@ export interface components {
3137
3351
  * @enum {string}
3138
3352
  */
3139
3353
  condition: "always" | "never" | "failure";
3140
- /** @description Time in seconds the platform will wait before trying to restart the container. */
3141
- delay: number;
3354
+ /** @description How long the platform will wait before trying to restart the container. */
3355
+ delay: components["schemas"]["Duration"];
3142
3356
  /** @description The amount of times the platform will attempt the restart policies. */
3143
3357
  max_attempts: number;
3144
3358
  };
@@ -3148,19 +3362,19 @@ export interface components {
3148
3362
  command: string;
3149
3363
  /** @description The number of times the platform will retry the command before marking the container unhealthy. */
3150
3364
  retries: number;
3151
- /** @description The number of seconds between retries. */
3152
- interval: number;
3153
- /** @description The number of time in seconds before a health check attempt times out. */
3154
- timeout: number;
3365
+ /** @description How long to wait between restarts. */
3366
+ interval: components["schemas"]["Duration"];
3367
+ /** @description How long before a health check attempt times out. */
3368
+ timeout: components["schemas"]["Duration"];
3155
3369
  /** @description A boolean where `true` represents the desire for a container to restart if unhealthy. */
3156
3370
  restart: boolean;
3157
3371
  };
3158
3372
  /** @description Configuration settings for container telemetery reporting. */
3159
3373
  telemetry?: {
3160
- /** @description The number in seconds for telemetry data to be retained. */
3161
- retention: number;
3162
- /** @description The number in seconds between samples. */
3163
- interval: number;
3374
+ /** @description How long telemetry data should be retained. */
3375
+ retention: components["schemas"]["Duration"];
3376
+ /** @description The duration between samples. */
3377
+ interval: components["schemas"]["Duration"];
3164
3378
  /** @description A boolean where true disables all telemetry reporting for this container. */
3165
3379
  disable: boolean;
3166
3380
  /** @description An endpoint to report the telemetry data to. */
@@ -3314,18 +3528,23 @@ export interface components {
3314
3528
  backup: {
3315
3529
  /** @description The command to run for the backup. */
3316
3530
  command: string;
3317
- /** @description The time in seconds for the backup to attempt to run before timing out. */
3318
- timeout?: number | null;
3531
+ /** @description How long the backup will attempt to run before timing out. */
3532
+ timeout?: string | null;
3319
3533
  /** @description A cron string that configures how often the backup will run. */
3320
3534
  cron_string?: string;
3321
3535
  };
3322
3536
  /** @description Configuration settings for restoring from a backup. */
3323
- restore: {
3537
+ restore: ({
3324
3538
  /** @description The command to run for restoring from a backup. */
3325
3539
  command: string;
3326
- /** @description The time in seconds for the restore to appempt to complete before timing out. */
3327
- timeout?: number | null;
3328
- };
3540
+ /** @description The time in seconds for the restore to attempt to complete before timing out. */
3541
+ timeout?: string | null;
3542
+ }) | null;
3543
+ /**
3544
+ * @description How long the platform will keep backups. Default is 1 year.
3545
+ * @default 365d
3546
+ */
3547
+ retention: string | null;
3329
3548
  };
3330
3549
  };
3331
3550
  /**
@@ -3449,8 +3668,6 @@ export interface components {
3449
3668
  };
3450
3669
  /** @description A Linked record is a record special to Cycle. It represents a url that points to a specific container, however the IP address mapping in handled automatically by the platform. */
3451
3670
  linked?: {
3452
- /** @description The ID of the container this record is related to. */
3453
- container_id?: string;
3454
3671
  /** @description Features associated with this record. */
3455
3672
  features: {
3456
3673
  /** @description TLS properties of the record. */
@@ -3459,7 +3676,16 @@ export interface components {
3459
3676
  enable: boolean;
3460
3677
  };
3461
3678
  };
3462
- };
3679
+ } & OneOf<[{
3680
+ /** @description The ID of the container this record is related to. */
3681
+ container_id: string;
3682
+ }, {
3683
+ /** @description If pointed at a global load balancer, the information about which container behind that global lb this record points to. Must point to a container identifier, and that identifier must be the same in every environment referenced by the global lb. */
3684
+ global_lb: {
3685
+ id: components["schemas"]["ID"];
3686
+ container: components["schemas"]["Identifier"];
3687
+ };
3688
+ }]>;
3463
3689
  };
3464
3690
  /**
3465
3691
  * DNSRecordCertificate
@@ -3573,9 +3799,9 @@ export interface components {
3573
3799
  instances: number;
3574
3800
  volumes?: (components["schemas"]["VolumeSummary"])[];
3575
3801
  /** @description Custom meta data for a given container */
3576
- annotations: ({
3577
- [key: string]: string | undefined;
3578
- }) | null;
3802
+ annotations: {
3803
+ [key: string]: unknown;
3804
+ } | null;
3579
3805
  /**
3580
3806
  * @description The role of a given container if it has one.
3581
3807
  * @enum {string|null}
@@ -3585,6 +3811,8 @@ export interface components {
3585
3811
  stateful: boolean;
3586
3812
  /** @description A boolean where true signifies the container is marked as deprecated. */
3587
3813
  deprecate?: boolean;
3814
+ /** @description When set to true, prevents this container from being deleted. */
3815
+ lock?: boolean;
3588
3816
  state: components["schemas"]["ContainerState"];
3589
3817
  /**
3590
3818
  * ContainerEvents
@@ -3602,12 +3830,23 @@ export interface components {
3602
3830
  };
3603
3831
  meta?: components["schemas"]["ContainersMeta"];
3604
3832
  };
3605
- /** DockerHubSource */
3606
- DockerHubSource: {
3833
+ /**
3834
+ * ExistingSource
3835
+ * @description In a stack, specifies an image source ID from which Cycle will derive any values not specified in the stack file. This is useful for avoiding direct placement of credentials in a stack file, for example.
3836
+ */
3837
+ ExistingSource: {
3838
+ /** @description The ID of the image source this image should be built from. */
3839
+ source_id?: components["schemas"]["ID"];
3840
+ };
3841
+ /**
3842
+ * DockerHubOrigin
3843
+ * @description An image origin where the image is pulled from DockerHub.
3844
+ */
3845
+ DockerHubOrigin: {
3607
3846
  /** @enum {string} */
3608
3847
  type?: "docker-hub";
3609
- /** @description An image source origin that pulls from DockerHub. */
3610
3848
  details?: {
3849
+ existing?: components["schemas"]["ExistingSource"];
3611
3850
  /** @description The DockerHub target string. ex - `mysql:5.7` */
3612
3851
  target: string;
3613
3852
  /** @description For authentication, a username. */
@@ -3676,12 +3915,15 @@ export interface components {
3676
3915
  /** @description A token for authentication. */
3677
3916
  token?: string;
3678
3917
  })[];
3679
- /** DockerfileFileSource */
3680
- DockerfileFileSource: {
3918
+ /**
3919
+ * DockerFileOrigin
3920
+ * @description An image origin where the image is built from a Dockerfile located in a git repository.
3921
+ */
3922
+ DockerFileOrigin: {
3681
3923
  /** @enum {string} */
3682
3924
  type?: "docker-file";
3683
- /** @description An image source origin that creates an image from a Dockerfile that's listed in a repository. */
3684
3925
  details?: {
3926
+ existing?: components["schemas"]["ExistingSource"];
3685
3927
  repo?: components["schemas"]["RepoType"];
3686
3928
  /** @description An endpoint that serves the tar file. */
3687
3929
  targz_url?: string;
@@ -3692,12 +3934,15 @@ export interface components {
3692
3934
  credentials?: components["schemas"]["DockerfileCredentials"];
3693
3935
  };
3694
3936
  };
3695
- /** DockerRegistrySource */
3696
- DockerRegistrySource: {
3937
+ /**
3938
+ * DockerRegistryOrigin
3939
+ * @description An image origin where the image is pulled from a private Docker registry.
3940
+ */
3941
+ DockerRegistryOrigin: {
3697
3942
  /** @enum {string} */
3698
3943
  type?: "docker-registry";
3699
- /** @description An image source origin that pulls from a private Docker registry. */
3700
3944
  details?: {
3945
+ existing?: components["schemas"]["ExistingSource"];
3701
3946
  /** @description The image name on the registry. */
3702
3947
  target: string;
3703
3948
  /** @description The url of the remote registry. */
@@ -3711,17 +3956,98 @@ export interface components {
3711
3956
  };
3712
3957
  };
3713
3958
  /**
3714
- * ImageSourceOrigin
3959
+ * CycleUploadOrigin
3960
+ * @description An image origin where the image is pushed directly to the factory, bypassing the need for a registry or external source.
3961
+ *
3962
+ * In order to utilize this image origin type, a tar file of an OCI compliant image will need to be generated and pushed directly to the factory. The authentication token is generated when this image is created, and expires at the provided time.
3963
+ * Once you have a token, it can be uploaded as multipart form data under the key `file.tar`, directly to the factory at `https://factory.cycle.io:9414/v1/images/<IMAGE ID>/upload?hub-id=<HUB ID>&token=<TOKEN>`.
3964
+ */
3965
+ CycleUploadOrigin: {
3966
+ /** @enum {string} */
3967
+ type?: "cycle-upload";
3968
+ details?: {
3969
+ /** @description The date-time at which the authorization token for uploading this image expires. */
3970
+ expires: components["schemas"]["DateTime"];
3971
+ /** @description The token that is required by the factory to accept an upload for this image. */
3972
+ token: string;
3973
+ };
3974
+ };
3975
+ /**
3976
+ * CycleSourceOrigin
3977
+ * @description An image origin that references an image source on Cycle.
3978
+ *
3979
+ * This origin will never be embedded in an image source. It is for use in stacks, describing an image which is already a part of an image source on Cycle.
3980
+ */
3981
+ CycleSourceOrigin: {
3982
+ /** @enum {string} */
3983
+ type?: "cycle-source";
3984
+ details?: {
3985
+ /** @description The ID referencing the image source where this image originated. */
3986
+ source_id: components["schemas"]["ID"];
3987
+ };
3988
+ };
3989
+ /**
3990
+ * NoneOrigin
3991
+ * @description An empty origin. No details are provided for this image.
3992
+ */
3993
+ NoneOrigin: {
3994
+ /** @enum {string} */
3995
+ type?: "none";
3996
+ details?: Record<string, never>;
3997
+ };
3998
+ /**
3999
+ * ImageOrigin
3715
4000
  * @description The origin of the given image source.
3716
4001
  */
3717
- ImageSourceOrigin: components["schemas"]["DockerHubSource"] | components["schemas"]["DockerfileFileSource"] | components["schemas"]["DockerRegistrySource"];
4002
+ ImageOrigin: components["schemas"]["DockerHubOrigin"] | components["schemas"]["DockerFileOrigin"] | components["schemas"]["DockerRegistryOrigin"] | components["schemas"]["CycleUploadOrigin"] | components["schemas"]["CycleSourceOrigin"] | components["schemas"]["NoneOrigin"];
4003
+ /** StackImageSource */
4004
+ StackImageSourceType: {
4005
+ /** @enum {string} */
4006
+ type?: "stack-build";
4007
+ details?: {
4008
+ id: string;
4009
+ stack_id: string;
4010
+ containers: (components["schemas"]["Identifier"])[];
4011
+ origin: components["schemas"]["ImageOrigin"];
4012
+ };
4013
+ override?: {
4014
+ target?: string;
4015
+ targz_url?: string;
4016
+ };
4017
+ };
4018
+ /** DirectImageSource */
4019
+ DirectImageSourceType: {
4020
+ /** @enum {string} */
4021
+ type?: "direct";
4022
+ details?: {
4023
+ id: string;
4024
+ origin: components["schemas"]["ImageOrigin"];
4025
+ };
4026
+ override?: {
4027
+ target?: string;
4028
+ targz_url?: string;
4029
+ };
4030
+ };
4031
+ /** BucketImageSource */
4032
+ BucketImageSourceType: {
4033
+ /** @enum {string} */
4034
+ type?: "bucket";
4035
+ details?: {
4036
+ id: string;
4037
+ origin: components["schemas"]["ImageOrigin"];
4038
+ };
4039
+ override?: {
4040
+ target?: string;
4041
+ targz_url?: string;
4042
+ };
4043
+ };
3718
4044
  /** ImageState */
3719
4045
  ImageState: ({
3720
4046
  /**
3721
4047
  * @description The current state of the image.
3722
4048
  * @enum {string}
3723
4049
  */
3724
- current: "new" | "downloading" | "building" | "verifying" | "saving" | "live" | "deleting" | "deleted";
4050
+ current: "new" | "uploading" | "downloading" | "building" | "verifying" | "saving" | "live" | "deleting" | "deleted";
3725
4051
  }) & components["schemas"]["State"];
3726
4052
  /**
3727
4053
  * ImageMeta
@@ -3732,21 +4058,13 @@ export interface components {
3732
4058
  };
3733
4059
  /**
3734
4060
  * Image
3735
- * @description An Image Resource, which is a point in time build on a given image source.
4061
+ * @description An image is a point in time build on a given image source, and what is distributed by Cycle to run containers.
3736
4062
  */
3737
4063
  Image: {
3738
4064
  id: components["schemas"]["ID"];
3739
4065
  hub_id: components["schemas"]["HubID"];
3740
4066
  /** @description A user defined name for the image. */
3741
4067
  name: string;
3742
- /** @description If the image is part of a stack, that information will be available here. */
3743
- stack: {
3744
- id: components["schemas"]["ID"];
3745
- /** @description A unique identifier for the build the image is assocaited with. */
3746
- build_id: string;
3747
- /** @description If this image is being used for any containers their identifiers are listed here. */
3748
- containers: (string)[];
3749
- };
3750
4068
  /** @description The image size in bytes. */
3751
4069
  size: number;
3752
4070
  /** @description An object that holds information about the image. */
@@ -3759,14 +4077,23 @@ export interface components {
3759
4077
  /** @description The provider where this image is hosted. */
3760
4078
  provider: string;
3761
4079
  /** @description The size of the image in bytes. */
3762
- size: string;
4080
+ size: number;
3763
4081
  /** @description A file name for the image, used by the platform. */
3764
4082
  file_name: string;
3765
4083
  /** @description A file id for the image, used by the platform. */
3766
4084
  file_id: string;
3767
4085
  };
3768
- /** @description Tags that describe the version, package, or data about the image. */
3769
- tags: (string)[];
4086
+ /** @description Any restrictions or requirements needed to run this image as a container. */
4087
+ requires: {
4088
+ nvidia_gpu?: boolean;
4089
+ };
4090
+ /** @description Any additional build details for this image */
4091
+ build: ({
4092
+ /** @description Arguments to pass to the factory during a build of this image. */
4093
+ args?: {
4094
+ [key: string]: string | undefined;
4095
+ };
4096
+ }) | null;
3770
4097
  /** @description Configuration settings for the image. */
3771
4098
  config: {
3772
4099
  /** @description The linux user this image runs its processes as. */
@@ -3783,11 +4110,11 @@ export interface components {
3783
4110
  [key: string]: string | undefined;
3784
4111
  };
3785
4112
  /** @description Image labels. */
3786
- labels: string;
4113
+ labels: {
4114
+ [key: string]: string | undefined;
4115
+ };
3787
4116
  /** @description The CMD array used to start the container. */
3788
4117
  command: (string)[];
3789
- /** @description Additional commands to run at build time. */
3790
- onbuild: (string)[];
3791
4118
  /** @description An entrypoint command. */
3792
4119
  entrypoint: (string)[];
3793
4120
  /** @description Volumes information for the given image. */
@@ -3805,22 +4132,17 @@ export interface components {
3805
4132
  /** @description A set command to be run if a signal is called. */
3806
4133
  signal_stop: string;
3807
4134
  };
3808
- source?: {
3809
- type: string;
3810
- details: {
3811
- id: string;
3812
- stack_id: string;
3813
- origin: components["schemas"]["ImageSourceOrigin"];
3814
- };
3815
- };
4135
+ source?: components["schemas"]["DirectImageSourceType"] | components["schemas"]["StackImageSourceType"] | components["schemas"]["BucketImageSourceType"];
3816
4136
  creator?: components["schemas"]["CreatorScope"];
3817
4137
  /** @description Identifies which factory the image was built on and when. */
3818
- factory?: {
4138
+ factory: {
3819
4139
  /** @description The node holding the factory service that was responsible for building the image. */
3820
4140
  node_id: string;
4141
+ /** @description A date timestamp for when the node cached the image. */
4142
+ cached: components["schemas"]["DateTime"];
3821
4143
  /** @description A date timestamp for when the node acknowledged the image import job. */
3822
4144
  acknowledged: components["schemas"]["DateTime"];
3823
- };
4145
+ } | null;
3824
4146
  state: components["schemas"]["ImageState"];
3825
4147
  /**
3826
4148
  * ImageEvents
@@ -3843,98 +4165,13 @@ export interface components {
3843
4165
  ImagesIncludes: {
3844
4166
  [key: string]: components["schemas"]["Image"] | undefined;
3845
4167
  };
3846
- /** StackContainerConfigNetwork.yml */
3847
- StackContainerConfigNetwork: {
3848
- /** @enum {string} */
3849
- public: "enable" | "disable" | "egress-only";
3850
- hostname: string;
3851
- ports?: (string)[];
3852
- };
3853
- /** StackContainerConfigDeploy.yml */
3854
- StackContainerConfigDeploy: {
3855
- instances: number;
3856
- /** @enum {string} */
3857
- strategy?: "resource-density" | "manual" | "high-availability" | "first-available" | "ephemeral";
3858
- stateful?: {
3859
- instances: ({
3860
- match: {
3861
- hostname?: string;
3862
- };
3863
- first_start?: {
3864
- command?: {
3865
- path?: string;
3866
- args?: string;
3867
- };
3868
- environment_vars?: {
3869
- [key: string]: string | undefined;
3870
- };
3871
- };
3872
- start?: {
3873
- command?: {
3874
- path?: string;
3875
- args?: string;
3876
- };
3877
- environment_vars?: {
3878
- [key: string]: string | undefined;
3879
- };
3880
- };
3881
- })[];
3882
- };
3883
- constraints?: {
3884
- node?: {
3885
- tags: {
3886
- any?: (string)[];
3887
- all?: (string)[];
3888
- };
3889
- };
3890
- secrets?: (string)[];
3891
- containers?: (string)[];
3892
- };
3893
- shutdown?: {
3894
- graceful_timeout: number;
3895
- signals?: ("SIGTERM" | "SIGINT" | "SIGUSR1" | "SIGUSR2" | "SIGHUP")[];
3896
- };
3897
- startup?: {
3898
- delay?: number;
3899
- };
3900
- restart?: {
3901
- /** @enum {string} */
3902
- condition: "always" | "never" | "failure";
3903
- delay: number;
3904
- max_attempts: number;
3905
- notify?: {
3906
- emails?: (string)[];
3907
- web_hook?: string;
3908
- };
3909
- };
3910
- health_check?: {
3911
- command: string;
3912
- retries: number;
3913
- interval: number;
3914
- timeout: number;
3915
- restart: boolean;
3916
- };
3917
- telemetry?: {
3918
- retention: number;
3919
- interval: number;
3920
- disable: boolean;
3921
- };
3922
- update?: {
3923
- parallelism: number;
3924
- delay: number;
3925
- };
3926
- };
3927
- /** StackContainerConfigScaling.yml */
3928
- StackContainerConfigScaling: {
3929
- auto?: {
3930
- instances: {
3931
- min: number;
3932
- max: number;
3933
- };
3934
- rules?: {
3935
- /** @enum {string} */
3936
- metric: "ram";
3937
- threshold: string;
4168
+ /** StackSpecContainerImage */
4169
+ StackSpecContainerImage: {
4170
+ name: string | null;
4171
+ origin: components["schemas"]["ImageOrigin"];
4172
+ build?: {
4173
+ args: {
4174
+ [key: string]: string | undefined;
3938
4175
  };
3939
4176
  };
3940
4177
  };
@@ -3942,13 +4179,13 @@ export interface components {
3942
4179
  StackContainerConfigRuntime: {
3943
4180
  workdir?: string;
3944
4181
  command?: {
3945
- path: string;
3946
- args: string;
4182
+ path?: string;
4183
+ args?: string;
3947
4184
  };
3948
4185
  environment_vars?: {
3949
4186
  [key: string]: string | undefined;
3950
4187
  };
3951
- namespaces?: ("ipc" | "pid" | "uts" | "network" | "mount" | "user")[];
4188
+ namespaces?: ("ipc" | "pid" | "uts" | "network" | "mount" | "user" | "cgroup")[];
3952
4189
  sysctl?: {
3953
4190
  [key: string]: string | undefined;
3954
4191
  };
@@ -3960,26 +4197,28 @@ export interface components {
3960
4197
  };
3961
4198
  seccomp?: {
3962
4199
  disable: boolean;
3963
- rules?: ({
4200
+ rules: ({
3964
4201
  capabilities: {
3965
4202
  includes: string;
3966
4203
  excludes: string;
3967
4204
  };
3968
- specs: {
4205
+ syscall: {
3969
4206
  names: (string)[];
3970
- action: string;
3971
- arrnoRet?: number;
3972
- args: ({
4207
+ /** @enum {string} */
4208
+ action: "SCMP_ACT_KILL" | "SCMP_ACT_KILL_PROCESS" | "SCMP_ACT_KILL_THREAD" | "SCMP_ACT_TRAP" | "SCMP_ACT_ERRNO" | "SCMP_ACT_TRACE" | "SCMP_ACT_ALLOW" | "SCMP_ACT_LOG" | "SCMP_ACT_NOTIFY";
4209
+ errnoRet?: number;
4210
+ args?: ({
3973
4211
  index: number;
3974
4212
  value: number;
3975
4213
  valuetwo?: number;
3976
- op: string;
4214
+ /** @enum {string} */
4215
+ op: "SCMP_CMP_NE" | "SCMP_CMP_LT" | "SCMP_CMP_LE" | "SCMP_CMP_EQ" | "SCMP_CMP_GE" | "SCMP_CMP_GT" | "SCMP_CMP_MASKED_EQ";
3977
4216
  })[];
3978
4217
  };
3979
4218
  })[];
3980
4219
  };
3981
- privileged?: boolean;
3982
- capabilities?: ("CAP_CHOWN" | "CAP_FSETID" | "CAP_DAC_OVERRIDE" | "CAP_FOWNER" | "CAP_SETFCAP" | "CAP_SETGID" | "CAP_SETUID" | "CAP_KILL" | "CAP_MKNOD" | "CAP_NET_BIND_SERVICE" | "CAP_NET_RAW" | "CAP_AUDIT_WRITE" | "CAP_SYS_CHROOT" | "CAP_SETPCAP" | "CAP_DAC_READ_SEARCH" | "CAP_NET_ADMIN" | "CAP_NET_BROADCAST" | "CAP_SYS_ADMIN" | "CAP_SYS_MODULE" | "CAP_SYS_NICE" | "CAP_SYS_PACCT" | "CAP_SYS_PTRACE" | "CAP_SYS_RAWIO" | "CAP_SYS_RESOURCE" | "CAP_SYS_TTY_CONFIG" | "CAP_SYSLOG" | "CAP_AUDIT_CONTROL" | "CAP_AUDIT_READ" | "CAP_IPC_LOCK" | "CAP_IPC_OWNER" | "CAP_LINUX_IMMUTABLE" | "CAP_MAC_ADMIN" | "CAP_MAC_OVERRIDE" | "CAP_BLOCK_SUSPEND")[];
4220
+ privileged: boolean;
4221
+ capabilities?: ("CAP_CHOWN" | "CAP_FSETID" | "CAP_DAC_OVERRIDE" | "CAP_FOWNER" | "CAP_SETFCAP" | "CAP_SETGID" | "CAP_SETUID" | "CAP_KILL" | "CAP_MKNOD" | "CAP_NET_BIND_SERVICE" | "CAP_NET_RAW" | "CAP_AUDIT_WRITE" | "CAP_SYS_CHROOT" | "CAP_SETPCAP" | "CAP_DAC_READ_SEARCH" | "CAP_NET_ADMIN" | "CAP_NET_BROADCAST" | "CAP_SYS_ADMIN" | "CAP_SYS_MODULE" | "CAP_SYS_NICE" | "CAP_SYS_PACCT" | "CAP_SYS_PTRACE" | "CAP_SYS_RAWIO" | "CAP_SYS_RESOURCE" | "CAP_SYS_BOOT" | "CAP_SYS_TIME" | "CAP_SYS_TTY_CONFIG" | "CAP_SYSLOG" | "CAP_AUDIT_CONTROL" | "CAP_AUDIT_READ" | "CAP_IPC_LOCK" | "CAP_IPC_OWNER" | "CAP_LINUX_IMMUTABLE" | "CAP_MAC_ADMIN" | "CAP_MAC_OVERRIDE" | "CAP_BLOCK_SUSPEND" | "CAP_LEASE" | "CAP_WAKE_ALARM")[];
3983
4222
  rootfs?: {
3984
4223
  readonly: boolean;
3985
4224
  };
@@ -3997,8 +4236,93 @@ export interface components {
3997
4236
  limit?: string;
3998
4237
  reserve?: string;
3999
4238
  swappiness?: number;
4000
- kernel?: string;
4001
- kernel_tcp?: string;
4239
+ };
4240
+ };
4241
+ /** StackSpecTestContainer */
4242
+ StackSpecTestContainer: {
4243
+ name: string;
4244
+ image: components["schemas"]["StackSpecContainerImage"] | null;
4245
+ config: ({
4246
+ runtime?: components["schemas"]["StackContainerConfigRuntime"] | null;
4247
+ resources?: components["schemas"]["StackContainerConfigResources"] | null;
4248
+ }) | null;
4249
+ };
4250
+ /** StackContainerConfigNetwork.yml */
4251
+ StackContainerConfigNetwork: {
4252
+ /** @enum {string} */
4253
+ public: "enable" | "disable" | "egress-only";
4254
+ hostname: string;
4255
+ ports?: (string)[];
4256
+ };
4257
+ /** StackContainerConfigDeploy.yml */
4258
+ StackContainerConfigDeploy: {
4259
+ instances: number;
4260
+ /** @enum {string} */
4261
+ strategy?: "resource-density" | "manual" | "high-availability" | "first-available" | "node" | "edge";
4262
+ stateful?: {
4263
+ options: ({
4264
+ use_base_hostname?: boolean | null;
4265
+ }) | null;
4266
+ };
4267
+ constraints?: {
4268
+ node?: {
4269
+ tags: {
4270
+ any?: (string)[];
4271
+ all?: (string)[];
4272
+ };
4273
+ };
4274
+ secrets?: (string)[];
4275
+ containers?: (string)[];
4276
+ };
4277
+ shutdown?: {
4278
+ /** @description How long the platform will wait for a container to stop gracefully. */
4279
+ graceful_timeout?: string | null;
4280
+ signals?: (string)[];
4281
+ };
4282
+ startup?: {
4283
+ /** @description How long the platform will wait before sending the start signal to the given container. */
4284
+ delay?: string | null;
4285
+ };
4286
+ restart?: {
4287
+ /** @enum {string} */
4288
+ condition: "always" | "never" | "failure";
4289
+ /** @description How long the platform will wait before trying to restart the container. */
4290
+ delay: components["schemas"]["Duration"];
4291
+ max_attempts: number;
4292
+ notify?: {
4293
+ emails?: (string)[];
4294
+ web_hook?: string;
4295
+ };
4296
+ };
4297
+ health_check?: {
4298
+ command: string;
4299
+ retries: number;
4300
+ /** @description How long to wait between restarts. */
4301
+ interval: components["schemas"]["Duration"];
4302
+ /** @description How long before a health check attempt times out. */
4303
+ timeout: components["schemas"]["Duration"];
4304
+ restart: boolean;
4305
+ };
4306
+ telemetry?: {
4307
+ /** @description How long telemetry data should be retained. */
4308
+ retention: components["schemas"]["Duration"];
4309
+ /** @description The duration between samples. */
4310
+ interval: components["schemas"]["Duration"];
4311
+ disable: boolean;
4312
+ };
4313
+ };
4314
+ /** StackContainerConfigScaling.yml */
4315
+ StackContainerConfigScaling: {
4316
+ auto?: {
4317
+ instances: {
4318
+ min: number;
4319
+ max: number;
4320
+ };
4321
+ rules?: {
4322
+ /** @enum {string} */
4323
+ metric: "ram";
4324
+ threshold: string;
4325
+ };
4002
4326
  };
4003
4327
  };
4004
4328
  /** StackContainerConfigIntegrations */
@@ -4024,94 +4348,111 @@ export interface components {
4024
4348
  destination: string;
4025
4349
  })[];
4026
4350
  backups?: {
4027
- /** @enum {string} */
4028
- destination: "backblaze-b2";
4351
+ destination: string;
4029
4352
  backup: {
4030
- command: number | null;
4031
- timeout: number | null;
4353
+ command: string;
4354
+ /** @description How long the backup will attempt to run before timing out. */
4355
+ timeout: string | null;
4032
4356
  cron_string: string | null;
4033
4357
  };
4034
4358
  restore: ({
4035
4359
  command: string;
4036
- timeout: number | null;
4360
+ /** @description The time in seconds for the restore to attempt to complete before timing out. */
4361
+ timeout: string | null;
4037
4362
  }) | null;
4038
- };
4039
- };
4040
- /** StackContainerVolume.yml */
4041
- StackContainerVolume: {
4042
- read_only: boolean;
4043
- local?: {
4044
- max_size: string;
4045
- storage_pool: boolean;
4046
- };
4047
- destination: string;
4048
- remote_access?: {
4049
- enable: boolean;
4050
- ips?: ({
4051
- ip: string;
4052
- read_only: boolean;
4053
- password: ({
4054
- /** @enum {string} */
4055
- algorithm: "raw" | "sha512" | "md5";
4056
- data: string;
4057
- }) | null;
4058
- })[];
4059
- web_hook?: string;
4060
- password: {
4061
- /** @enum {string} */
4062
- algorithm: "raw" | "sha512" | "md5";
4063
- data: string;
4064
- };
4363
+ /**
4364
+ * @description How long the platform will keep backups. Default is 1 year.
4365
+ * @default 365d
4366
+ */
4367
+ retention: string | null;
4065
4368
  };
4066
4369
  };
4067
4370
  /**
4068
4371
  * StackContainer
4069
- * @description A list of records defining the stacks containers.
4372
+ * @description Records defining the containers within the stack.
4070
4373
  */
4071
4374
  StackContainer: {
4072
- [key: string]: {
4375
+ [key: string]: ({
4073
4376
  name: string;
4074
- image: {
4075
- name: string;
4076
- origin: components["schemas"]["ImageSourceOrigin"];
4077
- stateful?: boolean;
4078
- config?: {
4079
- network: components["schemas"]["StackContainerConfigNetwork"];
4080
- deploy: components["schemas"]["StackContainerConfigDeploy"];
4081
- scaling?: components["schemas"]["StackContainerConfigScaling"];
4082
- runtime?: components["schemas"]["StackContainerConfigRuntime"];
4083
- resources?: components["schemas"]["StackContainerConfigResources"];
4084
- integrations?: components["schemas"]["StackContainerConfigIntegrations"];
4085
- };
4086
- /** @enum {string} */
4087
- role?: "orchestrator";
4088
- volumes?: (components["schemas"]["StackContainerVolume"])[];
4377
+ image: components["schemas"]["StackSpecContainerImage"];
4378
+ /** @description Additional meta info about the container. */
4379
+ annotations: {
4380
+ [key: string]: unknown;
4381
+ };
4382
+ stateful: boolean;
4383
+ /** StackSpecContainerConfig */
4384
+ config?: {
4385
+ network: components["schemas"]["StackContainerConfigNetwork"];
4386
+ deploy: components["schemas"]["StackContainerConfigDeploy"];
4387
+ scaling?: components["schemas"]["StackContainerConfigScaling"];
4388
+ runtime?: components["schemas"]["StackContainerConfigRuntime"];
4389
+ resources?: components["schemas"]["StackContainerConfigResources"];
4390
+ integrations?: components["schemas"]["StackContainerConfigIntegrations"];
4089
4391
  };
4090
- } | undefined;
4392
+ /** @enum {string} */
4393
+ role?: "conductor";
4394
+ pod?: string;
4395
+ volumes?: ({
4396
+ local?: {
4397
+ max_size: string;
4398
+ storage_pool?: boolean;
4399
+ };
4400
+ destination: string;
4401
+ read_only: boolean;
4402
+ remote_access?: {
4403
+ enable: boolean;
4404
+ ips?: (string)[];
4405
+ web_hook?: string;
4406
+ password: {
4407
+ /** @enum {string} */
4408
+ algorithm?: "raw" | "sha512" | "md5";
4409
+ data: string;
4410
+ };
4411
+ };
4412
+ })[];
4413
+ deprecate?: boolean;
4414
+ lock?: boolean;
4415
+ }) | undefined;
4091
4416
  };
4092
4417
  /**
4093
- * StackSpec
4094
- * @description A stack spec resource.
4418
+ * StackSpecLoadBalancerConfig
4419
+ * @description The config object for the loadbalancer service.
4095
4420
  */
4421
+ StackSpecLoadBalancerConfig: ({
4422
+ /** @description Allow / disallow traffic to be routed via IPv4. */
4423
+ ipv4: boolean | null;
4424
+ /** @description Allow / disallow traffic to be routed via IPv6. */
4425
+ ipv6: boolean | null;
4426
+ }) & (components["schemas"]["HaProxyLbType"] | components["schemas"]["V1LbType"] | components["schemas"]["DefaultLbType"]);
4427
+ /** StackSpec */
4096
4428
  StackSpec: {
4097
- /** @enum {string} */
4098
- type: "raw";
4099
- details: {
4100
- /** @description A string defining the version of the stack spec. */
4429
+ /** @description A string defining the version of the stack spec. */
4430
+ version: string;
4431
+ /** @description Information about the stack. */
4432
+ about?: {
4433
+ /** @description Internal version information set by the user. */
4101
4434
  version: string;
4102
- /** @description Information about the stack. */
4103
- about?: {
4104
- /** @description Internal version information set by the user. */
4105
- version: string;
4106
- /** @description Information describing the stack. */
4107
- description: string;
4108
- };
4109
- containers: (components["schemas"]["StackContainer"])[] | null;
4110
- /** @description Additional meta info about the stack. */
4111
- annotations?: {
4112
- [key: string]: string | undefined;
4435
+ /** @description Information describing the stack. */
4436
+ description: string;
4437
+ };
4438
+ tests?: (components["schemas"]["StackSpecTestContainer"])[];
4439
+ containers: components["schemas"]["StackContainer"];
4440
+ /** StackSpecServices */
4441
+ services?: {
4442
+ loadbalancer?: components["schemas"]["StackSpecLoadBalancerConfig"];
4443
+ vpn?: {
4444
+ auth: {
4445
+ webhook?: string;
4446
+ cycle_accounts: boolean;
4447
+ vpn_accounts: boolean;
4448
+ };
4449
+ allow_internet: boolean;
4113
4450
  };
4114
4451
  };
4452
+ /** @description Additional meta info about the stack. */
4453
+ annotations?: {
4454
+ [key: string]: unknown;
4455
+ };
4115
4456
  };
4116
4457
  /**
4117
4458
  * StackGitCommit
@@ -4201,10 +4542,10 @@ export interface components {
4201
4542
  [key: string]: components["schemas"]["StackBuild"] | undefined;
4202
4543
  };
4203
4544
  /**
4204
- * StackRepoSourceType
4545
+ * StackRepoSource
4205
4546
  * @description A repo source type for a stack.
4206
4547
  */
4207
- RepoSpec: {
4548
+ StackRepoSource: {
4208
4549
  /** @enum {string} */
4209
4550
  type: "git-repo";
4210
4551
  details: {
@@ -4226,11 +4567,20 @@ export interface components {
4226
4567
  };
4227
4568
  };
4228
4569
  };
4570
+ /**
4571
+ * StackRawSource
4572
+ * @description A stack spec resource.
4573
+ */
4574
+ StackRawSource: {
4575
+ /** @enum {string} */
4576
+ type: "raw";
4577
+ details: components["schemas"]["StackSpec"];
4578
+ };
4229
4579
  /**
4230
4580
  * StackSource
4231
4581
  * @description A source for a stack to be created from.
4232
4582
  */
4233
- StackSource: components["schemas"]["RepoSpec"] | components["schemas"]["StackSpec"];
4583
+ StackSource: components["schemas"]["StackRepoSource"] | components["schemas"]["StackRawSource"];
4234
4584
  /** StackState */
4235
4585
  StackState: ({
4236
4586
  /**
@@ -4650,7 +5000,7 @@ export interface components {
4650
5000
  abbreviation: string;
4651
5001
  /** @description Additional information about the given provider locaiton. */
4652
5002
  annotations: {
4653
- [key: string]: string | undefined;
5003
+ [key: string]: unknown;
4654
5004
  };
4655
5005
  };
4656
5006
  /**
@@ -4848,11 +5198,8 @@ export interface components {
4848
5198
  * @description A summary of the provider a given resource is deployed to.
4849
5199
  */
4850
5200
  ProviderSummary: {
4851
- /**
4852
- * @description An identifier for the provider. Custom IAL providers will be listed as `abstraction-<ID>` where the ID is a MongoDB ID.
4853
- * @enum {string}
4854
- */
4855
- identifier: "equinix-metal" | "vultr" | "aws" | "abstraction-<MongoID>";
5201
+ /** @description An identifier for the provider. Custom IAL providers will be listed as `a-<ID>`. */
5202
+ identifier: string;
4856
5203
  /** @description A location identifier associated with the provider. */
4857
5204
  location: string;
4858
5205
  };
@@ -5153,6 +5500,18 @@ export interface components {
5153
5500
  /** @description The maximum number of running processes for the instance. */
5154
5501
  limit?: number;
5155
5502
  };
5503
+ /**
5504
+ * InstanceTelemetryNetworkSnapshot
5505
+ * @description A snapshot of network usage statistics.
5506
+ */
5507
+ NetworkSnapshot: {
5508
+ /** @description An array of network interfaces attached to this instance. */
5509
+ interfaces: ({
5510
+ name: string;
5511
+ rx_bytes: number;
5512
+ tx_bytes: number;
5513
+ })[];
5514
+ };
5156
5515
  /**
5157
5516
  * HugeTLB
5158
5517
  * @description HugeTLB data.
@@ -5182,6 +5541,7 @@ export interface components {
5182
5541
  cpu: components["schemas"]["CPUSnapshot"];
5183
5542
  memory: components["schemas"]["MemorySnapshot"];
5184
5543
  processes: components["schemas"]["ProcessesSnapshot"];
5544
+ network: components["schemas"]["NetworkSnapshot"];
5185
5545
  hugetlb?: components["schemas"]["HugeTLB"];
5186
5546
  };
5187
5547
  /**
@@ -5601,14 +5961,18 @@ export interface components {
5601
5961
  * ActivitySession
5602
5962
  * @description Session info about the activity entry.
5603
5963
  */
5604
- Session: ({
5964
+ Session: {
5605
5965
  /** @description URL endpoint assocaited with the activity context - does not include domain. */
5606
5966
  url: string;
5607
5967
  /** @description The IP of the account associated with the session. */
5608
5968
  ip: string;
5969
+ token: {
5970
+ application_id: components["schemas"]["ID"];
5971
+ application_capabilities_version: number;
5972
+ } | null;
5609
5973
  /** @description The API key ID. */
5610
5974
  api_key: string | null;
5611
- }) | null;
5975
+ };
5612
5976
  /**
5613
5977
  * ActivityDetail
5614
5978
  * @description Details about a given event that is part of an activity.
@@ -5630,6 +5994,55 @@ export interface components {
5630
5994
  before?: components["schemas"]["Detail"];
5631
5995
  after?: components["schemas"]["Detail"];
5632
5996
  };
5997
+ /**
5998
+ * ActivitySecurity
5999
+ * @description Security information pertaining to this activity.
6000
+ */
6001
+ ActivitySecurity: {
6002
+ /**
6003
+ * @description A risk level assessed by the platform. Depending on the nature of the incident, this may change even if the event type is the same.
6004
+ *
6005
+ * @enum {string}
6006
+ */
6007
+ risk: "info" | "low" | "medium" | "high" | "critical";
6008
+ /**
6009
+ * @description From where the platform has determined this security event originated from.
6010
+ * @enum {string}
6011
+ */
6012
+ surface: "network" | "service" | "fs" | "api";
6013
+ /**
6014
+ * @description How the platform has handled this security event.
6015
+ * @enum {string}
6016
+ */
6017
+ event: "suggestion" | "notice" | "prevention" | "detection" | "reaction";
6018
+ /**
6019
+ * @description The type of attack the platform has determined has occurred.
6020
+ * @enum {string}
6021
+ */
6022
+ attack: "none" | "auth-failure" | "brute-force" | "exploit-vulnerability" | "social-engineer" | "service-interruption" | "access-elevation";
6023
+ };
6024
+ /**
6025
+ * ActivityMonitor
6026
+ * @description Details related to the monitor that raised this activity event.
6027
+ */
6028
+ ActivityMonitor: {
6029
+ /**
6030
+ * @description The severity of the event.
6031
+ *
6032
+ * @enum {string}
6033
+ */
6034
+ level: "info" | "low" | "medium" | "high" | "critical";
6035
+ /**
6036
+ * @description How the platform has handled this monitor event.
6037
+ * @enum {string}
6038
+ */
6039
+ event: "suggestion" | "notice" | "prevention" | "detection" | "reaction";
6040
+ /**
6041
+ * @description The current state of the monitored resource
6042
+ * @enum {string}
6043
+ */
6044
+ state: "none" | "unknown" | "unreachable" | "flux" | "recovered";
6045
+ };
5633
6046
  /**
5634
6047
  * Activity
5635
6048
  * @description A resource representing information about activity taking place on a given hub.
@@ -5644,18 +6057,25 @@ export interface components {
5644
6057
  * @enum {string}
5645
6058
  */
5646
6059
  type: "account" | "environment" | "platform" | "platform-pipeline" | "employee" | "api-key" | "visitor";
5647
- /** @description The given users ID. */
6060
+ /** @description The given user's ID. */
5648
6061
  id: string;
5649
6062
  };
5650
- /** @description A number representing how verbose the acitivty reporting is for a given hub. */
6063
+ /**
6064
+ * @description A number representing the detail level (verbosity) of this activity.
6065
+ *
6066
+ * ## Levels
6067
+ * - 0: activity that other users would find useful
6068
+ * - 1: activity that can be useful in tracking down how a user did something
6069
+ * - 2: full activity, can be useful in debugging problems
6070
+ */
5651
6071
  verbosity: number;
5652
6072
  context: components["schemas"]["Context"];
5653
- session?: components["schemas"]["Session"];
6073
+ session: components["schemas"]["Session"] | null;
5654
6074
  /** @description An array of changes. */
5655
6075
  changes: (components["schemas"]["Change"])[];
5656
6076
  /** @description A record of additional annotations for the activity. */
5657
6077
  annotations: {
5658
- [key: string]: string | undefined;
6078
+ [key: string]: unknown;
5659
6079
  };
5660
6080
  /** @description An object describing a given activity error. */
5661
6081
  error: {
@@ -5674,15 +6094,95 @@ export interface components {
5674
6094
  * @description A status for the given activity.
5675
6095
  * @enum {string}
5676
6096
  */
5677
- status: "info" | "warning" | "request" | "success" | "error" | "alert" | "recovery";
6097
+ status: "info" | "warn" | "request" | "success" | "error" | "alert";
6098
+ security?: components["schemas"]["ActivitySecurity"];
6099
+ monitor?: components["schemas"]["ActivityMonitor"];
5678
6100
  /**
5679
6101
  * @description The activity event.
5680
6102
  * @enum {string}
5681
6103
  */
5682
- event: "hub.task.delete" | "hub.update" | "hub.create" | "hub.images.prune" | "hub.task.images.prune" | "environment.initialize" | "environment.start" | "environment.stop" | "environment.task.start" | "environment.task.stop" | "environment.task.initialize" | "environment.delete" | "environment.task.delete" | "environment.update" | "environment.create" | "environment.services.discovery.task.reconfigure" | "environment.services.lb.task.reconfigure" | "environment.services.vpn.task.reconfigure" | "image.import" | "image.task.import" | "image.update" | "image.create" | "image.delete" | "image.task.delete" | "image.source.create" | "image.source.update" | "image.source.task.delete" | "container.create" | "container.update" | "container.initialize" | "container.start" | "container.task.start" | "container.stop" | "container.task.stop" | "container.reconfigure" | "container.task.reconfigure" | "container.reconfigure.volumes" | "container.task.reconfigure.volumes" | "container.reimage" | "container.task.reimage" | "container.scale" | "container.task.scale" | "container.delete" | "container.task.delete" | "container.instance.error" | "container.instance.sftp.login" | "container.instance.migration.start" | "container.instance.migration.revert" | "container.instance.delete" | "container.instances.delete" | "container.instances.create" | "container.instance.healthcheck.restarted" | "container.backup.create" | "container.backup.restore" | "container.backup.task.restore" | "container.backup.delete" | "container.backup.task.delete" | "dns.zone.task.verify" | "dns.zone.task.delete" | "dns.zone.update" | "dns.zone.create" | "dns.zone.verify" | "dns.zone.delete" | "dns.zone.record.cert.generate.auto" | "dns.zone.record.cert.generate" | "dns.zone.record.delete" | "dns.zone.record.update" | "dns.zone.record.create" | "dns.zone.record.task.delete" | "dns.zone.record.task.cert.generate" | "stack.task.delete" | "stack.update" | "stack.create" | "stack.task.prune" | "stack.build.create" | "stack.build.generate" | "stack.build.deploy" | "stack.build.delete" | "stack.build.task.generate" | "stack.build.task.delete" | "infrastructure.server.task.delete" | "infrastructure.server.task.restart" | "infrastructure.server.task.provision" | "infrastructure.server.update" | "infrastructure.server.delete" | "infrastructure.server.restart" | "infrastructure.server.compute.restart" | "infrastructure.server.provision" | "infrastructure.server.live" | "infrastructure.server.services.sftp.lockdown.auto" | "infrastructure.server.reconfigure.features" | "infrastructure.server.task.reconfigure.features" | "infrastructure.provider.create" | "infrastructure.provider.update" | "infrastructure.provider.delete" | "sdn.network.task.delete" | "sdn.network.update" | "sdn.network.create" | "sdn.network.task.reconfigure" | "infrastructure.ips.pool.task.delete" | "billing.order.task.confirm" | "billing.order.confirm" | "billing.invoice.task.void" | "billing.invoice.task.credit" | "billing.invoice.task.refund" | "billing.invoice.task.pay" | "billing.invoice.pay" | "billing.method.update" | "billing.method.create" | "billing.method.delete" | "billing.method.task.delete" | "hub.apikey.create" | "hub.apikey.update" | "hub.apikey.delete" | "hub.membership.create" | "hub.membership.delete" | "pipeline.update" | "pipeline.task.delete" | "pipeline.delete" | "pipeline.create" | "pipeline.task.trigger" | "pipeline.trigger" | "pipeline.key.update" | "pipeline.key.delete" | "pipeline.key.create";
6104
+ event: "hub.images.prune" | "hub.update" | "hub.create" | "hub.task.delete" | "hub.task.images.prune" | "environment.services.discovery.reconfigure" | "environment.services.lb.reconfigure" | "environment.services.vpn.reconfigure" | "environment.delete" | "environment.initialize" | "environment.start" | "environment.stop" | "environment.create" | "environment.update" | "environment.task.delete" | "environment.services.discovery.task.reconfigure" | "environment.services.lb.task.reconfigure" | "environment.services.vpn.task.reconfigure" | "environment.vpn.user.create" | "environment.services.vpn.login" | "environment.task.initialize" | "environment.task.start" | "environment.task.stop" | "environment.scoped-variable.delete" | "environment.scoped-variable.update" | "environment.scoped-variable.task.delete" | "environment.scoped-variable.create" | "image.delete" | "image.import" | "image.create" | "image.update" | "image.task.delete" | "image.task.import" | "image.source.delete" | "image.source.create" | "image.source.update" | "image.source.task.delete" | "billing.invoice.task.void" | "billing.invoice.task.credit" | "billing.invoice.task.refund" | "billing.invoice.pay" | "billing.invoice.task.pay" | "billing.order.confirm" | "billing.order.task.confirm" | "billing.method.update" | "billing.method.delete" | "billing.method.task.delete" | "billing.method.create" | "infrastructure.provider.update" | "infrastructure.provider.task.delete" | "infrastructure.provider.create" | "infrastructure.provider.task.verify" | "hub.apikey.update" | "hub.apikey.delete" | "hub.apikey.create" | "hub.membership.delete" | "hub.membership.create" | "hub.membership.update" | "container.initialize" | "container.task.start" | "container.start" | "container.task.stop" | "container.stop" | "container.task.reconfigure" | "container.reconfigure" | "container.task.reconfigure.volumes" | "container.reconfigure.volumes" | "container.create" | "container.restart" | "container.task.reimage" | "container.reimage" | "container.update" | "container.task.delete" | "container.delete" | "container.task.scale" | "container.scale" | "container.instances.create" | "container.instances.delete" | "container.instance.healthcheck.restarted" | "container.instance.error" | "container.instance.ssh.login" | "container.instance.migration.start" | "container.instance.migration.revert" | "container.instance.delete" | "container.instance.task.migrate_revert" | "container.instance.task.migrate" | "container.backup.create" | "container.backup.restore" | "container.backup.delete" | "container.backup.task.delete" | "container.backup.task.restore" | "dns.zone.verify" | "dns.zone.delete" | "dns.zone.task.verify" | "dns.zone.update" | "dns.zone.task.delete" | "dns.zone.create" | "dns.zone.record.delete" | "dns.zone.record.cert.generate" | "dns.zone.record.cert.generate.auto" | "dns.zone.record.task.cert.generate" | "dns.zone.record.update" | "dns.zone.record.task.delete" | "dns.zone.record.create" | "stack.update" | "stack.task.delete" | "stack.create" | "stack.task.prune" | "stack.build.create" | "stack.build.generate" | "stack.build.deploy" | "stack.build.delete" | "stack.build.task.delete" | "stack.build.task.generate" | "stack.build.task.deploy" | "infrastructure.server.task.delete" | "infrastructure.server.task.restart" | "infrastructure.server.services.sftp.auth" | "infrastructure.server.live" | "infrastructure.server.delete" | "infrastructure.server.restart" | "infrastructure.server.compute.restart" | "infrastructure.server.compute.spawner.restart" | "infrastructure.server.reconfigure.features" | "infrastructure.server.provision" | "infrastructure.server.console" | "infrastructure.server.update" | "infrastructure.server.task.provision" | "infrastructure.server.ssh.token" | "infrastructure.server.task.reconfigure.features" | "infrastructure.server.services.sftp.lockdown" | "infrastructure.server.services.internal-api.throttle" | "sdn.network.update" | "sdn.network.task.delete" | "sdn.network.create" | "sdn.network.task.reconfigure" | "pipeline.delete" | "pipeline.trigger" | "pipeline.update" | "pipeline.task.delete" | "pipeline.create" | "pipeline.task.trigger" | "pipeline.key.update" | "pipeline.key.delete" | "pipeline.key.create" | "infrastructure.ips.pool.task.delete";
5683
6105
  /** @description A timestamp for when the activity took place. */
5684
6106
  time: components["schemas"]["DateTime"];
5685
6107
  };
6108
+ /**
6109
+ * ImageSourceType
6110
+ * @description The type of images in this source.
6111
+ * @enum {string}
6112
+ */
6113
+ ImageSourceType: "stack-build" | "direct" | "bucket";
6114
+ /**
6115
+ * ImageSourceAbout
6116
+ * @description Information about the image source resource.
6117
+ */
6118
+ ImageSourceAbout: {
6119
+ /** @description Some information about the image source resource. */
6120
+ description: string;
6121
+ };
6122
+ /** ImageSourceState */
6123
+ ImageSourceState: ({
6124
+ /**
6125
+ * @description The current state of the image source.
6126
+ * @enum {string}
6127
+ */
6128
+ current: "live" | "deleting" | "deleted";
6129
+ }) & components["schemas"]["State"];
6130
+ /**
6131
+ * ImageSourceMeta
6132
+ * @description A list of meta fields that can be applied to this environment.
6133
+ */
6134
+ ImageSourceMeta: {
6135
+ images_count?: {
6136
+ /** @description Number of image sources */
6137
+ total: number;
6138
+ state: {
6139
+ /** @description Number of images in this source with state new */
6140
+ new: number;
6141
+ /** @description Number of images in this source with state downloading */
6142
+ downloading: number;
6143
+ /** @description Number of images in this source with state building */
6144
+ building: number;
6145
+ /** @description Number of images in this source with state verifying */
6146
+ verifying: number;
6147
+ /** @description Number of images in this source with state saving */
6148
+ saving: number;
6149
+ /** @description Number of images in this source with state live */
6150
+ live: number;
6151
+ /** @description Number of images in this source with state deleting */
6152
+ deleting: number;
6153
+ };
6154
+ };
6155
+ };
6156
+ /**
6157
+ * ImageSource
6158
+ * @description An image source is a set of resources that direct the platform on where it can find the resources needed to build an image resource.
6159
+ */
6160
+ ImageSource: {
6161
+ id: components["schemas"]["ID"];
6162
+ /** @description A human readable slugged identifier for this image source. */
6163
+ identifier: components["schemas"]["Identifier"];
6164
+ type: components["schemas"]["ImageSourceType"];
6165
+ hub_id: components["schemas"]["HubID"];
6166
+ /** @description A name for the image source resource. */
6167
+ name: string;
6168
+ about?: components["schemas"]["ImageSourceAbout"];
6169
+ origin: components["schemas"]["ImageOrigin"];
6170
+ creator: components["schemas"]["CreatorScope"];
6171
+ state: components["schemas"]["ImageSourceState"];
6172
+ /**
6173
+ * ImageSourceEvents
6174
+ * @description A collection of timestamps for each event in the iamge source's lifetime.
6175
+ */
6176
+ events: {
6177
+ /** @description The timestamp of when the iamge source was created. */
6178
+ created: components["schemas"]["DateTime"];
6179
+ /** @description The timestamp of when the iamge source was updated. */
6180
+ updated: components["schemas"]["DateTime"];
6181
+ /** @description The timestamp of when the iamge source was deleted. */
6182
+ deleted: components["schemas"]["DateTime"];
6183
+ };
6184
+ meta?: components["schemas"]["ImageSourceMeta"];
6185
+ };
5686
6186
  /**
5687
6187
  * IPPoolProvider
5688
6188
  * @description A IP Pool provider.
@@ -5812,10 +6312,10 @@ export interface components {
5812
6312
  current: "live" | "deleting" | "deleted";
5813
6313
  }) & components["schemas"]["State"];
5814
6314
  /**
5815
- * PrivateNetwork
6315
+ * NetworkPrivacySettings
5816
6316
  * @description Private network information for a Cycle SDN.
5817
6317
  */
5818
- SDNPrivateNetwork: {
6318
+ NetworkPrivacySettings: {
5819
6319
  /** @description A tag used to ensure proper routing. */
5820
6320
  vxlan_tag: number;
5821
6321
  /** @description The subnet of the private network. */
@@ -5831,10 +6331,10 @@ export interface components {
5831
6331
  };
5832
6332
  };
5833
6333
  /**
5834
- * SDNNetwork
6334
+ * Network
5835
6335
  * @description SDN Network resource.
5836
6336
  */
5837
- SDNNetwork: {
6337
+ Network: {
5838
6338
  id: components["schemas"]["ID"];
5839
6339
  /** @description The name of the network. */
5840
6340
  name: string;
@@ -5845,7 +6345,7 @@ export interface components {
5845
6345
  creator: components["schemas"]["CreatorScope"];
5846
6346
  hub_id: components["schemas"]["HubID"];
5847
6347
  state: components["schemas"]["NetworkState"];
5848
- private_network: components["schemas"]["SDNPrivateNetwork"];
6348
+ private_network: components["schemas"]["NetworkPrivacySettings"];
5849
6349
  /** @description An array of environments and timestamps. */
5850
6350
  environments: ({
5851
6351
  id: components["schemas"]["ID"];
@@ -5854,7 +6354,7 @@ export interface components {
5854
6354
  })[];
5855
6355
  /**
5856
6356
  * NetworkEvents
5857
- * @description A collection of timestamps for each event in the image's lifetime.
6357
+ * @description A collection of timestamps for each event in the network's lifetime.
5858
6358
  */
5859
6359
  events: {
5860
6360
  /** @description The timestamp of when the image was created. */
@@ -5865,14 +6365,6 @@ export interface components {
5865
6365
  deleted: components["schemas"]["DateTime"];
5866
6366
  };
5867
6367
  };
5868
- /**
5869
- * ImageSourceAbout
5870
- * @description Information about the image source resource.
5871
- */
5872
- ImageSourceAbout: {
5873
- /** @description Some information about the image source resource. */
5874
- description: string;
5875
- };
5876
6368
  /**
5877
6369
  * ImageSourceCreateStep
5878
6370
  * @description Settings for the image source create step for a pipeline.
@@ -5892,7 +6384,7 @@ export interface components {
5892
6384
  name: string;
5893
6385
  type: string;
5894
6386
  about?: components["schemas"]["ImageSourceAbout"];
5895
- origin: components["schemas"]["ImageSourceOrigin"];
6387
+ origin: components["schemas"]["ImageOrigin"];
5896
6388
  };
5897
6389
  };
5898
6390
  /**
@@ -5987,7 +6479,10 @@ export interface components {
5987
6479
  environment: components["schemas"]["ResourceLocation"];
5988
6480
  image: components["schemas"]["ResourceLocation"];
5989
6481
  stateful: boolean;
5990
- annotations: Record<string, never>;
6482
+ /** @description Additional information about a container */
6483
+ annotations: {
6484
+ [key: string]: unknown;
6485
+ };
5991
6486
  config: components["schemas"]["Config"];
5992
6487
  volumes: (components["schemas"]["ContainerVolume"])[];
5993
6488
  };
@@ -6279,8 +6774,8 @@ export interface components {
6279
6774
  */
6280
6775
  action: "sleep";
6281
6776
  details: {
6282
- /** @description Total duration (seconds) to run this step for, before moving on to the next step. */
6283
- seconds?: number;
6777
+ /** @description Total duration to run this step for, before moving on to the next step. */
6778
+ duration?: components["schemas"]["Duration"];
6284
6779
  };
6285
6780
  };
6286
6781
  /**
@@ -6329,7 +6824,7 @@ export interface components {
6329
6824
  * @description The current state of the pipeline.
6330
6825
  * @enum {string}
6331
6826
  */
6332
- current: "live" | "deleting" | "deleted";
6827
+ current: "live" | "acquiring" | "deleting" | "deleted";
6333
6828
  }) & components["schemas"]["State"];
6334
6829
  /**
6335
6830
  * Pipeline
@@ -6405,7 +6900,7 @@ export interface components {
6405
6900
  * @description A resource thats assocaited with activity.
6406
6901
  */
6407
6902
  ComponentsIncludes: {
6408
- [key: string]: (components["schemas"]["Container"] | components["schemas"]["Instance"] | components["schemas"]["Environment"] | components["schemas"]["Image"] | components["schemas"]["Server"] | components["schemas"]["Pool"] | components["schemas"]["Stack"] | components["schemas"]["StackBuild"] | components["schemas"]["Zone"] | components["schemas"]["Record"] | components["schemas"]["ApiKey"] | components["schemas"]["Provider"] | components["schemas"]["SDNNetwork"] | components["schemas"]["HubMembership"] | components["schemas"]["Pipeline"] | components["schemas"]["TriggerKey"]) | undefined;
6903
+ [key: string]: (components["schemas"]["Container"] | components["schemas"]["Instance"] | components["schemas"]["Environment"] | components["schemas"]["Image"] | components["schemas"]["ImageSource"] | components["schemas"]["Server"] | components["schemas"]["Pool"] | components["schemas"]["Provider"] | components["schemas"]["Stack"] | components["schemas"]["StackBuild"] | components["schemas"]["Zone"] | components["schemas"]["Record"] | components["schemas"]["ApiKey"] | components["schemas"]["Network"] | components["schemas"]["HubMembership"] | components["schemas"]["Pipeline"] | components["schemas"]["TriggerKey"] | components["schemas"]["ScopedVariable"] | components["schemas"]["Hub"] | components["schemas"]["Invoice"] | components["schemas"]["Method"]) | undefined;
6409
6904
  };
6410
6905
  /**
6411
6906
  * ActivityIncludes
@@ -6435,6 +6930,7 @@ export interface components {
6435
6930
  id: string;
6436
6931
  /** @description Name of the component */
6437
6932
  name: string;
6933
+ identifier?: components["schemas"]["Identifier"];
6438
6934
  /** @description State of the component */
6439
6935
  state: string;
6440
6936
  events: components["schemas"]["Events"];
@@ -6486,74 +6982,6 @@ export interface components {
6486
6982
  [key: string]: components["schemas"]["Component"] | undefined;
6487
6983
  };
6488
6984
  };
6489
- /** ImageSourceState */
6490
- ImageSourceState: ({
6491
- /**
6492
- * @description The current state of the image source.
6493
- * @enum {string}
6494
- */
6495
- current: "live" | "deleting" | "deleted";
6496
- }) & components["schemas"]["State"];
6497
- /**
6498
- * ImageSourceMeta
6499
- * @description A list of meta fields that can be applied to this environment.
6500
- */
6501
- ImageSourceMeta: {
6502
- images_count?: {
6503
- /** @description Number of image sources */
6504
- total: number;
6505
- state: {
6506
- /** @description Number of images in this source with state new */
6507
- new: number;
6508
- /** @description Number of images in this source with state downloading */
6509
- downloading: number;
6510
- /** @description Number of images in this source with state building */
6511
- building: number;
6512
- /** @description Number of images in this source with state verifying */
6513
- verifying: number;
6514
- /** @description Number of images in this source with state saving */
6515
- saving: number;
6516
- /** @description Number of images in this source with state live */
6517
- live: number;
6518
- /** @description Number of images in this source with state deleting */
6519
- deleting: number;
6520
- };
6521
- };
6522
- };
6523
- /**
6524
- * ImageSource
6525
- * @description An image source is a set of resources that direct the platform on where it can find the resources needed to build an image resource.
6526
- */
6527
- ImageSource: {
6528
- id: components["schemas"]["ID"];
6529
- /** @description A human readable slugged identifier for this image source. */
6530
- identifier: components["schemas"]["Identifier"];
6531
- hub_id: components["schemas"]["HubID"];
6532
- /** @description A name for the image source resource. */
6533
- name: string;
6534
- about?: components["schemas"]["ImageSourceAbout"];
6535
- origin: components["schemas"]["ImageSourceOrigin"];
6536
- creator: components["schemas"]["CreatorScope"];
6537
- state: components["schemas"]["ImageSourceState"];
6538
- /**
6539
- * ImageSourceEvents
6540
- * @description A collection of timestamps for each event in the iamge source's lifetime.
6541
- */
6542
- events: {
6543
- /** @description The timestamp of when the iamge source was created. */
6544
- created: components["schemas"]["DateTime"];
6545
- /** @description The timestamp of when the iamge source was updated. */
6546
- updated: components["schemas"]["DateTime"];
6547
- /** @description The timestamp of when the iamge source was deleted. */
6548
- deleted: components["schemas"]["DateTime"];
6549
- };
6550
- /** @description Information about a server resource this image requires to function properly. */
6551
- requires: {
6552
- /** @description A boolean where true represents this image requies an Nvidia GPU to run properly. */
6553
- nvidia_gpu: boolean | null;
6554
- };
6555
- meta?: components["schemas"]["ImageSourceMeta"];
6556
- };
6557
6985
  /**
6558
6986
  * ImageSourceIncludes
6559
6987
  * @description A resource associated with an image source.
@@ -6796,6 +7224,17 @@ export interface components {
6796
7224
  */
6797
7225
  action: "compute.restart";
6798
7226
  };
7227
+ /**
7228
+ * RestartComputeSpawner
7229
+ * @description A job that restarts compute service on a given server.
7230
+ */
7231
+ RestartComputeSpawner: {
7232
+ /**
7233
+ * @description The action to take.
7234
+ * @enum {string}
7235
+ */
7236
+ action: "compute.spawner.restart";
7237
+ };
6799
7238
  /**
6800
7239
  * ServerTags
6801
7240
  * @description Tags for a given server.
@@ -7031,6 +7470,69 @@ export interface components {
7031
7470
  creators?: components["schemas"]["CreatorInclude"];
7032
7471
  environments?: components["schemas"]["EnvironmentIncludes"];
7033
7472
  };
7473
+ /**
7474
+ * Creator
7475
+ * @description A creator object. Describes who created the resource.
7476
+ */
7477
+ Creator: {
7478
+ id?: components["schemas"]["ID"];
7479
+ /**
7480
+ * @description The type of creator.
7481
+ * @enum {string}
7482
+ */
7483
+ type?: "account" | "employee" | "api-key" | "visitor" | "environments" | "";
7484
+ };
7485
+ /** GlobalLoadBalancerState */
7486
+ GlobalLoadBalancerState: ({
7487
+ /**
7488
+ * @description The current state of the global load balancer.
7489
+ * @enum {string}
7490
+ */
7491
+ current: "new" | "live" | "deleting" | "deleted";
7492
+ }) & components["schemas"]["State"];
7493
+ /**
7494
+ * GlobalLoadBalancer
7495
+ * @description A load balancer that sits outside of any environment and routes traffic between multiple environments. Global load balancers are used to manage rainbow/canary deployments and prevent downtime during an update.
7496
+ */
7497
+ GlobalLoadBalancer: {
7498
+ id: components["schemas"]["ID"];
7499
+ /** @description A custom name given to this global load balancer */
7500
+ name: string;
7501
+ identifier: components["schemas"]["Identifier"];
7502
+ cluster: components["schemas"]["Identifier"];
7503
+ creator: components["schemas"]["Creator"];
7504
+ hub_id: components["schemas"]["ID"];
7505
+ state: components["schemas"]["GlobalLoadBalancerState"];
7506
+ /** @description An array where each item lists an environment ID and settings for the global load balancer to route traffic to them. */
7507
+ environments: ({
7508
+ id: components["schemas"]["ID"];
7509
+ /** GlobalLoadBalancerEnvironmentTraffic */
7510
+ traffic: {
7511
+ /** @description The percentage of all traffic the global load balancer should route to this environment. Must add up to 100% across all environments. */
7512
+ percentage: number;
7513
+ };
7514
+ })[] | null;
7515
+ /**
7516
+ * GlobalLoadBalancerEvents
7517
+ * @description Describes the date and time at which certain events occurred in the lifetime of this resource.
7518
+ */
7519
+ events: {
7520
+ /** @description The timestamp of when the global lb was created. */
7521
+ created: components["schemas"]["DateTime"];
7522
+ /** @description The timestamp of when the global lb was updated. */
7523
+ updated: components["schemas"]["DateTime"];
7524
+ /** @description The timestamp of when the global lb was deleted. */
7525
+ deleted: components["schemas"]["DateTime"];
7526
+ };
7527
+ };
7528
+ /**
7529
+ * GlobalLoadBalancerIncludes
7530
+ * @description All includable resource linkable to the given global load balancer.
7531
+ */
7532
+ GlobalLoadBalancerIncludes: {
7533
+ creators?: components["schemas"]["CreatorInclude"];
7534
+ environments?: components["schemas"]["EnvironmentIncludes"];
7535
+ };
7034
7536
  /**
7035
7537
  * PipelineIncludes
7036
7538
  * @description All includable resources linkable to the given pipeline.
@@ -7108,14 +7610,6 @@ export interface components {
7108
7610
  /** @description The protocol and url for connecting to the console. */
7109
7611
  address: string;
7110
7612
  };
7111
- /**
7112
- * Range
7113
- * @description A start and end date-time pair indicating a range of time
7114
- */
7115
- Range: {
7116
- start: components["schemas"]["DateTime"];
7117
- end: components["schemas"]["DateTime"];
7118
- };
7119
7613
  /**
7120
7614
  * SecurityIncident
7121
7615
  * @description Details about a security incident/event that occurred.
@@ -7280,8 +7774,8 @@ export interface operations {
7280
7774
  name?: {
7281
7775
  first?: string;
7282
7776
  last?: string;
7283
- allow_support_login?: boolean;
7284
7777
  };
7778
+ allow_support_login?: boolean;
7285
7779
  };
7286
7780
  };
7287
7781
  };
@@ -7303,7 +7797,7 @@ export interface operations {
7303
7797
  */
7304
7798
  getAccountInvites: {
7305
7799
  parameters: {
7306
- query: {
7800
+ query?: {
7307
7801
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
7308
7802
  meta?: ("capabilities")[];
7309
7803
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
@@ -7383,7 +7877,7 @@ export interface operations {
7383
7877
  */
7384
7878
  getAccountLogins: {
7385
7879
  parameters: {
7386
- query: {
7880
+ query?: {
7387
7881
  sort?: components["parameters"]["SortParam"];
7388
7882
  filter?: components["parameters"]["FilterParam"];
7389
7883
  page?: components["parameters"]["PageParam"];
@@ -7498,13 +7992,42 @@ export interface operations {
7498
7992
  default: components["responses"]["DefaultError"];
7499
7993
  };
7500
7994
  };
7995
+ /**
7996
+ * Disable TwoFa
7997
+ * @description Disable TwoFa for an account
7998
+ */
7999
+ recoverTwoFa: {
8000
+ /** @description Parameters setting up TwoFa */
8001
+ requestBody?: {
8002
+ content: {
8003
+ "application/json": {
8004
+ /** @description The user’s email */
8005
+ email: string;
8006
+ password: string;
8007
+ recovery_codes: (string)[];
8008
+ token?: string;
8009
+ };
8010
+ };
8011
+ };
8012
+ responses: {
8013
+ /** @description Returns a TwoFaDisableResponse resource. */
8014
+ 200: {
8015
+ content: {
8016
+ "application/json": {
8017
+ data?: components["schemas"]["TwoFaDisableResponse"];
8018
+ };
8019
+ };
8020
+ };
8021
+ default: components["responses"]["DefaultError"];
8022
+ };
8023
+ };
7501
8024
  /**
7502
8025
  * List Announcements
7503
8026
  * @description Lists any important updates posted by the Cycle team
7504
8027
  */
7505
8028
  getAnnouncementsList: {
7506
8029
  parameters: {
7507
- query: {
8030
+ query?: {
7508
8031
  sort?: components["parameters"]["SortParam"];
7509
8032
  filter?: components["parameters"]["FilterParam"];
7510
8033
  page?: components["parameters"]["PageParam"];
@@ -7528,7 +8051,7 @@ export interface operations {
7528
8051
  */
7529
8052
  getOrders: {
7530
8053
  parameters: {
7531
- query: {
8054
+ query?: {
7532
8055
  sort?: components["parameters"]["SortParam"];
7533
8056
  filter?: components["parameters"]["FilterParam"];
7534
8057
  page?: components["parameters"]["PageParam"];
@@ -7691,7 +8214,7 @@ export interface operations {
7691
8214
  */
7692
8215
  getBillingSupportPlans: {
7693
8216
  parameters: {
7694
- query: {
8217
+ query?: {
7695
8218
  sort?: components["parameters"]["SortParam"];
7696
8219
  filter?: components["parameters"]["FilterParam"];
7697
8220
  page?: components["parameters"]["PageParam"];
@@ -7732,7 +8255,7 @@ export interface operations {
7732
8255
  */
7733
8256
  getBillingMethods: {
7734
8257
  parameters: {
7735
- query: {
8258
+ query?: {
7736
8259
  sort?: components["parameters"]["SortParam"];
7737
8260
  filter?: components["parameters"]["FilterParam"];
7738
8261
  page?: components["parameters"]["PageParam"];
@@ -7876,7 +8399,7 @@ export interface operations {
7876
8399
  */
7877
8400
  getInvoices: {
7878
8401
  parameters: {
7879
- query: {
8402
+ query?: {
7880
8403
  sort?: components["parameters"]["SortParam"];
7881
8404
  filter?: components["parameters"]["FilterParam"];
7882
8405
  page?: components["parameters"]["PageParam"];
@@ -7960,7 +8483,7 @@ export interface operations {
7960
8483
  */
7961
8484
  getBillingServices: {
7962
8485
  parameters: {
7963
- query: {
8486
+ query?: {
7964
8487
  sort?: components["parameters"]["SortParam"];
7965
8488
  filter?: components["parameters"]["FilterParam"];
7966
8489
  page?: components["parameters"]["PageParam"];
@@ -8007,7 +8530,7 @@ export interface operations {
8007
8530
  */
8008
8531
  getBillingOverages: {
8009
8532
  parameters: {
8010
- query: {
8533
+ query?: {
8011
8534
  sort?: components["parameters"]["SortParam"];
8012
8535
  filter?: components["parameters"]["FilterParam"];
8013
8536
  page?: components["parameters"]["PageParam"];
@@ -8031,7 +8554,7 @@ export interface operations {
8031
8554
  */
8032
8555
  getCredits: {
8033
8556
  parameters: {
8034
- query: {
8557
+ query?: {
8035
8558
  sort?: components["parameters"]["SortParam"];
8036
8559
  filter?: components["parameters"]["FilterParam"];
8037
8560
  page?: components["parameters"]["PageParam"];
@@ -8078,7 +8601,7 @@ export interface operations {
8078
8601
  */
8079
8602
  getEnvironments: {
8080
8603
  parameters: {
8081
- query: {
8604
+ query?: {
8082
8605
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
8083
8606
  meta?: ("containers" | "containers_count" | "instances_count")[];
8084
8607
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
@@ -8161,7 +8684,7 @@ export interface operations {
8161
8684
  */
8162
8685
  getEnvironmentById: {
8163
8686
  parameters: {
8164
- query: {
8687
+ query?: {
8165
8688
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
8166
8689
  meta?: ("containers" | "containers_count" | "instances_count")[];
8167
8690
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
@@ -8316,7 +8839,17 @@ export interface operations {
8316
8839
  200: {
8317
8840
  content: {
8318
8841
  "application/json": {
8319
- data?: components["schemas"]["LoadBalancerInfoReturn"];
8842
+ /** @description Information about an environments load balancer configuration, state, and availability settings. */
8843
+ data?: {
8844
+ default_config: components["schemas"]["LoadBalancerConfig"];
8845
+ /** @enum {string} */
8846
+ default_type: "haproxy" | "v1";
8847
+ base_configs?: {
8848
+ haproxy: components["schemas"]["HaProxyConfig"];
8849
+ v1: components["schemas"]["V1LbConfig"];
8850
+ };
8851
+ service: components["schemas"]["LoadBalancerEnvironmentService"];
8852
+ };
8320
8853
  };
8321
8854
  };
8322
8855
  };
@@ -8344,25 +8877,9 @@ export interface operations {
8344
8877
  */
8345
8878
  action: "reconfigure";
8346
8879
  contents: {
8347
- /** @description Boolean that sets custom vs default VPN configuration */
8348
- customize?: boolean;
8349
8880
  /** @description A boolean where `true` represents the desire to run the environment load balancer service in high availability mode. */
8350
- high_availability?: boolean;
8351
- /** @description The config object for the loadbalancer service. */
8352
- config?: ({
8353
- version?: string;
8354
- /** @description Allow / disallow traffic to be routed via IPv4. */
8355
- ipv4?: boolean | null;
8356
- /** @description Allow / disallow traffic to be routed via IPv6. */
8357
- ipv6?: boolean | null;
8358
- /** @description Describes settings that are passed to HAProxy within the load balancer. */
8359
- haproxy: ({
8360
- default: components["schemas"]["HAProxyConfig"];
8361
- ports: {
8362
- [key: string]: components["schemas"]["HAProxyConfig"] | undefined;
8363
- };
8364
- }) | null;
8365
- }) | null;
8881
+ high_availability?: boolean | null;
8882
+ config?: components["schemas"]["LoadBalancerConfig"];
8366
8883
  };
8367
8884
  };
8368
8885
  };
@@ -8379,6 +8896,72 @@ export interface operations {
8379
8896
  default: components["responses"]["DefaultError"];
8380
8897
  };
8381
8898
  };
8899
+ /**
8900
+ * Fetch load balancer v1 telemetry report
8901
+ * @description ## Permissions
8902
+ * Requires the `environments-view` capability. Also requires the user to have access specifically to the requested environment.
8903
+ *
8904
+ * ## Details
8905
+ * Fetches a telemetry report for Cycle's native load balancer for the specified range.
8906
+ */
8907
+ getLoadBalancerTelemetryReport: {
8908
+ parameters: {
8909
+ query?: {
8910
+ /**
8911
+ * @description ## Filter Field
8912
+ * The filter field is a key-value object, where the key is what you would like to filter, and the value is the value you're filtering for.
8913
+ */
8914
+ filter?: {
8915
+ /** @description The start date from when to pull load balancer telemetry data */
8916
+ "range-start"?: components["schemas"]["DateTime"];
8917
+ /** @description The end date from when to pull load balancer telemetry data */
8918
+ "range-end"?: components["schemas"]["DateTime"];
8919
+ };
8920
+ };
8921
+ path: {
8922
+ /** @description The environmentId where the load balancer resides. */
8923
+ environmentId: string;
8924
+ };
8925
+ };
8926
+ responses: {
8927
+ /** @description Returns the load balancer telemetry report */
8928
+ 200: {
8929
+ content: {
8930
+ "application/json": {
8931
+ data?: components["schemas"]["LoadBalancerTelemetryReport"];
8932
+ };
8933
+ };
8934
+ };
8935
+ default: components["responses"]["DefaultError"];
8936
+ };
8937
+ };
8938
+ /**
8939
+ * Fetch the latest load balancer v1 telemetry.
8940
+ * @description ## Permissions
8941
+ * Requires the `environments-view` capability. Also requires the user to have access specifically to the requested environment.
8942
+ *
8943
+ * ## Details
8944
+ * Fetches the latest telemetry report for Cycle's native load balancer. Provides detailed information on a per-instance basis.
8945
+ */
8946
+ getLoadBalancerLatestTelemetryReport: {
8947
+ parameters: {
8948
+ path: {
8949
+ /** @description The environmentId where the load balancer resides. */
8950
+ environmentId: string;
8951
+ };
8952
+ };
8953
+ responses: {
8954
+ /** @description Returns the latest load balancer telemetry */
8955
+ 200: {
8956
+ content: {
8957
+ "application/json": {
8958
+ data?: components["schemas"]["LoadBalancerLatestTelemetry"];
8959
+ };
8960
+ };
8961
+ };
8962
+ default: components["responses"]["DefaultError"];
8963
+ };
8964
+ };
8382
8965
  /**
8383
8966
  * Reconfigure Discovery
8384
8967
  * @description Creates a task that will update the discovery service's configuration.
@@ -8447,7 +9030,7 @@ export interface operations {
8447
9030
  */
8448
9031
  getVpnLogins: {
8449
9032
  parameters: {
8450
- query: {
9033
+ query?: {
8451
9034
  sort?: components["parameters"]["SortParam"];
8452
9035
  page?: components["parameters"]["PageParam"];
8453
9036
  };
@@ -8608,7 +9191,7 @@ export interface operations {
8608
9191
  */
8609
9192
  getEnvironmentInstancesTelemetry: {
8610
9193
  parameters: {
8611
- query: {
9194
+ query?: {
8612
9195
  /**
8613
9196
  * @description ## Filter Field
8614
9197
  * The filter field is a key-value object, where the key is what you would like to filter, and the value is the value you're filtering for.
@@ -8643,7 +9226,7 @@ export interface operations {
8643
9226
  */
8644
9227
  listScopedVariables: {
8645
9228
  parameters: {
8646
- query: {
9229
+ query?: {
8647
9230
  /**
8648
9231
  * @description ## Filter Field
8649
9232
  * The filter field is a key-value object, where the key is what you would like to filter, and the value is the value you're filtering for.
@@ -8818,7 +9401,7 @@ export interface operations {
8818
9401
  */
8819
9402
  getContainers: {
8820
9403
  parameters: {
8821
- query: {
9404
+ query?: {
8822
9405
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
8823
9406
  meta?: ("instances_count" | "domain" | "domains" | "ips")[];
8824
9407
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
@@ -8883,10 +9466,12 @@ export interface operations {
8883
9466
  /** @description A boolean where true represents this container is stateful. */
8884
9467
  stateful: boolean;
8885
9468
  config: components["schemas"]["Config"];
9469
+ /** @description When set to true, prevents this container from being deleted. */
9470
+ lock?: boolean;
8886
9471
  volumes?: (components["schemas"]["ContainerVolume"])[];
8887
9472
  /** @description User defined meta data for the container. */
8888
9473
  annotations?: {
8889
- [key: string]: string | undefined;
9474
+ [key: string]: unknown;
8890
9475
  };
8891
9476
  };
8892
9477
  };
@@ -8909,7 +9494,7 @@ export interface operations {
8909
9494
  */
8910
9495
  getContainerById: {
8911
9496
  parameters: {
8912
- query: {
9497
+ query?: {
8913
9498
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
8914
9499
  meta?: ("instances_count" | "domain" | "domains" | "ips")[];
8915
9500
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
@@ -8977,6 +9562,8 @@ export interface operations {
8977
9562
  identifier?: string;
8978
9563
  /** @description Sets whether container should be deprecated. */
8979
9564
  deprecate?: boolean;
9565
+ /** @description When set to true, prevents this container from being deleted. */
9566
+ lock?: boolean;
8980
9567
  /** @description User meta data for the container. */
8981
9568
  annotation?: {
8982
9569
  [key: string]: string | undefined;
@@ -9054,7 +9641,7 @@ export interface operations {
9054
9641
  */
9055
9642
  getInstances: {
9056
9643
  parameters: {
9057
- query: {
9644
+ query?: {
9058
9645
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
9059
9646
  include?: ("creators" | "servers" | "locations" | "providers" | "containers" | "environments")[];
9060
9647
  /**
@@ -9153,7 +9740,7 @@ export interface operations {
9153
9740
  */
9154
9741
  getContainerInstance: {
9155
9742
  parameters: {
9156
- query: {
9743
+ query?: {
9157
9744
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
9158
9745
  include?: ("creators" | "servers" | "locations" | "providers" | "containers" | "environments")[];
9159
9746
  };
@@ -9293,7 +9880,7 @@ export interface operations {
9293
9880
  */
9294
9881
  getContainerInstanceVolumes: {
9295
9882
  parameters: {
9296
- query: {
9883
+ query?: {
9297
9884
  sort?: components["parameters"]["SortParam"];
9298
9885
  page?: components["parameters"]["PageParam"];
9299
9886
  };
@@ -9322,7 +9909,7 @@ export interface operations {
9322
9909
  */
9323
9910
  getInstanceResourcesTelemetryReport: {
9324
9911
  parameters: {
9325
- query: {
9912
+ query?: {
9326
9913
  /**
9327
9914
  * @description ## Filter Field
9328
9915
  * The filter field is a key-value object, where the key is what you would like to filter, and the value is the value you're filtering for.
@@ -9342,11 +9929,45 @@ export interface operations {
9342
9929
  };
9343
9930
  };
9344
9931
  responses: {
9345
- /** @description Returns an instance telemetry report. */
9932
+ /** @description Returns an instance telemetry report. */
9933
+ 200: {
9934
+ content: {
9935
+ "application/json": {
9936
+ data?: components["schemas"]["InstanceTelemetryReport"];
9937
+ };
9938
+ };
9939
+ };
9940
+ default: components["responses"]["DefaultError"];
9941
+ };
9942
+ };
9943
+ /**
9944
+ * Instance Telemetry Stream Credentials
9945
+ * @description Requires the `containers-view` capability. Retrieves an access token and URL to open a websocket to for streaming instance telemetry live. This connects directly to the compute layer on the server the instance is hosted on, and streams telemetry in real time.
9946
+ */
9947
+ getInstanceResourcesTelemetryStream: {
9948
+ parameters: {
9949
+ path: {
9950
+ /** @description The ID of the requested container. */
9951
+ containerId: string;
9952
+ /** @description The ID for the container instance. */
9953
+ instanceId: string;
9954
+ };
9955
+ };
9956
+ responses: {
9957
+ /** @description Returns credentials for connecting to an instance telemetry stream. */
9346
9958
  200: {
9347
9959
  content: {
9348
9960
  "application/json": {
9349
- data?: components["schemas"]["InstanceTelemetryReport"];
9961
+ /**
9962
+ * InstanceTelemetryStreamCredentials
9963
+ * @description Credentials for connecting to the instance telemetry stream on compute.
9964
+ */
9965
+ data?: {
9966
+ /** @description The authentication token passed into the address as a URL parameter (?token). */
9967
+ token: string;
9968
+ /** @description The URL address to open a websocket to for streaming instance telemetry data. */
9969
+ address: string;
9970
+ };
9350
9971
  };
9351
9972
  };
9352
9973
  };
@@ -9359,7 +9980,7 @@ export interface operations {
9359
9980
  */
9360
9981
  ContainersListServers: {
9361
9982
  parameters: {
9362
- query: {
9983
+ query?: {
9363
9984
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
9364
9985
  meta?: ("primary_ip")[];
9365
9986
  sort?: components["parameters"]["SortParam"];
@@ -9388,7 +10009,7 @@ export interface operations {
9388
10009
  */
9389
10010
  getUsableServers: {
9390
10011
  parameters: {
9391
- query: {
10012
+ query?: {
9392
10013
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
9393
10014
  meta?: ("node" | "instances_count")[];
9394
10015
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
@@ -9420,7 +10041,7 @@ export interface operations {
9420
10041
  */
9421
10042
  getCompatibleImages: {
9422
10043
  parameters: {
9423
- query: {
10044
+ query?: {
9424
10045
  sort?: components["parameters"]["SortParam"];
9425
10046
  page?: components["parameters"]["PageParam"];
9426
10047
  };
@@ -9447,7 +10068,7 @@ export interface operations {
9447
10068
  */
9448
10069
  getBackupsCollection: {
9449
10070
  parameters: {
9450
- query: {
10071
+ query?: {
9451
10072
  sort?: components["parameters"]["SortParam"];
9452
10073
  page?: components["parameters"]["PageParam"];
9453
10074
  };
@@ -9591,7 +10212,7 @@ export interface operations {
9591
10212
  */
9592
10213
  getContainerInstancesTelemetry: {
9593
10214
  parameters: {
9594
- query: {
10215
+ query?: {
9595
10216
  /**
9596
10217
  * @description ## Filter Field
9597
10218
  * The filter field is a key-value object, where the key is what you would like to filter, and the value is the value you're filtering for.
@@ -9626,7 +10247,7 @@ export interface operations {
9626
10247
  */
9627
10248
  getZonesCollection: {
9628
10249
  parameters: {
9629
- query: {
10250
+ query?: {
9630
10251
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
9631
10252
  include?: ("creators")[];
9632
10253
  /**
@@ -9734,7 +10355,7 @@ export interface operations {
9734
10355
  */
9735
10356
  updateDNSZone: {
9736
10357
  parameters: {
9737
- query: {
10358
+ query?: {
9738
10359
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
9739
10360
  include?: ("creators")[];
9740
10361
  };
@@ -9806,7 +10427,7 @@ export interface operations {
9806
10427
  */
9807
10428
  getRecordsCollection: {
9808
10429
  parameters: {
9809
- query: {
10430
+ query?: {
9810
10431
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
9811
10432
  include?: ("creators" | "containers")[];
9812
10433
  /**
@@ -9909,7 +10530,7 @@ export interface operations {
9909
10530
  recordId: string;
9910
10531
  };
9911
10532
  };
9912
- /** @description Parameters for updateing a DNS record. The name value cannot be updated and is ommitted from the properties. */
10533
+ /** @description Parameters for updating a DNS record. The name value cannot be updated and is omitted from the properties. */
9913
10534
  requestBody?: {
9914
10535
  content: {
9915
10536
  "application/json": {
@@ -9972,7 +10593,7 @@ export interface operations {
9972
10593
  */
9973
10594
  DNSTLSAttempts: {
9974
10595
  parameters: {
9975
- query: {
10596
+ query?: {
9976
10597
  /**
9977
10598
  * @description ## Filter Field
9978
10599
  * The filter field is a key-value object, where the key is what you would like to filter, and the value is the value you're filtering for.
@@ -10028,7 +10649,8 @@ export interface operations {
10028
10649
  */
10029
10650
  getHubs: {
10030
10651
  parameters: {
10031
- query: {
10652
+ query?: {
10653
+ page?: components["parameters"]["PageParam"];
10032
10654
  /**
10033
10655
  * @description ## Filter Field
10034
10656
  * The filter field is a key-value object, where the key is what you would like to filter, and the value is the value you're filtering for.
@@ -10094,7 +10716,7 @@ export interface operations {
10094
10716
  */
10095
10717
  getHub: {
10096
10718
  parameters: {
10097
- query: {
10719
+ query?: {
10098
10720
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
10099
10721
  meta?: ("memberships")[];
10100
10722
  };
@@ -10166,7 +10788,7 @@ export interface operations {
10166
10788
  */
10167
10789
  getHubActivity: {
10168
10790
  parameters: {
10169
- query: {
10791
+ query?: {
10170
10792
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
10171
10793
  include?: ("users" | "components" | "creators" | "images" | "stack_builds" | "stacks" | "environments")[];
10172
10794
  /**
@@ -10238,7 +10860,7 @@ export interface operations {
10238
10860
  */
10239
10861
  getHubUsage: {
10240
10862
  parameters: {
10241
- query: {
10863
+ query?: {
10242
10864
  filter?: components["parameters"]["FilterParam"];
10243
10865
  };
10244
10866
  };
@@ -10283,7 +10905,7 @@ export interface operations {
10283
10905
  */
10284
10906
  getHubInvites: {
10285
10907
  parameters: {
10286
- query: {
10908
+ query?: {
10287
10909
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
10288
10910
  meta?: ("capabilities")[];
10289
10911
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
@@ -10355,7 +10977,7 @@ export interface operations {
10355
10977
  */
10356
10978
  getHubMembers: {
10357
10979
  parameters: {
10358
- query: {
10980
+ query?: {
10359
10981
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
10360
10982
  meta?: ("capabilities")[];
10361
10983
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
@@ -10378,13 +11000,42 @@ export interface operations {
10378
11000
  default: components["responses"]["DefaultError"];
10379
11001
  };
10380
11002
  };
11003
+ /**
11004
+ * List Hub Memberships
11005
+ * @description Gets the membership information for the current hub for the requesting account.
11006
+ */
11007
+ getHubMembership: {
11008
+ parameters: {
11009
+ query?: {
11010
+ /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
11011
+ meta?: ("capabilities")[];
11012
+ /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
11013
+ include?: ("accounts")[];
11014
+ sort?: components["parameters"]["SortParam"];
11015
+ filter?: components["parameters"]["FilterParam"];
11016
+ page?: components["parameters"]["PageParam"];
11017
+ };
11018
+ };
11019
+ responses: {
11020
+ /** @description Returns a hub membership. */
11021
+ 200: {
11022
+ content: {
11023
+ "application/json": {
11024
+ data?: components["schemas"]["HubMembership"];
11025
+ includes?: components["schemas"]["HubMembershipIncludes"];
11026
+ };
11027
+ };
11028
+ };
11029
+ default: components["responses"]["DefaultError"];
11030
+ };
11031
+ };
10381
11032
  /**
10382
11033
  * Fetch Hub Member
10383
11034
  * @description Requires the `hubs-members-view` capability.
10384
11035
  */
10385
11036
  getHubMember: {
10386
11037
  parameters: {
10387
- query: {
11038
+ query?: {
10388
11039
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
10389
11040
  include?: ("senders" | "hubs" | "accounts")[];
10390
11041
  };
@@ -10468,7 +11119,7 @@ export interface operations {
10468
11119
  */
10469
11120
  getHubMembersAccount: {
10470
11121
  parameters: {
10471
- query: {
11122
+ query?: {
10472
11123
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
10473
11124
  meta?: ("capabilities")[];
10474
11125
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
@@ -10498,7 +11149,7 @@ export interface operations {
10498
11149
  */
10499
11150
  getApiKeys: {
10500
11151
  parameters: {
10501
- query: {
11152
+ query?: {
10502
11153
  sort?: components["parameters"]["SortParam"];
10503
11154
  filter?: components["parameters"]["FilterParam"];
10504
11155
  page?: components["parameters"]["PageParam"];
@@ -10660,7 +11311,7 @@ export interface operations {
10660
11311
  */
10661
11312
  getImages: {
10662
11313
  parameters: {
10663
- query: {
11314
+ query?: {
10664
11315
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
10665
11316
  meta?: ("containers_count")[];
10666
11317
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
@@ -10720,8 +11371,10 @@ export interface operations {
10720
11371
  };
10721
11372
  /** @description An override object to be used for a single image create request. */
10722
11373
  override?: {
10723
- /** @description A target to be used for overridding the default target. */
10724
- target: string;
11374
+ /** @description For image sources with `docker-hub` or `docker-registry` origin types. A target to be used for overridding the default target - should include an image and a tag. */
11375
+ target?: string;
11376
+ /** @description For image sources with `docker-file` origin types. A URL pointing to a .tar.gz file of a repo with a Dockerfile in it - can be used instead of linking Cycle directly to a repository. */
11377
+ targz_url?: string;
10725
11378
  };
10726
11379
  };
10727
11380
  };
@@ -10744,7 +11397,7 @@ export interface operations {
10744
11397
  */
10745
11398
  getImage: {
10746
11399
  parameters: {
10747
- query: {
11400
+ query?: {
10748
11401
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
10749
11402
  meta?: ("containers_count")[];
10750
11403
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
@@ -10920,7 +11573,7 @@ export interface operations {
10920
11573
  */
10921
11574
  getSourcesCollection: {
10922
11575
  parameters: {
10923
- query: {
11576
+ query?: {
10924
11577
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
10925
11578
  meta?: ("images_count")[];
10926
11579
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
@@ -10966,12 +11619,8 @@ export interface operations {
10966
11619
  /** @description A name for the image source. */
10967
11620
  name?: string;
10968
11621
  identifier?: components["schemas"]["Identifier"];
10969
- /**
10970
- * @description A value identifiying the type of image.
10971
- * @enum {string}
10972
- */
10973
- type: "stack_build" | "direct";
10974
- origin: components["schemas"]["ImageSourceOrigin"];
11622
+ type: components["schemas"]["ImageSourceType"];
11623
+ origin: components["schemas"]["ImageOrigin"];
10975
11624
  /** @description User defined information about the image source. */
10976
11625
  about?: {
10977
11626
  /** @description A description of the image source. */
@@ -10998,7 +11647,7 @@ export interface operations {
10998
11647
  */
10999
11648
  getSource: {
11000
11649
  parameters: {
11001
- query: {
11650
+ query?: {
11002
11651
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
11003
11652
  meta?: ("images_count")[];
11004
11653
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
@@ -11062,7 +11711,7 @@ export interface operations {
11062
11711
  "application/json": {
11063
11712
  /** @description A name for the image source. */
11064
11713
  name?: string;
11065
- origin?: components["schemas"]["ImageSourceOrigin"];
11714
+ origin?: components["schemas"]["ImageOrigin"];
11066
11715
  /** @description User defined information about the image source. */
11067
11716
  about?: {
11068
11717
  /** @description A description of the image source. */
@@ -11089,7 +11738,7 @@ export interface operations {
11089
11738
  */
11090
11739
  getInfrastructureSummary: {
11091
11740
  parameters: {
11092
- query: {
11741
+ query?: {
11093
11742
  /**
11094
11743
  * @description ## Filter Field
11095
11744
  * The filter field is a key-value object, where the key is what you would like to filter, and the value is the value you're filtering for.
@@ -11118,7 +11767,7 @@ export interface operations {
11118
11767
  */
11119
11768
  getNativeProviders: {
11120
11769
  parameters: {
11121
- query: {
11770
+ query?: {
11122
11771
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
11123
11772
  meta?: ("locations")[];
11124
11773
  /**
@@ -11151,7 +11800,7 @@ export interface operations {
11151
11800
  */
11152
11801
  getProviderServers: {
11153
11802
  parameters: {
11154
- query: {
11803
+ query?: {
11155
11804
  sort?: components["parameters"]["SortParam"];
11156
11805
  page?: components["parameters"]["PageParam"];
11157
11806
  };
@@ -11178,7 +11827,7 @@ export interface operations {
11178
11827
  */
11179
11828
  getProviderLocations: {
11180
11829
  parameters: {
11181
- query: {
11830
+ query?: {
11182
11831
  sort?: components["parameters"]["SortParam"];
11183
11832
  page?: components["parameters"]["PageParam"];
11184
11833
  };
@@ -11205,7 +11854,7 @@ export interface operations {
11205
11854
  */
11206
11855
  getProviders: {
11207
11856
  parameters: {
11208
- query: {
11857
+ query?: {
11209
11858
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
11210
11859
  meta?: ("node" | "instances_count" | "locations")[];
11211
11860
  /**
@@ -11409,7 +12058,7 @@ export interface operations {
11409
12058
  */
11410
12059
  getServersCollection: {
11411
12060
  parameters: {
11412
- query: {
12061
+ query?: {
11413
12062
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
11414
12063
  meta?: ("node" | "instances_count")[];
11415
12064
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
@@ -11497,7 +12146,7 @@ export interface operations {
11497
12146
  */
11498
12147
  getSingleServer: {
11499
12148
  parameters: {
11500
- query: {
12149
+ query?: {
11501
12150
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
11502
12151
  include?: ("locations" | "models" | "providers")[];
11503
12152
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
@@ -11527,7 +12176,7 @@ export interface operations {
11527
12176
  */
11528
12177
  removeServer: {
11529
12178
  parameters: {
11530
- query: {
12179
+ query?: {
11531
12180
  options?: components["parameters"]["OptionParam"];
11532
12181
  };
11533
12182
  path: {
@@ -11597,7 +12246,7 @@ export interface operations {
11597
12246
  */
11598
12247
  getServerTelemetery: {
11599
12248
  parameters: {
11600
- query: {
12249
+ query?: {
11601
12250
  /**
11602
12251
  * @description ## Filter Field
11603
12252
  * The filter field is a key-value object, where the key is what you would like to filter, and the value is the value you're filtering for.
@@ -11634,7 +12283,7 @@ export interface operations {
11634
12283
  */
11635
12284
  getServerInstances: {
11636
12285
  parameters: {
11637
- query: {
12286
+ query?: {
11638
12287
  page?: components["parameters"]["PageParam"];
11639
12288
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
11640
12289
  include?: ("creator" | "servers" | "locations" | "providers" | "containers" | "environments")[];
@@ -11671,7 +12320,7 @@ export interface operations {
11671
12320
  /** @description Parameters for creating the new server job. */
11672
12321
  requestBody?: {
11673
12322
  content: {
11674
- "application/json": components["schemas"]["ReconfigureServer"] | components["schemas"]["RestartServer"] | components["schemas"]["RestartCompute"];
12323
+ "application/json": components["schemas"]["ReconfigureServer"] | components["schemas"]["RestartServer"] | components["schemas"]["RestartCompute"] | components["schemas"]["RestartComputeSpawner"];
11675
12324
  };
11676
12325
  };
11677
12326
  responses: {
@@ -11692,7 +12341,7 @@ export interface operations {
11692
12341
  */
11693
12342
  getServerTags: {
11694
12343
  parameters: {
11695
- query: {
12344
+ query?: {
11696
12345
  /**
11697
12346
  * @description ## Filter Field
11698
12347
  * The filter field is a key-value object, where the key is what you would like to filter, and the value is the value you're filtering for.
@@ -11759,7 +12408,7 @@ export interface operations {
11759
12408
  */
11760
12409
  getInfrastructureIPPools: {
11761
12410
  parameters: {
11762
- query: {
12411
+ query?: {
11763
12412
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
11764
12413
  include?: ("creators" | "servers" | "providers" | "locations")[];
11765
12414
  page?: components["parameters"]["PageParam"];
@@ -11783,7 +12432,7 @@ export interface operations {
11783
12432
  */
11784
12433
  getInfrastructureIPPool: {
11785
12434
  parameters: {
11786
- query: {
12435
+ query?: {
11787
12436
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
11788
12437
  include?: ("creators" | "servers" | "providers" | "locations")[];
11789
12438
  };
@@ -11881,7 +12530,7 @@ export interface operations {
11881
12530
  */
11882
12531
  getJobs: {
11883
12532
  parameters: {
11884
- query: {
12533
+ query?: {
11885
12534
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
11886
12535
  include?: ("creators")[];
11887
12536
  /**
@@ -11961,7 +12610,7 @@ export interface operations {
11961
12610
  */
11962
12611
  getStacks: {
11963
12612
  parameters: {
11964
- query: {
12613
+ query?: {
11965
12614
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
11966
12615
  meta?: ("containers_count" | "builds_count")[];
11967
12616
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
@@ -12166,7 +12815,7 @@ export interface operations {
12166
12815
  */
12167
12816
  getStackBuilds: {
12168
12817
  parameters: {
12169
- query: {
12818
+ query?: {
12170
12819
  /** @description A comma separated list of meta values. Meta values will show up under a resource's `meta` field. In the case of applying a meta to a collection of resources, each resource will have it's own relevant meta data. In some rare cases, meta may not apply to individual resources, and may appear in the root document. These will be clearly labeled. */
12171
12820
  meta?: ("containers_count")[];
12172
12821
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
@@ -12316,12 +12965,12 @@ export interface operations {
12316
12965
  };
12317
12966
  };
12318
12967
  /**
12319
- * List SDNs
12968
+ * List SDN Network
12320
12969
  * @description Requires the `sdn-networks-view` capability.
12321
12970
  */
12322
12971
  getNetworks: {
12323
12972
  parameters: {
12324
- query: {
12973
+ query?: {
12325
12974
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
12326
12975
  include?: ("creators" | "environments")[];
12327
12976
  /**
@@ -12343,7 +12992,7 @@ export interface operations {
12343
12992
  200: {
12344
12993
  content: {
12345
12994
  "application/json": {
12346
- data?: (components["schemas"]["SDNNetwork"])[];
12995
+ data?: (components["schemas"]["Network"])[];
12347
12996
  includes?: components["schemas"]["NetworkIncludes"];
12348
12997
  };
12349
12998
  };
@@ -12352,10 +13001,16 @@ export interface operations {
12352
13001
  };
12353
13002
  };
12354
13003
  /**
12355
- * Create SDN
13004
+ * Create SDN Network
12356
13005
  * @description Requires the `sdn-networks-manage` capability.
12357
13006
  */
12358
13007
  createSDNNetwork: {
13008
+ parameters: {
13009
+ query?: {
13010
+ /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
13011
+ include?: ("creators" | "environments")[];
13012
+ };
13013
+ };
12359
13014
  /** @description Parameters for creating a new network. */
12360
13015
  requestBody?: {
12361
13016
  content: {
@@ -12376,7 +13031,8 @@ export interface operations {
12376
13031
  201: {
12377
13032
  content: {
12378
13033
  "application/json": {
12379
- data?: components["schemas"]["SDNNetwork"];
13034
+ data?: components["schemas"]["Network"];
13035
+ includes?: components["schemas"]["NetworkIncludes"];
12380
13036
  };
12381
13037
  };
12382
13038
  };
@@ -12384,11 +13040,15 @@ export interface operations {
12384
13040
  };
12385
13041
  };
12386
13042
  /**
12387
- * Fetch SDN
13043
+ * Fetch SDN Network
12388
13044
  * @description Requires the `sdn-networks-view` capability.
12389
13045
  */
12390
13046
  getNetwork: {
12391
13047
  parameters: {
13048
+ query?: {
13049
+ /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
13050
+ include?: ("creators" | "environments")[];
13051
+ };
12392
13052
  path: {
12393
13053
  /** @description The ID of the network. */
12394
13054
  networkId: string;
@@ -12399,7 +13059,8 @@ export interface operations {
12399
13059
  200: {
12400
13060
  content: {
12401
13061
  "application/json": {
12402
- data?: components["schemas"]["SDNNetwork"];
13062
+ data?: components["schemas"]["Network"];
13063
+ includes?: components["schemas"]["NetworkIncludes"];
12403
13064
  };
12404
13065
  };
12405
13066
  };
@@ -12407,7 +13068,7 @@ export interface operations {
12407
13068
  };
12408
13069
  };
12409
13070
  /**
12410
- * Remove SDN
13071
+ * Remove SDN Network
12411
13072
  * @description Requires the `sdn-networks-manage` capability.
12412
13073
  */
12413
13074
  removeSDNNetwork: {
@@ -12430,11 +13091,15 @@ export interface operations {
12430
13091
  };
12431
13092
  };
12432
13093
  /**
12433
- * Update SDN
13094
+ * Update SDN Network
12434
13095
  * @description Requires the `sdn-networks-manage` capability.
12435
13096
  */
12436
13097
  updateSDNNetwork: {
12437
13098
  parameters: {
13099
+ query?: {
13100
+ /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
13101
+ include?: ("creators" | "environments")[];
13102
+ };
12438
13103
  path: {
12439
13104
  /** @description The ID of the network. */
12440
13105
  networkId: string;
@@ -12446,8 +13111,6 @@ export interface operations {
12446
13111
  "application/json": {
12447
13112
  /** @description The name of the network. */
12448
13113
  name?: string;
12449
- /** @description A network identifier used to construct http calls that specifically use this network over another. */
12450
- identifier?: string;
12451
13114
  };
12452
13115
  };
12453
13116
  };
@@ -12456,7 +13119,8 @@ export interface operations {
12456
13119
  200: {
12457
13120
  content: {
12458
13121
  "application/json": {
12459
- data?: components["schemas"]["SDNNetwork"];
13122
+ data?: components["schemas"]["Network"];
13123
+ includes?: components["schemas"]["NetworkIncludes"];
12460
13124
  };
12461
13125
  };
12462
13126
  };
@@ -12503,13 +13167,180 @@ export interface operations {
12503
13167
  default: components["responses"]["DefaultError"];
12504
13168
  };
12505
13169
  };
13170
+ /**
13171
+ * List Global Load Balancers
13172
+ * @description Requires the `sdn-global-lbs-view` capability.
13173
+ */
13174
+ getGlobalLoadBalancers: {
13175
+ parameters: {
13176
+ query?: {
13177
+ /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
13178
+ include?: ("creators" | "environments")[];
13179
+ /**
13180
+ * @description ## Filter Field
13181
+ * The filter field is a key-value object, where the key is what you would like to filter, and the value is the value you're filtering for.
13182
+ */
13183
+ filter?: {
13184
+ /** @description `filter[identifier]=value` only return global load balancers that match the identifier */
13185
+ identifier?: string;
13186
+ /** @description `filter[search]=value` search for a value associated with a field on the given global load balancer(s). */
13187
+ search?: string;
13188
+ /** @description `filter[state]=value1,value2` state filtering will allow you to filter by the global load balancer's current state. */
13189
+ state?: string;
13190
+ };
13191
+ sort?: components["parameters"]["SortParam"];
13192
+ page?: components["parameters"]["PageParam"];
13193
+ };
13194
+ };
13195
+ responses: {
13196
+ /** @description Returns a list of global load balancers associated with this hub. */
13197
+ 200: {
13198
+ content: {
13199
+ "application/json": {
13200
+ data?: (components["schemas"]["GlobalLoadBalancer"])[];
13201
+ includes?: components["schemas"]["GlobalLoadBalancerIncludes"];
13202
+ };
13203
+ };
13204
+ };
13205
+ default: components["responses"]["DefaultError"];
13206
+ };
13207
+ };
13208
+ /**
13209
+ * Create Global Load Balancer
13210
+ * @description Requires the `sdn-global-lbs-manage` capability.
13211
+ */
13212
+ createGlobalLoadBalancer: {
13213
+ parameters: {
13214
+ query?: {
13215
+ /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
13216
+ include?: ("creators" | "environments")[];
13217
+ };
13218
+ };
13219
+ /** @description Parameters for creating a new global load balancer. */
13220
+ requestBody?: {
13221
+ content: {
13222
+ "application/json": {
13223
+ /** @description The name of the global load balancer. */
13224
+ name: string;
13225
+ /** @description A human-readable identifier for referencing this global load balancer. Identifiers do not need to be unique. */
13226
+ identifier: string;
13227
+ /** @description The infrastructure cluster this global load balancer will be associated with. */
13228
+ cluster: string;
13229
+ /** @description An array of environment ids that this global load balancer will balance traffic across */
13230
+ environments: (string)[];
13231
+ };
13232
+ };
13233
+ };
13234
+ responses: {
13235
+ /** @description Returns a global load balancer resource. */
13236
+ 201: {
13237
+ content: {
13238
+ "application/json": {
13239
+ data?: components["schemas"]["GlobalLoadBalancer"];
13240
+ includes?: components["schemas"]["GlobalLoadBalancerIncludes"];
13241
+ };
13242
+ };
13243
+ };
13244
+ default: components["responses"]["DefaultError"];
13245
+ };
13246
+ };
13247
+ /**
13248
+ * Fetch a Global Load Balancer
13249
+ * @description Requires the `sdn-global-lbs-view` capability.
13250
+ */
13251
+ getGlobalLoadBalancer: {
13252
+ parameters: {
13253
+ query?: {
13254
+ /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
13255
+ include?: ("creators" | "environments")[];
13256
+ };
13257
+ path: {
13258
+ /** @description The ID of the global load balancer. */
13259
+ lbId: string;
13260
+ };
13261
+ };
13262
+ responses: {
13263
+ /** @description Returns a single global load balancer resource. */
13264
+ 200: {
13265
+ content: {
13266
+ "application/json": {
13267
+ data?: components["schemas"]["GlobalLoadBalancer"];
13268
+ includes?: components["schemas"]["GlobalLoadBalancerIncludes"];
13269
+ };
13270
+ };
13271
+ };
13272
+ default: components["responses"]["DefaultError"];
13273
+ };
13274
+ };
13275
+ /**
13276
+ * Remove Global Load Balancer
13277
+ * @description Requires the `sdn-global-lbs-manage` capability.
13278
+ */
13279
+ removeGlobalLoadBalancer: {
13280
+ parameters: {
13281
+ path: {
13282
+ /** @description The ID of the global load balancer. */
13283
+ lbId: string;
13284
+ };
13285
+ };
13286
+ responses: {
13287
+ /** @description Returns a task descriptor. */
13288
+ 200: {
13289
+ content: {
13290
+ "application/json": {
13291
+ data?: components["schemas"]["TaskDescriptor"];
13292
+ };
13293
+ };
13294
+ };
13295
+ default: components["responses"]["DefaultError"];
13296
+ };
13297
+ };
13298
+ /**
13299
+ * Update Global Load Balancer
13300
+ * @description Requires the `sdn-global-lbs-manage` capability.
13301
+ */
13302
+ updateGlobalLoadBalancer: {
13303
+ parameters: {
13304
+ query?: {
13305
+ /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
13306
+ include?: ("creators" | "environments")[];
13307
+ };
13308
+ path: {
13309
+ /** @description The ID of the global load balancer. */
13310
+ lbId: string;
13311
+ };
13312
+ };
13313
+ /** @description Parameters for updating a global load balancer. */
13314
+ requestBody?: {
13315
+ content: {
13316
+ "application/json": {
13317
+ /** @description A new name for this global load balancer. */
13318
+ name?: string;
13319
+ /** @description A new identifier for this global load balancer. */
13320
+ identifier?: string;
13321
+ };
13322
+ };
13323
+ };
13324
+ responses: {
13325
+ /** @description Returns a global load balancer resource. */
13326
+ 200: {
13327
+ content: {
13328
+ "application/json": {
13329
+ data?: components["schemas"]["GlobalLoadBalancer"];
13330
+ includes?: components["schemas"]["GlobalLoadBalancerIncludes"];
13331
+ };
13332
+ };
13333
+ };
13334
+ default: components["responses"]["DefaultError"];
13335
+ };
13336
+ };
12506
13337
  /**
12507
13338
  * List Pipelines
12508
13339
  * @description Requires the `pipelines-view` capability.
12509
13340
  */
12510
13341
  getPipelines: {
12511
13342
  parameters: {
12512
- query: {
13343
+ query?: {
12513
13344
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
12514
13345
  include?: ("creators" | "name" | "components")[];
12515
13346
  /**
@@ -12578,7 +13409,7 @@ export interface operations {
12578
13409
  */
12579
13410
  getPipeline: {
12580
13411
  parameters: {
12581
- query: {
13412
+ query?: {
12582
13413
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
12583
13414
  include?: ("creators" | "name" | "components")[];
12584
13415
  };
@@ -12665,7 +13496,7 @@ export interface operations {
12665
13496
  */
12666
13497
  getPipelineRuns: {
12667
13498
  parameters: {
12668
- query: {
13499
+ query?: {
12669
13500
  sort?: components["parameters"]["SortParam"];
12670
13501
  /** @description A comma separated list of include values. Included resources will show up under the root document's `include` field, with the key being the id of the included resource. In the case of applying an include to a collection of resources, if two resources share the same include, it will only appear once in the return. */
12671
13502
  include?: ("creators")[];
@@ -12731,7 +13562,7 @@ export interface operations {
12731
13562
  */
12732
13563
  getPipelineTriggerKeys: {
12733
13564
  parameters: {
12734
- query: {
13565
+ query?: {
12735
13566
  /**
12736
13567
  * @description ## Filter Field
12737
13568
  * The filter field is a key-value object, where the key is what you would like to filter, and the value is the value you're filtering for.
@@ -12924,52 +13755,22 @@ export interface operations {
12924
13755
  default: components["responses"]["DefaultError"];
12925
13756
  };
12926
13757
  };
12927
- /**
12928
- * Instance Telemetry Stream Credentials
12929
- * @description Requires the `containers-view` capability. Retrieves an access token and URL to open a websocket to for streaming instance telemetry live. This connects directly to the compute layer on the server the instance is hosted on, and streams telemetry in real time.
12930
- */
12931
- getInstanceResourcesTelemetryStream: {
12932
- parameters: {
12933
- path: {
12934
- /** @description The ID of the requested container. */
12935
- containerId: string;
12936
- /** @description The ID for the container instance. */
12937
- instanceId: string;
12938
- };
12939
- };
12940
- responses: {
12941
- /** @description Returns credentials for connecting to an instance telemetry stream. */
12942
- 200: {
12943
- content: {
12944
- "application/json": {
12945
- /**
12946
- * InstanceTelemetryStreamCredentials
12947
- * @description Credentials for connecting to the instance telemetry stream on compute.
12948
- */
12949
- data?: {
12950
- /** @description The authentication token passed into the address as a URL parameter (?token). */
12951
- token: string;
12952
- /** @description The URL address to open a websocket to for streaming instance telemetry data. */
12953
- address: string;
12954
- };
12955
- };
12956
- };
12957
- };
12958
- default: components["responses"]["DefaultError"];
12959
- };
12960
- };
12961
13758
  /**
12962
13759
  * Get Security Report
12963
13760
  * @description Returns a report detailing incidents logged by the platform around security related events.
12964
13761
  */
12965
13762
  getSecurityReport: {
12966
13763
  parameters: {
12967
- query: {
13764
+ query?: {
12968
13765
  /**
12969
13766
  * @description ## Filter Field
12970
13767
  * The filter field is a key-value object, where the key is what you would like to filter, and the value is the value you're filtering for.
12971
13768
  */
12972
13769
  filter?: {
13770
+ /** @description The start date from when to pull the security report */
13771
+ "range-start"?: components["schemas"]["DateTime"];
13772
+ /** @description The end date from when to pull the security report */
13773
+ "range-end"?: components["schemas"]["DateTime"];
12973
13774
  /** @description `filter[environment]=<Environment ID>` fetch the security report for the specified environment */
12974
13775
  environment?: string;
12975
13776
  /** @description `filter[event]=value` filter by event occurrence. Example: `filter[event]=environment.services.vpn.login` */