@leaflow/sdk 0.0.0-dev.529.g6a1b7de → 0.0.0-dev.535.g1eeb8a5

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 (648) hide show
  1. package/dist/billing/type/checkout/v1/generated/models.d.ts +5 -0
  2. package/dist/billing/type/checkout/v1/generated/validators/checkoutOptions.zod.d.ts +2 -0
  3. package/dist/billing/type/checkout/v1/generated/validators/checkoutOptions.zod.js +5 -0
  4. package/dist/billing/v1/generated/functions.d.ts +105 -90
  5. package/dist/billing/v1/generated/functions.js +107 -92
  6. package/dist/billing/v1/generated/models.d.ts +338 -164
  7. package/dist/billing/v1/generated/models.js +16 -10
  8. package/dist/billing/v1/generated/schemas.zod.d.ts +93 -70
  9. package/dist/billing/v1/generated/schemas.zod.js +98 -72
  10. package/dist/billing/v1/generated/validators/activeResource.zod.d.ts +1 -0
  11. package/dist/billing/v1/generated/validators/activeResource.zod.js +3 -2
  12. package/dist/billing/v1/generated/validators/activeResourceList.zod.d.ts +1 -0
  13. package/dist/billing/v1/generated/validators/allowance.zod.d.ts +1 -0
  14. package/dist/billing/v1/generated/validators/allowance.zod.js +5 -1
  15. package/dist/billing/v1/generated/validators/allowanceList.zod.d.ts +1 -0
  16. package/dist/billing/v1/generated/validators/cancellation.zod.d.ts +1 -0
  17. package/dist/billing/v1/generated/validators/cancellation.zod.js +2 -2
  18. package/dist/billing/v1/generated/validators/cancellationCreate.zod.d.ts +4 -2
  19. package/dist/billing/v1/generated/validators/cancellationCreate.zod.js +5 -4
  20. package/dist/billing/v1/generated/validators/cancellationItem.zod.d.ts +1 -0
  21. package/dist/billing/v1/generated/validators/cancellationItem.zod.js +5 -4
  22. package/dist/billing/v1/generated/validators/cancellationItemInput.zod.d.ts +13 -0
  23. package/dist/billing/v1/generated/validators/{autoRenewSet.zod.d.ts → cancellationItemInput.zod.js} +5 -5
  24. package/dist/billing/v1/generated/validators/cancellationList.zod.d.ts +1 -0
  25. package/dist/billing/v1/generated/validators/cancellationPreview.zod.d.ts +1 -0
  26. package/dist/billing/v1/generated/validators/cancellationPreview.zod.js +2 -2
  27. package/dist/billing/v1/generated/validators/cancellationPreviewItem.zod.d.ts +1 -0
  28. package/dist/billing/v1/generated/validators/cancellationPreviewItem.zod.js +4 -3
  29. package/dist/billing/v1/generated/validators/cancellationPreviewRequest.zod.d.ts +4 -2
  30. package/dist/billing/v1/generated/validators/cancellationPreviewRequest.zod.js +8 -7
  31. package/dist/billing/v1/generated/validators/checkoutOptions.zod.d.ts +2 -0
  32. package/dist/billing/v1/generated/validators/checkoutOptions.zod.js +5 -0
  33. package/dist/billing/v1/generated/validators/checkoutSession.zod.d.ts +6 -0
  34. package/dist/billing/v1/generated/validators/checkoutSession.zod.js +7 -3
  35. package/dist/billing/v1/generated/validators/checkoutSessionCreate.zod.d.ts +4 -1
  36. package/dist/billing/v1/generated/validators/checkoutSessionCreate.zod.js +8 -2
  37. package/dist/billing/v1/generated/validators/checkoutSessionItem.zod.d.ts +3 -1
  38. package/dist/billing/v1/generated/validators/checkoutSessionItem.zod.js +7 -2
  39. package/dist/billing/v1/generated/validators/checkoutSessionItemList.zod.d.ts +2 -1
  40. package/dist/billing/v1/generated/validators/checkoutSessionList.zod.d.ts +6 -0
  41. package/dist/billing/v1/generated/validators/checkoutSessionResult.zod.d.ts +7 -0
  42. package/dist/billing/v1/generated/validators/checkoutSessionSubscription.zod.d.ts +15 -0
  43. package/dist/billing/v1/generated/validators/checkoutSessionSubscription.zod.js +24 -0
  44. package/dist/billing/v1/generated/validators/checkoutSessionSubscriptionInput.zod.d.ts +13 -0
  45. package/dist/billing/v1/generated/validators/{autoRenewSet.zod.js → checkoutSessionSubscriptionInput.zod.js} +5 -3
  46. package/dist/billing/v1/generated/validators/entitlement.zod.js +1 -1
  47. package/dist/billing/v1/generated/validators/invoiceItem.zod.js +1 -1
  48. package/dist/billing/v1/generated/validators/invoiceItemProration.zod.js +1 -1
  49. package/dist/billing/v1/generated/validators/listActiveResourcesParams.zod.js +2 -2
  50. package/dist/billing/v1/generated/validators/listAllowancesParams.zod.js +2 -2
  51. package/dist/billing/v1/generated/validators/listCancellationsParams.zod.d.ts +1 -0
  52. package/dist/billing/v1/generated/validators/listCancellationsParams.zod.js +1 -0
  53. package/dist/billing/v1/generated/validators/listEntitlementsParams.zod.js +2 -2
  54. package/dist/billing/v1/generated/validators/listFeatureGrantsParams.zod.js +2 -2
  55. package/dist/billing/v1/generated/validators/listPricesParams.zod.js +2 -2
  56. package/dist/billing/v1/generated/validators/{listRenewalPricesParams.zod.d.ts → listRenewalOptionsParams.zod.d.ts} +7 -7
  57. package/dist/billing/v1/generated/validators/{listRenewalPricesParams.zod.js → listRenewalOptionsParams.zod.js} +9 -9
  58. package/dist/billing/v1/generated/validators/listSpendParams.zod.js +2 -2
  59. package/dist/billing/v1/generated/validators/listSubscriptionsParams.zod.d.ts +4 -1
  60. package/dist/billing/v1/generated/validators/listSubscriptionsParams.zod.js +7 -1
  61. package/dist/billing/v1/generated/validators/listUsageChargesParams.zod.js +2 -2
  62. package/dist/billing/v1/generated/validators/order.zod.d.ts +1 -0
  63. package/dist/billing/v1/generated/validators/order.zod.js +2 -2
  64. package/dist/billing/v1/generated/validators/orderItem.zod.d.ts +1 -0
  65. package/dist/billing/v1/generated/validators/orderItem.zod.js +8 -4
  66. package/dist/billing/v1/generated/validators/orderItemList.zod.d.ts +1 -0
  67. package/dist/billing/v1/generated/validators/orderItemStatus.zod.js +1 -1
  68. package/dist/billing/v1/generated/validators/orderList.zod.d.ts +1 -0
  69. package/dist/billing/v1/generated/validators/plan.zod.js +2 -2
  70. package/dist/billing/v1/generated/validators/price.zod.js +2 -2
  71. package/dist/billing/v1/generated/validators/priceSearch.zod.js +2 -2
  72. package/dist/billing/v1/generated/validators/product.zod.js +2 -2
  73. package/dist/billing/v1/generated/validators/{productID.zod.d.ts → productId.zod.d.ts} +5 -5
  74. package/dist/billing/v1/generated/validators/{productID.zod.js → productId.zod.js} +5 -5
  75. package/dist/billing/v1/generated/validators/quote.zod.d.ts +8 -1
  76. package/dist/billing/v1/generated/validators/quote.zod.js +1 -1
  77. package/dist/billing/v1/generated/validators/quoteChangeInput.zod.d.ts +1 -1
  78. package/dist/billing/v1/generated/validators/quoteChangeInput.zod.js +7 -7
  79. package/dist/billing/v1/generated/validators/quoteDowngradeRefund.zod.js +1 -1
  80. package/dist/billing/v1/generated/validators/quoteItem.zod.d.ts +1 -0
  81. package/dist/billing/v1/generated/validators/quoteItem.zod.js +7 -3
  82. package/dist/billing/v1/generated/validators/quoteItemInput.zod.d.ts +1 -0
  83. package/dist/billing/v1/generated/validators/quoteItemInput.zod.js +6 -2
  84. package/dist/billing/v1/generated/validators/quoteRenewal.zod.d.ts +0 -1
  85. package/dist/billing/v1/generated/validators/quoteRenewal.zod.js +2 -3
  86. package/dist/billing/v1/generated/validators/quoteRenewalItem.zod.d.ts +17 -0
  87. package/dist/billing/v1/generated/validators/quoteRenewalItem.zod.js +18 -0
  88. package/dist/billing/v1/generated/validators/quoteRenewalResult.zod.d.ts +7 -1
  89. package/dist/billing/v1/generated/validators/quoteRenewalResult.zod.js +6 -3
  90. package/dist/billing/v1/generated/validators/quoteRequest.zod.d.ts +2 -2
  91. package/dist/billing/v1/generated/validators/quoteRequest.zod.js +3 -3
  92. package/dist/billing/v1/generated/validators/refundReason.zod.js +1 -1
  93. package/dist/billing/v1/generated/validators/renewRequest.zod.js +3 -3
  94. package/dist/billing/v1/generated/validators/{renewalPriceList.zod.d.ts → renewalOption.zod.d.ts} +15 -18
  95. package/dist/billing/v1/generated/validators/renewalOption.zod.js +22 -0
  96. package/dist/billing/v1/generated/validators/{renewalPrice.zod.d.ts → renewalOptionItem.zod.d.ts} +6 -13
  97. package/dist/billing/v1/generated/validators/{renewalPrice.zod.js → renewalOptionItem.zod.js} +10 -10
  98. package/dist/billing/v1/generated/validators/renewalOptionList.zod.d.ts +44 -0
  99. package/dist/billing/v1/generated/validators/{renewalPriceList.zod.js → renewalOptionList.zod.js} +3 -3
  100. package/dist/billing/v1/generated/validators/scheduledChange.zod.js +1 -1
  101. package/dist/billing/v1/generated/validators/subscription.zod.d.ts +131 -112
  102. package/dist/billing/v1/generated/validators/subscription.zod.js +39 -73
  103. package/dist/billing/v1/generated/validators/subscriptionItem.zod.d.ts +104 -0
  104. package/dist/billing/v1/generated/validators/subscriptionItem.zod.js +74 -0
  105. package/dist/billing/v1/generated/validators/{subscriptionCancellation.zod.d.ts → subscriptionItemCancellation.zod.d.ts} +4 -4
  106. package/dist/billing/v1/generated/validators/{subscriptionCancellation.zod.js → subscriptionItemCancellation.zod.js} +4 -4
  107. package/dist/billing/v1/generated/validators/subscriptionList.zod.d.ts +131 -111
  108. package/dist/billing/v1/generated/validators/subscriptionStatus.zod.d.ts +1 -0
  109. package/dist/billing/v1/generated/validators/subscriptionStatus.zod.js +2 -2
  110. package/dist/billing/v1/generated/validators/subscriptionUpdate.zod.d.ts +13 -0
  111. package/dist/billing/v1/generated/validators/subscriptionUpdate.zod.js +13 -0
  112. package/dist/billing/v1/generated/validators/trialEndBehavior.zod.d.ts +18 -0
  113. package/dist/billing/v1/generated/validators/trialEndBehavior.zod.js +17 -0
  114. package/dist/billing/v1/generated/validators/trialSettings.zod.d.ts +20 -0
  115. package/dist/billing/v1/generated/validators/trialSettings.zod.js +14 -0
  116. package/dist/billing/v1/generated/validators/usageCharge.zod.d.ts +1 -0
  117. package/dist/billing/v1/generated/validators/usageCharge.zod.js +2 -1
  118. package/dist/billing/v1/generated/validators/usageChargeList.zod.d.ts +1 -0
  119. package/dist/billing/v1/generated/validators/usageEstimateInput.zod.js +2 -2
  120. package/dist/canopy/v1/generated/models.d.ts +5 -0
  121. package/dist/canopy/v1/generated/schemas.zod.d.ts +1 -0
  122. package/dist/canopy/v1/generated/validators/checkoutOptions.zod.d.ts +2 -0
  123. package/dist/canopy/v1/generated/validators/checkoutOptions.zod.js +5 -0
  124. package/dist/canopy/v1/generated/validators/createServiceRequestBody.zod.d.ts +1 -0
  125. package/dist/compute/v2/generated/functions.d.ts +372 -284
  126. package/dist/compute/v2/generated/functions.js +232 -76
  127. package/dist/compute/v2/generated/models.d.ts +368 -334
  128. package/dist/compute/v2/generated/models.js +9 -9
  129. package/dist/compute/v2/generated/schemas.zod.d.ts +165 -97
  130. package/dist/compute/v2/generated/schemas.zod.js +156 -84
  131. package/dist/compute/v2/generated/validators/{associateElasticIPRequestBody.zod.d.ts → associateElasticIpRequestBody.zod.d.ts} +4 -4
  132. package/dist/compute/v2/generated/validators/{associateElasticIPRequestBody.zod.js → associateElasticIpRequestBody.zod.js} +2 -2
  133. package/dist/compute/v2/generated/validators/attachNetworkInterfaceRequestBody.zod.d.ts +1 -1
  134. package/dist/compute/v2/generated/validators/attachNetworkInterfaceRequestBody.zod.js +3 -3
  135. package/dist/compute/v2/generated/validators/attachVolumeRequestBody.zod.d.ts +1 -1
  136. package/dist/compute/v2/generated/validators/attachVolumeRequestBody.zod.js +3 -3
  137. package/dist/compute/v2/generated/validators/{imageID.zod.d.ts → availabilityZoneId.zod.d.ts} +7 -7
  138. package/dist/compute/v2/generated/validators/availabilityZoneId.zod.js +44 -0
  139. package/dist/compute/v2/generated/validators/availabilityZoneListResponseBody.zod.d.ts +1 -1
  140. package/dist/compute/v2/generated/validators/availabilityZoneListResponseBody.zod.js +1 -1
  141. package/dist/compute/v2/generated/validators/availabilityZoneResource.zod.d.ts +1 -1
  142. package/dist/compute/v2/generated/validators/availabilityZoneResource.zod.js +5 -5
  143. package/dist/compute/v2/generated/validators/billingCancellation.zod.d.ts +1 -1
  144. package/dist/compute/v2/generated/validators/billingCancellation.zod.js +3 -3
  145. package/dist/compute/v2/generated/validators/billingChoice.zod.d.ts +1 -1
  146. package/dist/compute/v2/generated/validators/billingChoice.zod.js +1 -1
  147. package/dist/compute/v2/generated/validators/billingComponent.zod.d.ts +1 -1
  148. package/dist/compute/v2/generated/validators/billingComponent.zod.js +1 -1
  149. package/dist/compute/v2/generated/validators/billingLineQuantity.zod.d.ts +1 -1
  150. package/dist/compute/v2/generated/validators/billingLineQuantity.zod.js +1 -1
  151. package/dist/compute/v2/generated/validators/billingMeter.zod.d.ts +1 -1
  152. package/dist/compute/v2/generated/validators/billingMeter.zod.js +1 -1
  153. package/dist/compute/v2/generated/validators/billingPeriod.zod.d.ts +1 -1
  154. package/dist/compute/v2/generated/validators/billingPeriod.zod.js +1 -1
  155. package/dist/compute/v2/generated/validators/billingQuantity.zod.d.ts +1 -1
  156. package/dist/compute/v2/generated/validators/billingQuantity.zod.js +1 -1
  157. package/dist/compute/v2/generated/validators/bootVolume.zod.d.ts +1 -1
  158. package/dist/compute/v2/generated/validators/bootVolume.zod.js +1 -1
  159. package/dist/compute/v2/generated/validators/cancellationMode.zod.d.ts +1 -1
  160. package/dist/compute/v2/generated/validators/cancellationMode.zod.js +1 -1
  161. package/dist/compute/v2/generated/validators/{updateElasticIPRequestBody.zod.d.ts → changeElasticIpBandwidthRequestBody.zod.d.ts} +6 -9
  162. package/dist/compute/v2/generated/validators/changeElasticIpBandwidthRequestBody.zod.js +47 -0
  163. package/dist/compute/v2/generated/validators/changeElasticIpChargeTypeRequestBody.zod.d.ts +43 -0
  164. package/dist/compute/v2/generated/validators/changeElasticIpChargeTypeRequestBody.zod.js +39 -0
  165. package/dist/compute/v2/generated/validators/checkoutMode.zod.d.ts +1 -1
  166. package/dist/compute/v2/generated/validators/checkoutMode.zod.js +1 -1
  167. package/dist/compute/v2/generated/validators/checkoutOptions.zod.d.ts +3 -1
  168. package/dist/compute/v2/generated/validators/checkoutOptions.zod.js +6 -1
  169. package/dist/compute/v2/generated/validators/consoleResponseBody.zod.d.ts +1 -1
  170. package/dist/compute/v2/generated/validators/consoleResponseBody.zod.js +1 -1
  171. package/dist/compute/v2/generated/validators/{createElasticIPRequestBody.zod.d.ts → createElasticIpRequestBody.zod.d.ts} +9 -7
  172. package/dist/compute/v2/generated/validators/{createElasticIPRequestBody.zod.js → createElasticIpRequestBody.zod.js} +12 -10
  173. package/dist/compute/v2/generated/validators/{createElasticIPResponseBody.zod.d.ts → createElasticIpResponseBody.zod.d.ts} +8 -6
  174. package/dist/compute/v2/generated/validators/{createElasticIPResponseBody.zod.js → createElasticIpResponseBody.zod.js} +4 -4
  175. package/dist/compute/v2/generated/validators/createInstanceRequestBody.zod.d.ts +2 -1
  176. package/dist/compute/v2/generated/validators/createInstanceRequestBody.zod.js +3 -3
  177. package/dist/compute/v2/generated/validators/createInstanceResponseBody.zod.d.ts +3 -1
  178. package/dist/compute/v2/generated/validators/createInstanceResponseBody.zod.js +1 -1
  179. package/dist/compute/v2/generated/validators/createLaunchTemplateRequestBody.zod.d.ts +1 -1
  180. package/dist/compute/v2/generated/validators/createLaunchTemplateRequestBody.zod.js +3 -3
  181. package/dist/compute/v2/generated/validators/createLaunchTemplateResponseBody.zod.d.ts +1 -1
  182. package/dist/compute/v2/generated/validators/createLaunchTemplateResponseBody.zod.js +1 -1
  183. package/dist/compute/v2/generated/validators/createNetworkInterfaceAddressRequestBody.zod.d.ts +1 -1
  184. package/dist/compute/v2/generated/validators/createNetworkInterfaceAddressRequestBody.zod.js +1 -1
  185. package/dist/compute/v2/generated/validators/createNetworkInterfaceRequestBody.zod.d.ts +1 -1
  186. package/dist/compute/v2/generated/validators/createNetworkInterfaceRequestBody.zod.js +5 -5
  187. package/dist/compute/v2/generated/validators/createPrivateImageRequestBody.zod.d.ts +2 -1
  188. package/dist/compute/v2/generated/validators/createPrivateImageRequestBody.zod.js +3 -3
  189. package/dist/compute/v2/generated/validators/createPrivateImageResponseBody.zod.d.ts +3 -1
  190. package/dist/compute/v2/generated/validators/createPrivateImageResponseBody.zod.js +1 -1
  191. package/dist/compute/v2/generated/validators/createSecurityGroupRequestBody.zod.d.ts +1 -1
  192. package/dist/compute/v2/generated/validators/createSecurityGroupRequestBody.zod.js +3 -3
  193. package/dist/compute/v2/generated/validators/createSecurityGroupRuleRequestBody.zod.d.ts +1 -1
  194. package/dist/compute/v2/generated/validators/createSecurityGroupRuleRequestBody.zod.js +1 -1
  195. package/dist/compute/v2/generated/validators/createVirtualPrivateCloudPeeringRequestBody.zod.d.ts +1 -1
  196. package/dist/compute/v2/generated/validators/createVirtualPrivateCloudPeeringRequestBody.zod.js +4 -4
  197. package/dist/compute/v2/generated/validators/createVirtualPrivateCloudRequestBody.zod.d.ts +1 -1
  198. package/dist/compute/v2/generated/validators/createVirtualPrivateCloudRequestBody.zod.js +3 -3
  199. package/dist/compute/v2/generated/validators/createVirtualPrivateCloudRouteRequestBody.zod.d.ts +1 -1
  200. package/dist/compute/v2/generated/validators/createVirtualPrivateCloudRouteRequestBody.zod.js +1 -1
  201. package/dist/compute/v2/generated/validators/createVirtualPrivateCloudSubnetRequestBody.zod.d.ts +1 -1
  202. package/dist/compute/v2/generated/validators/createVirtualPrivateCloudSubnetRequestBody.zod.js +1 -1
  203. package/dist/compute/v2/generated/validators/createVolumeBackupRequestBody.zod.d.ts +2 -1
  204. package/dist/compute/v2/generated/validators/createVolumeBackupRequestBody.zod.js +3 -3
  205. package/dist/compute/v2/generated/validators/createVolumeBackupResponseBody.zod.d.ts +3 -1
  206. package/dist/compute/v2/generated/validators/createVolumeBackupResponseBody.zod.js +1 -1
  207. package/dist/compute/v2/generated/validators/createVolumeRequestBody.zod.d.ts +5 -3
  208. package/dist/compute/v2/generated/validators/createVolumeRequestBody.zod.js +10 -8
  209. package/dist/compute/v2/generated/validators/createVolumeResponseBody.zod.d.ts +3 -1
  210. package/dist/compute/v2/generated/validators/createVolumeResponseBody.zod.js +1 -1
  211. package/dist/compute/v2/generated/validators/createVolumeSnapshotRequestBody.zod.d.ts +2 -1
  212. package/dist/compute/v2/generated/validators/createVolumeSnapshotRequestBody.zod.js +3 -3
  213. package/dist/compute/v2/generated/validators/createVolumeSnapshotResponseBody.zod.d.ts +3 -1
  214. package/dist/compute/v2/generated/validators/createVolumeSnapshotResponseBody.zod.js +1 -1
  215. package/dist/compute/v2/generated/validators/cursorPagination.zod.d.ts +1 -1
  216. package/dist/compute/v2/generated/validators/cursorPagination.zod.js +1 -1
  217. package/dist/compute/v2/generated/validators/deleteElasticIpParams.zod.d.ts +1 -1
  218. package/dist/compute/v2/generated/validators/deleteElasticIpParams.zod.js +1 -1
  219. package/dist/compute/v2/generated/validators/{deleteElasticIPResponseBody.zod.d.ts → deleteElasticIpResponseBody.zod.d.ts} +8 -6
  220. package/dist/compute/v2/generated/validators/{deleteElasticIPResponseBody.zod.js → deleteElasticIpResponseBody.zod.js} +6 -6
  221. package/dist/compute/v2/generated/validators/deleteInstanceParams.zod.d.ts +1 -1
  222. package/dist/compute/v2/generated/validators/deleteInstanceParams.zod.js +1 -1
  223. package/dist/compute/v2/generated/validators/deleteInstanceResponseBody.zod.d.ts +3 -1
  224. package/dist/compute/v2/generated/validators/deleteInstanceResponseBody.zod.js +3 -3
  225. package/dist/compute/v2/generated/validators/deletePrivateImageParams.zod.d.ts +1 -1
  226. package/dist/compute/v2/generated/validators/deletePrivateImageParams.zod.js +1 -1
  227. package/dist/compute/v2/generated/validators/deletePrivateImageResponseBody.zod.d.ts +3 -1
  228. package/dist/compute/v2/generated/validators/deletePrivateImageResponseBody.zod.js +3 -3
  229. package/dist/compute/v2/generated/validators/deleteVolumeBackupParams.zod.d.ts +1 -1
  230. package/dist/compute/v2/generated/validators/deleteVolumeBackupParams.zod.js +1 -1
  231. package/dist/compute/v2/generated/validators/deleteVolumeBackupResponseBody.zod.d.ts +3 -1
  232. package/dist/compute/v2/generated/validators/deleteVolumeBackupResponseBody.zod.js +3 -3
  233. package/dist/compute/v2/generated/validators/deleteVolumeParams.zod.d.ts +1 -1
  234. package/dist/compute/v2/generated/validators/deleteVolumeParams.zod.js +1 -1
  235. package/dist/compute/v2/generated/validators/deleteVolumeResponseBody.zod.d.ts +3 -1
  236. package/dist/compute/v2/generated/validators/deleteVolumeResponseBody.zod.js +3 -3
  237. package/dist/compute/v2/generated/validators/deleteVolumeSnapshotParams.zod.d.ts +1 -1
  238. package/dist/compute/v2/generated/validators/deleteVolumeSnapshotParams.zod.js +1 -1
  239. package/dist/compute/v2/generated/validators/deleteVolumeSnapshotResponseBody.zod.d.ts +3 -1
  240. package/dist/compute/v2/generated/validators/deleteVolumeSnapshotResponseBody.zod.js +3 -3
  241. package/dist/compute/v2/generated/validators/{elasticIP.zod.d.ts → elasticIp.zod.d.ts} +8 -6
  242. package/dist/compute/v2/generated/validators/{elasticIP.zod.js → elasticIp.zod.js} +22 -18
  243. package/dist/compute/v2/generated/validators/{elasticIPAssociation.zod.d.ts → elasticIpAssociation.zod.d.ts} +4 -4
  244. package/dist/compute/v2/generated/validators/{elasticIPAssociation.zod.js → elasticIpAssociation.zod.js} +11 -11
  245. package/dist/compute/v2/generated/validators/elasticIpAssociationId.zod.d.ts +41 -0
  246. package/dist/compute/v2/generated/validators/elasticIpAssociationId.zod.js +44 -0
  247. package/dist/compute/v2/generated/validators/{updateElasticIPResponseBody.zod.d.ts → elasticIpChangeResponseBody.zod.d.ts} +8 -6
  248. package/dist/compute/v2/generated/validators/elasticIpChangeResponseBody.zod.js +49 -0
  249. package/dist/compute/v2/generated/validators/elasticIpId.zod.d.ts +41 -0
  250. package/dist/compute/v2/generated/validators/{elasticIPID.zod.js → elasticIpId.zod.js} +8 -8
  251. package/dist/compute/v2/generated/validators/{elasticIPLine.zod.d.ts → elasticIpLine.zod.d.ts} +7 -7
  252. package/dist/compute/v2/generated/validators/{elasticIPLine.zod.js → elasticIpLine.zod.js} +12 -12
  253. package/dist/compute/v2/generated/validators/elasticIpLineId.zod.d.ts +41 -0
  254. package/dist/compute/v2/generated/validators/elasticIpLineId.zod.js +44 -0
  255. package/dist/compute/v2/generated/validators/{elasticIPLineListResponseBody.zod.d.ts → elasticIpLineListResponseBody.zod.d.ts} +4 -4
  256. package/dist/compute/v2/generated/validators/{elasticIPListResponseBody.zod.js → elasticIpLineListResponseBody.zod.js} +4 -4
  257. package/dist/compute/v2/generated/validators/{elasticIPListResponseBody.zod.d.ts → elasticIpListResponseBody.zod.d.ts} +8 -6
  258. package/dist/compute/v2/generated/validators/{elasticIPLineListResponseBody.zod.js → elasticIpListResponseBody.zod.js} +4 -4
  259. package/dist/compute/v2/generated/validators/{elasticIPReleaseResource.zod.d.ts → elasticIpReleaseResource.zod.d.ts} +4 -4
  260. package/dist/compute/v2/generated/validators/{elasticIPReleaseResource.zod.js → elasticIpReleaseResource.zod.js} +4 -4
  261. package/dist/compute/v2/generated/validators/error.zod.d.ts +1 -1
  262. package/dist/compute/v2/generated/validators/error.zod.js +1 -1
  263. package/dist/compute/v2/generated/validators/errorStatus.zod.d.ts +1 -1
  264. package/dist/compute/v2/generated/validators/errorStatus.zod.js +1 -1
  265. package/dist/compute/v2/generated/validators/existingBootVolume.zod.d.ts +1 -1
  266. package/dist/compute/v2/generated/validators/existingBootVolume.zod.js +3 -3
  267. package/dist/compute/v2/generated/validators/{existingElasticIP.zod.d.ts → existingElasticIp.zod.d.ts} +4 -4
  268. package/dist/compute/v2/generated/validators/{existingElasticIP.zod.js → existingElasticIp.zod.js} +4 -4
  269. package/dist/compute/v2/generated/validators/existingPrimaryNetworkInterface.zod.d.ts +1 -1
  270. package/dist/compute/v2/generated/validators/existingPrimaryNetworkInterface.zod.js +3 -3
  271. package/dist/compute/v2/generated/validators/fieldViolation.zod.d.ts +1 -1
  272. package/dist/compute/v2/generated/validators/fieldViolation.zod.js +1 -1
  273. package/dist/compute/v2/generated/validators/freeSubnetCidr.zod.d.ts +1 -1
  274. package/dist/compute/v2/generated/validators/freeSubnetCidr.zod.js +1 -1
  275. package/dist/compute/v2/generated/validators/generatedPassword.zod.d.ts +1 -1
  276. package/dist/compute/v2/generated/validators/generatedPassword.zod.js +1 -1
  277. package/dist/compute/v2/generated/validators/getVirtualPrivateCloudFreeSubnetCidrParams.zod.d.ts +1 -1
  278. package/dist/compute/v2/generated/validators/getVirtualPrivateCloudFreeSubnetCidrParams.zod.js +1 -1
  279. package/dist/compute/v2/generated/validators/imageId.zod.d.ts +41 -0
  280. package/dist/compute/v2/generated/validators/{imageID.zod.js → imageId.zod.js} +8 -8
  281. package/dist/compute/v2/generated/validators/instance.zod.d.ts +3 -1
  282. package/dist/compute/v2/generated/validators/instance.zod.js +25 -21
  283. package/dist/compute/v2/generated/validators/instanceAssociationTarget.zod.d.ts +1 -1
  284. package/dist/compute/v2/generated/validators/instanceAssociationTarget.zod.js +3 -3
  285. package/dist/compute/v2/generated/validators/{instanceElasticIP.zod.d.ts → instanceElasticIp.zod.d.ts} +4 -4
  286. package/dist/compute/v2/generated/validators/{instanceElasticIP.zod.js → instanceElasticIp.zod.js} +5 -5
  287. package/dist/compute/v2/generated/validators/instanceFamily.zod.d.ts +1 -1
  288. package/dist/compute/v2/generated/validators/instanceFamily.zod.js +5 -5
  289. package/dist/compute/v2/generated/validators/instanceFamilyCategory.zod.d.ts +1 -1
  290. package/dist/compute/v2/generated/validators/instanceFamilyCategory.zod.js +1 -1
  291. package/dist/compute/v2/generated/validators/instanceFamilyId.zod.d.ts +41 -0
  292. package/dist/compute/v2/generated/validators/{instanceFamilyID.zod.js → instanceFamilyId.zod.js} +8 -8
  293. package/dist/compute/v2/generated/validators/instanceFamilyListResponseBody.zod.d.ts +1 -1
  294. package/dist/compute/v2/generated/validators/instanceFamilyListResponseBody.zod.js +1 -1
  295. package/dist/compute/v2/generated/validators/instanceId.zod.d.ts +41 -0
  296. package/dist/compute/v2/generated/validators/{instanceID.zod.js → instanceId.zod.js} +8 -8
  297. package/dist/compute/v2/generated/validators/instanceListResponseBody.zod.d.ts +3 -1
  298. package/dist/compute/v2/generated/validators/instanceListResponseBody.zod.js +1 -1
  299. package/dist/compute/v2/generated/validators/instanceNetworkInterfaceId.zod.d.ts +41 -0
  300. package/dist/compute/v2/generated/validators/instanceNetworkInterfaceId.zod.js +44 -0
  301. package/dist/compute/v2/generated/validators/instanceReleaseResource.zod.d.ts +1 -1
  302. package/dist/compute/v2/generated/validators/instanceReleaseResource.zod.js +3 -3
  303. package/dist/compute/v2/generated/validators/instanceRestriction.zod.d.ts +1 -1
  304. package/dist/compute/v2/generated/validators/instanceRestriction.zod.js +4 -4
  305. package/dist/compute/v2/generated/validators/instanceType.zod.d.ts +1 -1
  306. package/dist/compute/v2/generated/validators/instanceType.zod.js +9 -9
  307. package/dist/compute/v2/generated/validators/instanceTypeId.zod.d.ts +41 -0
  308. package/dist/compute/v2/generated/validators/{instanceTypeID.zod.js → instanceTypeId.zod.js} +8 -8
  309. package/dist/compute/v2/generated/validators/instanceTypeListResponseBody.zod.d.ts +1 -1
  310. package/dist/compute/v2/generated/validators/instanceTypeListResponseBody.zod.js +1 -1
  311. package/dist/compute/v2/generated/validators/instanceVolumeId.zod.d.ts +41 -0
  312. package/dist/compute/v2/generated/validators/{instanceVolumeID.zod.js → instanceVolumeId.zod.js} +8 -8
  313. package/dist/compute/v2/generated/validators/internetChargeType.zod.d.ts +1 -1
  314. package/dist/compute/v2/generated/validators/internetChargeType.zod.js +2 -2
  315. package/dist/compute/v2/generated/validators/ipv4HostAddress.zod.d.ts +41 -0
  316. package/dist/compute/v2/generated/validators/{iPv4HostAddress.zod.js → ipv4HostAddress.zod.js} +8 -8
  317. package/dist/compute/v2/generated/validators/latestOperation.zod.d.ts +1 -1
  318. package/dist/compute/v2/generated/validators/latestOperation.zod.js +1 -1
  319. package/dist/compute/v2/generated/validators/launchTemplate.zod.d.ts +1 -1
  320. package/dist/compute/v2/generated/validators/launchTemplate.zod.js +5 -5
  321. package/dist/compute/v2/generated/validators/launchTemplateBootVolume.zod.d.ts +1 -1
  322. package/dist/compute/v2/generated/validators/launchTemplateBootVolume.zod.js +5 -5
  323. package/dist/compute/v2/generated/validators/launchTemplateDataVolume.zod.d.ts +1 -1
  324. package/dist/compute/v2/generated/validators/launchTemplateDataVolume.zod.js +3 -3
  325. package/dist/compute/v2/generated/validators/{launchTemplateElasticIP.zod.d.ts → launchTemplateElasticIp.zod.d.ts} +5 -5
  326. package/dist/compute/v2/generated/validators/{launchTemplateElasticIP.zod.js → launchTemplateElasticIp.zod.js} +6 -6
  327. package/dist/compute/v2/generated/validators/launchTemplateId.zod.d.ts +41 -0
  328. package/dist/compute/v2/generated/validators/{launchTemplateID.zod.js → launchTemplateId.zod.js} +8 -8
  329. package/dist/compute/v2/generated/validators/launchTemplateListResponseBody.zod.d.ts +1 -1
  330. package/dist/compute/v2/generated/validators/launchTemplateListResponseBody.zod.js +1 -1
  331. package/dist/compute/v2/generated/validators/launchTemplateNetworkInterface.zod.d.ts +1 -1
  332. package/dist/compute/v2/generated/validators/launchTemplateNetworkInterface.zod.js +5 -5
  333. package/dist/compute/v2/generated/validators/launchTemplateReference.zod.d.ts +1 -1
  334. package/dist/compute/v2/generated/validators/launchTemplateReference.zod.js +3 -3
  335. package/dist/compute/v2/generated/validators/launchTemplateVersion.zod.d.ts +1 -1
  336. package/dist/compute/v2/generated/validators/launchTemplateVersion.zod.js +7 -7
  337. package/dist/compute/v2/generated/validators/launchTemplateVersionListResponseBody.zod.d.ts +1 -1
  338. package/dist/compute/v2/generated/validators/launchTemplateVersionListResponseBody.zod.js +1 -1
  339. package/dist/compute/v2/generated/validators/listAvailabilityZonesParams.zod.d.ts +1 -1
  340. package/dist/compute/v2/generated/validators/listAvailabilityZonesParams.zod.js +3 -3
  341. package/dist/compute/v2/generated/validators/listElasticIpLinesParams.zod.d.ts +1 -1
  342. package/dist/compute/v2/generated/validators/listElasticIpLinesParams.zod.js +3 -3
  343. package/dist/compute/v2/generated/validators/listElasticIpTrafficUsageParams.zod.d.ts +1 -1
  344. package/dist/compute/v2/generated/validators/listElasticIpTrafficUsageParams.zod.js +1 -1
  345. package/dist/compute/v2/generated/validators/listElasticIpsParams.zod.d.ts +1 -1
  346. package/dist/compute/v2/generated/validators/listElasticIpsParams.zod.js +1 -1
  347. package/dist/compute/v2/generated/validators/listInstanceFamiliesParams.zod.d.ts +1 -1
  348. package/dist/compute/v2/generated/validators/listInstanceFamiliesParams.zod.js +3 -3
  349. package/dist/compute/v2/generated/validators/listInstanceNetworkInterfacesParams.zod.d.ts +1 -1
  350. package/dist/compute/v2/generated/validators/listInstanceNetworkInterfacesParams.zod.js +1 -1
  351. package/dist/compute/v2/generated/validators/listInstanceTypesParams.zod.d.ts +1 -1
  352. package/dist/compute/v2/generated/validators/listInstanceTypesParams.zod.js +7 -7
  353. package/dist/compute/v2/generated/validators/listInstanceVolumesParams.zod.d.ts +1 -1
  354. package/dist/compute/v2/generated/validators/listInstanceVolumesParams.zod.js +1 -1
  355. package/dist/compute/v2/generated/validators/listInstancesParams.zod.d.ts +1 -1
  356. package/dist/compute/v2/generated/validators/listInstancesParams.zod.js +1 -1
  357. package/dist/compute/v2/generated/validators/listLaunchTemplateVersionsParams.zod.d.ts +1 -1
  358. package/dist/compute/v2/generated/validators/listLaunchTemplateVersionsParams.zod.js +1 -1
  359. package/dist/compute/v2/generated/validators/listLaunchTemplatesParams.zod.d.ts +1 -1
  360. package/dist/compute/v2/generated/validators/listLaunchTemplatesParams.zod.js +3 -3
  361. package/dist/compute/v2/generated/validators/listNetworkInterfacesParams.zod.d.ts +1 -1
  362. package/dist/compute/v2/generated/validators/listNetworkInterfacesParams.zod.js +1 -1
  363. package/dist/compute/v2/generated/validators/listOperationLogsParams.zod.d.ts +1 -1
  364. package/dist/compute/v2/generated/validators/listOperationLogsParams.zod.js +1 -1
  365. package/dist/compute/v2/generated/validators/listPrivateImagesParams.zod.d.ts +1 -1
  366. package/dist/compute/v2/generated/validators/listPrivateImagesParams.zod.js +3 -3
  367. package/dist/compute/v2/generated/validators/listPublicImagesParams.zod.d.ts +1 -1
  368. package/dist/compute/v2/generated/validators/listPublicImagesParams.zod.js +3 -3
  369. package/dist/compute/v2/generated/validators/listQuotasParams.zod.d.ts +1 -1
  370. package/dist/compute/v2/generated/validators/listQuotasParams.zod.js +1 -1
  371. package/dist/compute/v2/generated/validators/listRegionsParams.zod.d.ts +1 -1
  372. package/dist/compute/v2/generated/validators/listRegionsParams.zod.js +1 -1
  373. package/dist/compute/v2/generated/validators/listSecurityGroupRulesParams.zod.d.ts +1 -1
  374. package/dist/compute/v2/generated/validators/listSecurityGroupRulesParams.zod.js +1 -1
  375. package/dist/compute/v2/generated/validators/listSecurityGroupsParams.zod.d.ts +1 -1
  376. package/dist/compute/v2/generated/validators/listSecurityGroupsParams.zod.js +5 -5
  377. package/dist/compute/v2/generated/validators/listVirtualPrivateCloudPeeringsParams.zod.d.ts +1 -1
  378. package/dist/compute/v2/generated/validators/listVirtualPrivateCloudPeeringsParams.zod.js +1 -1
  379. package/dist/compute/v2/generated/validators/listVirtualPrivateCloudRoutesParams.zod.d.ts +1 -1
  380. package/dist/compute/v2/generated/validators/listVirtualPrivateCloudRoutesParams.zod.js +1 -1
  381. package/dist/compute/v2/generated/validators/listVirtualPrivateCloudSubnetsParams.zod.d.ts +1 -1
  382. package/dist/compute/v2/generated/validators/listVirtualPrivateCloudSubnetsParams.zod.js +1 -1
  383. package/dist/compute/v2/generated/validators/listVirtualPrivateCloudsParams.zod.d.ts +1 -1
  384. package/dist/compute/v2/generated/validators/listVirtualPrivateCloudsParams.zod.js +3 -3
  385. package/dist/compute/v2/generated/validators/listVolumeBackupsParams.zod.d.ts +1 -1
  386. package/dist/compute/v2/generated/validators/listVolumeBackupsParams.zod.js +3 -3
  387. package/dist/compute/v2/generated/validators/listVolumeSnapshotsParams.zod.d.ts +1 -1
  388. package/dist/compute/v2/generated/validators/listVolumeSnapshotsParams.zod.js +3 -3
  389. package/dist/compute/v2/generated/validators/listVolumeTypesParams.zod.d.ts +1 -1
  390. package/dist/compute/v2/generated/validators/listVolumeTypesParams.zod.js +5 -5
  391. package/dist/compute/v2/generated/validators/listVolumesParams.zod.d.ts +1 -1
  392. package/dist/compute/v2/generated/validators/listVolumesParams.zod.js +5 -5
  393. package/dist/compute/v2/generated/validators/money.zod.d.ts +1 -1
  394. package/dist/compute/v2/generated/validators/money.zod.js +1 -1
  395. package/dist/compute/v2/generated/validators/networkInterface.zod.d.ts +1 -1
  396. package/dist/compute/v2/generated/validators/networkInterface.zod.js +7 -7
  397. package/dist/compute/v2/generated/validators/networkInterfaceAddress.zod.d.ts +1 -1
  398. package/dist/compute/v2/generated/validators/networkInterfaceAddress.zod.js +5 -5
  399. package/dist/compute/v2/generated/validators/networkInterfaceAddressAssociationTarget.zod.d.ts +1 -1
  400. package/dist/compute/v2/generated/validators/networkInterfaceAddressAssociationTarget.zod.js +3 -3
  401. package/dist/compute/v2/generated/validators/{regionID.zod.d.ts → networkInterfaceAddressId.zod.d.ts} +7 -7
  402. package/dist/compute/v2/generated/validators/networkInterfaceAddressId.zod.js +44 -0
  403. package/dist/compute/v2/generated/validators/networkInterfaceAttachment.zod.d.ts +1 -1
  404. package/dist/compute/v2/generated/validators/networkInterfaceAttachment.zod.js +7 -7
  405. package/dist/compute/v2/generated/validators/networkInterfaceAttachmentList.zod.d.ts +1 -1
  406. package/dist/compute/v2/generated/validators/networkInterfaceAttachmentList.zod.js +1 -1
  407. package/dist/compute/v2/generated/validators/networkInterfaceId.zod.d.ts +41 -0
  408. package/dist/compute/v2/generated/validators/{networkInterfaceID.zod.js → networkInterfaceId.zod.js} +8 -8
  409. package/dist/compute/v2/generated/validators/networkInterfaceListResponseBody.zod.d.ts +1 -1
  410. package/dist/compute/v2/generated/validators/networkInterfaceListResponseBody.zod.js +1 -1
  411. package/dist/compute/v2/generated/validators/newBootVolume.zod.d.ts +1 -1
  412. package/dist/compute/v2/generated/validators/newBootVolume.zod.js +5 -5
  413. package/dist/compute/v2/generated/validators/newCompute.zod.d.ts +1 -1
  414. package/dist/compute/v2/generated/validators/newCompute.zod.js +3 -3
  415. package/dist/compute/v2/generated/validators/newDataVolume.zod.d.ts +1 -1
  416. package/dist/compute/v2/generated/validators/newDataVolume.zod.js +3 -3
  417. package/dist/compute/v2/generated/validators/{newElasticIP.zod.d.ts → newElasticIp.zod.d.ts} +5 -5
  418. package/dist/compute/v2/generated/validators/{newElasticIP.zod.js → newElasticIp.zod.js} +6 -6
  419. package/dist/compute/v2/generated/validators/newLaunchTemplateVersion.zod.d.ts +1 -1
  420. package/dist/compute/v2/generated/validators/newLaunchTemplateVersion.zod.js +5 -5
  421. package/dist/compute/v2/generated/validators/newPrimaryNetworkInterface.zod.d.ts +1 -1
  422. package/dist/compute/v2/generated/validators/newPrimaryNetworkInterface.zod.js +5 -5
  423. package/dist/compute/v2/generated/validators/offsetPagination.zod.d.ts +1 -1
  424. package/dist/compute/v2/generated/validators/offsetPagination.zod.js +1 -1
  425. package/dist/compute/v2/generated/validators/operationLogId.zod.d.ts +41 -0
  426. package/dist/compute/v2/generated/validators/{operationLogID.zod.js → operationLogId.zod.js} +8 -8
  427. package/dist/compute/v2/generated/validators/operationLogListResponseBody.zod.d.ts +1 -1
  428. package/dist/compute/v2/generated/validators/operationLogListResponseBody.zod.js +1 -1
  429. package/dist/compute/v2/generated/validators/operationLogResource.zod.d.ts +1 -1
  430. package/dist/compute/v2/generated/validators/operationLogResource.zod.js +5 -5
  431. package/dist/compute/v2/generated/validators/passwordChoice.zod.d.ts +1 -1
  432. package/dist/compute/v2/generated/validators/passwordChoice.zod.js +1 -1
  433. package/dist/compute/v2/generated/validators/performanceFormula.zod.d.ts +1 -1
  434. package/dist/compute/v2/generated/validators/performanceFormula.zod.js +1 -1
  435. package/dist/compute/v2/generated/validators/primaryNetworkInterface.zod.d.ts +1 -1
  436. package/dist/compute/v2/generated/validators/primaryNetworkInterface.zod.js +1 -1
  437. package/dist/compute/v2/generated/validators/privateImageListResponseBody.zod.d.ts +3 -1
  438. package/dist/compute/v2/generated/validators/privateImageListResponseBody.zod.js +1 -1
  439. package/dist/compute/v2/generated/validators/privateImageReleaseResource.zod.d.ts +1 -1
  440. package/dist/compute/v2/generated/validators/privateImageReleaseResource.zod.js +3 -3
  441. package/dist/compute/v2/generated/validators/privateImageResource.zod.d.ts +3 -1
  442. package/dist/compute/v2/generated/validators/privateImageResource.zod.js +13 -9
  443. package/dist/compute/v2/generated/validators/projectQuota.zod.d.ts +1 -1
  444. package/dist/compute/v2/generated/validators/projectQuota.zod.js +3 -3
  445. package/dist/compute/v2/generated/validators/projectQuotaListResponseBody.zod.d.ts +1 -1
  446. package/dist/compute/v2/generated/validators/projectQuotaListResponseBody.zod.js +1 -1
  447. package/dist/compute/v2/generated/validators/publicImageListResponseBody.zod.d.ts +1 -1
  448. package/dist/compute/v2/generated/validators/publicImageListResponseBody.zod.js +1 -1
  449. package/dist/compute/v2/generated/validators/publicImageResource.zod.d.ts +1 -1
  450. package/dist/compute/v2/generated/validators/publicImageResource.zod.js +5 -5
  451. package/dist/compute/v2/generated/validators/quotaResourceType.zod.d.ts +1 -1
  452. package/dist/compute/v2/generated/validators/quotaResourceType.zod.js +1 -1
  453. package/dist/compute/v2/generated/validators/quotaSource.zod.d.ts +1 -1
  454. package/dist/compute/v2/generated/validators/quotaSource.zod.js +1 -1
  455. package/dist/compute/v2/generated/validators/rebootInstanceRequestBody.zod.d.ts +1 -1
  456. package/dist/compute/v2/generated/validators/rebootInstanceRequestBody.zod.js +1 -1
  457. package/dist/compute/v2/generated/validators/rebuildInstanceRequestBody.zod.d.ts +1 -1
  458. package/dist/compute/v2/generated/validators/rebuildInstanceRequestBody.zod.js +3 -3
  459. package/dist/compute/v2/generated/validators/rebuildInstanceResponseBody.zod.d.ts +3 -1
  460. package/dist/compute/v2/generated/validators/rebuildInstanceResponseBody.zod.js +1 -1
  461. package/dist/compute/v2/generated/validators/regionId.zod.d.ts +41 -0
  462. package/dist/compute/v2/generated/validators/{regionID.zod.js → regionId.zod.js} +8 -8
  463. package/dist/compute/v2/generated/validators/regionListResponseBody.zod.d.ts +1 -1
  464. package/dist/compute/v2/generated/validators/regionListResponseBody.zod.js +1 -1
  465. package/dist/compute/v2/generated/validators/regionResource.zod.d.ts +1 -1
  466. package/dist/compute/v2/generated/validators/regionResource.zod.js +3 -3
  467. package/dist/compute/v2/generated/validators/releaseResource.zod.d.ts +1 -1
  468. package/dist/compute/v2/generated/validators/releaseResource.zod.js +3 -3
  469. package/dist/compute/v2/generated/validators/releaseSetItem.zod.d.ts +2 -1
  470. package/dist/compute/v2/generated/validators/releaseSetItem.zod.js +4 -3
  471. package/dist/compute/v2/generated/validators/replaceNetworkInterfaceSecurityGroupsRequestBody.zod.d.ts +41 -0
  472. package/dist/compute/v2/generated/validators/replaceNetworkInterfaceSecurityGroupsRequestBody.zod.js +44 -0
  473. package/dist/compute/v2/generated/validators/rescueInstanceResponseBody.zod.d.ts +3 -1
  474. package/dist/compute/v2/generated/validators/rescueInstanceResponseBody.zod.js +1 -1
  475. package/dist/compute/v2/generated/validators/resetInstancePasswordResponseBody.zod.d.ts +1 -1
  476. package/dist/compute/v2/generated/validators/resetInstancePasswordResponseBody.zod.js +1 -1
  477. package/dist/compute/v2/generated/validators/resizeInstanceRequestBody.zod.d.ts +50 -0
  478. package/dist/compute/v2/generated/validators/resizeInstanceRequestBody.zod.js +45 -0
  479. package/dist/compute/v2/generated/validators/{updateInstanceResponseBody.zod.d.ts → resizeInstanceResponseBody.zod.d.ts} +7 -5
  480. package/dist/compute/v2/generated/validators/{availabilityZoneID.zod.js → resizeInstanceResponseBody.zod.js} +14 -10
  481. package/dist/compute/v2/generated/validators/resizeVolumeRequestBody.zod.d.ts +50 -0
  482. package/dist/compute/v2/generated/validators/resizeVolumeRequestBody.zod.js +44 -0
  483. package/dist/compute/v2/generated/validators/retypeVolumeRequestBody.zod.d.ts +50 -0
  484. package/dist/compute/v2/generated/validators/retypeVolumeRequestBody.zod.js +45 -0
  485. package/dist/compute/v2/generated/validators/revertVolumeRequestBody.zod.d.ts +1 -1
  486. package/dist/compute/v2/generated/validators/revertVolumeRequestBody.zod.js +3 -3
  487. package/dist/compute/v2/generated/validators/runInstanceCommandRequestBody.zod.d.ts +1 -1
  488. package/dist/compute/v2/generated/validators/runInstanceCommandRequestBody.zod.js +1 -1
  489. package/dist/compute/v2/generated/validators/runInstanceCommandResponseBody.zod.d.ts +1 -1
  490. package/dist/compute/v2/generated/validators/runInstanceCommandResponseBody.zod.js +1 -1
  491. package/dist/compute/v2/generated/validators/securityGroup.zod.d.ts +1 -1
  492. package/dist/compute/v2/generated/validators/securityGroup.zod.js +5 -5
  493. package/dist/compute/v2/generated/validators/securityGroupId.zod.d.ts +41 -0
  494. package/dist/compute/v2/generated/validators/{securityGroupID.zod.js → securityGroupId.zod.js} +8 -8
  495. package/dist/compute/v2/generated/validators/securityGroupIdOrWildcard.zod.d.ts +39 -0
  496. package/dist/compute/v2/generated/validators/{securityGroupIDOrWildcard.zod.js → securityGroupIdOrWildcard.zod.js} +4 -4
  497. package/dist/compute/v2/generated/validators/securityGroupListResponseBody.zod.d.ts +1 -1
  498. package/dist/compute/v2/generated/validators/securityGroupListResponseBody.zod.js +1 -1
  499. package/dist/compute/v2/generated/validators/securityGroupRule.zod.d.ts +1 -1
  500. package/dist/compute/v2/generated/validators/securityGroupRule.zod.js +5 -5
  501. package/dist/compute/v2/generated/validators/securityGroupRuleDirection.zod.d.ts +1 -1
  502. package/dist/compute/v2/generated/validators/securityGroupRuleDirection.zod.js +1 -1
  503. package/dist/compute/v2/generated/validators/securityGroupRuleId.zod.d.ts +41 -0
  504. package/dist/compute/v2/generated/validators/securityGroupRuleId.zod.js +44 -0
  505. package/dist/compute/v2/generated/validators/securityGroupRuleListResponseBody.zod.d.ts +1 -1
  506. package/dist/compute/v2/generated/validators/securityGroupRuleListResponseBody.zod.js +1 -1
  507. package/dist/compute/v2/generated/validators/subnetId.zod.d.ts +41 -0
  508. package/dist/compute/v2/generated/validators/{subnetID.zod.js → subnetId.zod.js} +8 -8
  509. package/dist/compute/v2/generated/validators/suppliedPassword.zod.d.ts +1 -1
  510. package/dist/compute/v2/generated/validators/suppliedPassword.zod.js +1 -1
  511. package/dist/compute/v2/generated/validators/terminationPolicy.zod.d.ts +1 -1
  512. package/dist/compute/v2/generated/validators/terminationPolicy.zod.js +1 -1
  513. package/dist/compute/v2/generated/validators/trafficUsage.zod.d.ts +1 -1
  514. package/dist/compute/v2/generated/validators/trafficUsage.zod.js +1 -1
  515. package/dist/compute/v2/generated/validators/trafficUsageListResponseBody.zod.d.ts +1 -1
  516. package/dist/compute/v2/generated/validators/trafficUsageListResponseBody.zod.js +1 -1
  517. package/dist/compute/v2/generated/validators/updateInstanceRequestBody.zod.d.ts +1 -11
  518. package/dist/compute/v2/generated/validators/updateInstanceRequestBody.zod.js +2 -10
  519. package/dist/compute/v2/generated/validators/updateLaunchTemplateRequestBody.zod.d.ts +1 -1
  520. package/dist/compute/v2/generated/validators/updateLaunchTemplateRequestBody.zod.js +1 -1
  521. package/dist/compute/v2/generated/validators/updateNetworkInterfaceRequestBody.zod.d.ts +1 -3
  522. package/dist/compute/v2/generated/validators/updateNetworkInterfaceRequestBody.zod.js +2 -10
  523. package/dist/compute/v2/generated/validators/updatePrivateImageRequestBody.zod.d.ts +1 -1
  524. package/dist/compute/v2/generated/validators/updatePrivateImageRequestBody.zod.js +1 -1
  525. package/dist/compute/v2/generated/validators/updateSecurityGroupRequestBody.zod.d.ts +1 -1
  526. package/dist/compute/v2/generated/validators/updateSecurityGroupRequestBody.zod.js +1 -1
  527. package/dist/compute/v2/generated/validators/updateVirtualPrivateCloudRequestBody.zod.d.ts +1 -1
  528. package/dist/compute/v2/generated/validators/updateVirtualPrivateCloudRequestBody.zod.js +1 -1
  529. package/dist/compute/v2/generated/validators/updateVirtualPrivateCloudSubnetRequestBody.zod.d.ts +1 -1
  530. package/dist/compute/v2/generated/validators/updateVirtualPrivateCloudSubnetRequestBody.zod.js +1 -1
  531. package/dist/compute/v2/generated/validators/updateVolumeBackupRequestBody.zod.d.ts +1 -1
  532. package/dist/compute/v2/generated/validators/updateVolumeBackupRequestBody.zod.js +1 -1
  533. package/dist/compute/v2/generated/validators/updateVolumeRequestBody.zod.d.ts +1 -12
  534. package/dist/compute/v2/generated/validators/updateVolumeRequestBody.zod.js +2 -15
  535. package/dist/compute/v2/generated/validators/updateVolumeSnapshotRequestBody.zod.d.ts +1 -1
  536. package/dist/compute/v2/generated/validators/updateVolumeSnapshotRequestBody.zod.js +1 -1
  537. package/dist/compute/v2/generated/validators/virtualPrivateCloud.zod.d.ts +1 -1
  538. package/dist/compute/v2/generated/validators/virtualPrivateCloud.zod.js +5 -5
  539. package/dist/compute/v2/generated/validators/virtualPrivateCloudId.zod.d.ts +41 -0
  540. package/dist/compute/v2/generated/validators/virtualPrivateCloudId.zod.js +44 -0
  541. package/dist/compute/v2/generated/validators/virtualPrivateCloudIdOrWildcard.zod.d.ts +39 -0
  542. package/dist/compute/v2/generated/validators/{virtualPrivateCloudIDOrWildcard.zod.js → virtualPrivateCloudIdOrWildcard.zod.js} +4 -4
  543. package/dist/compute/v2/generated/validators/virtualPrivateCloudListResponseBody.zod.d.ts +1 -1
  544. package/dist/compute/v2/generated/validators/virtualPrivateCloudListResponseBody.zod.js +1 -1
  545. package/dist/compute/v2/generated/validators/virtualPrivateCloudPeeringId.zod.d.ts +41 -0
  546. package/dist/compute/v2/generated/validators/virtualPrivateCloudPeeringId.zod.js +44 -0
  547. package/dist/compute/v2/generated/validators/virtualPrivateCloudPeeringListResponseBody.zod.d.ts +1 -1
  548. package/dist/compute/v2/generated/validators/virtualPrivateCloudPeeringListResponseBody.zod.js +1 -1
  549. package/dist/compute/v2/generated/validators/virtualPrivateCloudPeeringResource.zod.d.ts +1 -1
  550. package/dist/compute/v2/generated/validators/virtualPrivateCloudPeeringResource.zod.js +8 -8
  551. package/dist/compute/v2/generated/validators/virtualPrivateCloudRouteId.zod.d.ts +41 -0
  552. package/dist/compute/v2/generated/validators/virtualPrivateCloudRouteId.zod.js +44 -0
  553. package/dist/compute/v2/generated/validators/virtualPrivateCloudRouteListResponseBody.zod.d.ts +1 -1
  554. package/dist/compute/v2/generated/validators/virtualPrivateCloudRouteListResponseBody.zod.js +1 -1
  555. package/dist/compute/v2/generated/validators/virtualPrivateCloudRouteResource.zod.d.ts +1 -1
  556. package/dist/compute/v2/generated/validators/virtualPrivateCloudRouteResource.zod.js +7 -7
  557. package/dist/compute/v2/generated/validators/virtualPrivateCloudRouteType.zod.d.ts +1 -1
  558. package/dist/compute/v2/generated/validators/virtualPrivateCloudRouteType.zod.js +1 -1
  559. package/dist/compute/v2/generated/validators/virtualPrivateCloudSubnet.zod.d.ts +1 -1
  560. package/dist/compute/v2/generated/validators/virtualPrivateCloudSubnet.zod.js +5 -5
  561. package/dist/compute/v2/generated/validators/virtualPrivateCloudSubnetListResponseBody.zod.d.ts +1 -1
  562. package/dist/compute/v2/generated/validators/virtualPrivateCloudSubnetListResponseBody.zod.js +1 -1
  563. package/dist/compute/v2/generated/validators/volumeAttachment.zod.d.ts +1 -1
  564. package/dist/compute/v2/generated/validators/volumeAttachment.zod.js +7 -7
  565. package/dist/compute/v2/generated/validators/volumeAttachmentList.zod.d.ts +1 -1
  566. package/dist/compute/v2/generated/validators/volumeAttachmentList.zod.js +1 -1
  567. package/dist/compute/v2/generated/validators/volumeBackupId.zod.d.ts +41 -0
  568. package/dist/compute/v2/generated/validators/{volumeBackupID.zod.js → volumeBackupId.zod.js} +8 -8
  569. package/dist/compute/v2/generated/validators/volumeBackupListResponseBody.zod.d.ts +3 -1
  570. package/dist/compute/v2/generated/validators/volumeBackupListResponseBody.zod.js +1 -1
  571. package/dist/compute/v2/generated/validators/volumeBackupReleaseResource.zod.d.ts +1 -1
  572. package/dist/compute/v2/generated/validators/volumeBackupReleaseResource.zod.js +3 -3
  573. package/dist/compute/v2/generated/validators/volumeBackupResource.zod.d.ts +3 -1
  574. package/dist/compute/v2/generated/validators/volumeBackupResource.zod.js +15 -11
  575. package/dist/compute/v2/generated/validators/{updateVolumeResponseBody.zod.d.ts → volumeChangeResponseBody.zod.d.ts} +7 -5
  576. package/dist/compute/v2/generated/validators/{availabilityZoneID.zod.d.ts → volumeChangeResponseBody.zod.js} +14 -7
  577. package/dist/compute/v2/generated/validators/volumeId.zod.d.ts +41 -0
  578. package/dist/compute/v2/generated/validators/{volumeID.zod.js → volumeId.zod.js} +8 -8
  579. package/dist/compute/v2/generated/validators/volumeListResponseBody.zod.d.ts +3 -1
  580. package/dist/compute/v2/generated/validators/volumeListResponseBody.zod.js +1 -1
  581. package/dist/compute/v2/generated/validators/volumePerformance.zod.d.ts +1 -1
  582. package/dist/compute/v2/generated/validators/volumePerformance.zod.js +1 -1
  583. package/dist/compute/v2/generated/validators/volumeReleaseResource.zod.d.ts +1 -1
  584. package/dist/compute/v2/generated/validators/volumeReleaseResource.zod.js +3 -3
  585. package/dist/compute/v2/generated/validators/volumeResource.zod.d.ts +3 -1
  586. package/dist/compute/v2/generated/validators/volumeResource.zod.js +15 -11
  587. package/dist/compute/v2/generated/validators/volumeSnapshotId.zod.d.ts +41 -0
  588. package/dist/compute/v2/generated/validators/{volumeSnapshotID.zod.js → volumeSnapshotId.zod.js} +8 -8
  589. package/dist/compute/v2/generated/validators/volumeSnapshotListResponseBody.zod.d.ts +3 -1
  590. package/dist/compute/v2/generated/validators/volumeSnapshotListResponseBody.zod.js +1 -1
  591. package/dist/compute/v2/generated/validators/volumeSnapshotReleaseResource.zod.d.ts +1 -1
  592. package/dist/compute/v2/generated/validators/volumeSnapshotReleaseResource.zod.js +3 -3
  593. package/dist/compute/v2/generated/validators/volumeSnapshotResource.zod.d.ts +3 -1
  594. package/dist/compute/v2/generated/validators/volumeSnapshotResource.zod.js +15 -11
  595. package/dist/compute/v2/generated/validators/volumeTypeId.zod.d.ts +41 -0
  596. package/dist/compute/v2/generated/validators/{volumeTypeID.zod.js → volumeTypeId.zod.js} +8 -8
  597. package/dist/compute/v2/generated/validators/volumeTypeListResponseBody.zod.d.ts +1 -1
  598. package/dist/compute/v2/generated/validators/volumeTypeListResponseBody.zod.js +1 -1
  599. package/dist/compute/v2/generated/validators/volumeTypePerformance.zod.d.ts +1 -1
  600. package/dist/compute/v2/generated/validators/volumeTypePerformance.zod.js +1 -1
  601. package/dist/compute/v2/generated/validators/volumeTypeResource.zod.d.ts +1 -1
  602. package/dist/compute/v2/generated/validators/volumeTypeResource.zod.js +7 -7
  603. package/dist/membership/v1/generated/models.d.ts +5 -0
  604. package/dist/membership/v1/generated/schemas.zod.d.ts +2 -0
  605. package/dist/membership/v1/generated/validators/checkoutOptions.zod.d.ts +2 -0
  606. package/dist/membership/v1/generated/validators/checkoutOptions.zod.js +5 -0
  607. package/dist/membership/v1/generated/validators/membershipCreate.zod.d.ts +1 -0
  608. package/dist/membership/v1/generated/validators/membershipUpgrade.zod.d.ts +1 -0
  609. package/dist/routes.d.ts +59 -19
  610. package/dist/routes.js +65 -20
  611. package/package.json +1 -1
  612. package/dist/compute/v2/generated/validators/elasticIPAssociationID.zod.d.ts +0 -41
  613. package/dist/compute/v2/generated/validators/elasticIPAssociationID.zod.js +0 -44
  614. package/dist/compute/v2/generated/validators/elasticIPID.zod.d.ts +0 -41
  615. package/dist/compute/v2/generated/validators/elasticIPLineID.zod.d.ts +0 -41
  616. package/dist/compute/v2/generated/validators/elasticIPLineID.zod.js +0 -44
  617. package/dist/compute/v2/generated/validators/iPv4HostAddress.zod.d.ts +0 -41
  618. package/dist/compute/v2/generated/validators/instanceFamilyID.zod.d.ts +0 -41
  619. package/dist/compute/v2/generated/validators/instanceID.zod.d.ts +0 -41
  620. package/dist/compute/v2/generated/validators/instanceNetworkInterfaceID.zod.d.ts +0 -41
  621. package/dist/compute/v2/generated/validators/instanceNetworkInterfaceID.zod.js +0 -44
  622. package/dist/compute/v2/generated/validators/instanceTypeID.zod.d.ts +0 -41
  623. package/dist/compute/v2/generated/validators/instanceVolumeID.zod.d.ts +0 -41
  624. package/dist/compute/v2/generated/validators/launchTemplateID.zod.d.ts +0 -41
  625. package/dist/compute/v2/generated/validators/networkInterfaceAddressID.zod.d.ts +0 -41
  626. package/dist/compute/v2/generated/validators/networkInterfaceAddressID.zod.js +0 -44
  627. package/dist/compute/v2/generated/validators/networkInterfaceID.zod.d.ts +0 -41
  628. package/dist/compute/v2/generated/validators/operationLogID.zod.d.ts +0 -41
  629. package/dist/compute/v2/generated/validators/securityGroupID.zod.d.ts +0 -41
  630. package/dist/compute/v2/generated/validators/securityGroupIDOrWildcard.zod.d.ts +0 -39
  631. package/dist/compute/v2/generated/validators/securityGroupRuleID.zod.d.ts +0 -41
  632. package/dist/compute/v2/generated/validators/securityGroupRuleID.zod.js +0 -44
  633. package/dist/compute/v2/generated/validators/subnetID.zod.d.ts +0 -41
  634. package/dist/compute/v2/generated/validators/updateElasticIPRequestBody.zod.js +0 -48
  635. package/dist/compute/v2/generated/validators/updateElasticIPResponseBody.zod.js +0 -49
  636. package/dist/compute/v2/generated/validators/updateInstanceResponseBody.zod.js +0 -49
  637. package/dist/compute/v2/generated/validators/updateVolumeResponseBody.zod.js +0 -49
  638. package/dist/compute/v2/generated/validators/virtualPrivateCloudID.zod.d.ts +0 -41
  639. package/dist/compute/v2/generated/validators/virtualPrivateCloudID.zod.js +0 -44
  640. package/dist/compute/v2/generated/validators/virtualPrivateCloudIDOrWildcard.zod.d.ts +0 -39
  641. package/dist/compute/v2/generated/validators/virtualPrivateCloudPeeringID.zod.d.ts +0 -41
  642. package/dist/compute/v2/generated/validators/virtualPrivateCloudPeeringID.zod.js +0 -44
  643. package/dist/compute/v2/generated/validators/virtualPrivateCloudRouteID.zod.d.ts +0 -41
  644. package/dist/compute/v2/generated/validators/virtualPrivateCloudRouteID.zod.js +0 -44
  645. package/dist/compute/v2/generated/validators/volumeBackupID.zod.d.ts +0 -41
  646. package/dist/compute/v2/generated/validators/volumeID.zod.d.ts +0 -41
  647. package/dist/compute/v2/generated/validators/volumeSnapshotID.zod.d.ts +0 -41
  648. package/dist/compute/v2/generated/validators/volumeTypeID.zod.d.ts +0 -41
@@ -118,10 +118,14 @@ export const getCreateElasticIpUrl = () => {
118
118
  *
119
119
  * Allocation does not select or create a virtual private cloud. A later association selects an assigned network-interface address; Compute then establishes the required network connectivity.
120
120
  *
121
+ * An elastic IP bought on its own has a Billing subscription of its own, with two items: the address, always pay-as-you-go and charged while the address is not associated with anything, and the network, on the chosen terms.
122
+ *
123
+ * **Buying for an instance.** With `instance_id`, the elastic IP is associated with the primary network interface of that instance of the project once created, and its two items join the instance's Billing subscription: a prepaid network item is charged up to the instance's term end, the rest of the current period in proportion to the time left, and from then on renews, renews automatically and expires with the instance. `billing` may be omitted to take the instance's terms; given, its usage type and period must be the instance's (422 `ELASTIC_IP_BILLING_TERMS_MISMATCH`). An instance that cannot take another elastic IP, or whose type allows less bandwidth than `bandwidth_mbps`, is refused before anything is ordered, as associating would be.
124
+ *
121
125
  * The elastic IP is `pending` from the moment its Checkout Session is created until it is delivered or its checkout or order ends. Every other operation on it is refused with `COMPUTE_RESOURCE_BUSY` meanwhile, and its deletion with `COMPUTE_PURCHASE_PENDING` while its purchase awaits checkout or payment.
122
126
  * @summary Allocate an elastic IP
123
127
  */
124
- export const createElasticIp = async (createElasticIPRequestBody, options, fetchFn) => {
128
+ export const createElasticIp = async (createElasticIpRequestBody, options, fetchFn) => {
125
129
  const getHeaders = (h) => {
126
130
  if (!h)
127
131
  return {};
@@ -141,7 +145,7 @@ export const createElasticIp = async (createElasticIPRequestBody, options, fetch
141
145
  ...options,
142
146
  method: "POST",
143
147
  headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
144
- body: JSON.stringify(createElasticIPRequestBody),
148
+ body: JSON.stringify(createElasticIpRequestBody),
145
149
  });
146
150
  const body = [204, 205, 304].includes(res.status) ? null : await res.text();
147
151
  const data = body ? JSON.parse(body) : {};
@@ -162,25 +166,50 @@ export const getElasticIp = async (elasticIpId, options, fetchFn) => {
162
166
  const data = body ? JSON.parse(body) : {};
163
167
  return { data, status: res.status, headers: res.headers };
164
168
  };
165
- export const getUpdateElasticIpUrl = (elasticIpId) => {
166
- return `https://compute.leaflow.cloud/api/v2/elastic-ips/${encodeURIComponent(String(elasticIpId))}`;
169
+ export const getDeleteElasticIpUrl = (elasticIpId, params) => {
170
+ const normalizedParams = new URLSearchParams();
171
+ Object.entries(params || {}).forEach(([key, value]) => {
172
+ if (value !== undefined) {
173
+ normalizedParams.append(key, value === null ? "null" : String(value));
174
+ }
175
+ });
176
+ const stringifiedParams = normalizedParams.toString();
177
+ return stringifiedParams.length > 0
178
+ ? `https://compute.leaflow.cloud/api/v2/elastic-ips/${encodeURIComponent(String(elasticIpId))}?${stringifiedParams}`
179
+ : `https://compute.leaflow.cloud/api/v2/elastic-ips/${encodeURIComponent(String(elasticIpId))}`;
167
180
  };
168
181
  /**
169
- * Changes the bandwidth of this elastic IP, or what its pay-as-you-go network subscription charges for. `bandwidth_mbps` and `internet_charge_type` are operational fields: each starts a change and cannot be combined with any other field in the same request. Such a request is refused with 422 `UPDATE_FIELDS_COMBINED`, because a change that committed beside another that was then refused would leave the request half applied. An elastic IP has no descriptive field today, so 200 is reserved for the fields that may be added to it and every accepted update answers 202. `checkout` and `proration_date` belong to the purchase of the `bandwidth_mbps` change and are accepted only together with it.
182
+ * Releases the elastic IP after dissociating it. The elastic IP is `deleting` until cleanup is confirmed; the address then immediately returns to available inventory, with no cooldown period. Deleting the association or replacing it alone does not release the address.
170
183
  *
171
- * No separate bandwidth resource is created, and the limit applies to inbound and outbound traffic alike. The new value may be any whole number of Mbps within the line's bandwidth range, otherwise the request is refused with `ELASTIC_IP_BANDWIDTH_RANGE`. How the change is paid follows the elastic IP's network subscription:
184
+ * Refused with `COMPUTE_PURCHASE_PENDING` while the purchase that created it still awaits checkout or payment; `meta.checkout_session_id` names its Checkout Session and `meta.order_id` its order once checkout created one. Expire the session or cancel the order in Billing instead.
172
185
  *
173
- * - **Prepaid**: the change goes through a Checkout Session that changes the network subscription, priced for the rest of its period. It starts once Billing accepts the order; if checkout is not completed, the order is not accepted or the change fails, `bandwidth_mbps` keeps its value and Billing shows the outcome.
174
- * - **Pay-as-you-go**: there is no checkout. The change starts at once, `checkout_session_id` and `order_id` are null, and the new limit is metered from the instant it is applied; if it fails, the old limit stays in effect and metered. `checkout` and `proration_date` are refused with `ELASTIC_IP_CHECKOUT_UNUSED`.
186
+ * While subscription items pay for the elastic IP (those in its `release_set`), deleting it cancels them rather than being refused: Compute creates one Billing cancellation for the whole set and answers with it in `cancellation`. `cancellation_mode` chooses when: `immediate` cancels the set now, a licensed item being refunded under its terms, and `period_end` keeps the elastic IP working until `scheduled_at` and releases it then. Asking again while that cancellation is pending answers with it again, whatever mode is asked for.
187
+ * @summary Release an elastic IP
188
+ */
189
+ export const deleteElasticIp = async (elasticIpId, params, options, fetchFn) => {
190
+ const res = await (fetchFn ?? fetch)(getDeleteElasticIpUrl(elasticIpId, params), {
191
+ ...options,
192
+ method: "DELETE",
193
+ });
194
+ const body = [204, 205, 304].includes(res.status) ? null : await res.text();
195
+ const data = body ? JSON.parse(body) : {};
196
+ return { data, status: res.status, headers: res.headers };
197
+ };
198
+ export const getChangeElasticIpBandwidthUrl = (elasticIpId) => {
199
+ return `https://compute.leaflow.cloud/api/v2/elastic-ips/${encodeURIComponent(String(elasticIpId))}:changeBandwidth`;
200
+ };
201
+ /**
202
+ * Changes the bandwidth ceiling of this elastic IP. No separate bandwidth resource is created, and the limit applies to inbound and outbound traffic alike. The new value may be any whole number of Mbps within the line's bandwidth range, otherwise the request is refused with `ELASTIC_IP_BANDWIDTH_RANGE`. How the change is paid follows the elastic IP's network item:
175
203
  *
176
- * A change of `internet_charge_type` needs no checkout and is `updating_internet_charge_type` until it is applied; see the field.
204
+ * - **Prepaid**: the change goes through a Checkout Session that changes the network item, priced for the rest of its period. It starts once Billing accepts the order; if checkout is not completed, the order is not accepted or the change fails, `bandwidth_mbps` keeps its value and Billing shows the outcome.
205
+ * - **Pay-as-you-go**: there is no checkout. The change starts at once, `checkout_session_id` and `order_id` are null, and the new limit is metered from the instant it is applied; if it fails, the old limit stays in effect and metered. `checkout` and `proration_date` are refused with `ELASTIC_IP_CHECKOUT_UNUSED`.
177
206
  *
178
207
  * The elastic IP is `updating_bandwidth` until the change is applied or ends, so other operations and a second change are refused with `COMPUTE_RESOURCE_BUSY` meanwhile. The current limit stays in effect until the change is applied.
179
208
  *
180
209
  * While the address is associated with an instance, the limit must not exceed the `max_bandwidth_mbps` of that instance's type; a higher limit is refused with `INSTANCE_BANDWIDTH_CEILING`. The limit of an address that is not associated is checked when the address is associated with an instance.
181
- * @summary Update an elastic IP
210
+ * @summary Change the bandwidth of an elastic IP
182
211
  */
183
- export const updateElasticIp = async (elasticIpId, updateElasticIPRequestBody, options, fetchFn) => {
212
+ export const changeElasticIpBandwidth = async (elasticIpId, changeElasticIpBandwidthRequestBody, options, fetchFn) => {
184
213
  const getHeaders = (h) => {
185
214
  if (!h)
186
215
  return {};
@@ -196,40 +225,46 @@ export const updateElasticIp = async (elasticIpId, updateElasticIPRequestBody, o
196
225
  }
197
226
  return headers;
198
227
  };
199
- const res = await (fetchFn ?? fetch)(getUpdateElasticIpUrl(elasticIpId), {
228
+ const res = await (fetchFn ?? fetch)(getChangeElasticIpBandwidthUrl(elasticIpId), {
200
229
  ...options,
201
- method: "PATCH",
230
+ method: "POST",
202
231
  headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
203
- body: JSON.stringify(updateElasticIPRequestBody),
232
+ body: JSON.stringify(changeElasticIpBandwidthRequestBody),
204
233
  });
205
234
  const body = [204, 205, 304].includes(res.status) ? null : await res.text();
206
235
  const data = body ? JSON.parse(body) : {};
207
236
  return { data, status: res.status, headers: res.headers };
208
237
  };
209
- export const getDeleteElasticIpUrl = (elasticIpId, params) => {
210
- const normalizedParams = new URLSearchParams();
211
- Object.entries(params || {}).forEach(([key, value]) => {
212
- if (value !== undefined) {
213
- normalizedParams.append(key, value === null ? "null" : String(value));
214
- }
215
- });
216
- const stringifiedParams = normalizedParams.toString();
217
- return stringifiedParams.length > 0
218
- ? `https://compute.leaflow.cloud/api/v2/elastic-ips/${encodeURIComponent(String(elasticIpId))}?${stringifiedParams}`
219
- : `https://compute.leaflow.cloud/api/v2/elastic-ips/${encodeURIComponent(String(elasticIpId))}`;
238
+ export const getChangeElasticIpChargeTypeUrl = (elasticIpId) => {
239
+ return `https://compute.leaflow.cloud/api/v2/elastic-ips/${encodeURIComponent(String(elasticIpId))}:changeChargeType`;
220
240
  };
221
241
  /**
222
- * Releases the elastic IP after dissociating it. The elastic IP is `deleting` until cleanup is confirmed; the address then immediately returns to available inventory, with no cooldown period. Deleting the association or replacing it alone does not release the address.
223
- *
224
- * Refused with `COMPUTE_PURCHASE_PENDING` while the purchase that created it still awaits checkout or payment; `meta.checkout_session_id` names its Checkout Session and `meta.order_id` its order once checkout created one. Expire the session or cancel the order in Billing instead.
242
+ * Moves a pay-as-you-go elastic IP between charging for its bandwidth and charging for its traffic, within the same network item and without checkout. A prepaid network item has paid for its bandwidth and is refused with `ELASTIC_IP_CHARGE_TYPE_PREPAID`; `traffic` on a line whose `traffic_sale_status` is `off_sale` is refused with `ELASTIC_IP_TRAFFIC_UNAVAILABLE`, the type already in effect with `ELASTIC_IP_CHARGE_TYPE_UNCHANGED`, and a type the currency of the network item does not offer on the line with HTTP 403 `ELASTIC_IP_CHARGE_TYPE_NOT_OFFERED`: prices are set per currency, and a currency without one there does not sell that type.
225
243
  *
226
- * While subscriptions pay for the elastic IP (those in its `release_set`), deleting it cancels them rather than being refused: Compute creates one Billing cancellation for the whole set and answers with it in `cancellation`. `cancellation_mode` chooses when: `immediate` cancels the set now, a licensed subscription being refunded under its terms, and `period_end` keeps the elastic IP working until `scheduled_at` and releases it then. Asking again while that cancellation is pending answers with it again, whatever mode is asked for.
227
- * @summary Release an elastic IP
244
+ * The change takes effect at the instant it is applied: bandwidth stops being metered then and traffic starts being, or the other way round. Traffic is counted in windows, and a window is charged the way the elastic IP was charged for most of it, so a report that arrives late is still charged as it was at the time and a window the change falls in is never charged both ways. `bandwidth_mbps` stays the ceiling either way. The elastic IP is `updating_internet_charge_type` until the change is applied.
245
+ * @summary Change what an elastic IP is charged for
228
246
  */
229
- export const deleteElasticIp = async (elasticIpId, params, options, fetchFn) => {
230
- const res = await (fetchFn ?? fetch)(getDeleteElasticIpUrl(elasticIpId, params), {
247
+ export const changeElasticIpChargeType = async (elasticIpId, changeElasticIpChargeTypeRequestBody, options, fetchFn) => {
248
+ const getHeaders = (h) => {
249
+ if (!h)
250
+ return {};
251
+ if (h instanceof Headers)
252
+ return Object.fromEntries(h.entries());
253
+ if (Symbol.iterator in h) {
254
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
255
+ }
256
+ const headers = {};
257
+ for (const [name, value] of Object.entries(h)) {
258
+ if (value !== undefined)
259
+ headers[name] = value;
260
+ }
261
+ return headers;
262
+ };
263
+ const res = await (fetchFn ?? fetch)(getChangeElasticIpChargeTypeUrl(elasticIpId), {
231
264
  ...options,
232
- method: "DELETE",
265
+ method: "POST",
266
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
267
+ body: JSON.stringify(changeElasticIpChargeTypeRequestBody),
233
268
  });
234
269
  const body = [204, 205, 304].includes(res.status) ? null : await res.text();
235
270
  const data = body ? JSON.parse(body) : {};
@@ -291,7 +326,7 @@ export const getAssociateElasticIpUrl = (elasticIpId) => {
291
326
  * The elastic IP must be in the same region as the target. With an instance as the target, the elastic IP's `bandwidth_mbps` must not exceed the `max_bandwidth_mbps` of that instance's type; a higher limit is refused with `INSTANCE_BANDWIDTH_CEILING`.
292
327
  * @summary Associate an elastic IP with a target
293
328
  */
294
- export const associateElasticIp = async (elasticIpId, associateElasticIPRequestBody, options, fetchFn) => {
329
+ export const associateElasticIp = async (elasticIpId, associateElasticIpRequestBody, options, fetchFn) => {
295
330
  const getHeaders = (h) => {
296
331
  if (!h)
297
332
  return {};
@@ -311,7 +346,7 @@ export const associateElasticIp = async (elasticIpId, associateElasticIPRequestB
311
346
  ...options,
312
347
  method: "POST",
313
348
  headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
314
- body: JSON.stringify(associateElasticIPRequestBody),
349
+ body: JSON.stringify(associateElasticIpRequestBody),
315
350
  });
316
351
  const body = [204, 205, 304].includes(res.status) ? null : await res.text();
317
352
  const data = body ? JSON.parse(body) : {};
@@ -450,7 +485,7 @@ export const getCreateInstanceUrl = () => {
450
485
  *
451
486
  * The instances are created in the availability zone of their instance type, and the volumes bought with them have to be of volume types of that zone (422 `VOLUME_TYPE_OTHER_AVAILABILITY_ZONE`). The types have to have room for all of them, checked before anything is ordered: refused with 409 `INSTANCE_TYPE_SOLD_OUT` or `VOLUME_TYPE_SOLD_OUT` when a type takes no new orders for now, `INSTANCE_TYPE_CAPACITY_REACHED` or `VOLUME_TYPE_CAPACITY_REACHED` when what is sold of it is used up, `INSTANCE_TYPE_NO_HOST_ROOM` when no host of the zone can take the machine, `VOLUME_TYPE_NO_POOL_ROOM` when the storage of the zone cannot take the boot volume, and `ELASTIC_IP_LINE_EXHAUSTED` when the line of the new elastic IPs has fewer addresses left than instances. Two orders placed at the same moment can both pass; an instance that finds a type full when its order is accepted is not created and is refunded, ending `failed` with `provisioning_failed`.
452
487
  *
453
- * Choose an image or existing volume through boot_volume, and exactly one of network_interface_id or subnet_id. Existing network interfaces, boot volumes or elastic IPs require count=1. They are not held while the instance is pending; if one is no longer usable when the order is accepted, the instance ends `failed` with `provisioning_failed`. Image boots require boot_volume; existing volumes retain their own subscription. Instances, volumes and public IPs keep their own subscription items on the same order.
488
+ * Choose an image or existing volume through boot_volume, and exactly one of network_interface_id or subnet_id. Existing network interfaces, boot volumes or elastic IPs require count=1. They are not held while the instance is pending; if one is no longer usable when the order is accepted, the instance ends `failed` with `provisioning_failed`. Image boots require boot_volume; existing volumes retain their own subscription. Each instance gets its own Billing subscription, with the boot volume, data volumes and elastic IP bought with it as items of it: they renew, renew automatically and expire with the machine as a whole, while each can still be changed or released alone. `checkout.auto_renew` turns automatic renewal on for each machine.
454
489
  *
455
490
  * Instances of one request succeed or fail individually. Each instance, with its boot volume, network interface and elastic IP, is created or fails as a whole. Instances that were created are kept; each failed instance ends `failed` with `provisioning_failed`, its part of the order is refunded, and the order then ends `partially_completed`. An instance is delivered whole or not at all: when the customer cancels any of its order items before the order is accepted, it is not created, its remaining items are canceled and refunded, and it ends `failed` with `order_canceled`. Each instance is named after this request with a number appended.
456
491
  *
@@ -505,19 +540,11 @@ export const getUpdateInstanceUrl = (instanceId) => {
505
540
  return `https://compute.leaflow.cloud/api/v2/instances/${encodeURIComponent(String(instanceId))}`;
506
541
  };
507
542
  /**
508
- * Changes the descriptive fields (`name`, `labels`, `notes`) or the operational field `instance_type_id`. All fields are optional and at least one is required. Starting and stopping are the `:start` and `:stop` methods.
509
- *
510
- * `instance_type_id` starts a workflow and cannot be combined with any other field in the same request. Such a request 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. `checkout` and `proration_date` belong to the purchase of the `instance_type_id` change and are accepted only together with it.
511
- *
512
- * **Descriptive fields** are not operations and are accepted at any time, whatever the instance is doing. The request returns 200 with `checkout_session_id` and `order_id` null.
543
+ * Changes the descriptive fields `name`, `labels` and `description`; all are optional and at least one is required. They are not operations and are accepted at any time, whatever the instance is doing. Changing the instance type is the `:resize` method; starting and stopping are `:start` and `:stop`.
513
544
  *
514
545
  * - `name` changes the display name only. The hostname inside the instance is unchanged; it equals the instance id.
515
546
  * - `labels` records what this instance is for, as key-value pairs. Nothing on the platform reads them. **The whole set is replaced**: whatever is absent from the request is removed, and an empty object clears them all. Do not put credentials here. Labels are visible to platform operators.
516
- * - `notes` is a free-text note about this instance: what it runs, and what to be careful about before touching it. **The whole note is replaced**; send an empty string to clear it. Do not put credentials here. The note is visible to platform operators.
517
- *
518
- * **`instance_type_id`** changes the instance's type **cold**: the instance has to be stopped, and is refused with 409 `INSTANCE_RESIZE_REQUIRES_STOP` otherwise. Its operating system is not booted for the change, and it is still stopped once the change is applied; start it when you are ready. An instance stopped by the legacy stop, which released its host, is refused with 409 `INSTANCE_SHELVED`; start it once and stop it again. A target type that cannot hold what the instance already uses is refused before anything is ordered: fewer network interfaces than are attached with 409 `INSTANCE_RESIZE_NETWORK_INTERFACES_EXCEED`, fewer elastic IPs than are associated with 409 `INSTANCE_RESIZE_ELASTIC_IPS_EXCEED`, and less purchasable bandwidth than an associated elastic IP has with 409 `INSTANCE_BANDWIDTH_CEILING` naming it in `meta.elastic_ip_id`. The request returns 202 with the instance and the Checkout Session for the change, including for metered terms. The instance keeps its usage type and period, priced with the target type's matching option; a target type without that option is refused with 409 `BILLING_OPTION_UNAVAILABLE`. The resize starts once Billing accepts the order. Do not submit the change again after paying. After an uncertain response, look the Checkout Session up in Billing before submitting again.
519
- *
520
- * The instance is `resizing` until the resize is applied, its Checkout Session expires or its order is canceled, so other operations and a second resize are refused with `COMPUTE_RESOURCE_BUSY` meanwhile. It keeps its current type until the resize is applied; the new type takes effect, and is billed from then on, when `instance_type_id` shows it. If checkout is not completed, the order is not accepted or the resize fails, the instance keeps its current type and Billing shows the outcome. A completed resize is final and cannot be reverted; to return to the previous type, submit another resize.
547
+ * - `description` is a free-text note about this instance: what it runs, and what to be careful about before touching it. **The whole note is replaced**; send an empty string to clear it. Do not put credentials here. The note is visible to platform operators.
521
548
  * @summary Update an instance
522
549
  */
523
550
  export const updateInstance = async (instanceId, updateInstanceRequestBody, options, fetchFn) => {
@@ -565,7 +592,7 @@ export const getDeleteInstanceUrl = (instanceId, params) => {
565
592
  *
566
593
  * Refused with `COMPUTE_PURCHASE_PENDING` while the purchase that created it still awaits checkout or payment; `meta.checkout_session_id` names its Checkout Session and `meta.order_id` its order once checkout created one. Expire the session or cancel the order in Billing instead.
567
594
  *
568
- * While subscriptions pay for the instance (those in its `release_set`), deleting it cancels them rather than being refused: Compute creates one Billing cancellation for the whole set and answers with it in `cancellation`. `cancellation_mode` chooses when: `immediate` cancels the set now, a licensed subscription being refunded under its terms, and `period_end` keeps the instance working until `scheduled_at` and releases it then. Asking again while that cancellation is pending answers with it again, whatever mode is asked for.
595
+ * While subscription items pay for the instance (those in its `release_set`), deleting it cancels them rather than being refused: Compute creates one Billing cancellation for the whole set and answers with it in `cancellation`. `cancellation_mode` chooses when: `immediate` cancels the set now, a licensed item being refunded under its terms, and `period_end` keeps the instance working until `scheduled_at` and releases it then. Volumes and elastic IPs kept after the release keep their items, and the subscription continues with them. Asking again while that cancellation is pending answers with it again, whatever mode is asked for.
569
596
  * @summary Release an instance
570
597
  */
571
598
  export const deleteInstance = async (instanceId, params, options, fetchFn) => {
@@ -577,6 +604,41 @@ export const deleteInstance = async (instanceId, params, options, fetchFn) => {
577
604
  const data = body ? JSON.parse(body) : {};
578
605
  return { data, status: res.status, headers: res.headers };
579
606
  };
607
+ export const getResizeInstanceUrl = (instanceId) => {
608
+ return `https://compute.leaflow.cloud/api/v2/instances/${encodeURIComponent(String(instanceId))}:resize`;
609
+ };
610
+ /**
611
+ * Changes the instance's type **cold**, through a change of its subscription item purchased in Billing: the instance has to be stopped, and is refused with 409 `INSTANCE_RESIZE_REQUIRES_STOP` otherwise. Its operating system is not booted for the change, and it is still stopped once the change is applied; start it when you are ready. An instance stopped by the legacy stop, which released its host, is refused with 409 `INSTANCE_SHELVED`; start it once and stop it again. A target type that cannot hold what the instance already uses is refused before anything is ordered: fewer network interfaces than are attached with 409 `INSTANCE_RESIZE_NETWORK_INTERFACES_EXCEED`, fewer elastic IPs than are associated with 409 `INSTANCE_RESIZE_ELASTIC_IPS_EXCEED`, and less purchasable bandwidth than an associated elastic IP has with 409 `INSTANCE_BANDWIDTH_CEILING` naming it in `meta.elastic_ip_id`. The request returns 202 with the instance and the Checkout Session for the change, including for metered terms. The instance keeps its usage type and period, priced with the target type's matching option; a target type without that option is refused with 409 `BILLING_OPTION_UNAVAILABLE`. The resize starts once Billing accepts the order. Do not submit the change again after paying. After an uncertain response, look the Checkout Session up in Billing before submitting again.
612
+ *
613
+ * The instance is `resizing` until the resize is applied, its Checkout Session expires or its order is canceled, so other operations and a second resize are refused with `COMPUTE_RESOURCE_BUSY` meanwhile. It keeps its current type until the resize is applied; the new type takes effect, and is billed from then on, when `instance_type_id` shows it. If checkout is not completed, the order is not accepted or the resize fails, the instance keeps its current type and Billing shows the outcome. A completed resize is final and cannot be reverted; to return to the previous type, submit another resize.
614
+ * @summary Resize an instance
615
+ */
616
+ export const resizeInstance = async (instanceId, resizeInstanceRequestBody, options, fetchFn) => {
617
+ const getHeaders = (h) => {
618
+ if (!h)
619
+ return {};
620
+ if (h instanceof Headers)
621
+ return Object.fromEntries(h.entries());
622
+ if (Symbol.iterator in h) {
623
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
624
+ }
625
+ const headers = {};
626
+ for (const [name, value] of Object.entries(h)) {
627
+ if (value !== undefined)
628
+ headers[name] = value;
629
+ }
630
+ return headers;
631
+ };
632
+ const res = await (fetchFn ?? fetch)(getResizeInstanceUrl(instanceId), {
633
+ ...options,
634
+ method: "POST",
635
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
636
+ body: JSON.stringify(resizeInstanceRequestBody),
637
+ });
638
+ const body = [204, 205, 304].includes(res.status) ? null : await res.text();
639
+ const data = body ? JSON.parse(body) : {};
640
+ return { data, status: res.status, headers: res.headers };
641
+ };
580
642
  export const getStartInstanceUrl = (instanceId) => {
581
643
  return `https://compute.leaflow.cloud/api/v2/instances/${encodeURIComponent(String(instanceId))}:start`;
582
644
  };
@@ -601,7 +663,7 @@ export const getStopInstanceUrl = (instanceId) => {
601
663
  /**
602
664
  * Shuts the instance down **on its host**, as Alibaba Cloud's ordinary stop does: it keeps its volumes, network interfaces, addresses and quota, and the vCPU and memory of its host stay reserved for it, so it starts again without asking for room. **A metered instance keeps being charged for compute while stopped**; its volumes and elastic IPs are charged as always. An instance stopped by a suspension, for non-payment or by the platform, is not charged for compute while the suspension lasts. It is `stopping` until it is stopped. Stopping a stopped instance changes nothing.
603
665
  *
604
- * Changing `instance_type_id` is done on a stopped instance and only then. A stopped instance can also be rebuilt and have network interfaces and volumes attached and detached; rescuing it needs it running.
666
+ * Resizing is done on a stopped instance and only then. A stopped instance can also be rebuilt and have network interfaces and volumes attached and detached; rescuing it needs it running.
605
667
  * @summary Stop an instance
606
668
  */
607
669
  export const stopInstance = async (instanceId, options, fetchFn) => {
@@ -662,19 +724,19 @@ export const runInstanceCommand = async (instanceId, runInstanceCommandRequestBo
662
724
  const data = body ? JSON.parse(body) : {};
663
725
  return { data, status: res.status, headers: res.headers };
664
726
  };
665
- export const getGetInstanceConsoleUrl = (instanceId) => {
666
- return `https://compute.leaflow.cloud/api/v2/instances/${encodeURIComponent(String(instanceId))}/console`;
727
+ export const getCreateInstanceConsoleUrlUrl = (instanceId) => {
728
+ return `https://compute.leaflow.cloud/api/v2/instances/${encodeURIComponent(String(instanceId))}:createConsoleUrl`;
667
729
  };
668
730
  /**
669
- * The instance's VNC console, operated from a browser through a noVNC client. It does not require the instance to be reachable over the network, which makes it usable when a network misconfiguration prevents login.
731
+ * Issues an address for the instance's VNC console, operated from a browser through a noVNC client. It does not require the instance to be reachable over the network, which makes it usable when a network misconfiguration prevents login.
670
732
  *
671
- * The returned address is single-use and expires within minutes. Every request issues a new address, so request one before each use and do not cache the response.
672
- * @summary Retrieve a VNC console
733
+ * The address is single-use and expires within minutes. Every request issues a new address, so request one before each use and do not cache the response.
734
+ * @summary Create a VNC console address
673
735
  */
674
- export const getInstanceConsole = async (instanceId, options, fetchFn) => {
675
- const res = await (fetchFn ?? fetch)(getGetInstanceConsoleUrl(instanceId), {
736
+ export const createInstanceConsoleUrl = async (instanceId, options, fetchFn) => {
737
+ const res = await (fetchFn ?? fetch)(getCreateInstanceConsoleUrlUrl(instanceId), {
676
738
  ...options,
677
- method: "GET",
739
+ method: "POST",
678
740
  });
679
741
  const body = [204, 205, 304].includes(res.status) ? null : await res.text();
680
742
  const data = body ? JSON.parse(body) : {};
@@ -1292,10 +1354,7 @@ export const getUpdateNetworkInterfaceUrl = (networkInterfaceId) => {
1292
1354
  return `https://compute.leaflow.cloud/api/v2/network-interfaces/${encodeURIComponent(String(networkInterfaceId))}`;
1293
1355
  };
1294
1356
  /**
1295
- * Changes the name, or replaces the security groups. The two are never combined (422 `UPDATE_FIELDS_COMBINED`).
1296
- *
1297
- * - `name` is not an operation, is accepted at any time and answers 200.
1298
- * - `security_group_ids` is the complete new set, one to five groups of the network interface's virtual private cloud; groups left out are removed. It applies to traffic of the running instance as soon as it is in place, and answers 202 with the network interface `updating_security_groups` until then.
1357
+ * Changes the name. It is not an operation and is accepted at any time. Replacing the security groups is `:replaceSecurityGroups`.
1299
1358
  *
1300
1359
  * Secondary IPv4 addresses are added and removed under `/network-interfaces/{networkInterfaceId}/addresses`.
1301
1360
  * @summary Update a network interface
@@ -1342,6 +1401,43 @@ export const deleteNetworkInterface = async (networkInterfaceId, options, fetchF
1342
1401
  const data = body ? JSON.parse(body) : {};
1343
1402
  return { data, status: res.status, headers: res.headers };
1344
1403
  };
1404
+ export const getReplaceNetworkInterfaceSecurityGroupsUrl = (networkInterfaceId) => {
1405
+ return `https://compute.leaflow.cloud/api/v2/network-interfaces/${encodeURIComponent(String(networkInterfaceId))}:replaceSecurityGroups`;
1406
+ };
1407
+ /**
1408
+ * `security_group_ids` is the complete new set, one to five groups of the network interface's virtual private cloud; groups left out are removed. It applies to traffic of the running instance as soon as it is in place, and the network interface is `updating_security_groups` until then.
1409
+ * @summary Replace the security groups of a network interface
1410
+ */
1411
+ export const replaceNetworkInterfaceSecurityGroups = async (networkInterfaceId, replaceNetworkInterfaceSecurityGroupsRequestBody, options, fetchFn) => {
1412
+ const getHeaders = (h) => {
1413
+ if (!h)
1414
+ return {};
1415
+ if (h instanceof Headers)
1416
+ return Object.fromEntries(h.entries());
1417
+ if (Symbol.iterator in h) {
1418
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
1419
+ }
1420
+ const headers = {};
1421
+ for (const [name, value] of Object.entries(h)) {
1422
+ if (value !== undefined)
1423
+ headers[name] = value;
1424
+ }
1425
+ return headers;
1426
+ };
1427
+ const res = await (fetchFn ?? fetch)(getReplaceNetworkInterfaceSecurityGroupsUrl(networkInterfaceId), {
1428
+ ...options,
1429
+ method: "POST",
1430
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
1431
+ body: JSON.stringify(replaceNetworkInterfaceSecurityGroupsRequestBody),
1432
+ });
1433
+ const body = [204, 205, 304].includes(res.status) ? null : await res.text();
1434
+ const data = body ? JSON.parse(body) : {};
1435
+ return {
1436
+ data,
1437
+ status: res.status,
1438
+ headers: res.headers,
1439
+ };
1440
+ };
1345
1441
  export const getCreateNetworkInterfaceAddressUrl = (networkInterfaceId) => {
1346
1442
  return `https://compute.leaflow.cloud/api/v2/network-interfaces/${encodeURIComponent(String(networkInterfaceId))}/addresses`;
1347
1443
  };
@@ -1586,7 +1682,7 @@ export const getDeletePrivateImageUrl = (privateImageId, params) => {
1586
1682
  *
1587
1683
  * A resource whose purchase still awaits checkout or payment is refused with `COMPUTE_PURCHASE_PENDING`; `meta.checkout_session_id` names its Checkout Session and `meta.order_id` its order once checkout created one. Expire the session or cancel the order in Billing instead. A subscribed resource is released through its subscription cancellation. Cleanup must be confirmed before metering is stopped; unknown cleanup is not proof of release.
1588
1684
  *
1589
- * While subscriptions pay for the private image (those in its `release_set`), deleting it cancels them rather than being refused: Compute creates one Billing cancellation for the whole set and answers with it in `cancellation`. `cancellation_mode` chooses when: `immediate` cancels the set now, a licensed subscription being refunded under its terms, and `period_end` keeps the private image working until `scheduled_at` and releases it then. Asking again while that cancellation is pending answers with it again, whatever mode is asked for.
1685
+ * While subscription items pay for the private image (those in its `release_set`), deleting it cancels them rather than being refused: Compute creates one Billing cancellation for the whole set and answers with it in `cancellation`. `cancellation_mode` chooses when: `immediate` cancels the set now, a licensed item being refunded under its terms, and `period_end` keeps the private image working until `scheduled_at` and releases it then. Asking again while that cancellation is pending answers with it again, whatever mode is asked for.
1590
1686
  * @summary Delete a private image
1591
1687
  */
1592
1688
  export const deletePrivateImage = async (privateImageId, params, options, fetchFn) => {
@@ -2636,7 +2732,7 @@ export const getDeleteVolumeBackupUrl = (volumeBackupId, params) => {
2636
2732
  *
2637
2733
  * A resource whose purchase still awaits checkout or payment is refused with `COMPUTE_PURCHASE_PENDING`; `meta.checkout_session_id` names its Checkout Session and `meta.order_id` its order once checkout created one. Expire the session or cancel the order in Billing instead. A subscribed resource is released through its subscription cancellation. Cleanup must be confirmed before metering is stopped; unknown cleanup is not proof of release.
2638
2734
  *
2639
- * While subscriptions pay for the volume backup (those in its `release_set`), deleting it cancels them rather than being refused: Compute creates one Billing cancellation for the whole set and answers with it in `cancellation`. `cancellation_mode` chooses when: `immediate` cancels the set now, a licensed subscription being refunded under its terms, and `period_end` keeps the volume backup working until `scheduled_at` and releases it then. Asking again while that cancellation is pending answers with it again, whatever mode is asked for.
2735
+ * While subscription items pay for the volume backup (those in its `release_set`), deleting it cancels them rather than being refused: Compute creates one Billing cancellation for the whole set and answers with it in `cancellation`. `cancellation_mode` chooses when: `immediate` cancels the set now, a licensed item being refunded under its terms, and `period_end` keeps the volume backup working until `scheduled_at` and releases it then. Asking again while that cancellation is pending answers with it again, whatever mode is asked for.
2640
2736
  * @summary Delete a volume backup
2641
2737
  */
2642
2738
  export const deleteVolumeBackup = async (volumeBackupId, params, options, fetchFn) => {
@@ -2774,7 +2870,7 @@ export const getDeleteVolumeSnapshotUrl = (volumeSnapshotId, params) => {
2774
2870
  *
2775
2871
  * A resource whose purchase still awaits checkout or payment is refused with `COMPUTE_PURCHASE_PENDING`; `meta.checkout_session_id` names its Checkout Session and `meta.order_id` its order once checkout created one. Expire the session or cancel the order in Billing instead. A subscribed resource is released through its subscription cancellation. Cleanup must be confirmed before metering is stopped; unknown cleanup is not proof of release.
2776
2872
  *
2777
- * While subscriptions pay for the snapshot (those in its `release_set`), deleting it cancels them rather than being refused: Compute creates one Billing cancellation for the whole set and answers with it in `cancellation`. `cancellation_mode` chooses when: `immediate` cancels the set now, a licensed subscription being refunded under its terms, and `period_end` keeps the snapshot working until `scheduled_at` and releases it then. Asking again while that cancellation is pending answers with it again, whatever mode is asked for.
2873
+ * While subscription items pay for the snapshot (those in its `release_set`), deleting it cancels them rather than being refused: Compute creates one Billing cancellation for the whole set and answers with it in `cancellation`. `cancellation_mode` chooses when: `immediate` cancels the set now, a licensed item being refunded under its terms, and `period_end` keeps the snapshot working until `scheduled_at` and releases it then. Asking again while that cancellation is pending answers with it again, whatever mode is asked for.
2778
2874
  * @summary Delete a snapshot
2779
2875
  */
2780
2876
  export const deleteVolumeSnapshot = async (volumeSnapshotId, params, options, fetchFn) => {
@@ -2867,7 +2963,9 @@ export const getCreateVolumeUrl = () => {
2867
2963
  *
2868
2964
  * A volume type that is off sale is rejected with `VOLUME_TYPE_OFF_SALE`, even though its identifier still resolves. Types that are off sale do not appear in the volume type listing; volumes already bought on one keep working and can still be resized.
2869
2965
  *
2870
- * A volume bought on its own is licensed: `billing.usage_type` `metered` is refused with `VOLUME_USAGE_TYPE_UNAVAILABLE`. A volume created with an instance follows the machine's terms instead and may be metered.
2966
+ * A volume bought on its own is licensed, with a Billing subscription of its own: `billing.usage_type` `metered` is refused with `VOLUME_USAGE_TYPE_UNAVAILABLE`. A volume created with an instance follows the machine's terms instead and may be metered.
2967
+ *
2968
+ * **Buying for an instance.** With `instance_id`, the volume is attached to that instance of the project once created, and becomes an item of the instance's Billing subscription: it is charged up to the instance's term end, the rest of the current period in proportion to the time left, and from then on renews, renews automatically and expires with the instance. Its volume type has to be of the instance's availability zone (422 `VOLUME_TYPE_OTHER_AVAILABILITY_ZONE`). `billing` may be omitted to take the instance's terms; given, its usage type and period must be the instance's (422 `VOLUME_BILLING_TERMS_MISMATCH`), while its termination policy may differ. An instance with no room for another volume is refused before anything is ordered, as attaching would be.
2871
2969
  *
2872
2970
  * The volume is `pending` from the moment its Checkout Session is created until it is delivered or its checkout or order ends. Every other operation on it is refused with `COMPUTE_RESOURCE_BUSY` meanwhile, and its deletion with `COMPUTE_PURCHASE_PENDING` while its purchase awaits checkout or payment.
2873
2971
  * @summary Create a volume
@@ -2918,17 +3016,7 @@ export const getUpdateVolumeUrl = (volumeId) => {
2918
3016
  return `https://compute.leaflow.cloud/api/v2/volumes/${encodeURIComponent(String(volumeId))}`;
2919
3017
  };
2920
3018
  /**
2921
- * Changes the name, the capacity or the volume type. The availability zone is immutable.
2922
- *
2923
- * `size_gib` and `volume_type_id` are operational fields: each starts a change and cannot be combined with any other field in the same request, including the other one. Such a request 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. `checkout` and `proration_date` belong to the purchase of the change and are accepted only together with one of them.
2924
- *
2925
- * **Renaming** is not an operation and is accepted at any time. It returns 200 with `checkout_session_id` and `order_id` null.
2926
- *
2927
- * **Resizing** accepts only an increase; a smaller `size_gib` is refused with `VOLUME_CANNOT_SHRINK` (422), since a file system cannot be shrunk from outside the instance. It returns 202 with the volume and the Checkout Session for the resize, which keeps the volume's usage type and period. The volume is `resizing` until the resize is applied, its Checkout Session expires or its order is canceled, so other operations and a second resize are refused with `COMPUTE_RESOURCE_BUSY` meanwhile. The volume keeps its current size until the resize is applied; once `size_gib` shows the new size, extend the file system inside the instance. If checkout is not completed, the order is not accepted or the resize fails, the volume keeps its size and Billing shows the outcome.
2928
- *
2929
- * **Changing the type** moves the volume to another volume type at the same capacity, priced as that type, and returns 202 with the volume and the Checkout Session for the change, which keeps the volume's usage type and period. The volume has to be detached (409 `VOLUME_RETYPE_ATTACHED`), so a boot volume cannot change its type. The target has to be on sale (`VOLUME_TYPE_OFF_SALE`), in the volume's region (422 `VOLUME_RETYPE_OTHER_REGION`), of the volume's availability zone (422 `VOLUME_TYPE_OTHER_AVAILABILITY_ZONE`) with room for the volume (409 `VOLUME_TYPE_SOLD_OUT`, `VOLUME_TYPE_CAPACITY_REACHED`, `VOLUME_TYPE_NO_POOL_ROOM`), admit the volume's capacity (422 `VOLUME_SIZE_OUT_OF_RANGE`, `VOLUME_SIZE_NOT_ON_STEP`) and differ from the current one (422 `VOLUME_RETYPE_SAME_TYPE`). The volume is `retyping` until the change is applied, its Checkout Session expires or its order is canceled. A target on the same storage backend takes effect at once; one on another backend copies the volume's data there first, which takes longer the larger the volume is. The volume keeps its type until `volume_type_id` shows the new one, and its `performance` follows from then on; a change that did not take effect leaves the volume as it was and is refunded.
2930
- *
2931
- * An attached volume, including a boot volume, can be resized. The capacity is usable at once, and the volume's `performance` shows what its type gives the new size. **That performance applies from the volume's next attachment, or the next start of its stopped instance**: the storage reads a volume's limits only while connecting it. Until then the attachment's `performance` shows what is in effect.
3019
+ * Changes the name. It is not an operation and is accepted at any time. Growing the volume is `:resize` and moving it to another type is `:retype`.
2932
3020
  * @summary Update a volume
2933
3021
  */
2934
3022
  export const updateVolume = async (volumeId, updateVolumeRequestBody, options, fetchFn) => {
@@ -2974,7 +3062,7 @@ export const getDeleteVolumeUrl = (volumeId, params) => {
2974
3062
  *
2975
3063
  * Refused with `COMPUTE_PURCHASE_PENDING` while the purchase that created it still awaits checkout or payment; `meta.checkout_session_id` names its Checkout Session and `meta.order_id` its order once checkout created one. Expire the session or cancel the order in Billing instead.
2976
3064
  *
2977
- * While subscriptions pay for the volume (those in its `release_set`), deleting it cancels them rather than being refused: Compute creates one Billing cancellation for the whole set and answers with it in `cancellation`. `cancellation_mode` chooses when: `immediate` cancels the set now, a licensed subscription being refunded under its terms, and `period_end` keeps the volume working until `scheduled_at` and releases it then. Asking again while that cancellation is pending answers with it again, whatever mode is asked for.
3065
+ * While subscription items pay for the volume (those in its `release_set`), deleting it cancels them rather than being refused: Compute creates one Billing cancellation for the whole set and answers with it in `cancellation`. `cancellation_mode` chooses when: `immediate` cancels the set now, a licensed item being refunded under its terms, and `period_end` keeps the volume working until `scheduled_at` and releases it then. Asking again while that cancellation is pending answers with it again, whatever mode is asked for.
2978
3066
  * @summary Delete a volume
2979
3067
  */
2980
3068
  export const deleteVolume = async (volumeId, params, options, fetchFn) => {
@@ -2986,6 +3074,74 @@ export const deleteVolume = async (volumeId, params, options, fetchFn) => {
2986
3074
  const data = body ? JSON.parse(body) : {};
2987
3075
  return { data, status: res.status, headers: res.headers };
2988
3076
  };
3077
+ export const getResizeVolumeUrl = (volumeId) => {
3078
+ return `https://compute.leaflow.cloud/api/v2/volumes/${encodeURIComponent(String(volumeId))}:resize`;
3079
+ };
3080
+ /**
3081
+ * Grows the volume through a change of its subscription item purchased in Billing. Only an increase is accepted; a smaller `size_gib` is refused with `VOLUME_CANNOT_SHRINK` (422), since a file system cannot be shrunk from outside the instance. It returns 202 with the volume and the Checkout Session for the resize, which keeps the volume's usage type and period. The volume is `resizing` until the resize is applied, its Checkout Session expires or its order is canceled, so other operations and a second resize are refused with `COMPUTE_RESOURCE_BUSY` meanwhile. The volume keeps its current size until the resize is applied; once `size_gib` shows the new size, extend the file system inside the instance. If checkout is not completed, the order is not accepted or the resize fails, the volume keeps its size and Billing shows the outcome.
3082
+ *
3083
+ * An attached volume, including a boot volume, can be resized. The capacity is usable at once, and the volume's `performance` shows what its type gives the new size. **That performance applies from the volume's next attachment, or the next start of its stopped instance**: the storage reads a volume's limits only while connecting it. Until then the attachment's `performance` shows what is in effect.
3084
+ * @summary Resize a volume
3085
+ */
3086
+ export const resizeVolume = async (volumeId, resizeVolumeRequestBody, options, fetchFn) => {
3087
+ const getHeaders = (h) => {
3088
+ if (!h)
3089
+ return {};
3090
+ if (h instanceof Headers)
3091
+ return Object.fromEntries(h.entries());
3092
+ if (Symbol.iterator in h) {
3093
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3094
+ }
3095
+ const headers = {};
3096
+ for (const [name, value] of Object.entries(h)) {
3097
+ if (value !== undefined)
3098
+ headers[name] = value;
3099
+ }
3100
+ return headers;
3101
+ };
3102
+ const res = await (fetchFn ?? fetch)(getResizeVolumeUrl(volumeId), {
3103
+ ...options,
3104
+ method: "POST",
3105
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
3106
+ body: JSON.stringify(resizeVolumeRequestBody),
3107
+ });
3108
+ const body = [204, 205, 304].includes(res.status) ? null : await res.text();
3109
+ const data = body ? JSON.parse(body) : {};
3110
+ return { data, status: res.status, headers: res.headers };
3111
+ };
3112
+ export const getRetypeVolumeUrl = (volumeId) => {
3113
+ return `https://compute.leaflow.cloud/api/v2/volumes/${encodeURIComponent(String(volumeId))}:retype`;
3114
+ };
3115
+ /**
3116
+ * Moves the volume to another volume type at the same capacity, priced as that type, through a change of its subscription item purchased in Billing, and returns 202 with the volume and the Checkout Session for the change, which keeps the volume's usage type and period. The volume has to be detached (409 `VOLUME_RETYPE_ATTACHED`), so a boot volume cannot change its type. The target has to be on sale (`VOLUME_TYPE_OFF_SALE`), in the volume's region (422 `VOLUME_RETYPE_OTHER_REGION`), of the volume's availability zone (422 `VOLUME_TYPE_OTHER_AVAILABILITY_ZONE`) with room for the volume (409 `VOLUME_TYPE_SOLD_OUT`, `VOLUME_TYPE_CAPACITY_REACHED`, `VOLUME_TYPE_NO_POOL_ROOM`), admit the volume's capacity (422 `VOLUME_SIZE_OUT_OF_RANGE`, `VOLUME_SIZE_NOT_ON_STEP`) and differ from the current one (422 `VOLUME_RETYPE_SAME_TYPE`). The volume is `retyping` until the change is applied, its Checkout Session expires or its order is canceled. A target on the same storage backend takes effect at once; one on another backend copies the volume's data there first, which takes longer the larger the volume is. The volume keeps its type until `volume_type_id` shows the new one, and its `performance` follows from then on; a change that did not take effect leaves the volume as it was and is refunded.
3117
+ * @summary Change the type of a volume
3118
+ */
3119
+ export const retypeVolume = async (volumeId, retypeVolumeRequestBody, options, fetchFn) => {
3120
+ const getHeaders = (h) => {
3121
+ if (!h)
3122
+ return {};
3123
+ if (h instanceof Headers)
3124
+ return Object.fromEntries(h.entries());
3125
+ if (Symbol.iterator in h) {
3126
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
3127
+ }
3128
+ const headers = {};
3129
+ for (const [name, value] of Object.entries(h)) {
3130
+ if (value !== undefined)
3131
+ headers[name] = value;
3132
+ }
3133
+ return headers;
3134
+ };
3135
+ const res = await (fetchFn ?? fetch)(getRetypeVolumeUrl(volumeId), {
3136
+ ...options,
3137
+ method: "POST",
3138
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
3139
+ body: JSON.stringify(retypeVolumeRequestBody),
3140
+ });
3141
+ const body = [204, 205, 304].includes(res.status) ? null : await res.text();
3142
+ const data = body ? JSON.parse(body) : {};
3143
+ return { data, status: res.status, headers: res.headers };
3144
+ };
2989
3145
  export const getRevertVolumeUrl = (volumeId) => {
2990
3146
  return `https://compute.leaflow.cloud/api/v2/volumes/${encodeURIComponent(String(volumeId))}:revert`;
2991
3147
  };