@leaflow/sdk 0.181.0 → 0.182.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/compute/v2/generated/models.d.ts +37 -0
  2. package/dist/compute/v2/generated/models.js +5 -0
  3. package/dist/compute/v2/generated/validators/createElasticIPResponseBody.zod.d.ts +9 -0
  4. package/dist/compute/v2/generated/validators/createInstanceResponseBody.zod.d.ts +9 -0
  5. package/dist/compute/v2/generated/validators/createPrivateImageResponseBody.zod.d.ts +9 -0
  6. package/dist/compute/v2/generated/validators/createVolumeBackupResponseBody.zod.d.ts +9 -0
  7. package/dist/compute/v2/generated/validators/createVolumeResponseBody.zod.d.ts +9 -0
  8. package/dist/compute/v2/generated/validators/createVolumeSnapshotResponseBody.zod.d.ts +9 -0
  9. package/dist/compute/v2/generated/validators/deleteElasticIPResponseBody.zod.d.ts +9 -0
  10. package/dist/compute/v2/generated/validators/deleteInstanceResponseBody.zod.d.ts +9 -0
  11. package/dist/compute/v2/generated/validators/deletePrivateImageResponseBody.zod.d.ts +9 -0
  12. package/dist/compute/v2/generated/validators/deleteVolumeBackupResponseBody.zod.d.ts +9 -0
  13. package/dist/compute/v2/generated/validators/deleteVolumeResponseBody.zod.d.ts +9 -0
  14. package/dist/compute/v2/generated/validators/deleteVolumeSnapshotResponseBody.zod.d.ts +9 -0
  15. package/dist/compute/v2/generated/validators/elasticIP.zod.d.ts +9 -0
  16. package/dist/compute/v2/generated/validators/elasticIP.zod.js +4 -0
  17. package/dist/compute/v2/generated/validators/elasticIPListResponseBody.zod.d.ts +9 -0
  18. package/dist/compute/v2/generated/validators/instance.zod.d.ts +9 -0
  19. package/dist/compute/v2/generated/validators/instance.zod.js +4 -0
  20. package/dist/compute/v2/generated/validators/instanceListResponseBody.zod.d.ts +9 -0
  21. package/dist/compute/v2/generated/validators/latestOperation.zod.d.ts +46 -0
  22. package/dist/compute/v2/generated/validators/latestOperation.zod.js +46 -0
  23. package/dist/compute/v2/generated/validators/networkInterface.zod.d.ts +9 -0
  24. package/dist/compute/v2/generated/validators/networkInterface.zod.js +4 -0
  25. package/dist/compute/v2/generated/validators/networkInterfaceListResponseBody.zod.d.ts +9 -0
  26. package/dist/compute/v2/generated/validators/privateImageListResponseBody.zod.d.ts +9 -0
  27. package/dist/compute/v2/generated/validators/privateImageResource.zod.d.ts +9 -0
  28. package/dist/compute/v2/generated/validators/privateImageResource.zod.js +4 -0
  29. package/dist/compute/v2/generated/validators/rebuildInstanceResponseBody.zod.d.ts +9 -0
  30. package/dist/compute/v2/generated/validators/rescueInstanceResponseBody.zod.d.ts +9 -0
  31. package/dist/compute/v2/generated/validators/updateElasticIPResponseBody.zod.d.ts +9 -0
  32. package/dist/compute/v2/generated/validators/updateInstanceResponseBody.zod.d.ts +9 -0
  33. package/dist/compute/v2/generated/validators/updateVolumeResponseBody.zod.d.ts +9 -0
  34. package/dist/compute/v2/generated/validators/virtualPrivateCloud.zod.d.ts +9 -0
  35. package/dist/compute/v2/generated/validators/virtualPrivateCloud.zod.js +4 -0
  36. package/dist/compute/v2/generated/validators/virtualPrivateCloudListResponseBody.zod.d.ts +9 -0
  37. package/dist/compute/v2/generated/validators/virtualPrivateCloudPeeringListResponseBody.zod.d.ts +9 -0
  38. package/dist/compute/v2/generated/validators/virtualPrivateCloudPeeringResource.zod.d.ts +9 -0
  39. package/dist/compute/v2/generated/validators/virtualPrivateCloudPeeringResource.zod.js +4 -0
  40. package/dist/compute/v2/generated/validators/volumeBackupListResponseBody.zod.d.ts +9 -0
  41. package/dist/compute/v2/generated/validators/volumeBackupResource.zod.d.ts +9 -0
  42. package/dist/compute/v2/generated/validators/volumeBackupResource.zod.js +4 -0
  43. package/dist/compute/v2/generated/validators/volumeListResponseBody.zod.d.ts +9 -0
  44. package/dist/compute/v2/generated/validators/volumeResource.zod.d.ts +9 -0
  45. package/dist/compute/v2/generated/validators/volumeResource.zod.js +4 -0
  46. package/dist/compute/v2/generated/validators/volumeSnapshotListResponseBody.zod.d.ts +9 -0
  47. package/dist/compute/v2/generated/validators/volumeSnapshotResource.zod.d.ts +9 -0
  48. package/dist/compute/v2/generated/validators/volumeSnapshotResource.zod.js +4 -0
  49. package/package.json +1 -1
@@ -514,6 +514,25 @@ export interface ElasticIPAssociation {
514
514
  /** @nullable */
515
515
  released_at: string | null;
516
516
  }
517
+ /**
518
+ * `operating` while the operation runs; `succeeded` or `failed` once it has ended.
519
+ */
520
+ export type LatestOperationState = (typeof LatestOperationState)[keyof typeof LatestOperationState];
521
+ export declare const LatestOperationState: {
522
+ readonly operating: "operating";
523
+ readonly succeeded: "succeeded";
524
+ readonly failed: "failed";
525
+ };
526
+ /**
527
+ * The most recent operation started on a resource and how it stands. It is replaced when the next operation starts.
528
+ */
529
+ export interface LatestOperation {
530
+ /** The operation, named as the request that started it, for example `resize` or `attach_volume`. While `state` is `operating`, the resource's `status` names the same operation in progress. */
531
+ name: string;
532
+ /** `operating` while the operation runs; `succeeded` or `failed` once it has ended. */
533
+ state: LatestOperationState;
534
+ started_at: string;
535
+ }
517
536
  /**
518
537
  * One public IP resource, including its bandwidth configuration. Bandwidth has no separate Compute resource ID.
519
538
  * Two subscriptions of one order pay for it: the address subscription, always pay-as-you-go, charges for the
@@ -580,6 +599,8 @@ export interface ElasticIP {
580
599
  */
581
600
  failure_reason: ElasticIPFailureReason;
582
601
  association: ElasticIPAssociation | null;
602
+ /** The most recent operation started on the elastic IP; null when none has been recorded. */
603
+ latest_operation: LatestOperation | null;
583
604
  }
584
605
  /**
585
606
  * The elastic IP as it is when the deletion is accepted, and the Billing cancellation that releases it when subscriptions pay for it.
@@ -1083,6 +1104,8 @@ export interface Instance {
1083
1104
  * @nullable
1084
1105
  */
1085
1106
  launch_template_version_number: number | null;
1107
+ /** The most recent operation started on the instance; null when none has been recorded. */
1108
+ latest_operation: LatestOperation | null;
1086
1109
  }
1087
1110
  /**
1088
1111
  * The instance as it is when the deletion is accepted, and the Billing cancellation that releases it when subscriptions pay for it.
@@ -1696,6 +1719,8 @@ export interface NetworkInterface {
1696
1719
  attachment: NetworkInterfaceAttachment | null;
1697
1720
  /** `pending` until the interface is created, then `available`. `error` means its creation failed or the cloud reports it broken; delete it and create another. A value naming an operation in progress (`attaching`, `detaching`, `associating_elastic_ip`, `updating_security_groups`, `adding_address`, `removing_address`, `deleting`) is shown while that operation runs; the interface refuses another operation until it ends. */
1698
1721
  status: NetworkInterfaceStatus;
1722
+ /** The most recent operation started on the network interface; null when none has been recorded. */
1723
+ latest_operation: LatestOperation | null;
1699
1724
  }
1700
1725
  export interface NetworkInterfaceListResponseBody {
1701
1726
  /** @nullable */
@@ -1895,6 +1920,8 @@ export interface PrivateImageResource {
1895
1920
  readonly subscription_id: string | null;
1896
1921
  /** The subscription that pays for this private image, with the resource it pays for, so that a cancellation through Billing can name what it releases. Empty when no subscription pays for it, and once it is released. */
1897
1922
  release_set: ReleaseSetItem[];
1923
+ /** The most recent operation started on the image; null when none has been recorded. */
1924
+ latest_operation: LatestOperation | null;
1898
1925
  }
1899
1926
  /**
1900
1927
  * The private image as it is when the deletion is accepted, and the Billing cancellation that releases it when subscriptions pay for it.
@@ -2179,6 +2206,8 @@ export interface VirtualPrivateCloudPeeringResource {
2179
2206
  * @nullable
2180
2207
  */
2181
2208
  failure_reason: string | null;
2209
+ /** The most recent operation started on the peering; null when none has been recorded. */
2210
+ latest_operation: LatestOperation | null;
2182
2211
  }
2183
2212
  export interface VirtualPrivateCloudPeeringListResponseBody {
2184
2213
  items: VirtualPrivateCloudPeeringResource[];
@@ -2311,6 +2340,8 @@ export interface VirtualPrivateCloud {
2311
2340
  status: VirtualPrivateCloudStatus;
2312
2341
  created_at: string;
2313
2342
  updated_at: string;
2343
+ /** The most recent operation started on the virtual private cloud; null when none has been recorded. */
2344
+ latest_operation: LatestOperation | null;
2314
2345
  }
2315
2346
  export interface VirtualPrivateCloudListResponseBody {
2316
2347
  items: VirtualPrivateCloud[];
@@ -2413,6 +2444,8 @@ export interface VolumeBackupResource {
2413
2444
  readonly subscription_id: string | null;
2414
2445
  /** The subscription that pays for this volume backup, with the resource it pays for, so that a cancellation through Billing can name what it releases. Empty when no subscription pays for it, and once it is released. */
2415
2446
  release_set: ReleaseSetItem[];
2447
+ /** The most recent operation started on the backup; null when none has been recorded. */
2448
+ latest_operation: LatestOperation | null;
2416
2449
  }
2417
2450
  /**
2418
2451
  * The volume backup as it is when the deletion is accepted, and the Billing cancellation that releases it when subscriptions pay for it.
@@ -2525,6 +2558,8 @@ export interface VolumeSnapshotResource {
2525
2558
  readonly subscription_id: string | null;
2526
2559
  /** The subscription that pays for this snapshot, with the resource it pays for, so that a cancellation through Billing can name what it releases. Empty when no subscription pays for it, and once it is released. */
2527
2560
  release_set: ReleaseSetItem[];
2561
+ /** The most recent operation started on the snapshot; null when none has been recorded. */
2562
+ latest_operation: LatestOperation | null;
2528
2563
  }
2529
2564
  /**
2530
2565
  * The snapshot as it is when the deletion is accepted, and the Billing cancellation that releases it when subscriptions pay for it.
@@ -2751,6 +2786,8 @@ export interface VolumeResource {
2751
2786
  */
2752
2787
  failure_reason: VolumeResourceFailureReason;
2753
2788
  attachment: VolumeAttachment | null;
2789
+ /** The most recent operation started on the volume; null when none has been recorded. */
2790
+ latest_operation: LatestOperation | null;
2754
2791
  }
2755
2792
  /**
2756
2793
  * The volume as it is when the deletion is accepted, and the Billing cancellation that releases it when subscriptions pay for it.
@@ -92,6 +92,11 @@ export const ElasticIPAssociationState = {
92
92
  associated: "associated",
93
93
  released: "released",
94
94
  };
95
+ export const LatestOperationState = {
96
+ operating: "operating",
97
+ succeeded: "succeeded",
98
+ failed: "failed",
99
+ };
95
100
  export const InstanceFamilyCpuVendor = {
96
101
  intel: "intel",
97
102
  amd: "amd",
@@ -124,6 +124,15 @@ export declare const CreateElasticIPResponseBody: zod.ZodObject<{
124
124
  disassociated_at: zod.ZodNullable<zod.z.ZodISODateTime>;
125
125
  released_at: zod.ZodNullable<zod.z.ZodISODateTime>;
126
126
  }, zod.z.core.$strict>, zod.ZodNull]>;
127
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
128
+ name: zod.ZodString;
129
+ state: zod.ZodEnum<{
130
+ failed: "failed";
131
+ succeeded: "succeeded";
132
+ operating: "operating";
133
+ }>;
134
+ started_at: zod.z.ZodISODateTime;
135
+ }, zod.z.core.$strict>, zod.ZodNull]>;
127
136
  }, zod.z.core.$strict>;
128
137
  checkout_session_id: zod.ZodUUID;
129
138
  order_id: zod.ZodNullable<zod.ZodUUID>;
@@ -145,6 +145,15 @@ export declare const CreateInstanceResponseBody: zod.ZodObject<{
145
145
  source_volume_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
146
146
  launch_template_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
147
147
  launch_template_version_number: zod.ZodNullable<zod.ZodInt>;
148
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
149
+ name: zod.ZodString;
150
+ state: zod.ZodEnum<{
151
+ failed: "failed";
152
+ succeeded: "succeeded";
153
+ operating: "operating";
154
+ }>;
155
+ started_at: zod.z.ZodISODateTime;
156
+ }, zod.z.core.$strict>, zod.ZodNull]>;
148
157
  }, zod.z.core.$strict>>;
149
158
  checkout_session_id: zod.ZodUUID;
150
159
  order_id: zod.ZodNullable<zod.ZodUUID>;
@@ -106,6 +106,15 @@ export declare const CreatePrivateImageResponseBody: zod.ZodObject<{
106
106
  name: zod.ZodString;
107
107
  }, zod.z.core.$strict>], "type">;
108
108
  }, zod.z.core.$strict>>;
109
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
110
+ name: zod.ZodString;
111
+ state: zod.ZodEnum<{
112
+ failed: "failed";
113
+ succeeded: "succeeded";
114
+ operating: "operating";
115
+ }>;
116
+ started_at: zod.z.ZodISODateTime;
117
+ }, zod.z.core.$strict>, zod.ZodNull]>;
109
118
  }, zod.z.core.$strict>;
110
119
  checkout_session_id: zod.ZodUUID;
111
120
  order_id: zod.ZodNullable<zod.ZodUUID>;
@@ -98,6 +98,15 @@ export declare const CreateVolumeBackupResponseBody: zod.ZodObject<{
98
98
  name: zod.ZodString;
99
99
  }, zod.z.core.$strict>], "type">;
100
100
  }, zod.z.core.$strict>>;
101
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
102
+ name: zod.ZodString;
103
+ state: zod.ZodEnum<{
104
+ failed: "failed";
105
+ succeeded: "succeeded";
106
+ operating: "operating";
107
+ }>;
108
+ started_at: zod.z.ZodISODateTime;
109
+ }, zod.z.core.$strict>, zod.ZodNull]>;
101
110
  }, zod.z.core.$strict>;
102
111
  checkout_session_id: zod.ZodUUID;
103
112
  order_id: zod.ZodNullable<zod.ZodUUID>;
@@ -135,6 +135,15 @@ export declare const CreateVolumeResponseBody: zod.ZodObject<{
135
135
  throughput_bytes_per_second: zod.ZodInt;
136
136
  }, zod.z.core.$strict>, zod.ZodNull]>;
137
137
  }, zod.z.core.$strict>, zod.ZodNull]>;
138
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
139
+ name: zod.ZodString;
140
+ state: zod.ZodEnum<{
141
+ failed: "failed";
142
+ succeeded: "succeeded";
143
+ operating: "operating";
144
+ }>;
145
+ started_at: zod.z.ZodISODateTime;
146
+ }, zod.z.core.$strict>, zod.ZodNull]>;
138
147
  }, zod.z.core.$strict>;
139
148
  checkout_session_id: zod.ZodUUID;
140
149
  order_id: zod.ZodNullable<zod.ZodUUID>;
@@ -97,6 +97,15 @@ export declare const CreateVolumeSnapshotResponseBody: zod.ZodObject<{
97
97
  name: zod.ZodString;
98
98
  }, zod.z.core.$strict>], "type">;
99
99
  }, zod.z.core.$strict>>;
100
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
101
+ name: zod.ZodString;
102
+ state: zod.ZodEnum<{
103
+ failed: "failed";
104
+ succeeded: "succeeded";
105
+ operating: "operating";
106
+ }>;
107
+ started_at: zod.z.ZodISODateTime;
108
+ }, zod.z.core.$strict>, zod.ZodNull]>;
100
109
  }, zod.z.core.$strict>;
101
110
  checkout_session_id: zod.ZodUUID;
102
111
  order_id: zod.ZodNullable<zod.ZodUUID>;
@@ -124,6 +124,15 @@ export declare const DeleteElasticIPResponseBody: zod.ZodObject<{
124
124
  disassociated_at: zod.ZodNullable<zod.z.ZodISODateTime>;
125
125
  released_at: zod.ZodNullable<zod.z.ZodISODateTime>;
126
126
  }, zod.z.core.$strict>, zod.ZodNull]>;
127
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
128
+ name: zod.ZodString;
129
+ state: zod.ZodEnum<{
130
+ failed: "failed";
131
+ succeeded: "succeeded";
132
+ operating: "operating";
133
+ }>;
134
+ started_at: zod.z.ZodISODateTime;
135
+ }, zod.z.core.$strict>, zod.ZodNull]>;
127
136
  }, zod.z.core.$strict>;
128
137
  cancellation: zod.ZodUnion<readonly [zod.ZodNull, zod.ZodObject<{
129
138
  id: zod.ZodUUID;
@@ -144,6 +144,15 @@ export declare const DeleteInstanceResponseBody: zod.ZodObject<{
144
144
  source_volume_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
145
145
  launch_template_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
146
146
  launch_template_version_number: zod.ZodNullable<zod.ZodInt>;
147
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
148
+ name: zod.ZodString;
149
+ state: zod.ZodEnum<{
150
+ failed: "failed";
151
+ succeeded: "succeeded";
152
+ operating: "operating";
153
+ }>;
154
+ started_at: zod.z.ZodISODateTime;
155
+ }, zod.z.core.$strict>, zod.ZodNull]>;
147
156
  }, zod.z.core.$strict>;
148
157
  cancellation: zod.ZodUnion<readonly [zod.ZodNull, zod.ZodObject<{
149
158
  id: zod.ZodUUID;
@@ -106,6 +106,15 @@ export declare const DeletePrivateImageResponseBody: zod.ZodObject<{
106
106
  name: zod.ZodString;
107
107
  }, zod.z.core.$strict>], "type">;
108
108
  }, zod.z.core.$strict>>;
109
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
110
+ name: zod.ZodString;
111
+ state: zod.ZodEnum<{
112
+ failed: "failed";
113
+ succeeded: "succeeded";
114
+ operating: "operating";
115
+ }>;
116
+ started_at: zod.z.ZodISODateTime;
117
+ }, zod.z.core.$strict>, zod.ZodNull]>;
109
118
  }, zod.z.core.$strict>;
110
119
  cancellation: zod.ZodUnion<readonly [zod.ZodNull, zod.ZodObject<{
111
120
  id: zod.ZodUUID;
@@ -98,6 +98,15 @@ export declare const DeleteVolumeBackupResponseBody: zod.ZodObject<{
98
98
  name: zod.ZodString;
99
99
  }, zod.z.core.$strict>], "type">;
100
100
  }, zod.z.core.$strict>>;
101
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
102
+ name: zod.ZodString;
103
+ state: zod.ZodEnum<{
104
+ failed: "failed";
105
+ succeeded: "succeeded";
106
+ operating: "operating";
107
+ }>;
108
+ started_at: zod.z.ZodISODateTime;
109
+ }, zod.z.core.$strict>, zod.ZodNull]>;
101
110
  }, zod.z.core.$strict>;
102
111
  cancellation: zod.ZodUnion<readonly [zod.ZodNull, zod.ZodObject<{
103
112
  id: zod.ZodUUID;
@@ -135,6 +135,15 @@ export declare const DeleteVolumeResponseBody: zod.ZodObject<{
135
135
  throughput_bytes_per_second: zod.ZodInt;
136
136
  }, zod.z.core.$strict>, zod.ZodNull]>;
137
137
  }, zod.z.core.$strict>, zod.ZodNull]>;
138
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
139
+ name: zod.ZodString;
140
+ state: zod.ZodEnum<{
141
+ failed: "failed";
142
+ succeeded: "succeeded";
143
+ operating: "operating";
144
+ }>;
145
+ started_at: zod.z.ZodISODateTime;
146
+ }, zod.z.core.$strict>, zod.ZodNull]>;
138
147
  }, zod.z.core.$strict>;
139
148
  cancellation: zod.ZodUnion<readonly [zod.ZodNull, zod.ZodObject<{
140
149
  id: zod.ZodUUID;
@@ -97,6 +97,15 @@ export declare const DeleteVolumeSnapshotResponseBody: zod.ZodObject<{
97
97
  name: zod.ZodString;
98
98
  }, zod.z.core.$strict>], "type">;
99
99
  }, zod.z.core.$strict>>;
100
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
101
+ name: zod.ZodString;
102
+ state: zod.ZodEnum<{
103
+ failed: "failed";
104
+ succeeded: "succeeded";
105
+ operating: "operating";
106
+ }>;
107
+ started_at: zod.z.ZodISODateTime;
108
+ }, zod.z.core.$strict>, zod.ZodNull]>;
100
109
  }, zod.z.core.$strict>;
101
110
  cancellation: zod.ZodUnion<readonly [zod.ZodNull, zod.ZodObject<{
102
111
  id: zod.ZodUUID;
@@ -123,6 +123,15 @@ export declare const ElasticIP: zod.ZodObject<{
123
123
  disassociated_at: zod.ZodNullable<zod.z.ZodISODateTime>;
124
124
  released_at: zod.ZodNullable<zod.z.ZodISODateTime>;
125
125
  }, zod.z.core.$strict>, zod.ZodNull]>;
126
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
127
+ name: zod.ZodString;
128
+ state: zod.ZodEnum<{
129
+ failed: "failed";
130
+ succeeded: "succeeded";
131
+ operating: "operating";
132
+ }>;
133
+ started_at: zod.z.ZodISODateTime;
134
+ }, zod.z.core.$strict>, zod.ZodNull]>;
126
135
  }, zod.z.core.$strict>;
127
136
  export type ElasticIP = zod.input<typeof ElasticIP>;
128
137
  export type ElasticIPOutput = zod.output<typeof ElasticIP>;
@@ -38,6 +38,7 @@ import { ElasticIPID } from "./elasticIPID.zod.js";
38
38
  import { ElasticIPLineID } from "./elasticIPLineID.zod.js";
39
39
  import { InternetChargeType } from "./internetChargeType.zod.js";
40
40
  import { IPv4HostAddress } from "./iPv4HostAddress.zod.js";
41
+ import { LatestOperation } from "./latestOperation.zod.js";
41
42
  import { RegionID } from "./regionID.zod.js";
42
43
  import { ReleaseSetItem } from "./releaseSetItem.zod.js";
43
44
  export const ElasticIP = zod
@@ -120,5 +121,8 @@ export const ElasticIP = zod
120
121
  .nullable()
121
122
  .describe("Why creation failed; null unless `status` is `failed`. `checkout_expired` means checkout was not completed before its Checkout Session expired. `provisioning_failed` means creation failed after the order was accepted, and the charge for this elastic IP is refunded."),
122
123
  association: zod.union([ElasticIPAssociation, zod.null()]),
124
+ latest_operation: zod
125
+ .union([LatestOperation, zod.null()])
126
+ .describe("The most recent operation started on the elastic IP; null when none has been recorded."),
123
127
  })
124
128
  .describe("One public IP resource, including its bandwidth configuration. Bandwidth has no separate Compute resource ID.\nTwo subscriptions of one order pay for it: the address subscription, always pay-as-you-go, charges for the\naddress while it is not associated with anything, and the network subscription, on the terms chosen at\npurchase, charges for the bandwidth or the traffic. Changing bandwidth updates this same resource, not another\nallocation.");
@@ -124,6 +124,15 @@ export declare const ElasticIPListResponseBody: zod.ZodObject<{
124
124
  disassociated_at: zod.ZodNullable<zod.z.ZodISODateTime>;
125
125
  released_at: zod.ZodNullable<zod.z.ZodISODateTime>;
126
126
  }, zod.z.core.$strict>, zod.ZodNull]>;
127
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
128
+ name: zod.ZodString;
129
+ state: zod.ZodEnum<{
130
+ failed: "failed";
131
+ succeeded: "succeeded";
132
+ operating: "operating";
133
+ }>;
134
+ started_at: zod.z.ZodISODateTime;
135
+ }, zod.z.core.$strict>, zod.ZodNull]>;
127
136
  }, zod.z.core.$strict>>>;
128
137
  pagination: zod.ZodObject<{
129
138
  page: zod.ZodInt;
@@ -146,6 +146,15 @@ export declare const Instance: zod.ZodObject<{
146
146
  source_volume_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
147
147
  launch_template_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
148
148
  launch_template_version_number: zod.ZodNullable<zod.ZodInt>;
149
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
150
+ name: zod.ZodString;
151
+ state: zod.ZodEnum<{
152
+ failed: "failed";
153
+ succeeded: "succeeded";
154
+ operating: "operating";
155
+ }>;
156
+ started_at: zod.z.ZodISODateTime;
157
+ }, zod.z.core.$strict>, zod.ZodNull]>;
149
158
  }, zod.z.core.$strict>;
150
159
  export type Instance = zod.input<typeof Instance>;
151
160
  export type InstanceOutput = zod.output<typeof Instance>;
@@ -38,6 +38,7 @@ import { ImageID } from "./imageID.zod.js";
38
38
  import { InstanceID } from "./instanceID.zod.js";
39
39
  import { InstanceRestriction } from "./instanceRestriction.zod.js";
40
40
  import { InstanceTypeID } from "./instanceTypeID.zod.js";
41
+ import { LatestOperation } from "./latestOperation.zod.js";
41
42
  import { LaunchTemplateID } from "./launchTemplateID.zod.js";
42
43
  import { RegionID } from "./regionID.zod.js";
43
44
  import { ReleaseSetItem } from "./releaseSetItem.zod.js";
@@ -160,4 +161,7 @@ export const Instance = zod.strictObject({
160
161
  .int()
161
162
  .nullable()
162
163
  .describe("The version of that launch template it was created from; null when none was named."),
164
+ latest_operation: zod
165
+ .union([LatestOperation, zod.null()])
166
+ .describe("The most recent operation started on the instance; null when none has been recorded."),
163
167
  });
@@ -144,6 +144,15 @@ export declare const InstanceListResponseBody: zod.ZodObject<{
144
144
  source_volume_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
145
145
  launch_template_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
146
146
  launch_template_version_number: zod.ZodNullable<zod.ZodInt>;
147
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
148
+ name: zod.ZodString;
149
+ state: zod.ZodEnum<{
150
+ failed: "failed";
151
+ succeeded: "succeeded";
152
+ operating: "operating";
153
+ }>;
154
+ started_at: zod.z.ZodISODateTime;
155
+ }, zod.z.core.$strict>, zod.ZodNull]>;
147
156
  }, zod.z.core.$strict>>;
148
157
  pagination: zod.ZodObject<{
149
158
  page: zod.ZodInt;
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow Compute API
5
+ * Leaflow Compute user API for managing instances, volumes, snapshots, volume backups, public and private images, virtual private clouds, subnets, routes, security groups, network interfaces and elastic IPs.
6
+ *
7
+ * ## Authentication
8
+ *
9
+ * Every request carries a scoped token; see the `scopedTokenAuth` security scheme. The catalog reads, which list and retrieve regions, availability zones, instance types, volume types, public images and elastic IP lines, also answer without a token, so a visitor can configure a purchase and price it with Billing before signing in. A token given to them is still verified, and an invalid one is refused.
10
+ *
11
+ * ## Conventions
12
+ *
13
+ * - **Purchases.** A purchase that creates resources returns them together with the `checkout_session_id` of its Billing Checkout Session and, once checkout completes, its `order_id`. They are readable at once and start as `pending`: checkout may not be complete, the order has not been accepted, nothing exists in the cloud, no inventory such as an address is held, and fields known only after allocation, such as addresses, are null. Once Billing accepts the order, the resource is created: it stays `pending`, then reaches its usual status, such as `running` or `available`. When the Checkout Session expires, the order is declined, canceled or expires, or creation fails, the resource ends `failed` and `failure_reason` states why; the charge for a resource that failed after acceptance is refunded. A purchased change, such as a resize requested with `instance_type_id`, `size_gib` or `bandwidth_mbps` on the resource, returns the resource unchanged with the Checkout Session for the change, and applies once its order is accepted.
14
+ * - **Commercial terms.** Compute catalogs describe technical specifications and, for each order line a purchase makes, how it is sold in Billing (a `BillingComponent`: its Plan, dimensions, what its quantity counts and what its meters read); prices, amounts and currency belong to Billing. A purchase chooses its terms with `billing`, and Billing selects the matching price. Read prices and their rates with Billing's `search-prices` from those components, quote a proposed purchase with `get-quote`, and a change of a resource by its `subscription_id`; Compute has no quote or price proxy endpoint and returns no amounts.
15
+ * - **Checkout.** `checkout` is passed to Billing unchanged. Omit it for automatic checkout, which completes checkout within the request and pays from eligible credit grants and balance; insufficient funds refuse the request with HTTP 422 `BILLING_INSUFFICIENT_FUNDS`, and nothing is created. With `checkout.mode` set to `deferred`, the resources are returned `pending` with an open Checkout Session and no order, even for a zero total; nothing is created until the customer completes checkout in Billing, where a promotion code can be applied, and the order is paid. Do not submit the purchase again after paying; after an uncertain response, look the Checkout Session up in Billing first.
16
+ * - **Quotas.** A creation, purchase or resize that adds to what a project holds in a region is checked against the project's quota there before anything is ordered or created, and is refused with HTTP 409 `COMPUTE_PROJECT_QUOTA_EXCEEDED`, whose `meta` names the `resource`, its `limit`, the amount `used` and the amount `requested`. An instance purchase counts the volumes, the new primary network interface and the new elastic IP bought with each instance. Read the limits with `list-quotas`; a limit no operator set is the platform default.
17
+ * - **Projects.** Resource ownership and project identifiers refer to IAM platform projects, not OpenStack tenants. Instances, images and networks share one infrastructure OpenStack project; the platform project remains the authorization and ownership boundary.
18
+ * - **Custom methods.** An action that is not one of the standard methods (list, get, create, update, delete) is a custom method, `POST` on the resource's path followed by `:` and the verb, as in `POST /api/v2/instances/{id}:reboot` (AIP-136). A state is changed by its custom method, never by writing the state: `:start` and `:stop`, `:rescue` and `:unrescue`, `:associate` and `:disassociate`.
19
+ * - **Operations.** Requests such as `:start`, attaching or deleting return HTTP 202 with the resource as it is when the request is accepted. While an operation runs, the resource's `status` names it, as in `starting` or `deleting`; once it has finished the resource shows its new status and the result. A resource with an operation in progress refuses another operation with HTTP 409 `COMPUTE_RESOURCE_BUSY`; an operation involving two resources, such as attaching a volume, is refused when either has one. A purchased change, such as a resize, is an operation from the moment its Checkout Session is created until the change is applied, the session expires or its order is canceled. Renaming and replacing labels or notes are not operations and are accepted at any time. **Updating.** A `PATCH` carries only mutable fields, all optional and at least one given, and answers 200 when only descriptive fields changed and 202 when an operation started. An operational field (`instance_type_id`, `size_gib`, `bandwidth_mbps`) cannot be combined with any other field in the same request: it is refused with 422 `UPDATE_FIELDS_COMBINED`, because a rename that committed beside a change that was then refused would leave the request half applied.
20
+ * - **Billing relationships.** A purchased resource records its `checkout_session_id` and, once checkout completes, its `order_id`, `order_item_id` and `subscription_id`. Its `access_state` is `pending` until the order is accepted and delivery settles it, then `enabled`; a subscription that lapses suspends or reclaims the resource it pays for. Deleting a resource that subscriptions pay for cancels the subscriptions of its `release_set` in Billing, and the deletion answers with that cancellation.
21
+ * - **Availability zones.** A volume and an instance must reside in the same availability zone to be attached. An instance type and a volume type each belong to one availability zone, as on GCP, so a purchase names the type and the type names the zone; the volumes bought with an instance have to be of types of the instance type's zone.
22
+ * - **IPv6 is routed, not translated.** A virtual private cloud with IPv6 holds a /56 and each of its subnets a /64 of it, as on Alibaba Cloud, Tencent Cloud and Azure; IPv6 and its security groups require no EIP or NAT gateway. EIP and NATGateway are IPv4 products; IPv6 EIP, NAT66 and IPv6 port forwarding are not supported.
23
+ * - **Elastic IP release.** A released address returns to available inventory as soon as its cleanup is confirmed, with no cooldown period. Removing or replacing an elastic IP's association keeps the address held by the project and does not release it.
24
+ * - **Passwords are returned once.** A password generated by the platform during creation or rebuild appears only in that response. Store it immediately.
25
+ *
26
+ * ## Resource identifiers
27
+ *
28
+ * Compute resource IDs use the fixed TypeID prefix declared in their schema. UUID text is not accepted for these resource IDs. Project, order, subscription and Billing Plan identifiers remain UUIDs. Historical operation-log subject IDs are audit facts and are not rewritten.
29
+ *
30
+ * ## Error meta
31
+ *
32
+ * Resource identifiers in an error's `meta` (`resource_id`, `volume_id`, `network_interface_id` and the like) are TypeIDs, in the same form as the identifiers in resources. `meta.resource_type` is the resource's name as written in paths, with underscores: `instance`, `volume`, `elastic_ip`, `network_interface`, `virtual_private_cloud`, `private_image`, `volume_backup`, and so on.
33
+ * OpenAPI spec version: 2.0.0
34
+ */
35
+ import * as zod from "zod";
36
+ export declare const LatestOperation: zod.ZodObject<{
37
+ name: zod.ZodString;
38
+ state: zod.ZodEnum<{
39
+ failed: "failed";
40
+ succeeded: "succeeded";
41
+ operating: "operating";
42
+ }>;
43
+ started_at: zod.z.ZodISODateTime;
44
+ }, zod.z.core.$strict>;
45
+ export type LatestOperation = zod.input<typeof LatestOperation>;
46
+ export type LatestOperationOutput = zod.output<typeof LatestOperation>;
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow Compute API
5
+ * Leaflow Compute user API for managing instances, volumes, snapshots, volume backups, public and private images, virtual private clouds, subnets, routes, security groups, network interfaces and elastic IPs.
6
+ *
7
+ * ## Authentication
8
+ *
9
+ * Every request carries a scoped token; see the `scopedTokenAuth` security scheme. The catalog reads, which list and retrieve regions, availability zones, instance types, volume types, public images and elastic IP lines, also answer without a token, so a visitor can configure a purchase and price it with Billing before signing in. A token given to them is still verified, and an invalid one is refused.
10
+ *
11
+ * ## Conventions
12
+ *
13
+ * - **Purchases.** A purchase that creates resources returns them together with the `checkout_session_id` of its Billing Checkout Session and, once checkout completes, its `order_id`. They are readable at once and start as `pending`: checkout may not be complete, the order has not been accepted, nothing exists in the cloud, no inventory such as an address is held, and fields known only after allocation, such as addresses, are null. Once Billing accepts the order, the resource is created: it stays `pending`, then reaches its usual status, such as `running` or `available`. When the Checkout Session expires, the order is declined, canceled or expires, or creation fails, the resource ends `failed` and `failure_reason` states why; the charge for a resource that failed after acceptance is refunded. A purchased change, such as a resize requested with `instance_type_id`, `size_gib` or `bandwidth_mbps` on the resource, returns the resource unchanged with the Checkout Session for the change, and applies once its order is accepted.
14
+ * - **Commercial terms.** Compute catalogs describe technical specifications and, for each order line a purchase makes, how it is sold in Billing (a `BillingComponent`: its Plan, dimensions, what its quantity counts and what its meters read); prices, amounts and currency belong to Billing. A purchase chooses its terms with `billing`, and Billing selects the matching price. Read prices and their rates with Billing's `search-prices` from those components, quote a proposed purchase with `get-quote`, and a change of a resource by its `subscription_id`; Compute has no quote or price proxy endpoint and returns no amounts.
15
+ * - **Checkout.** `checkout` is passed to Billing unchanged. Omit it for automatic checkout, which completes checkout within the request and pays from eligible credit grants and balance; insufficient funds refuse the request with HTTP 422 `BILLING_INSUFFICIENT_FUNDS`, and nothing is created. With `checkout.mode` set to `deferred`, the resources are returned `pending` with an open Checkout Session and no order, even for a zero total; nothing is created until the customer completes checkout in Billing, where a promotion code can be applied, and the order is paid. Do not submit the purchase again after paying; after an uncertain response, look the Checkout Session up in Billing first.
16
+ * - **Quotas.** A creation, purchase or resize that adds to what a project holds in a region is checked against the project's quota there before anything is ordered or created, and is refused with HTTP 409 `COMPUTE_PROJECT_QUOTA_EXCEEDED`, whose `meta` names the `resource`, its `limit`, the amount `used` and the amount `requested`. An instance purchase counts the volumes, the new primary network interface and the new elastic IP bought with each instance. Read the limits with `list-quotas`; a limit no operator set is the platform default.
17
+ * - **Projects.** Resource ownership and project identifiers refer to IAM platform projects, not OpenStack tenants. Instances, images and networks share one infrastructure OpenStack project; the platform project remains the authorization and ownership boundary.
18
+ * - **Custom methods.** An action that is not one of the standard methods (list, get, create, update, delete) is a custom method, `POST` on the resource's path followed by `:` and the verb, as in `POST /api/v2/instances/{id}:reboot` (AIP-136). A state is changed by its custom method, never by writing the state: `:start` and `:stop`, `:rescue` and `:unrescue`, `:associate` and `:disassociate`.
19
+ * - **Operations.** Requests such as `:start`, attaching or deleting return HTTP 202 with the resource as it is when the request is accepted. While an operation runs, the resource's `status` names it, as in `starting` or `deleting`; once it has finished the resource shows its new status and the result. A resource with an operation in progress refuses another operation with HTTP 409 `COMPUTE_RESOURCE_BUSY`; an operation involving two resources, such as attaching a volume, is refused when either has one. A purchased change, such as a resize, is an operation from the moment its Checkout Session is created until the change is applied, the session expires or its order is canceled. Renaming and replacing labels or notes are not operations and are accepted at any time. **Updating.** A `PATCH` carries only mutable fields, all optional and at least one given, and answers 200 when only descriptive fields changed and 202 when an operation started. An operational field (`instance_type_id`, `size_gib`, `bandwidth_mbps`) cannot be combined with any other field in the same request: it is refused with 422 `UPDATE_FIELDS_COMBINED`, because a rename that committed beside a change that was then refused would leave the request half applied.
20
+ * - **Billing relationships.** A purchased resource records its `checkout_session_id` and, once checkout completes, its `order_id`, `order_item_id` and `subscription_id`. Its `access_state` is `pending` until the order is accepted and delivery settles it, then `enabled`; a subscription that lapses suspends or reclaims the resource it pays for. Deleting a resource that subscriptions pay for cancels the subscriptions of its `release_set` in Billing, and the deletion answers with that cancellation.
21
+ * - **Availability zones.** A volume and an instance must reside in the same availability zone to be attached. An instance type and a volume type each belong to one availability zone, as on GCP, so a purchase names the type and the type names the zone; the volumes bought with an instance have to be of types of the instance type's zone.
22
+ * - **IPv6 is routed, not translated.** A virtual private cloud with IPv6 holds a /56 and each of its subnets a /64 of it, as on Alibaba Cloud, Tencent Cloud and Azure; IPv6 and its security groups require no EIP or NAT gateway. EIP and NATGateway are IPv4 products; IPv6 EIP, NAT66 and IPv6 port forwarding are not supported.
23
+ * - **Elastic IP release.** A released address returns to available inventory as soon as its cleanup is confirmed, with no cooldown period. Removing or replacing an elastic IP's association keeps the address held by the project and does not release it.
24
+ * - **Passwords are returned once.** A password generated by the platform during creation or rebuild appears only in that response. Store it immediately.
25
+ *
26
+ * ## Resource identifiers
27
+ *
28
+ * Compute resource IDs use the fixed TypeID prefix declared in their schema. UUID text is not accepted for these resource IDs. Project, order, subscription and Billing Plan identifiers remain UUIDs. Historical operation-log subject IDs are audit facts and are not rewritten.
29
+ *
30
+ * ## Error meta
31
+ *
32
+ * Resource identifiers in an error's `meta` (`resource_id`, `volume_id`, `network_interface_id` and the like) are TypeIDs, in the same form as the identifiers in resources. `meta.resource_type` is the resource's name as written in paths, with underscores: `instance`, `volume`, `elastic_ip`, `network_interface`, `virtual_private_cloud`, `private_image`, `volume_backup`, and so on.
33
+ * OpenAPI spec version: 2.0.0
34
+ */
35
+ import * as zod from "zod";
36
+ export const LatestOperation = zod
37
+ .strictObject({
38
+ name: zod
39
+ .string()
40
+ .describe("The operation, named as the request that started it, for example `resize` or `attach_volume`. While `state` is `operating`, the resource's `status` names the same operation in progress."),
41
+ state: zod
42
+ .enum(["operating", "succeeded", "failed"])
43
+ .describe("`operating` while the operation runs; `succeeded` or `failed` once it has ended."),
44
+ started_at: zod.iso.datetime({ offset: true }),
45
+ })
46
+ .describe("The most recent operation started on a resource and how it stands. It is replaced when the next operation starts.");
@@ -89,6 +89,15 @@ export declare const NetworkInterface: zod.ZodObject<{
89
89
  adding_address: "adding_address";
90
90
  removing_address: "removing_address";
91
91
  }>;
92
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
93
+ name: zod.ZodString;
94
+ state: zod.ZodEnum<{
95
+ failed: "failed";
96
+ succeeded: "succeeded";
97
+ operating: "operating";
98
+ }>;
99
+ started_at: zod.z.ZodISODateTime;
100
+ }, zod.z.core.$strict>, zod.ZodNull]>;
92
101
  }, zod.z.core.$strict>;
93
102
  export type NetworkInterface = zod.input<typeof NetworkInterface>;
94
103
  export type NetworkInterfaceOutput = zod.output<typeof NetworkInterface>;
@@ -33,6 +33,7 @@
33
33
  * OpenAPI spec version: 2.0.0
34
34
  */
35
35
  import * as zod from "zod";
36
+ import { LatestOperation } from "./latestOperation.zod.js";
36
37
  import { NetworkInterfaceAddress } from "./networkInterfaceAddress.zod.js";
37
38
  import { NetworkInterfaceAttachment } from "./networkInterfaceAttachment.zod.js";
38
39
  import { NetworkInterfaceID } from "./networkInterfaceID.zod.js";
@@ -66,4 +67,7 @@ export const NetworkInterface = zod.strictObject({
66
67
  "deleting",
67
68
  ])
68
69
  .describe("`pending` until the interface is created, then `available`. `error` means its creation failed or the cloud reports it broken; delete it and create another. A value naming an operation in progress (`attaching`, `detaching`, `associating_elastic_ip`, `updating_security_groups`, `adding_address`, `removing_address`, `deleting`) is shown while that operation runs; the interface refuses another operation until it ends."),
70
+ latest_operation: zod
71
+ .union([LatestOperation, zod.null()])
72
+ .describe("The most recent operation started on the network interface; null when none has been recorded."),
69
73
  });
@@ -90,6 +90,15 @@ export declare const NetworkInterfaceListResponseBody: zod.ZodObject<{
90
90
  adding_address: "adding_address";
91
91
  removing_address: "removing_address";
92
92
  }>;
93
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
94
+ name: zod.ZodString;
95
+ state: zod.ZodEnum<{
96
+ failed: "failed";
97
+ succeeded: "succeeded";
98
+ operating: "operating";
99
+ }>;
100
+ started_at: zod.z.ZodISODateTime;
101
+ }, zod.z.core.$strict>, zod.ZodNull]>;
93
102
  }, zod.z.core.$strict>>>;
94
103
  pagination: zod.ZodObject<{
95
104
  page: zod.ZodInt;
@@ -106,6 +106,15 @@ export declare const PrivateImageListResponseBody: zod.ZodObject<{
106
106
  name: zod.ZodString;
107
107
  }, zod.z.core.$strict>], "type">;
108
108
  }, zod.z.core.$strict>>;
109
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
110
+ name: zod.ZodString;
111
+ state: zod.ZodEnum<{
112
+ failed: "failed";
113
+ succeeded: "succeeded";
114
+ operating: "operating";
115
+ }>;
116
+ started_at: zod.z.ZodISODateTime;
117
+ }, zod.z.core.$strict>, zod.ZodNull]>;
109
118
  }, zod.z.core.$strict>>;
110
119
  pagination: zod.ZodObject<{
111
120
  page: zod.ZodInt;
@@ -106,6 +106,15 @@ export declare const PrivateImageResource: zod.ZodObject<{
106
106
  name: zod.ZodString;
107
107
  }, zod.z.core.$strict>], "type">;
108
108
  }, zod.z.core.$strict>>;
109
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
110
+ name: zod.ZodString;
111
+ state: zod.ZodEnum<{
112
+ failed: "failed";
113
+ succeeded: "succeeded";
114
+ operating: "operating";
115
+ }>;
116
+ started_at: zod.z.ZodISODateTime;
117
+ }, zod.z.core.$strict>, zod.ZodNull]>;
109
118
  }, zod.z.core.$strict>;
110
119
  export type PrivateImageResource = zod.input<typeof PrivateImageResource>;
111
120
  export type PrivateImageResourceOutput = zod.output<typeof PrivateImageResource>;
@@ -35,6 +35,7 @@
35
35
  import * as zod from "zod";
36
36
  import { ImageID } from "./imageID.zod.js";
37
37
  import { InstanceID } from "./instanceID.zod.js";
38
+ import { LatestOperation } from "./latestOperation.zod.js";
38
39
  import { RegionID } from "./regionID.zod.js";
39
40
  import { ReleaseSetItem } from "./releaseSetItem.zod.js";
40
41
  export const privateImageResourceLoginUsernameMax = 32;
@@ -111,5 +112,8 @@ export const PrivateImageResource = zod
111
112
  release_set: zod
112
113
  .array(ReleaseSetItem)
113
114
  .describe("The subscription that pays for this private image, with the resource it pays for, so that a cancellation through Billing can name what it releases. Empty when no subscription pays for it, and once it is released."),
115
+ latest_operation: zod
116
+ .union([LatestOperation, zod.null()])
117
+ .describe("The most recent operation started on the image; null when none has been recorded."),
114
118
  })
115
119
  .describe("An image this project captured from one of its instances, used to install instances of this project. Its storage is billed only to this project. Reclaimed for non-payment while instances installed from it remain, it is kept, unusable and no longer charged, and deleted once the last of them is released.");
@@ -144,6 +144,15 @@ export declare const RebuildInstanceResponseBody: zod.ZodObject<{
144
144
  source_volume_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
145
145
  launch_template_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
146
146
  launch_template_version_number: zod.ZodNullable<zod.ZodInt>;
147
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
148
+ name: zod.ZodString;
149
+ state: zod.ZodEnum<{
150
+ failed: "failed";
151
+ succeeded: "succeeded";
152
+ operating: "operating";
153
+ }>;
154
+ started_at: zod.z.ZodISODateTime;
155
+ }, zod.z.core.$strict>, zod.ZodNull]>;
147
156
  }, zod.z.core.$strict>;
148
157
  password: zod.ZodNullable<zod.ZodString>;
149
158
  }, zod.z.core.$strict>;
@@ -145,6 +145,15 @@ export declare const RescueInstanceResponseBody: zod.ZodObject<{
145
145
  source_volume_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
146
146
  launch_template_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
147
147
  launch_template_version_number: zod.ZodNullable<zod.ZodInt>;
148
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
149
+ name: zod.ZodString;
150
+ state: zod.ZodEnum<{
151
+ failed: "failed";
152
+ succeeded: "succeeded";
153
+ operating: "operating";
154
+ }>;
155
+ started_at: zod.z.ZodISODateTime;
156
+ }, zod.z.core.$strict>, zod.ZodNull]>;
148
157
  }, zod.z.core.$strict>;
149
158
  }, zod.z.core.$strict>;
150
159
  export type RescueInstanceResponseBody = zod.input<typeof RescueInstanceResponseBody>;
@@ -124,6 +124,15 @@ export declare const UpdateElasticIPResponseBody: zod.ZodObject<{
124
124
  disassociated_at: zod.ZodNullable<zod.z.ZodISODateTime>;
125
125
  released_at: zod.ZodNullable<zod.z.ZodISODateTime>;
126
126
  }, zod.z.core.$strict>, zod.ZodNull]>;
127
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
128
+ name: zod.ZodString;
129
+ state: zod.ZodEnum<{
130
+ failed: "failed";
131
+ succeeded: "succeeded";
132
+ operating: "operating";
133
+ }>;
134
+ started_at: zod.z.ZodISODateTime;
135
+ }, zod.z.core.$strict>, zod.ZodNull]>;
127
136
  }, zod.z.core.$strict>;
128
137
  checkout_session_id: zod.ZodNullable<zod.ZodUUID>;
129
138
  order_id: zod.ZodNullable<zod.ZodUUID>;
@@ -144,6 +144,15 @@ export declare const UpdateInstanceResponseBody: zod.ZodObject<{
144
144
  source_volume_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
145
145
  launch_template_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
146
146
  launch_template_version_number: zod.ZodNullable<zod.ZodInt>;
147
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
148
+ name: zod.ZodString;
149
+ state: zod.ZodEnum<{
150
+ failed: "failed";
151
+ succeeded: "succeeded";
152
+ operating: "operating";
153
+ }>;
154
+ started_at: zod.z.ZodISODateTime;
155
+ }, zod.z.core.$strict>, zod.ZodNull]>;
147
156
  }, zod.z.core.$strict>;
148
157
  checkout_session_id: zod.ZodNullable<zod.ZodUUID>;
149
158
  order_id: zod.ZodNullable<zod.ZodUUID>;
@@ -135,6 +135,15 @@ export declare const UpdateVolumeResponseBody: zod.ZodObject<{
135
135
  throughput_bytes_per_second: zod.ZodInt;
136
136
  }, zod.z.core.$strict>, zod.ZodNull]>;
137
137
  }, zod.z.core.$strict>, zod.ZodNull]>;
138
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
139
+ name: zod.ZodString;
140
+ state: zod.ZodEnum<{
141
+ failed: "failed";
142
+ succeeded: "succeeded";
143
+ operating: "operating";
144
+ }>;
145
+ started_at: zod.z.ZodISODateTime;
146
+ }, zod.z.core.$strict>, zod.ZodNull]>;
138
147
  }, zod.z.core.$strict>;
139
148
  checkout_session_id: zod.ZodNullable<zod.ZodUUID>;
140
149
  order_id: zod.ZodNullable<zod.ZodUUID>;
@@ -49,6 +49,15 @@ export declare const VirtualPrivateCloud: zod.ZodObject<{
49
49
  }>;
50
50
  created_at: zod.z.ZodISODateTime;
51
51
  updated_at: zod.z.ZodISODateTime;
52
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
53
+ name: zod.ZodString;
54
+ state: zod.ZodEnum<{
55
+ failed: "failed";
56
+ succeeded: "succeeded";
57
+ operating: "operating";
58
+ }>;
59
+ started_at: zod.z.ZodISODateTime;
60
+ }, zod.z.core.$strict>, zod.ZodNull]>;
52
61
  }, zod.z.core.$strict>;
53
62
  export type VirtualPrivateCloud = zod.input<typeof VirtualPrivateCloud>;
54
63
  export type VirtualPrivateCloudOutput = zod.output<typeof VirtualPrivateCloud>;
@@ -33,6 +33,7 @@
33
33
  * OpenAPI spec version: 2.0.0
34
34
  */
35
35
  import * as zod from "zod";
36
+ import { LatestOperation } from "./latestOperation.zod.js";
36
37
  import { RegionID } from "./regionID.zod.js";
37
38
  import { VirtualPrivateCloudID } from "./virtualPrivateCloudID.zod.js";
38
39
  export const VirtualPrivateCloud = zod.strictObject({
@@ -49,4 +50,7 @@ export const VirtualPrivateCloud = zod.strictObject({
49
50
  .describe("`available` from creation: the network and router are created in the backend by the first member that needs them, so a virtual private cloud nothing uses holds no capacity there. `failed` means the cloud reports the network broken; instances cannot be created in it then and are refused with `VIRTUAL_PRIVATE_CLOUD_UNAVAILABLE`. `deleting` from the moment its deletion began until it is gone: subnets, security groups and routes in it can no longer be created, changed or deleted, and are refused with `VIRTUAL_PRIVATE_CLOUD_DELETING`. A deletion that stopped before the end leaves it `deleting`, and deleting it again resumes from where it stopped. `creating`, `enabling_ipv6` and `disabling_ipv6` name operations in progress; the network refuses another operation until they end."),
50
51
  created_at: zod.iso.datetime({ offset: true }),
51
52
  updated_at: zod.iso.datetime({ offset: true }),
53
+ latest_operation: zod
54
+ .union([LatestOperation, zod.null()])
55
+ .describe("The most recent operation started on the virtual private cloud; null when none has been recorded."),
52
56
  });
@@ -50,6 +50,15 @@ export declare const VirtualPrivateCloudListResponseBody: zod.ZodObject<{
50
50
  }>;
51
51
  created_at: zod.z.ZodISODateTime;
52
52
  updated_at: zod.z.ZodISODateTime;
53
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
54
+ name: zod.ZodString;
55
+ state: zod.ZodEnum<{
56
+ failed: "failed";
57
+ succeeded: "succeeded";
58
+ operating: "operating";
59
+ }>;
60
+ started_at: zod.z.ZodISODateTime;
61
+ }, zod.z.core.$strict>, zod.ZodNull]>;
53
62
  }, zod.z.core.$strict>>;
54
63
  pagination: zod.ZodObject<{
55
64
  page: zod.ZodInt;
@@ -57,6 +57,15 @@ export declare const VirtualPrivateCloudPeeringListResponseBody: zod.ZodObject<{
57
57
  }>;
58
58
  created_at: zod.z.ZodISODateTime;
59
59
  failure_reason: zod.ZodNullable<zod.ZodString>;
60
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
61
+ name: zod.ZodString;
62
+ state: zod.ZodEnum<{
63
+ failed: "failed";
64
+ succeeded: "succeeded";
65
+ operating: "operating";
66
+ }>;
67
+ started_at: zod.z.ZodISODateTime;
68
+ }, zod.z.core.$strict>, zod.ZodNull]>;
60
69
  }, zod.z.core.$strict>>;
61
70
  pagination: zod.ZodObject<{
62
71
  page: zod.ZodInt;
@@ -56,6 +56,15 @@ export declare const VirtualPrivateCloudPeeringResource: zod.ZodObject<{
56
56
  }>;
57
57
  created_at: zod.z.ZodISODateTime;
58
58
  failure_reason: zod.ZodNullable<zod.ZodString>;
59
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
60
+ name: zod.ZodString;
61
+ state: zod.ZodEnum<{
62
+ failed: "failed";
63
+ succeeded: "succeeded";
64
+ operating: "operating";
65
+ }>;
66
+ started_at: zod.z.ZodISODateTime;
67
+ }, zod.z.core.$strict>, zod.ZodNull]>;
59
68
  }, zod.z.core.$strict>;
60
69
  export type VirtualPrivateCloudPeeringResource = zod.input<typeof VirtualPrivateCloudPeeringResource>;
61
70
  export type VirtualPrivateCloudPeeringResourceOutput = zod.output<typeof VirtualPrivateCloudPeeringResource>;
@@ -33,6 +33,7 @@
33
33
  * OpenAPI spec version: 2.0.0
34
34
  */
35
35
  import * as zod from "zod";
36
+ import { LatestOperation } from "./latestOperation.zod.js";
36
37
  import { RegionID } from "./regionID.zod.js";
37
38
  import { VirtualPrivateCloudID } from "./virtualPrivateCloudID.zod.js";
38
39
  import { VirtualPrivateCloudPeeringID } from "./virtualPrivateCloudPeeringID.zod.js";
@@ -55,4 +56,7 @@ export const VirtualPrivateCloudPeeringResource = zod.strictObject({
55
56
  .string()
56
57
  .nullable()
57
58
  .describe("Why provisioning failed; null unless `status` is `failed`."),
59
+ latest_operation: zod
60
+ .union([LatestOperation, zod.null()])
61
+ .describe("The most recent operation started on the peering; null when none has been recorded."),
58
62
  });
@@ -98,6 +98,15 @@ export declare const VolumeBackupListResponseBody: zod.ZodObject<{
98
98
  name: zod.ZodString;
99
99
  }, zod.z.core.$strict>], "type">;
100
100
  }, zod.z.core.$strict>>;
101
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
102
+ name: zod.ZodString;
103
+ state: zod.ZodEnum<{
104
+ failed: "failed";
105
+ succeeded: "succeeded";
106
+ operating: "operating";
107
+ }>;
108
+ started_at: zod.z.ZodISODateTime;
109
+ }, zod.z.core.$strict>, zod.ZodNull]>;
101
110
  }, zod.z.core.$strict>>>;
102
111
  pagination: zod.ZodObject<{
103
112
  page: zod.ZodInt;
@@ -97,6 +97,15 @@ export declare const VolumeBackupResource: zod.ZodObject<{
97
97
  name: zod.ZodString;
98
98
  }, zod.z.core.$strict>], "type">;
99
99
  }, zod.z.core.$strict>>;
100
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
101
+ name: zod.ZodString;
102
+ state: zod.ZodEnum<{
103
+ failed: "failed";
104
+ succeeded: "succeeded";
105
+ operating: "operating";
106
+ }>;
107
+ started_at: zod.z.ZodISODateTime;
108
+ }, zod.z.core.$strict>, zod.ZodNull]>;
100
109
  }, zod.z.core.$strict>;
101
110
  export type VolumeBackupResource = zod.input<typeof VolumeBackupResource>;
102
111
  export type VolumeBackupResourceOutput = zod.output<typeof VolumeBackupResource>;
@@ -34,6 +34,7 @@
34
34
  */
35
35
  import * as zod from "zod";
36
36
  import { AvailabilityZoneID } from "./availabilityZoneID.zod.js";
37
+ import { LatestOperation } from "./latestOperation.zod.js";
37
38
  import { RegionID } from "./regionID.zod.js";
38
39
  import { ReleaseSetItem } from "./releaseSetItem.zod.js";
39
40
  import { VolumeBackupID } from "./volumeBackupID.zod.js";
@@ -82,5 +83,8 @@ export const VolumeBackupResource = zod
82
83
  release_set: zod
83
84
  .array(ReleaseSetItem)
84
85
  .describe("The subscription that pays for this volume backup, with the resource it pays for, so that a cancellation through Billing can name what it releases. Empty when no subscription pays for it, and once it is released."),
86
+ latest_operation: zod
87
+ .union([LatestOperation, zod.null()])
88
+ .describe("The most recent operation started on the backup; null when none has been recorded."),
85
89
  })
86
90
  .describe("A retained copy of a volume, restorable after its source volume is deleted. Compute project quotas constrain its count; retained storage is metered independently.");
@@ -135,6 +135,15 @@ export declare const VolumeListResponseBody: zod.ZodObject<{
135
135
  throughput_bytes_per_second: zod.ZodInt;
136
136
  }, zod.z.core.$strict>, zod.ZodNull]>;
137
137
  }, zod.z.core.$strict>, zod.ZodNull]>;
138
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
139
+ name: zod.ZodString;
140
+ state: zod.ZodEnum<{
141
+ failed: "failed";
142
+ succeeded: "succeeded";
143
+ operating: "operating";
144
+ }>;
145
+ started_at: zod.z.ZodISODateTime;
146
+ }, zod.z.core.$strict>, zod.ZodNull]>;
138
147
  }, zod.z.core.$strict>>>;
139
148
  pagination: zod.ZodObject<{
140
149
  page: zod.ZodInt;
@@ -134,6 +134,15 @@ export declare const VolumeResource: zod.ZodObject<{
134
134
  throughput_bytes_per_second: zod.ZodInt;
135
135
  }, zod.z.core.$strict>, zod.ZodNull]>;
136
136
  }, zod.z.core.$strict>, zod.ZodNull]>;
137
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
138
+ name: zod.ZodString;
139
+ state: zod.ZodEnum<{
140
+ failed: "failed";
141
+ succeeded: "succeeded";
142
+ operating: "operating";
143
+ }>;
144
+ started_at: zod.z.ZodISODateTime;
145
+ }, zod.z.core.$strict>, zod.ZodNull]>;
137
146
  }, zod.z.core.$strict>;
138
147
  export type VolumeResource = zod.input<typeof VolumeResource>;
139
148
  export type VolumeResourceOutput = zod.output<typeof VolumeResource>;
@@ -34,6 +34,7 @@
34
34
  */
35
35
  import * as zod from "zod";
36
36
  import { AvailabilityZoneID } from "./availabilityZoneID.zod.js";
37
+ import { LatestOperation } from "./latestOperation.zod.js";
37
38
  import { RegionID } from "./regionID.zod.js";
38
39
  import { ReleaseSetItem } from "./releaseSetItem.zod.js";
39
40
  import { VolumeAttachment } from "./volumeAttachment.zod.js";
@@ -101,4 +102,7 @@ export const VolumeResource = zod.strictObject({
101
102
  .nullable()
102
103
  .describe("Why creation failed; null unless `status` is `failed`. `checkout_expired` means checkout was not completed before its Checkout Session expired. `provisioning_failed` means creation failed after the order was accepted, and the charge for this volume is refunded."),
103
104
  attachment: zod.union([VolumeAttachment, zod.null()]),
105
+ latest_operation: zod
106
+ .union([LatestOperation, zod.null()])
107
+ .describe("The most recent operation started on the volume; null when none has been recorded."),
104
108
  });
@@ -97,6 +97,15 @@ export declare const VolumeSnapshotListResponseBody: zod.ZodObject<{
97
97
  name: zod.ZodString;
98
98
  }, zod.z.core.$strict>], "type">;
99
99
  }, zod.z.core.$strict>>;
100
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
101
+ name: zod.ZodString;
102
+ state: zod.ZodEnum<{
103
+ failed: "failed";
104
+ succeeded: "succeeded";
105
+ operating: "operating";
106
+ }>;
107
+ started_at: zod.z.ZodISODateTime;
108
+ }, zod.z.core.$strict>, zod.ZodNull]>;
100
109
  }, zod.z.core.$strict>>>;
101
110
  pagination: zod.ZodObject<{
102
111
  page: zod.ZodInt;
@@ -96,6 +96,15 @@ export declare const VolumeSnapshotResource: zod.ZodObject<{
96
96
  name: zod.ZodString;
97
97
  }, zod.z.core.$strict>], "type">;
98
98
  }, zod.z.core.$strict>>;
99
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
100
+ name: zod.ZodString;
101
+ state: zod.ZodEnum<{
102
+ failed: "failed";
103
+ succeeded: "succeeded";
104
+ operating: "operating";
105
+ }>;
106
+ started_at: zod.z.ZodISODateTime;
107
+ }, zod.z.core.$strict>, zod.ZodNull]>;
99
108
  }, zod.z.core.$strict>;
100
109
  export type VolumeSnapshotResource = zod.input<typeof VolumeSnapshotResource>;
101
110
  export type VolumeSnapshotResourceOutput = zod.output<typeof VolumeSnapshotResource>;
@@ -34,6 +34,7 @@
34
34
  */
35
35
  import * as zod from "zod";
36
36
  import { AvailabilityZoneID } from "./availabilityZoneID.zod.js";
37
+ import { LatestOperation } from "./latestOperation.zod.js";
37
38
  import { RegionID } from "./regionID.zod.js";
38
39
  import { ReleaseSetItem } from "./releaseSetItem.zod.js";
39
40
  import { VolumeID } from "./volumeID.zod.js";
@@ -79,5 +80,8 @@ export const VolumeSnapshotResource = zod
79
80
  release_set: zod
80
81
  .array(ReleaseSetItem)
81
82
  .describe("The subscription that pays for this snapshot, with the resource it pays for, so that a cancellation through Billing can name what it releases. Empty when no subscription pays for it, and once it is released."),
83
+ latest_operation: zod
84
+ .union([LatestOperation, zod.null()])
85
+ .describe("The most recent operation started on the snapshot; null when none has been recorded."),
82
86
  })
83
87
  .describe("A snapshot of a volume. Compute project quotas constrain its count; retained storage is metered independently of that quota.");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leaflow/sdk",
3
- "version": "0.181.0",
3
+ "version": "0.182.0",
4
4
  "description": "Leaflow 平台 API 的 TypeScript SDK",
5
5
  "license": "MIT",
6
6
  "repository": {