@leaflow/sdk 0.216.0 → 0.217.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/billing/type/checkout/v1/generated/models.d.ts +2 -2
  2. package/dist/billing/type/checkout/v1/generated/validators/checkoutOptions.zod.js +1 -1
  3. package/dist/billing/v1/generated/functions.d.ts +2 -2
  4. package/dist/billing/v1/generated/functions.js +2 -2
  5. package/dist/billing/v1/generated/models.d.ts +16 -7
  6. package/dist/billing/v1/generated/schemas.zod.d.ts +2 -2
  7. package/dist/billing/v1/generated/schemas.zod.js +2 -2
  8. package/dist/billing/v1/generated/validators/checkoutOptions.zod.js +1 -1
  9. package/dist/billing/v1/generated/validators/checkoutSession.zod.d.ts +6 -107
  10. package/dist/billing/v1/generated/validators/checkoutSessionList.zod.d.ts +6 -107
  11. package/dist/billing/v1/generated/validators/checkoutSessionResult.zod.d.ts +6 -107
  12. package/dist/billing/v1/generated/validators/discount.zod.js +1 -1
  13. package/dist/billing/v1/generated/validators/trialEndBehavior.zod.js +1 -1
  14. package/dist/billing/v1/generated/validators/trialGrant.zod.d.ts +6 -107
  15. package/dist/billing/v1/generated/validators/trialGrantList.zod.d.ts +6 -107
  16. package/dist/billing/v1/generated/validators/trialOffer.zod.d.ts +6 -107
  17. package/dist/billing/v1/generated/validators/trialOffer.zod.js +5 -3
  18. package/dist/billing/v1/generated/validators/trialOfferItem.zod.d.ts +18 -0
  19. package/dist/billing/v1/generated/validators/trialOfferItem.zod.js +17 -0
  20. package/dist/canopy/v1/generated/models.d.ts +2 -2
  21. package/dist/canopy/v1/generated/validators/checkoutOptions.zod.js +1 -1
  22. package/dist/compute/v2/generated/functions.d.ts +6 -6
  23. package/dist/compute/v2/generated/functions.js +6 -6
  24. package/dist/compute/v2/generated/models.d.ts +2 -2
  25. package/dist/compute/v2/generated/schemas.zod.d.ts +6 -6
  26. package/dist/compute/v2/generated/schemas.zod.js +6 -6
  27. package/dist/compute/v2/generated/validators/checkoutOptions.zod.js +1 -1
  28. package/dist/membership/v1/generated/models.d.ts +2 -2
  29. package/dist/membership/v1/generated/validators/checkoutOptions.zod.js +1 -1
  30. package/package.json +1 -1
@@ -24,115 +24,14 @@ export declare const TrialGrant: zod.ZodObject<{
24
24
  retention_seconds: zod.ZodNullable<zod.ZodInt>;
25
25
  }, zod.z.core.$strict>;
26
26
  }, zod.z.core.$strict>;
27
- applies_to: zod.ZodObject<{
28
- products: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
29
- id: zod.ZodString;
30
- name: zod.ZodString;
31
- description: zod.ZodOptional<zod.ZodString>;
32
- }, zod.z.core.$strict>>>;
33
- plans: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
34
- id: zod.ZodUUID;
35
- name: zod.ZodString;
36
- active: zod.ZodBoolean;
37
- }, zod.z.core.$strict>>>;
38
- prices: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
39
- product: zod.ZodObject<{
40
- id: zod.ZodString;
41
- name: zod.ZodString;
42
- description: zod.ZodOptional<zod.ZodString>;
43
- }, zod.z.core.$strict>;
44
- plan: zod.ZodObject<{
45
- lookup_key: zod.ZodOptional<zod.ZodString>;
46
- id: zod.ZodUUID;
47
- name: zod.ZodString;
48
- }, zod.z.core.$strict>;
49
- billing_scheme: zod.ZodOptional<zod.ZodEnum<{
50
- per_unit: "per_unit";
51
- tiered: "tiered";
52
- }>>;
53
- unit_quantity: zod.ZodString;
54
- id: zod.ZodUUID;
55
- currency: zod.ZodString;
56
- type: zod.ZodEnum<{
57
- one_time: "one_time";
58
- recurring: "recurring";
59
- }>;
60
- usage_type: zod.ZodEnum<{
61
- licensed: "licensed";
62
- metered: "metered";
63
- }>;
64
- interval: zod.ZodEnum<{
65
- none: "none";
66
- day: "day";
67
- month: "month";
68
- year: "year";
69
- }>;
70
- interval_count: zod.ZodOptional<zod.ZodInt>;
71
- unit_amount: zod.ZodOptional<zod.ZodString>;
72
- active: zod.ZodBoolean;
73
- }, zod.z.core.$strict>>>;
74
- price_types: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
75
- one_time: "one_time";
76
- recurring: "recurring";
77
- }>>>;
78
- usage_types: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
79
- licensed: "licensed";
80
- metered: "metered";
81
- }>>>;
82
- operations: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
83
- new: "new";
84
- renew: "renew";
85
- modify: "modify";
86
- }>>>;
87
- min_term_months: zod.ZodOptional<zod.ZodInt>;
88
- max_term_months: zod.ZodOptional<zod.ZodInt>;
89
- excluded_products: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
90
- id: zod.ZodString;
91
- name: zod.ZodString;
92
- description: zod.ZodOptional<zod.ZodString>;
93
- }, zod.z.core.$strict>>>;
94
- excluded_plans: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
27
+ items: zod.ZodArray<zod.ZodObject<{
28
+ plan: zod.ZodObject<{
29
+ lookup_key: zod.ZodOptional<zod.ZodString>;
95
30
  id: zod.ZodUUID;
96
31
  name: zod.ZodString;
97
- active: zod.ZodBoolean;
98
- }, zod.z.core.$strict>>>;
99
- excluded_prices: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
100
- product: zod.ZodObject<{
101
- id: zod.ZodString;
102
- name: zod.ZodString;
103
- description: zod.ZodOptional<zod.ZodString>;
104
- }, zod.z.core.$strict>;
105
- plan: zod.ZodObject<{
106
- lookup_key: zod.ZodOptional<zod.ZodString>;
107
- id: zod.ZodUUID;
108
- name: zod.ZodString;
109
- }, zod.z.core.$strict>;
110
- billing_scheme: zod.ZodOptional<zod.ZodEnum<{
111
- per_unit: "per_unit";
112
- tiered: "tiered";
113
- }>>;
114
- unit_quantity: zod.ZodString;
115
- id: zod.ZodUUID;
116
- currency: zod.ZodString;
117
- type: zod.ZodEnum<{
118
- one_time: "one_time";
119
- recurring: "recurring";
120
- }>;
121
- usage_type: zod.ZodEnum<{
122
- licensed: "licensed";
123
- metered: "metered";
124
- }>;
125
- interval: zod.ZodEnum<{
126
- none: "none";
127
- day: "day";
128
- month: "month";
129
- year: "year";
130
- }>;
131
- interval_count: zod.ZodOptional<zod.ZodInt>;
132
- unit_amount: zod.ZodOptional<zod.ZodString>;
133
- active: zod.ZodBoolean;
134
- }, zod.z.core.$strict>>>;
135
- }, zod.z.core.$strict>;
32
+ }, zod.z.core.$strict>;
33
+ max_quantity: zod.ZodString;
34
+ }, zod.z.core.$strict>>;
136
35
  }, zod.z.core.$strict>;
137
36
  status: zod.ZodEnum<{
138
37
  scheduled: "scheduled";
@@ -25,115 +25,14 @@ export declare const TrialGrantList: zod.ZodObject<{
25
25
  retention_seconds: zod.ZodNullable<zod.ZodInt>;
26
26
  }, zod.z.core.$strict>;
27
27
  }, zod.z.core.$strict>;
28
- applies_to: zod.ZodObject<{
29
- products: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
30
- id: zod.ZodString;
31
- name: zod.ZodString;
32
- description: zod.ZodOptional<zod.ZodString>;
33
- }, zod.z.core.$strict>>>;
34
- plans: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
35
- id: zod.ZodUUID;
36
- name: zod.ZodString;
37
- active: zod.ZodBoolean;
38
- }, zod.z.core.$strict>>>;
39
- prices: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
40
- product: zod.ZodObject<{
41
- id: zod.ZodString;
42
- name: zod.ZodString;
43
- description: zod.ZodOptional<zod.ZodString>;
44
- }, zod.z.core.$strict>;
45
- plan: zod.ZodObject<{
46
- lookup_key: zod.ZodOptional<zod.ZodString>;
47
- id: zod.ZodUUID;
48
- name: zod.ZodString;
49
- }, zod.z.core.$strict>;
50
- billing_scheme: zod.ZodOptional<zod.ZodEnum<{
51
- per_unit: "per_unit";
52
- tiered: "tiered";
53
- }>>;
54
- unit_quantity: zod.ZodString;
55
- id: zod.ZodUUID;
56
- currency: zod.ZodString;
57
- type: zod.ZodEnum<{
58
- one_time: "one_time";
59
- recurring: "recurring";
60
- }>;
61
- usage_type: zod.ZodEnum<{
62
- licensed: "licensed";
63
- metered: "metered";
64
- }>;
65
- interval: zod.ZodEnum<{
66
- none: "none";
67
- day: "day";
68
- month: "month";
69
- year: "year";
70
- }>;
71
- interval_count: zod.ZodOptional<zod.ZodInt>;
72
- unit_amount: zod.ZodOptional<zod.ZodString>;
73
- active: zod.ZodBoolean;
74
- }, zod.z.core.$strict>>>;
75
- price_types: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
76
- one_time: "one_time";
77
- recurring: "recurring";
78
- }>>>;
79
- usage_types: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
80
- licensed: "licensed";
81
- metered: "metered";
82
- }>>>;
83
- operations: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
84
- new: "new";
85
- renew: "renew";
86
- modify: "modify";
87
- }>>>;
88
- min_term_months: zod.ZodOptional<zod.ZodInt>;
89
- max_term_months: zod.ZodOptional<zod.ZodInt>;
90
- excluded_products: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
91
- id: zod.ZodString;
92
- name: zod.ZodString;
93
- description: zod.ZodOptional<zod.ZodString>;
94
- }, zod.z.core.$strict>>>;
95
- excluded_plans: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
28
+ items: zod.ZodArray<zod.ZodObject<{
29
+ plan: zod.ZodObject<{
30
+ lookup_key: zod.ZodOptional<zod.ZodString>;
96
31
  id: zod.ZodUUID;
97
32
  name: zod.ZodString;
98
- active: zod.ZodBoolean;
99
- }, zod.z.core.$strict>>>;
100
- excluded_prices: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
101
- product: zod.ZodObject<{
102
- id: zod.ZodString;
103
- name: zod.ZodString;
104
- description: zod.ZodOptional<zod.ZodString>;
105
- }, zod.z.core.$strict>;
106
- plan: zod.ZodObject<{
107
- lookup_key: zod.ZodOptional<zod.ZodString>;
108
- id: zod.ZodUUID;
109
- name: zod.ZodString;
110
- }, zod.z.core.$strict>;
111
- billing_scheme: zod.ZodOptional<zod.ZodEnum<{
112
- per_unit: "per_unit";
113
- tiered: "tiered";
114
- }>>;
115
- unit_quantity: zod.ZodString;
116
- id: zod.ZodUUID;
117
- currency: zod.ZodString;
118
- type: zod.ZodEnum<{
119
- one_time: "one_time";
120
- recurring: "recurring";
121
- }>;
122
- usage_type: zod.ZodEnum<{
123
- licensed: "licensed";
124
- metered: "metered";
125
- }>;
126
- interval: zod.ZodEnum<{
127
- none: "none";
128
- day: "day";
129
- month: "month";
130
- year: "year";
131
- }>;
132
- interval_count: zod.ZodOptional<zod.ZodInt>;
133
- unit_amount: zod.ZodOptional<zod.ZodString>;
134
- active: zod.ZodBoolean;
135
- }, zod.z.core.$strict>>>;
136
- }, zod.z.core.$strict>;
33
+ }, zod.z.core.$strict>;
34
+ max_quantity: zod.ZodString;
35
+ }, zod.z.core.$strict>>;
137
36
  }, zod.z.core.$strict>;
138
37
  status: zod.ZodEnum<{
139
38
  scheduled: "scheduled";
@@ -22,115 +22,14 @@ export declare const TrialOffer: zod.ZodObject<{
22
22
  retention_seconds: zod.ZodNullable<zod.ZodInt>;
23
23
  }, zod.z.core.$strict>;
24
24
  }, zod.z.core.$strict>;
25
- applies_to: zod.ZodObject<{
26
- products: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
27
- id: zod.ZodString;
28
- name: zod.ZodString;
29
- description: zod.ZodOptional<zod.ZodString>;
30
- }, zod.z.core.$strict>>>;
31
- plans: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
32
- id: zod.ZodUUID;
33
- name: zod.ZodString;
34
- active: zod.ZodBoolean;
35
- }, zod.z.core.$strict>>>;
36
- prices: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
37
- product: zod.ZodObject<{
38
- id: zod.ZodString;
39
- name: zod.ZodString;
40
- description: zod.ZodOptional<zod.ZodString>;
41
- }, zod.z.core.$strict>;
42
- plan: zod.ZodObject<{
43
- lookup_key: zod.ZodOptional<zod.ZodString>;
44
- id: zod.ZodUUID;
45
- name: zod.ZodString;
46
- }, zod.z.core.$strict>;
47
- billing_scheme: zod.ZodOptional<zod.ZodEnum<{
48
- per_unit: "per_unit";
49
- tiered: "tiered";
50
- }>>;
51
- unit_quantity: zod.ZodString;
52
- id: zod.ZodUUID;
53
- currency: zod.ZodString;
54
- type: zod.ZodEnum<{
55
- one_time: "one_time";
56
- recurring: "recurring";
57
- }>;
58
- usage_type: zod.ZodEnum<{
59
- licensed: "licensed";
60
- metered: "metered";
61
- }>;
62
- interval: zod.ZodEnum<{
63
- none: "none";
64
- day: "day";
65
- month: "month";
66
- year: "year";
67
- }>;
68
- interval_count: zod.ZodOptional<zod.ZodInt>;
69
- unit_amount: zod.ZodOptional<zod.ZodString>;
70
- active: zod.ZodBoolean;
71
- }, zod.z.core.$strict>>>;
72
- price_types: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
73
- one_time: "one_time";
74
- recurring: "recurring";
75
- }>>>;
76
- usage_types: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
77
- licensed: "licensed";
78
- metered: "metered";
79
- }>>>;
80
- operations: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
81
- new: "new";
82
- renew: "renew";
83
- modify: "modify";
84
- }>>>;
85
- min_term_months: zod.ZodOptional<zod.ZodInt>;
86
- max_term_months: zod.ZodOptional<zod.ZodInt>;
87
- excluded_products: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
88
- id: zod.ZodString;
89
- name: zod.ZodString;
90
- description: zod.ZodOptional<zod.ZodString>;
91
- }, zod.z.core.$strict>>>;
92
- excluded_plans: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
25
+ items: zod.ZodArray<zod.ZodObject<{
26
+ plan: zod.ZodObject<{
27
+ lookup_key: zod.ZodOptional<zod.ZodString>;
93
28
  id: zod.ZodUUID;
94
29
  name: zod.ZodString;
95
- active: zod.ZodBoolean;
96
- }, zod.z.core.$strict>>>;
97
- excluded_prices: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
98
- product: zod.ZodObject<{
99
- id: zod.ZodString;
100
- name: zod.ZodString;
101
- description: zod.ZodOptional<zod.ZodString>;
102
- }, zod.z.core.$strict>;
103
- plan: zod.ZodObject<{
104
- lookup_key: zod.ZodOptional<zod.ZodString>;
105
- id: zod.ZodUUID;
106
- name: zod.ZodString;
107
- }, zod.z.core.$strict>;
108
- billing_scheme: zod.ZodOptional<zod.ZodEnum<{
109
- per_unit: "per_unit";
110
- tiered: "tiered";
111
- }>>;
112
- unit_quantity: zod.ZodString;
113
- id: zod.ZodUUID;
114
- currency: zod.ZodString;
115
- type: zod.ZodEnum<{
116
- one_time: "one_time";
117
- recurring: "recurring";
118
- }>;
119
- usage_type: zod.ZodEnum<{
120
- licensed: "licensed";
121
- metered: "metered";
122
- }>;
123
- interval: zod.ZodEnum<{
124
- none: "none";
125
- day: "day";
126
- month: "month";
127
- year: "year";
128
- }>;
129
- interval_count: zod.ZodOptional<zod.ZodInt>;
130
- unit_amount: zod.ZodOptional<zod.ZodString>;
131
- active: zod.ZodBoolean;
132
- }, zod.z.core.$strict>>>;
133
- }, zod.z.core.$strict>;
30
+ }, zod.z.core.$strict>;
31
+ max_quantity: zod.ZodString;
32
+ }, zod.z.core.$strict>>;
134
33
  }, zod.z.core.$strict>;
135
34
  export type TrialOffer = zod.input<typeof TrialOffer>;
136
35
  export type TrialOfferOutput = zod.output<typeof TrialOffer>;
@@ -6,7 +6,7 @@
6
6
  * OpenAPI spec version: v1
7
7
  */
8
8
  import * as zod from "zod";
9
- import { Applicability } from "./applicability.zod.js";
9
+ import { TrialOfferItem } from "./trialOfferItem.zod.js";
10
10
  import { TrialSettings } from "./trialSettings.zod.js";
11
11
  export const trialOfferTrialPeriodDaysMax = 730;
12
12
  export const TrialOffer = zod
@@ -16,6 +16,8 @@ export const TrialOffer = zod
16
16
  description: zod.string(),
17
17
  trial_period_days: zod.int().min(1).max(trialOfferTrialPeriodDaysMax),
18
18
  trial_settings: TrialSettings,
19
- applies_to: Applicability.describe("The purchases it can be used for. Every line of the subscription must be covered."),
19
+ items: zod
20
+ .array(TrialOfferItem)
21
+ .describe("The plans a subscription on the trial may hold. An offer without items applies to no purchase."),
20
22
  })
21
- .describe("The terms of a free trial. The licensed items of the subscription it is used for are free for `trial_period_days`, while metered usage is charged as usual. When the trial ends it converts to paid if automatic renewal is on; otherwise `trial_settings` applies.");
23
+ .describe("The terms of a free trial. The licensed items of the subscription it is used for are free for `trial_period_days`, while metered usage is charged as usual. The subscription holds only the listed plans and no more of each than its `max_quantity`, both when it is bought and while the trial lasts. When the trial ends it converts to paid if automatic renewal is on; otherwise `trial_settings` applies.");
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow Billing API
5
+ * Products, prices, orders, subscriptions and account billing. Operations on a billing account require an account access token. The account, its balance, payment options and checkout previews are also readable by members of the projects it currently pays for; changing the account and moving its funds need the owner. Members of a project, as each operation states, can also read the project's billing account, subscriptions and orders, complete and pay for its purchases, preview the checkout of purchases, changes and renewals, preview cancellations, and, with the project permission `billing:finance.manage` granted in IAM, renew, cancel and turn automatic renewal of its subscriptions on or off, change its billing account and read its costs. A member without the permission an operation needs is refused with 403 `PERMISSION_DENIED` and `meta.permission`; a caller who is not a member, with 403 `IAM_NOT_PROJECT_MEMBER`. Public catalogue operations declare no security requirement.
6
+ * OpenAPI spec version: v1
7
+ */
8
+ import * as zod from "zod";
9
+ export declare const TrialOfferItem: zod.ZodObject<{
10
+ plan: zod.ZodObject<{
11
+ lookup_key: zod.ZodOptional<zod.ZodString>;
12
+ id: zod.ZodUUID;
13
+ name: zod.ZodString;
14
+ }, zod.z.core.$strict>;
15
+ max_quantity: zod.ZodString;
16
+ }, zod.z.core.$strict>;
17
+ export type TrialOfferItem = zod.input<typeof TrialOfferItem>;
18
+ export type TrialOfferItemOutput = zod.output<typeof TrialOfferItem>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow Billing API
5
+ * Products, prices, orders, subscriptions and account billing. Operations on a billing account require an account access token. The account, its balance, payment options and checkout previews are also readable by members of the projects it currently pays for; changing the account and moving its funds need the owner. Members of a project, as each operation states, can also read the project's billing account, subscriptions and orders, complete and pay for its purchases, preview the checkout of purchases, changes and renewals, preview cancellations, and, with the project permission `billing:finance.manage` granted in IAM, renew, cancel and turn automatic renewal of its subscriptions on or off, change its billing account and read its costs. A member without the permission an operation needs is refused with 403 `PERMISSION_DENIED` and `meta.permission`; a caller who is not a member, with 403 `IAM_NOT_PROJECT_MEMBER`. Public catalogue operations declare no security requirement.
6
+ * OpenAPI spec version: v1
7
+ */
8
+ import * as zod from "zod";
9
+ import { ObjectIdentity } from "./objectIdentity.zod.js";
10
+ export const TrialOfferItem = zod
11
+ .strictObject({
12
+ plan: ObjectIdentity.describe("The plan, which may since have been archived."),
13
+ max_quantity: zod
14
+ .string()
15
+ .describe("The most the subscription's licensed items of this plan may hold together, in the plan's quantity unit, such as gibibytes of storage or megabits per second of bandwidth. Metered items of the plan are charged as usual and do not count towards it."),
16
+ })
17
+ .describe("A plan a subscription on the trial may hold, and how much of it.");
@@ -984,8 +984,8 @@ export interface CheckoutOptions {
984
984
  auto_renew?: boolean;
985
985
  /**
986
986
  * A free trial grant of the paying billing account that the customer chose to use. The first new
987
- * subscription of the purchase whose lines the grant's offer all covers, and that has a licensed line and
988
- * no trial of its own, opens with the offer's free trial. Accepted only in automatic mode; with deferred it is refused with
987
+ * subscription of the purchase whose lines are all of plans the grant's offer lists, within each plan's
988
+ * max_quantity, and that has a licensed line and no trial of its own, opens with the offer's free trial. Accepted only in automatic mode; with deferred it is refused with
989
989
  * HTTP 400, and the grant is chosen when completing the checkout through Billing. Refused with
990
990
  * BILLING_TRIAL_GRANT_INAPPLICABLE when no subscription qualifies or the grant cannot be used now.
991
991
  */
@@ -72,6 +72,6 @@ export const CheckoutOptions = zod
72
72
  trial_grant_id: zod
73
73
  .uuid()
74
74
  .optional()
75
- .describe("A free trial grant of the paying billing account that the customer chose to use. The first new\nsubscription of the purchase whose lines the grant's offer all covers, and that has a licensed line and\nno trial of its own, opens with the offer's free trial. Accepted only in automatic mode; with deferred it is refused with\nHTTP 400, and the grant is chosen when completing the checkout through Billing. Refused with\nBILLING_TRIAL_GRANT_INAPPLICABLE when no subscription qualifies or the grant cannot be used now."),
75
+ .describe("A free trial grant of the paying billing account that the customer chose to use. The first new\nsubscription of the purchase whose lines are all of plans the grant's offer lists, within each plan's\nmax_quantity, and that has a licensed line and no trial of its own, opens with the offer's free trial. Accepted only in automatic mode; with deferred it is refused with\nHTTP 400, and the grant is chosen when completing the checkout through Billing. Refused with\nBILLING_TRIAL_GRANT_INAPPLICABLE when no subscription qualifies or the grant cannot be used now."),
76
76
  })
77
77
  .describe("Shared checkout choices for a product purchase. The service may set them or forward its client's\nchoices unchanged; it does not need to read them, and Billing validates them. Omitting this object or\nmode selects automatic checkout. Each purchase creates its own Checkout Session. Promotion codes are supplied\nonly to Billing. A service may retain a failed creation record when Billing refuses a purchase; no\ninfrastructure is created for that refusal.");
@@ -176,7 +176,7 @@ export declare const getCreateElasticIpUrl: () => string;
176
176
  *
177
177
  * 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.
178
178
  *
179
- * **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.
179
+ * **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. During a free trial that began with a trial grant, the subscription has to stay within the plans and quantities of the trial offer, otherwise Billing refuses with 422 `BILLING_TRIAL_OFFER_EXCEEDED`.
180
180
  *
181
181
  * 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.
182
182
  * @summary Allocate an elastic IP
@@ -254,7 +254,7 @@ export declare const getChangeElasticIpBandwidthUrl: (elasticIpId: ElasticIpId)
254
254
  /**
255
255
  * 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:
256
256
  *
257
- * - **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.
257
+ * - **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. During a free trial that began with a trial grant, the subscription has to stay within the plans and quantities of the trial offer, otherwise Billing refuses with 422 `BILLING_TRIAL_OFFER_EXCEEDED`.
258
258
  * - **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`.
259
259
  *
260
260
  * 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.
@@ -630,7 +630,7 @@ export type resizeInstanceResponseError = (resizeInstanceResponse409 | resizeIns
630
630
  export type resizeInstanceResponse = resizeInstanceResponseSuccess | resizeInstanceResponseError;
631
631
  export declare const getResizeInstanceUrl: (instanceId: InstanceId) => string;
632
632
  /**
633
- * 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.
633
+ * 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`. During a free trial that began with a trial grant, the subscription has to stay within the plans and quantities of the trial offer, otherwise Billing refuses with 422 `BILLING_TRIAL_OFFER_EXCEEDED`. 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.
634
634
  *
635
635
  * 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.
636
636
  * @summary Resize an instance
@@ -2749,7 +2749,7 @@ export declare const getCreateVolumeUrl: () => string;
2749
2749
  *
2750
2750
  * 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.
2751
2751
  *
2752
- * **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.
2752
+ * **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. During a free trial that began with a trial grant, the subscription has to stay within the plans and quantities of the trial offer, otherwise Billing refuses with 422 `BILLING_TRIAL_OFFER_EXCEEDED`.
2753
2753
  *
2754
2754
  * 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.
2755
2755
  * @summary Create a volume
@@ -2847,7 +2847,7 @@ export type resizeVolumeResponseError = (resizeVolumeResponse409 | resizeVolumeR
2847
2847
  export type resizeVolumeResponse = resizeVolumeResponseSuccess | resizeVolumeResponseError;
2848
2848
  export declare const getResizeVolumeUrl: (volumeId: VolumeId) => string;
2849
2849
  /**
2850
- * 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.
2850
+ * 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. During a free trial that began with a trial grant, the subscription has to stay within the plans and quantities of the trial offer, otherwise Billing refuses with 422 `BILLING_TRIAL_OFFER_EXCEEDED`.
2851
2851
  *
2852
2852
  * 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.
2853
2853
  * @summary Resize a volume
@@ -2874,7 +2874,7 @@ export type retypeVolumeResponseError = (retypeVolumeResponse409 | retypeVolumeR
2874
2874
  export type retypeVolumeResponse = retypeVolumeResponseSuccess | retypeVolumeResponseError;
2875
2875
  export declare const getRetypeVolumeUrl: (volumeId: VolumeId) => string;
2876
2876
  /**
2877
- * 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.
2877
+ * 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. During a free trial that began with a trial grant, the subscription has to stay within the plans and quantities of the trial offer, otherwise Billing refuses with 422 `BILLING_TRIAL_OFFER_EXCEEDED`.
2878
2878
  * @summary Change the type of a volume
2879
2879
  */
2880
2880
  export declare const retypeVolume: (volumeId: VolumeId, retypeVolumeRequestBody: RetypeVolumeRequestBody, options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<retypeVolumeResponse>;
@@ -120,7 +120,7 @@ export const getCreateElasticIpUrl = () => {
120
120
  *
121
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
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.
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. During a free trial that began with a trial grant, the subscription has to stay within the plans and quantities of the trial offer, otherwise Billing refuses with 422 `BILLING_TRIAL_OFFER_EXCEEDED`.
124
124
  *
125
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.
126
126
  * @summary Allocate an elastic IP
@@ -201,7 +201,7 @@ export const getChangeElasticIpBandwidthUrl = (elasticIpId) => {
201
201
  /**
202
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:
203
203
  *
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.
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. During a free trial that began with a trial grant, the subscription has to stay within the plans and quantities of the trial offer, otherwise Billing refuses with 422 `BILLING_TRIAL_OFFER_EXCEEDED`.
205
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`.
206
206
  *
207
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.
@@ -608,7 +608,7 @@ export const getResizeInstanceUrl = (instanceId) => {
608
608
  return `https://compute.leaflow.cloud/api/v2/instances/${encodeURIComponent(String(instanceId))}:resize`;
609
609
  };
610
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.
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`. During a free trial that began with a trial grant, the subscription has to stay within the plans and quantities of the trial offer, otherwise Billing refuses with 422 `BILLING_TRIAL_OFFER_EXCEEDED`. 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
612
  *
613
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
614
  * @summary Resize an instance
@@ -2965,7 +2965,7 @@ export const getCreateVolumeUrl = () => {
2965
2965
  *
2966
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
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.
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. During a free trial that began with a trial grant, the subscription has to stay within the plans and quantities of the trial offer, otherwise Billing refuses with 422 `BILLING_TRIAL_OFFER_EXCEEDED`.
2969
2969
  *
2970
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.
2971
2971
  * @summary Create a volume
@@ -3078,7 +3078,7 @@ export const getResizeVolumeUrl = (volumeId) => {
3078
3078
  return `https://compute.leaflow.cloud/api/v2/volumes/${encodeURIComponent(String(volumeId))}:resize`;
3079
3079
  };
3080
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.
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. During a free trial that began with a trial grant, the subscription has to stay within the plans and quantities of the trial offer, otherwise Billing refuses with 422 `BILLING_TRIAL_OFFER_EXCEEDED`.
3082
3082
  *
3083
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
3084
  * @summary Resize a volume
@@ -3113,7 +3113,7 @@ export const getRetypeVolumeUrl = (volumeId) => {
3113
3113
  return `https://compute.leaflow.cloud/api/v2/volumes/${encodeURIComponent(String(volumeId))}:retype`;
3114
3114
  };
3115
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.
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. During a free trial that began with a trial grant, the subscription has to stay within the plans and quantities of the trial offer, otherwise Billing refuses with 422 `BILLING_TRIAL_OFFER_EXCEEDED`.
3117
3117
  * @summary Change the type of a volume
3118
3118
  */
3119
3119
  export const retypeVolume = async (volumeId, retypeVolumeRequestBody, options, fetchFn) => {
@@ -165,8 +165,8 @@ export interface CheckoutOptions {
165
165
  auto_renew?: boolean;
166
166
  /**
167
167
  * A free trial grant of the paying billing account that the customer chose to use. The first new
168
- * subscription of the purchase whose lines the grant's offer all covers, and that has a licensed line and
169
- * no trial of its own, opens with the offer's free trial. Accepted only in automatic mode; with deferred it is refused with
168
+ * subscription of the purchase whose lines are all of plans the grant's offer lists, within each plan's
169
+ * max_quantity, and that has a licensed line and no trial of its own, opens with the offer's free trial. Accepted only in automatic mode; with deferred it is refused with
170
170
  * HTTP 400, and the grant is chosen when completing the checkout through Billing. Refused with
171
171
  * BILLING_TRIAL_GRANT_INAPPLICABLE when no subscription qualifies or the grant cannot be used now.
172
172
  */