@azure/arm-reservations 7.2.1-alpha.20230202.1 → 8.0.0-alpha.20230210.2

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 (128) hide show
  1. package/CHANGELOG.md +71 -8
  2. package/LICENSE +1 -1
  3. package/dist/index.js +942 -224
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.min.js +1 -1
  6. package/dist/index.min.js.map +1 -1
  7. package/dist-esm/samples-dev/calculateExchangePostSample.js +22 -2
  8. package/dist-esm/samples-dev/calculateExchangePostSample.js.map +1 -1
  9. package/dist-esm/samples-dev/calculateRefundPostSample.js +10 -3
  10. package/dist-esm/samples-dev/calculateRefundPostSample.js.map +1 -1
  11. package/dist-esm/samples-dev/exchangePostSample.js +9 -2
  12. package/dist-esm/samples-dev/exchangePostSample.js.map +1 -1
  13. package/dist-esm/samples-dev/getAppliedReservationListSample.js +9 -2
  14. package/dist-esm/samples-dev/getAppliedReservationListSample.js.map +1 -1
  15. package/dist-esm/samples-dev/getCatalogSample.js +26 -5
  16. package/dist-esm/samples-dev/getCatalogSample.js.map +1 -1
  17. package/dist-esm/samples-dev/operationListSample.js +9 -2
  18. package/dist-esm/samples-dev/operationListSample.js.map +1 -1
  19. package/dist-esm/samples-dev/quotaCreateOrUpdateSample.js +10 -3
  20. package/dist-esm/samples-dev/quotaCreateOrUpdateSample.js.map +1 -1
  21. package/dist-esm/samples-dev/quotaGetSample.js +8 -1
  22. package/dist-esm/samples-dev/quotaGetSample.js.map +1 -1
  23. package/dist-esm/samples-dev/quotaListSample.js +9 -2
  24. package/dist-esm/samples-dev/quotaListSample.js.map +1 -1
  25. package/dist-esm/samples-dev/quotaRequestStatusGetSample.js +10 -3
  26. package/dist-esm/samples-dev/quotaRequestStatusGetSample.js.map +1 -1
  27. package/dist-esm/samples-dev/quotaRequestStatusListSample.js +8 -1
  28. package/dist-esm/samples-dev/quotaRequestStatusListSample.js.map +1 -1
  29. package/dist-esm/samples-dev/quotaUpdateSample.js +8 -1
  30. package/dist-esm/samples-dev/quotaUpdateSample.js.map +1 -1
  31. package/dist-esm/samples-dev/reservationArchiveSample.js +9 -2
  32. package/dist-esm/samples-dev/reservationArchiveSample.js.map +1 -1
  33. package/dist-esm/samples-dev/reservationAvailableScopesSample.js +11 -4
  34. package/dist-esm/samples-dev/reservationAvailableScopesSample.js.map +1 -1
  35. package/dist-esm/samples-dev/reservationGetSample.js +11 -4
  36. package/dist-esm/samples-dev/reservationGetSample.js.map +1 -1
  37. package/dist-esm/samples-dev/reservationListAllSample.js +10 -3
  38. package/dist-esm/samples-dev/reservationListAllSample.js.map +1 -1
  39. package/dist-esm/samples-dev/reservationListRevisionsSample.js +11 -4
  40. package/dist-esm/samples-dev/reservationListRevisionsSample.js.map +1 -1
  41. package/dist-esm/samples-dev/reservationListSample.js +9 -2
  42. package/dist-esm/samples-dev/reservationListSample.js.map +1 -1
  43. package/dist-esm/samples-dev/reservationMergeSample.js +9 -2
  44. package/dist-esm/samples-dev/reservationMergeSample.js.map +1 -1
  45. package/dist-esm/samples-dev/reservationOrderCalculateSample.js +10 -3
  46. package/dist-esm/samples-dev/reservationOrderCalculateSample.js.map +1 -1
  47. package/dist-esm/samples-dev/reservationOrderChangeDirectorySample.js +9 -2
  48. package/dist-esm/samples-dev/reservationOrderChangeDirectorySample.js.map +1 -1
  49. package/dist-esm/samples-dev/reservationOrderGetSample.js +12 -5
  50. package/dist-esm/samples-dev/reservationOrderGetSample.js.map +1 -1
  51. package/dist-esm/samples-dev/reservationOrderListSample.js +9 -2
  52. package/dist-esm/samples-dev/reservationOrderListSample.js.map +1 -1
  53. package/dist-esm/samples-dev/reservationOrderPurchaseSample.js +9 -2
  54. package/dist-esm/samples-dev/reservationOrderPurchaseSample.js.map +1 -1
  55. package/dist-esm/samples-dev/reservationSplitSample.js +9 -2
  56. package/dist-esm/samples-dev/reservationSplitSample.js.map +1 -1
  57. package/dist-esm/samples-dev/reservationUnarchiveSample.js +11 -4
  58. package/dist-esm/samples-dev/reservationUnarchiveSample.js.map +1 -1
  59. package/dist-esm/samples-dev/reservationUpdateSample.js +9 -2
  60. package/dist-esm/samples-dev/reservationUpdateSample.js.map +1 -1
  61. package/dist-esm/samples-dev/returnPostSample.js +14 -7
  62. package/dist-esm/samples-dev/returnPostSample.js.map +1 -1
  63. package/dist-esm/src/azureReservationAPI.d.ts +18 -2
  64. package/dist-esm/src/azureReservationAPI.d.ts.map +1 -1
  65. package/dist-esm/src/azureReservationAPI.js +101 -15
  66. package/dist-esm/src/azureReservationAPI.js.map +1 -1
  67. package/dist-esm/src/index.d.ts +1 -0
  68. package/dist-esm/src/index.d.ts.map +1 -1
  69. package/dist-esm/src/index.js +1 -0
  70. package/dist-esm/src/index.js.map +1 -1
  71. package/dist-esm/src/models/index.d.ts +372 -101
  72. package/dist-esm/src/models/index.d.ts.map +1 -1
  73. package/dist-esm/src/models/index.js +26 -0
  74. package/dist-esm/src/models/index.js.map +1 -1
  75. package/dist-esm/src/models/mappers.d.ts +14 -1
  76. package/dist-esm/src/models/mappers.d.ts.map +1 -1
  77. package/dist-esm/src/models/mappers.js +510 -70
  78. package/dist-esm/src/models/mappers.js.map +1 -1
  79. package/dist-esm/src/models/parameters.d.ts +2 -1
  80. package/dist-esm/src/models/parameters.d.ts.map +1 -1
  81. package/dist-esm/src/models/parameters.js +18 -9
  82. package/dist-esm/src/models/parameters.js.map +1 -1
  83. package/dist-esm/src/operations/operation.d.ts.map +1 -1
  84. package/dist-esm/src/operations/operation.js +19 -8
  85. package/dist-esm/src/operations/operation.js.map +1 -1
  86. package/dist-esm/src/operations/quota.d.ts.map +1 -1
  87. package/dist-esm/src/operations/quota.js +19 -8
  88. package/dist-esm/src/operations/quota.js.map +1 -1
  89. package/dist-esm/src/operations/quotaRequestStatus.d.ts.map +1 -1
  90. package/dist-esm/src/operations/quotaRequestStatus.js +19 -13
  91. package/dist-esm/src/operations/quotaRequestStatus.js.map +1 -1
  92. package/dist-esm/src/operations/reservation.d.ts +17 -17
  93. package/dist-esm/src/operations/reservation.d.ts.map +1 -1
  94. package/dist-esm/src/operations/reservation.js +83 -59
  95. package/dist-esm/src/operations/reservation.js.map +1 -1
  96. package/dist-esm/src/operations/reservationOrder.d.ts.map +1 -1
  97. package/dist-esm/src/operations/reservationOrder.js +20 -9
  98. package/dist-esm/src/operations/reservationOrder.js.map +1 -1
  99. package/dist-esm/src/operations/return.d.ts +10 -2
  100. package/dist-esm/src/operations/return.d.ts.map +1 -1
  101. package/dist-esm/src/operations/return.js +61 -3
  102. package/dist-esm/src/operations/return.js.map +1 -1
  103. package/dist-esm/src/operationsInterfaces/reservation.d.ts +15 -15
  104. package/dist-esm/src/operationsInterfaces/reservation.d.ts.map +1 -1
  105. package/dist-esm/src/operationsInterfaces/return.d.ts +10 -2
  106. package/dist-esm/src/operationsInterfaces/return.d.ts.map +1 -1
  107. package/dist-esm/src/pagingHelper.d.ts +13 -0
  108. package/dist-esm/src/pagingHelper.d.ts.map +1 -0
  109. package/dist-esm/src/pagingHelper.js +32 -0
  110. package/dist-esm/src/pagingHelper.js.map +1 -0
  111. package/package.json +6 -4
  112. package/review/arm-reservations.api.md +194 -94
  113. package/src/azureReservationAPI.ts +119 -15
  114. package/src/index.ts +1 -0
  115. package/src/models/index.ts +397 -107
  116. package/src/models/mappers.ts +536 -71
  117. package/src/models/parameters.ts +19 -9
  118. package/src/operations/operation.ts +21 -9
  119. package/src/operations/quota.ts +23 -15
  120. package/src/operations/quotaRequestStatus.ts +23 -20
  121. package/src/operations/reservation.ts +97 -69
  122. package/src/operations/reservationOrder.ts +23 -11
  123. package/src/operations/return.ts +82 -4
  124. package/src/operationsInterfaces/reservation.ts +15 -15
  125. package/src/operationsInterfaces/return.ts +16 -2
  126. package/src/pagingHelper.ts +39 -0
  127. package/types/arm-reservations.d.ts +432 -109
  128. package/types/tsdoc-metadata.json +1 -1
@@ -19,40 +19,65 @@ export interface AvailableScopeRequestProperties {
19
19
  scopes?: string[];
20
20
  }
21
21
 
22
+ /** The response of available scope api containing scopes and their eligibilities. */
22
23
  export interface AvailableScopeProperties {
24
+ /** The scopes checked by the available scope api. */
23
25
  properties?: SubscriptionScopeProperties;
24
26
  }
25
27
 
28
+ /** The scopes checked by the available scope api. */
26
29
  export interface SubscriptionScopeProperties {
27
30
  scopes?: ScopeProperties[];
28
31
  }
29
32
 
33
+ /** The scope and whether it is valid. */
30
34
  export interface ScopeProperties {
31
35
  scope?: string;
32
36
  valid?: boolean;
33
37
  }
34
38
 
39
+ /** Error information */
35
40
  export interface ErrorModel {
41
+ /** Extended error information including error code and error message */
36
42
  error?: ExtendedErrorInfo;
37
43
  }
38
44
 
45
+ /** Extended error information including error code and error message */
39
46
  export interface ExtendedErrorInfo {
47
+ /** Error code describing the reason that service is not able to process the incoming request */
40
48
  code?: ErrorResponseCode;
41
49
  message?: string;
42
50
  }
43
51
 
52
+ /** The list of catalogs and pagination information. */
53
+ export interface CatalogsResult {
54
+ /**
55
+ * The list of catalogs.
56
+ * NOTE: This property will not be serialized. It can only be populated by the server.
57
+ */
58
+ readonly value?: Catalog[];
59
+ /**
60
+ * The link (url) to the next page of results.
61
+ * NOTE: This property will not be serialized. It can only be populated by the server.
62
+ */
63
+ readonly nextLink?: string;
64
+ /** The total amount of catalog items. */
65
+ totalItems?: number;
66
+ }
67
+
68
+ /** Product details of a type of resource. */
44
69
  export interface Catalog {
45
70
  /**
46
- * The type of resource the SKU applies to.
71
+ * The type of resource the sku applies to.
47
72
  * NOTE: This property will not be serialized. It can only be populated by the server.
48
73
  */
49
74
  readonly resourceType?: string;
50
75
  /**
51
- * The name of SKU
76
+ * The name of sku
52
77
  * NOTE: This property will not be serialized. It can only be populated by the server.
53
78
  */
54
79
  readonly name?: string;
55
- /** The billing plan options available for this SKU. */
80
+ /** The billing plan options available for this sku. */
56
81
  billingPlans?: { [propertyName: string]: ReservationBillingPlan[] };
57
82
  /**
58
83
  * Available reservation terms for this resource
@@ -64,19 +89,19 @@ export interface Catalog {
64
89
  /** NOTE: This property will not be serialized. It can only be populated by the server. */
65
90
  readonly skuProperties?: SkuProperty[];
66
91
  /**
67
- * Pricing information about the SKU
92
+ * Pricing information about the sku
68
93
  * NOTE: This property will not be serialized. It can only be populated by the server.
69
94
  */
70
95
  readonly msrp?: CatalogMsrp;
71
96
  /** NOTE: This property will not be serialized. It can only be populated by the server. */
72
97
  readonly restrictions?: SkuRestriction[];
73
98
  /**
74
- * The tier of this SKU
99
+ * The tier of this sku
75
100
  * NOTE: This property will not be serialized. It can only be populated by the server.
76
101
  */
77
102
  readonly tier?: string;
78
103
  /**
79
- * The size of this SKU
104
+ * The size of this sku
80
105
  * NOTE: This property will not be serialized. It can only be populated by the server.
81
106
  */
82
107
  readonly size?: string;
@@ -84,6 +109,7 @@ export interface Catalog {
84
109
  readonly capabilities?: SkuCapability[];
85
110
  }
86
111
 
112
+ /** Property of a sku. */
87
113
  export interface SkuProperty {
88
114
  /** An invariant to describe the feature. */
89
115
  name?: string;
@@ -91,27 +117,30 @@ export interface SkuProperty {
91
117
  value?: string;
92
118
  }
93
119
 
94
- /** Pricing information about the SKU */
120
+ /** Pricing information about the sku */
95
121
  export interface CatalogMsrp {
96
122
  /** Amount in pricing currency. Tax not included. */
97
123
  p1Y?: Price;
98
124
  }
99
125
 
126
+ /** Pricing information containing the amount and the currency code */
100
127
  export interface Price {
101
128
  /** The ISO 4217 3-letter currency code for the currency used by this purchase record. */
102
129
  currencyCode?: string;
103
130
  amount?: number;
104
131
  }
105
132
 
133
+ /** Restriction of a sku. */
106
134
  export interface SkuRestriction {
107
135
  /** The type of restrictions. */
108
136
  type?: string;
109
- /** The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted. */
137
+ /** The value of restrictions. If the restriction type is set to location. This would be different locations where the sku is restricted. */
110
138
  values?: string[];
111
139
  /** The reason for restriction. */
112
140
  reasonCode?: string;
113
141
  }
114
142
 
143
+ /** Capability of a sku. */
115
144
  export interface SkuCapability {
116
145
  /** An invariant to describe the feature. */
117
146
  name?: string;
@@ -119,6 +148,7 @@ export interface SkuCapability {
119
148
  value?: string;
120
149
  }
121
150
 
151
+ /** The response for applied reservations api */
122
152
  export interface AppliedReservations {
123
153
  /**
124
154
  * Identifier of the applied reservations
@@ -135,55 +165,81 @@ export interface AppliedReservations {
135
165
  * NOTE: This property will not be serialized. It can only be populated by the server.
136
166
  */
137
167
  readonly type?: string;
168
+ /** Paginated list of applied reservations */
138
169
  reservationOrderIds?: AppliedReservationList;
139
170
  }
140
171
 
172
+ /** Paginated list of applied reservations */
141
173
  export interface AppliedReservationList {
142
174
  value?: string[];
143
175
  /** Url to get the next page of reservations */
144
176
  nextLink?: string;
145
177
  }
146
178
 
179
+ /** The request for reservation purchase */
147
180
  export interface PurchaseRequest {
181
+ /** The name of sku */
148
182
  sku?: SkuName;
149
- /** The Azure Region where the reserved resource lives. */
183
+ /** The Azure region where the reserved resource lives. */
150
184
  location?: string;
151
185
  /** The type of the resource that is being reserved. */
152
186
  reservedResourceType?: ReservedResourceType;
153
- /** Subscription that will be charged for purchasing Reservation */
187
+ /** Subscription that will be charged for purchasing reservation or savings plan */
154
188
  billingScopeId?: string;
155
- /** Represent the term of Reservation. */
189
+ /** Represent the term of reservation. */
156
190
  term?: ReservationTerm;
157
191
  /** Represent the billing plans. */
158
192
  billingPlan?: ReservationBillingPlan;
159
- /** Quantity of the SKUs that are part of the Reservation. */
193
+ /** Quantity of the skus that are part of the reservation. */
160
194
  quantity?: number;
161
- /** Friendly name of the Reservation */
195
+ /** Friendly name of the reservation */
162
196
  displayName?: string;
163
197
  /** Type of the Applied Scope. */
164
198
  appliedScopeType?: AppliedScopeType;
165
199
  /** List of the subscriptions that the benefit will be applied. Do not specify if AppliedScopeType is Shared. */
166
200
  appliedScopes?: string[];
201
+ /** Properties specific to applied scope type. Not required if not applicable. Required and need to provide tenantId and managementGroupId if AppliedScopeType is ManagementGroup */
202
+ appliedScopeProperties?: AppliedScopeProperties;
167
203
  /** Setting this to true will automatically purchase a new reservation on the expiration date time. */
168
204
  renew?: boolean;
169
205
  /** Properties specific to each reserved resource type. Not required if not applicable. */
170
206
  reservedResourceProperties?: PurchaseRequestPropertiesReservedResourceProperties;
207
+ /** This is the date-time when the Azure hybrid benefit needs to be reviewed. */
208
+ reviewDateTime?: Date;
171
209
  }
172
210
 
211
+ /** The name of sku */
173
212
  export interface SkuName {
174
213
  name?: string;
175
214
  }
176
215
 
216
+ /** Properties specific to applied scope type. Not required if not applicable. Required and need to provide tenantId and managementGroupId if AppliedScopeType is ManagementGroup */
217
+ export interface AppliedScopeProperties {
218
+ /** Tenant ID where the savings plan should apply benefit. */
219
+ tenantId?: string;
220
+ /** Fully-qualified identifier of the management group where the benefit must be applied. */
221
+ managementGroupId?: string;
222
+ /** Fully-qualified identifier of the subscription. */
223
+ subscriptionId?: string;
224
+ /** Fully-qualified identifier of the resource group. */
225
+ resourceGroupId?: string;
226
+ /** Display name */
227
+ displayName?: string;
228
+ }
229
+
177
230
  /** Properties specific to each reserved resource type. Not required if not applicable. */
178
231
  export interface PurchaseRequestPropertiesReservedResourceProperties {
179
232
  /** Turning this on will apply the reservation discount to other VMs in the same VM size group. Only specify for VirtualMachines reserved resource type. */
180
233
  instanceFlexibility?: InstanceFlexibility;
181
234
  }
182
235
 
236
+ /** The response of calculate price for reservation. */
183
237
  export interface CalculatePriceResponse {
238
+ /** Properties for calculate price response */
184
239
  properties?: CalculatePriceResponseProperties;
185
240
  }
186
241
 
242
+ /** Properties for calculate price response */
187
243
  export interface CalculatePriceResponseProperties {
188
244
  /** Currency and amount that customer will be charged in customer's local currency. Tax is not included. */
189
245
  billingCurrencyTotal?: CalculatePriceResponsePropertiesBillingCurrencyTotal;
@@ -199,9 +255,9 @@ export interface CalculatePriceResponseProperties {
199
255
  isBillingPartnerManaged?: boolean;
200
256
  /** GUID that represents reservation order that can be placed after calculating price. */
201
257
  reservationOrderId?: string;
202
- /** Title of SKU that is being purchased. */
258
+ /** Title of sku that is being purchased. */
203
259
  skuTitle?: string;
204
- /** Description of SKU that is being purchased. */
260
+ /** Description of sku that is being purchased. */
205
261
  skuDescription?: string;
206
262
  /** Amount that Microsoft uses for record. Used during refund for calculating refund limit. Tax is not included. */
207
263
  pricingCurrencyTotal?: CalculatePriceResponsePropertiesPricingCurrencyTotal;
@@ -246,12 +302,14 @@ export interface ExtendedStatusInfo {
246
302
  message?: string;
247
303
  }
248
304
 
305
+ /** List of `ReservationOrder`s */
249
306
  export interface ReservationOrderList {
250
307
  value?: ReservationOrderResponse[];
251
308
  /** Url to get the next page of reservationOrders. */
252
309
  nextLink?: string;
253
310
  }
254
311
 
312
+ /** Details of a reservation order being returned. */
255
313
  export interface ReservationOrderResponse {
256
314
  etag?: number;
257
315
  /**
@@ -280,13 +338,15 @@ export interface ReservationOrderResponse {
280
338
  requestDateTime?: Date;
281
339
  /** This is the DateTime when the reservation was created. */
282
340
  createdDateTime?: Date;
283
- /** This is the date when the Reservation will expire. */
341
+ /** This is the date when the reservation will expire. */
284
342
  expiryDate?: Date;
343
+ /** This is the date-time when the reservation will expire. */
344
+ expiryDateTime?: Date;
285
345
  /** This is the DateTime when the reservation benefit started. */
286
346
  benefitStartTime?: Date;
287
- /** Total Quantity of the SKUs purchased in the Reservation. */
347
+ /** Total Quantity of the skus purchased in the reservation. */
288
348
  originalQuantity?: number;
289
- /** Represent the term of Reservation. */
349
+ /** Represent the term of reservation. */
290
350
  term?: ReservationTerm;
291
351
  /** Current state of the reservation. */
292
352
  provisioningState?: ProvisioningState;
@@ -295,6 +355,8 @@ export interface ReservationOrderResponse {
295
355
  /** Information describing the type of billing plan for this reservation. */
296
356
  planInformation?: ReservationOrderBillingPlanInformation;
297
357
  reservations?: ReservationResponse[];
358
+ /** This is the date-time when the Azure Hybrid Benefit needs to be reviewed. */
359
+ reviewDateTime?: Date;
298
360
  }
299
361
 
300
362
  /** Information describing the type of billing plan for this reservation. */
@@ -308,44 +370,11 @@ export interface ReservationOrderBillingPlanInformation {
308
370
  transactions?: PaymentDetail[];
309
371
  }
310
372
 
311
- /** The definition of the reservation. */
312
- export interface ReservationResponse {
313
- /** The Azure Region where the reserved resource lives. */
314
- location?: string;
315
- etag?: number;
316
- /**
317
- * Identifier of the reservation
318
- * NOTE: This property will not be serialized. It can only be populated by the server.
319
- */
320
- readonly id?: string;
321
- /**
322
- * Name of the reservation
323
- * NOTE: This property will not be serialized. It can only be populated by the server.
324
- */
325
- readonly name?: string;
326
- /** The sku information associated to this reservation */
327
- sku?: SkuName;
328
- /** The properties associated to this reservation */
329
- properties?: ReservationsProperties;
330
- /**
331
- * Type of resource. "Microsoft.Capacity/reservationOrders/reservations"
332
- * NOTE: This property will not be serialized. It can only be populated by the server.
333
- */
334
- readonly type?: string;
335
- /** Resource Provider type to be reserved. */
336
- kind?: "Microsoft.Compute";
337
- /**
338
- * Metadata pertaining to creation and last modification of the resource.
339
- * NOTE: This property will not be serialized. It can only be populated by the server.
340
- */
341
- readonly systemData?: SystemData;
342
- }
343
-
344
373
  /** The properties of the reservations */
345
374
  export interface ReservationsProperties {
346
375
  /** The type of the resource that is being reserved. */
347
376
  reservedResourceType?: ReservedResourceType;
348
- /** Allows reservation discount to be applied across skus within the same Autofit group. Not all skus support instance size flexibility. */
377
+ /** Allows reservation discount to be applied across skus within the same auto fit group. Not all skus support instance size flexibility. */
349
378
  instanceFlexibility?: InstanceFlexibility;
350
379
  /** Friendly name for user to easily identify the reservation */
351
380
  displayName?: string;
@@ -357,26 +386,30 @@ export interface ReservationsProperties {
357
386
  archived?: boolean;
358
387
  /** Capabilities of the reservation */
359
388
  capabilities?: string;
360
- /** Quantity of the SKUs that are part of the Reservation. */
389
+ /** Quantity of the skus that are part of the reservation. */
361
390
  quantity?: number;
362
391
  /** Current state of the reservation. */
363
392
  provisioningState?: ProvisioningState;
364
- /** DateTime of the Reservation starting when this version is effective from. */
393
+ /** DateTime of the reservation starting when this version is effective from. */
365
394
  effectiveDateTime?: Date;
366
395
  /** This is the DateTime when the reservation benefit started. */
367
396
  benefitStartTime?: Date;
368
397
  /**
369
- * DateTime of the last time the Reservation was updated.
398
+ * DateTime of the last time the reservation was updated.
370
399
  * NOTE: This property will not be serialized. It can only be populated by the server.
371
400
  */
372
401
  readonly lastUpdatedDateTime?: Date;
373
- /** This is the date when the Reservation will expire. */
402
+ /** This is the date when the reservation will expire. */
374
403
  expiryDate?: Date;
375
- /** Description of the SKU in english. */
404
+ /** This is the date-time when the reservation will expire. */
405
+ expiryDateTime?: Date;
406
+ /** This is the date-time when the Azure Hybrid Benefit needs to be reviewed. */
407
+ reviewDateTime?: Date;
408
+ /** Description of the sku in english. */
376
409
  skuDescription?: string;
377
410
  /** The message giving detailed information about the status code. */
378
411
  extendedStatusInfo?: ExtendedStatusInfo;
379
- /** The billing plan options available for this SKU. */
412
+ /** The billing plan options available for this sku. */
380
413
  billingPlan?: ReservationBillingPlan;
381
414
  /**
382
415
  * The provisioning state of the reservation for display, e.g. Succeeded
@@ -384,15 +417,23 @@ export interface ReservationsProperties {
384
417
  */
385
418
  readonly displayProvisioningState?: string;
386
419
  /**
387
- * The provisioning state of the reservation, e.g. Succeeded
420
+ * The provisioning sub-state of the reservation, e.g. Succeeded
388
421
  * NOTE: This property will not be serialized. It can only be populated by the server.
389
422
  */
390
423
  readonly provisioningSubState?: string;
391
- /** This is the date when the Reservation was purchased. */
424
+ /** This is the date when the reservation was purchased. */
392
425
  purchaseDate?: Date;
426
+ /** This is the date-time when the reservation was purchased. */
427
+ purchaseDateTime?: Date;
428
+ /** Properties of reservation split */
393
429
  splitProperties?: ReservationSplitProperties;
430
+ /** Properties of reservation merge */
394
431
  mergeProperties?: ReservationMergeProperties;
395
- /** Subscription that will be charged for purchasing Reservation */
432
+ /** Properties of reservation swap */
433
+ swapProperties?: ReservationSwapProperties;
434
+ /** Properties specific to applied scope type. Not required if not applicable. Required and need to provide tenantId and managementGroupId if AppliedScopeType is ManagementGroup */
435
+ appliedScopeProperties?: AppliedScopeProperties;
436
+ /** Subscription that will be charged for purchasing reservation or savings plan */
396
437
  billingScopeId?: string;
397
438
  /** Setting this to true will automatically purchase a new reservation on the expiration date time. */
398
439
  renew?: boolean;
@@ -400,8 +441,9 @@ export interface ReservationsProperties {
400
441
  renewSource?: string;
401
442
  /** Reservation Id of the reservation which is purchased because of renew. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}. */
402
443
  renewDestination?: string;
444
+ /** The renew properties for a reservation. */
403
445
  renewProperties?: RenewPropertiesResponse;
404
- /** Represent the term of Reservation. */
446
+ /** Represent the term of reservation. */
405
447
  term?: ReservationTerm;
406
448
  /**
407
449
  * The applied scope type of the reservation for display, e.g. Shared
@@ -420,21 +462,33 @@ export interface ReservationsProperties {
420
462
  readonly utilization?: ReservationsPropertiesUtilization;
421
463
  }
422
464
 
465
+ /** Properties of reservation split */
423
466
  export interface ReservationSplitProperties {
424
- /** List of destination Resource Id that are created due to split. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId} */
467
+ /** List of destination resource id that are created due to split. Format of the resource id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId} */
425
468
  splitDestinations?: string[];
426
- /** Resource Id of the Reservation from which this is split. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId} */
469
+ /** Resource id of the reservation from which this is split. Format of the resource id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId} */
427
470
  splitSource?: string;
428
471
  }
429
472
 
473
+ /** Properties of reservation merge */
430
474
  export interface ReservationMergeProperties {
431
- /** Reservation Resource Id Created due to the merge. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId} */
475
+ /** Reservation resource id Created due to the merge. Format of the resource id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId} */
432
476
  mergeDestination?: string;
433
- /** Resource Ids of the Source Reservation's merged to form this Reservation. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId} */
477
+ /** Resource ids of the source reservation's merged to form this reservation. Format of the resource id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId} */
434
478
  mergeSources?: string[];
435
479
  }
436
480
 
481
+ /** Properties of reservation swap */
482
+ export interface ReservationSwapProperties {
483
+ /** Resource id of the source reservation that gets swapped. Format of the resource id is /providers/microsoft.capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId} */
484
+ swapSource?: string;
485
+ /** Reservation resource id that the original resource gets swapped to. Format of the resource id is /providers/microsoft.capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId} */
486
+ swapDestination?: string;
487
+ }
488
+
489
+ /** The renew properties for a reservation. */
437
490
  export interface RenewPropertiesResponse {
491
+ /** The request for reservation purchase */
438
492
  purchaseProperties?: PurchaseRequest;
439
493
  /** Amount that Microsoft uses for record. Used during refund for calculating refund limit. Tax is not included. This is locked price 30 days before expiry. */
440
494
  pricingCurrencyTotal?: RenewPropertiesResponsePricingCurrencyTotal;
@@ -459,7 +513,7 @@ export interface RenewPropertiesResponseBillingCurrencyTotal {
459
513
  /** Reservation utilization */
460
514
  export interface ReservationsPropertiesUtilization {
461
515
  /**
462
- * The number of days trend for a reservation
516
+ * last 7 day utilization trend for a reservation
463
517
  * NOTE: This property will not be serialized. It can only be populated by the server.
464
518
  */
465
519
  readonly trend?: string;
@@ -491,6 +545,30 @@ export interface ReservationUtilizationAggregates {
491
545
  readonly valueUnit?: string;
492
546
  }
493
547
 
548
+ /** Common fields that are returned in the response for all Azure Resource Manager resources */
549
+ export interface Resource {
550
+ /**
551
+ * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
552
+ * NOTE: This property will not be serialized. It can only be populated by the server.
553
+ */
554
+ readonly id?: string;
555
+ /**
556
+ * The name of the resource
557
+ * NOTE: This property will not be serialized. It can only be populated by the server.
558
+ */
559
+ readonly name?: string;
560
+ /**
561
+ * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
562
+ * NOTE: This property will not be serialized. It can only be populated by the server.
563
+ */
564
+ readonly type?: string;
565
+ /**
566
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
567
+ * NOTE: This property will not be serialized. It can only be populated by the server.
568
+ */
569
+ readonly systemData?: SystemData;
570
+ }
571
+
494
572
  /** Metadata pertaining to creation and last modification of the resource. */
495
573
  export interface SystemData {
496
574
  /** The identity that created the resource. */
@@ -507,6 +585,7 @@ export interface SystemData {
507
585
  lastModifiedAt?: Date;
508
586
  }
509
587
 
588
+ /** The request for reservation split */
510
589
  export interface SplitRequest {
511
590
  /** List of the quantities in the new reservations to create. */
512
591
  quantities?: number[];
@@ -514,41 +593,51 @@ export interface SplitRequest {
514
593
  reservationId?: string;
515
594
  }
516
595
 
596
+ /** The request for reservation merge */
517
597
  export interface MergeRequest {
518
598
  /** Format of the resource id should be /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId} */
519
599
  sources?: string[];
520
600
  }
521
601
 
602
+ /** List of `Reservation`s */
522
603
  export interface ReservationList {
523
604
  value?: ReservationResponse[];
524
605
  /** Url to get the next page of reservations. */
525
606
  nextLink?: string;
526
607
  }
527
608
 
609
+ /** The request for reservation patch */
528
610
  export interface Patch {
529
611
  /** Type of the Applied Scope. */
530
612
  appliedScopeType?: AppliedScopeType;
531
613
  /** List of the subscriptions that the benefit will be applied. Do not specify if AppliedScopeType is Shared. */
532
614
  appliedScopes?: string[];
615
+ /** Properties specific to applied scope type. Not required if not applicable. Required and need to provide tenantId and managementGroupId if AppliedScopeType is ManagementGroup */
616
+ appliedScopeProperties?: AppliedScopeProperties;
533
617
  /** Turning this on will apply the reservation discount to other VMs in the same VM size group. Only specify for VirtualMachines reserved resource type. */
534
618
  instanceFlexibility?: InstanceFlexibility;
535
- /** Name of the Reservation */
619
+ /** Display name of the reservation */
536
620
  name?: string;
537
621
  /** Setting this to true will automatically purchase a new reservation on the expiration date time. */
538
622
  renew?: boolean;
539
623
  renewProperties?: PatchPropertiesRenewProperties;
624
+ /** This is the date-time when the Azure hybrid benefit needs to be reviewed. */
625
+ reviewDateTime?: Date;
540
626
  }
541
627
 
542
628
  export interface PatchPropertiesRenewProperties {
629
+ /** The request for reservation purchase */
543
630
  purchaseProperties?: PurchaseRequest;
544
631
  }
545
632
 
633
+ /** Paginated list of operations */
546
634
  export interface OperationList {
547
635
  value?: OperationResponse[];
548
636
  /** Url to get the next page of items. */
549
637
  nextLink?: string;
550
638
  }
551
639
 
640
+ /** The response containing operation information */
552
641
  export interface OperationResponse {
553
642
  /** Name of the operation */
554
643
  name?: string;
@@ -562,6 +651,7 @@ export interface OperationResponse {
562
651
  properties?: Record<string, unknown>;
563
652
  }
564
653
 
654
+ /** Information about an operation */
565
655
  export interface OperationDisplay {
566
656
  provider?: string;
567
657
  resource?: string;
@@ -569,12 +659,15 @@ export interface OperationDisplay {
569
659
  description?: string;
570
660
  }
571
661
 
662
+ /** Request containing information needed for calculating refund. */
572
663
  export interface CalculateRefundRequest {
573
664
  /** Fully qualified identifier of the reservation order being returned */
574
665
  id?: string;
666
+ /** Properties needed for calculate refund including the scope and the reservation to be returned. */
575
667
  properties?: CalculateRefundRequestProperties;
576
668
  }
577
669
 
670
+ /** Properties needed for calculate refund including the scope and the reservation to be returned. */
578
671
  export interface CalculateRefundRequestProperties {
579
672
  /** The scope of the refund, e.g. Reservation */
580
673
  scope?: string;
@@ -584,24 +677,29 @@ export interface CalculateRefundRequestProperties {
584
677
 
585
678
  /** Reservation to return */
586
679
  export interface ReservationToReturn {
587
- /** Fully qualified identifier of the Reservation being returned */
680
+ /** Fully qualified identifier of the reservation being returned */
588
681
  reservationId?: string;
589
682
  /** Quantity to be returned. Must be greater than zero. */
590
683
  quantity?: number;
591
684
  }
592
685
 
686
+ /** The response of calculate refund containing refund information of reservation */
593
687
  export interface CalculateRefundResponse {
594
688
  /** Fully qualified identifier of the reservation being returned */
595
689
  id?: string;
690
+ /** The refund properties of reservation */
596
691
  properties?: RefundResponseProperties;
597
692
  }
598
693
 
694
+ /** The refund properties of reservation */
599
695
  export interface RefundResponseProperties {
600
696
  /** Refund session identifier */
601
697
  sessionId?: string;
602
698
  /** Quantity to be returned */
603
699
  quantity?: number;
700
+ /** Pricing information containing the amount and the currency code */
604
701
  billingRefundAmount?: Price;
702
+ /** Pricing information containing the amount and the currency code */
605
703
  pricingRefundAmount?: Price;
606
704
  /** Refund policy result */
607
705
  policyResult?: RefundPolicyResult;
@@ -617,7 +715,9 @@ export interface RefundPolicyResult {
617
715
 
618
716
  /** Refund policy result property */
619
717
  export interface RefundPolicyResultProperty {
718
+ /** Pricing information containing the amount and the currency code */
620
719
  consumedRefundsTotal?: Price;
720
+ /** Pricing information containing the amount and the currency code */
621
721
  maxRefundLimit?: Price;
622
722
  /** Refund Policy errors */
623
723
  policyErrors?: RefundPolicyError[];
@@ -625,6 +725,7 @@ export interface RefundPolicyResultProperty {
625
725
 
626
726
  /** error details */
627
727
  export interface RefundPolicyError {
728
+ /** Error code describing the reason that service is not able to process the incoming request */
628
729
  code?: ErrorResponseCode;
629
730
  message?: string;
630
731
  }
@@ -637,15 +738,21 @@ export interface RefundBillingInformation {
637
738
  completedTransactions?: number;
638
739
  /** The number of total transactions in this reservation's payment */
639
740
  totalTransactions?: number;
741
+ /** Pricing information containing the amount and the currency code */
640
742
  billingCurrencyTotalPaidAmount?: Price;
743
+ /** Pricing information containing the amount and the currency code */
641
744
  billingCurrencyProratedAmount?: Price;
745
+ /** Pricing information containing the amount and the currency code */
642
746
  billingCurrencyRemainingCommitmentAmount?: Price;
643
747
  }
644
748
 
749
+ /** Request containing information needed for returning reservation. */
645
750
  export interface RefundRequest {
751
+ /** Properties needed for refund request including the session id from calculate refund, the scope, the reservation to be returned and the return reason. */
646
752
  properties?: RefundRequestProperties;
647
753
  }
648
754
 
755
+ /** Properties needed for refund request including the session id from calculate refund, the scope, the reservation to be returned and the return reason. */
649
756
  export interface RefundRequestProperties {
650
757
  /** SessionId that was returned by CalculateRefund API. */
651
758
  sessionId?: string;
@@ -657,9 +764,11 @@ export interface RefundRequestProperties {
657
764
  returnReason?: string;
658
765
  }
659
766
 
767
+ /** The response of refund request containing refund information of reservation */
660
768
  export interface RefundResponse {
661
769
  /** Fully qualified identifier of the reservation being returned */
662
770
  id?: string;
771
+ /** The refund properties of reservation */
663
772
  properties?: RefundResponseProperties;
664
773
  }
665
774
 
@@ -673,10 +782,32 @@ export interface CalculateExchangeRequest {
673
782
  export interface CalculateExchangeRequestProperties {
674
783
  /** List of reservations that are being purchased in this exchange. */
675
784
  reservationsToPurchase?: PurchaseRequest[];
785
+ /** List of savings plans that are being purchased in this exchange. */
786
+ savingsPlansToPurchase?: SavingsPlanPurchaseRequest[];
676
787
  /** List of reservations that are being returned in this exchange. */
677
788
  reservationsToExchange?: ReservationToReturn[];
678
789
  }
679
790
 
791
+ /** Request body for savings plan purchase */
792
+ export interface SavingsPlanPurchaseRequest {
793
+ /** The name of sku */
794
+ sku?: SkuName;
795
+ /** Friendly name of the savings plan */
796
+ displayName?: string;
797
+ /** Subscription that will be charged for purchasing reservation or savings plan */
798
+ billingScopeId?: string;
799
+ /** Represent savings plan term in ISO 8601 format. */
800
+ term?: SavingsPlanTerm;
801
+ /** Represents the billing plan in ISO 8601 format. Required only for monthly billing plans. */
802
+ billingPlan?: BillingPlan;
803
+ /** Type of the Applied Scope. */
804
+ appliedScopeType?: AppliedScopeType;
805
+ /** Properties specific to applied scope type. Not required if not applicable. Required and need to provide tenantId and managementGroupId if AppliedScopeType is ManagementGroup */
806
+ appliedScopeProperties?: AppliedScopeProperties;
807
+ /** Commitment towards the benefit. */
808
+ commitment?: Commitment;
809
+ }
810
+
680
811
  /** CalculateExchange operation result */
681
812
  export interface CalculateExchangeOperationResultResponse {
682
813
  /** It should match what is used to GET the operation result. */
@@ -695,11 +826,16 @@ export interface CalculateExchangeOperationResultResponse {
695
826
  export interface CalculateExchangeResponseProperties {
696
827
  /** Exchange session identifier */
697
828
  sessionId?: string;
829
+ /** Pricing information containing the amount and the currency code */
698
830
  netPayable?: Price;
831
+ /** Pricing information containing the amount and the currency code */
699
832
  refundsTotal?: Price;
833
+ /** Pricing information containing the amount and the currency code */
700
834
  purchasesTotal?: Price;
701
835
  /** Details of the reservations being purchased */
702
836
  reservationsToPurchase?: ReservationToPurchaseCalculateExchange[];
837
+ /** Details of the savings plans being purchased */
838
+ savingsPlansToPurchase?: SavingsPlanToPurchaseCalculateExchange[];
703
839
  /** Details of the reservations being returned */
704
840
  reservationsToExchange?: ReservationToExchange[];
705
841
  /** Exchange policy errors */
@@ -708,16 +844,27 @@ export interface CalculateExchangeResponseProperties {
708
844
 
709
845
  /** Reservation purchase details */
710
846
  export interface ReservationToPurchaseCalculateExchange {
847
+ /** The request for reservation purchase */
711
848
  properties?: PurchaseRequest;
849
+ /** Pricing information containing the amount and the currency code */
850
+ billingCurrencyTotal?: Price;
851
+ }
852
+
853
+ /** Savings plan purchase details */
854
+ export interface SavingsPlanToPurchaseCalculateExchange {
855
+ /** Request body for savings plan purchase */
856
+ properties?: SavingsPlanPurchaseRequest;
857
+ /** Pricing information containing the amount and the currency code */
712
858
  billingCurrencyTotal?: Price;
713
859
  }
714
860
 
715
861
  /** Reservation refund details */
716
862
  export interface ReservationToExchange {
717
- /** Fully qualified id of the Reservation being returned. */
863
+ /** Fully qualified id of the reservation being returned. */
718
864
  reservationId?: string;
719
865
  /** Quantity to be returned */
720
866
  quantity?: number;
867
+ /** Pricing information containing the amount and the currency code */
721
868
  billingRefundAmount?: Price;
722
869
  /** billing information */
723
870
  billingInformation?: BillingInformation;
@@ -725,8 +872,11 @@ export interface ReservationToExchange {
725
872
 
726
873
  /** billing information */
727
874
  export interface BillingInformation {
875
+ /** Pricing information containing the amount and the currency code */
728
876
  billingCurrencyTotalPaidAmount?: Price;
877
+ /** Pricing information containing the amount and the currency code */
729
878
  billingCurrencyProratedAmount?: Price;
879
+ /** Pricing information containing the amount and the currency code */
730
880
  billingCurrencyRemainingCommitmentAmount?: Price;
731
881
  }
732
882
 
@@ -780,11 +930,16 @@ export interface ExchangeOperationResultResponse {
780
930
  export interface ExchangeResponseProperties {
781
931
  /** Exchange session identifier */
782
932
  sessionId?: string;
933
+ /** Pricing information containing the amount and the currency code */
783
934
  netPayable?: Price;
935
+ /** Pricing information containing the amount and the currency code */
784
936
  refundsTotal?: Price;
937
+ /** Pricing information containing the amount and the currency code */
785
938
  purchasesTotal?: Price;
786
939
  /** Details of the reservations being purchased */
787
940
  reservationsToPurchase?: ReservationToPurchaseExchange[];
941
+ /** Details of the savings plans being purchased */
942
+ savingsPlansToPurchase?: SavingsPlanToPurchaseExchange[];
788
943
  /** Details of the reservations being returned */
789
944
  reservationsToExchange?: ReservationToReturnForExchange[];
790
945
  /** Exchange policy errors */
@@ -793,11 +948,27 @@ export interface ExchangeResponseProperties {
793
948
 
794
949
  /** Reservation purchase details */
795
950
  export interface ReservationToPurchaseExchange {
796
- /** Fully qualified id of the ReservationOrder being purchased */
951
+ /** Fully qualified id of the reservationOrder being purchased */
797
952
  reservationOrderId?: string;
798
- /** Fully qualified id of the Reservation being purchased. This value is only guaranteed to be non-null if the purchase is successful. */
953
+ /** Fully qualified id of the reservation being purchased. This value is only guaranteed to be non-null if the purchase is successful. */
799
954
  reservationId?: string;
955
+ /** The request for reservation purchase */
800
956
  properties?: PurchaseRequest;
957
+ /** Pricing information containing the amount and the currency code */
958
+ billingCurrencyTotal?: Price;
959
+ /** Status of the individual operation. */
960
+ status?: OperationStatus;
961
+ }
962
+
963
+ /** Savings plan purchase details */
964
+ export interface SavingsPlanToPurchaseExchange {
965
+ /** Fully qualified id of the savings plan order being purchased */
966
+ savingsPlanOrderId?: string;
967
+ /** Fully qualified id of the savings plan being purchased. This value is only guaranteed to be non-null if the purchase is successful. */
968
+ savingsPlanId?: string;
969
+ /** Request body for savings plan purchase */
970
+ properties?: SavingsPlanPurchaseRequest;
971
+ /** Pricing information containing the amount and the currency code */
801
972
  billingCurrencyTotal?: Price;
802
973
  /** Status of the individual operation. */
803
974
  status?: OperationStatus;
@@ -805,10 +976,11 @@ export interface ReservationToPurchaseExchange {
805
976
 
806
977
  /** Reservation refund details */
807
978
  export interface ReservationToReturnForExchange {
808
- /** Fully qualified id of the Reservation being returned. */
979
+ /** Fully qualified id of the reservation being returned. */
809
980
  reservationId?: string;
810
981
  /** Quantity to be returned */
811
982
  quantity?: number;
983
+ /** Pricing information containing the amount and the currency code */
812
984
  billingRefundAmount?: Price;
813
985
  /** billing information */
814
986
  billingInformation?: BillingInformation;
@@ -869,6 +1041,16 @@ export interface ReservationSummary {
869
1041
  * NOTE: This property will not be serialized. It can only be populated by the server.
870
1042
  */
871
1043
  readonly processingCount?: number;
1044
+ /**
1045
+ * The number of reservation in Warning state
1046
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1047
+ */
1048
+ readonly warningCount?: number;
1049
+ /**
1050
+ * The number of reservation in NoBenefit state
1051
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1052
+ */
1053
+ readonly noBenefitCount?: number;
872
1054
  }
873
1055
 
874
1056
  /** Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. */
@@ -896,6 +1078,7 @@ export interface ErrorDetails {
896
1078
  readonly target?: string;
897
1079
  }
898
1080
 
1081
+ /** Request body for change directory of a reservation. */
899
1082
  export interface ChangeDirectoryRequest {
900
1083
  /** Tenant id GUID that reservation order is to be transferred to */
901
1084
  destinationTenantId?: string;
@@ -1252,6 +1435,62 @@ export interface QuotaRequestSubmitResponse {
1252
1435
  readonly type?: string;
1253
1436
  }
1254
1437
 
1438
+ /** Commitment towards the benefit. */
1439
+ export interface Commitment extends Price {
1440
+ /** Commitment grain. */
1441
+ grain?: CommitmentGrain;
1442
+ }
1443
+
1444
+ /** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */
1445
+ export interface ProxyResource extends Resource {}
1446
+
1447
+ /** The definition of the reservation. */
1448
+ export interface ReservationResponse extends ProxyResource {
1449
+ /** The Azure region where the reserved resource lives. */
1450
+ location?: string;
1451
+ etag?: number;
1452
+ /** The sku information associated to this reservation */
1453
+ sku?: SkuName;
1454
+ /** The properties associated to this reservation */
1455
+ properties?: ReservationsProperties;
1456
+ /** Resource Provider type to be reserved. */
1457
+ kind?: "Microsoft.Compute";
1458
+ }
1459
+
1460
+ /** Defines headers for Reservation_split operation. */
1461
+ export interface ReservationSplitHeaders {
1462
+ /** URL for determining when an operation has completed. Only use this value only when Azure-AsyncOperation isn't returned. */
1463
+ location?: string;
1464
+ /** Clients should wait for the Retry-After interval before polling again */
1465
+ retryAfter?: number;
1466
+ }
1467
+
1468
+ /** Defines headers for Reservation_merge operation. */
1469
+ export interface ReservationMergeHeaders {
1470
+ /** URL for determining when an operation has completed. Only use this value only when Azure-AsyncOperation isn't returned. */
1471
+ location?: string;
1472
+ /** Clients should wait for the Retry-After interval before polling again */
1473
+ retryAfter?: number;
1474
+ }
1475
+
1476
+ /** Defines headers for Reservation_update operation. */
1477
+ export interface ReservationUpdateHeaders {
1478
+ /** URL for checking the ongoing status of the operation. */
1479
+ azureAsyncOperation?: string;
1480
+ /** URL for determining when an operation has completed. Only use this value only when Azure-AsyncOperation isn't returned. */
1481
+ location?: string;
1482
+ /** Clients should wait for the Retry-After interval before polling again */
1483
+ retryAfter?: number;
1484
+ }
1485
+
1486
+ /** Defines headers for ReservationOrder_purchase operation. */
1487
+ export interface ReservationOrderPurchaseHeaders {
1488
+ /** URL for determining when an operation has completed. Only use this value only when Azure-AsyncOperation isn't returned. */
1489
+ location?: string;
1490
+ /** Clients should wait for the Retry-After interval before polling again */
1491
+ retryAfter?: number;
1492
+ }
1493
+
1255
1494
  /** Defines headers for Return_post operation. */
1256
1495
  export interface ReturnPostHeaders {
1257
1496
  location?: string;
@@ -1615,7 +1854,9 @@ export enum KnownAppliedScopeType {
1615
1854
  /** Single */
1616
1855
  Single = "Single",
1617
1856
  /** Shared */
1618
- Shared = "Shared"
1857
+ Shared = "Shared",
1858
+ /** ManagementGroup */
1859
+ ManagementGroup = "ManagementGroup"
1619
1860
  }
1620
1861
 
1621
1862
  /**
@@ -1624,7 +1865,8 @@ export enum KnownAppliedScopeType {
1624
1865
  * this enum contains the known values that the service supports.
1625
1866
  * ### Known values supported by the service
1626
1867
  * **Single** \
1627
- * **Shared**
1868
+ * **Shared** \
1869
+ * **ManagementGroup**
1628
1870
  */
1629
1871
  export type AppliedScopeType = string;
1630
1872
 
@@ -1787,6 +2029,54 @@ export enum KnownCreatedByType {
1787
2029
  */
1788
2030
  export type CreatedByType = string;
1789
2031
 
2032
+ /** Known values of {@link SavingsPlanTerm} that the service accepts. */
2033
+ export enum KnownSavingsPlanTerm {
2034
+ /** P1Y */
2035
+ P1Y = "P1Y",
2036
+ /** P3Y */
2037
+ P3Y = "P3Y"
2038
+ }
2039
+
2040
+ /**
2041
+ * Defines values for SavingsPlanTerm. \
2042
+ * {@link KnownSavingsPlanTerm} can be used interchangeably with SavingsPlanTerm,
2043
+ * this enum contains the known values that the service supports.
2044
+ * ### Known values supported by the service
2045
+ * **P1Y** \
2046
+ * **P3Y**
2047
+ */
2048
+ export type SavingsPlanTerm = string;
2049
+
2050
+ /** Known values of {@link BillingPlan} that the service accepts. */
2051
+ export enum KnownBillingPlan {
2052
+ /** P1M */
2053
+ P1M = "P1M"
2054
+ }
2055
+
2056
+ /**
2057
+ * Defines values for BillingPlan. \
2058
+ * {@link KnownBillingPlan} can be used interchangeably with BillingPlan,
2059
+ * this enum contains the known values that the service supports.
2060
+ * ### Known values supported by the service
2061
+ * **P1M**
2062
+ */
2063
+ export type BillingPlan = string;
2064
+
2065
+ /** Known values of {@link CommitmentGrain} that the service accepts. */
2066
+ export enum KnownCommitmentGrain {
2067
+ /** Hourly */
2068
+ Hourly = "Hourly"
2069
+ }
2070
+
2071
+ /**
2072
+ * Defines values for CommitmentGrain. \
2073
+ * {@link KnownCommitmentGrain} can be used interchangeably with CommitmentGrain,
2074
+ * this enum contains the known values that the service supports.
2075
+ * ### Known values supported by the service
2076
+ * **Hourly**
2077
+ */
2078
+ export type CommitmentGrain = string;
2079
+
1790
2080
  /** Known values of {@link CalculateExchangeOperationResultStatus} that the service accepts. */
1791
2081
  export enum KnownCalculateExchangeOperationResultStatus {
1792
2082
  /** Succeeded */
@@ -2015,7 +2305,11 @@ export enum KnownDisplayProvisioningState {
2015
2305
  /** Cancelled */
2016
2306
  Cancelled = "Cancelled",
2017
2307
  /** Failed */
2018
- Failed = "Failed"
2308
+ Failed = "Failed",
2309
+ /** Warning */
2310
+ Warning = "Warning",
2311
+ /** NoBenefit */
2312
+ NoBenefit = "NoBenefit"
2019
2313
  }
2020
2314
 
2021
2315
  /**
@@ -2029,7 +2323,9 @@ export enum KnownDisplayProvisioningState {
2029
2323
  * **Pending** \
2030
2324
  * **Processing** \
2031
2325
  * **Cancelled** \
2032
- * **Failed**
2326
+ * **Failed** \
2327
+ * **Warning** \
2328
+ * **NoBenefit**
2033
2329
  */
2034
2330
  export type DisplayProvisioningState = string;
2035
2331
 
@@ -2170,7 +2466,7 @@ export type ReservationListRevisionsResponse = ReservationList;
2170
2466
  /** Optional parameters. */
2171
2467
  export interface ReservationListAllOptionalParams
2172
2468
  extends coreClient.OperationOptions {
2173
- /** May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'. Reservation properties include sku/name, properties/{appliedScopeType, archived, displayName, displayProvisioningState, effectiveDateTime, expiryDate, provisioningState, quantity, renew, reservedResourceType, term, userFriendlyAppliedScopeType, userFriendlyRenewState} */
2469
+ /** May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'. Reservation properties include sku/name, properties/{appliedScopeType, archived, displayName, displayProvisioningState, effectiveDateTime, expiryDate, expiryDateTime, provisioningState, quantity, renew, reservedResourceType, term, userFriendlyAppliedScopeType, userFriendlyRenewState} */
2174
2470
  filter?: string;
2175
2471
  /** May be used to sort order by reservation properties. */
2176
2472
  orderby?: string;
@@ -2203,29 +2499,18 @@ export type ReservationListRevisionsNextResponse = ReservationList;
2203
2499
 
2204
2500
  /** Optional parameters. */
2205
2501
  export interface ReservationListAllNextOptionalParams
2206
- extends coreClient.OperationOptions {
2207
- /** May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'. Reservation properties include sku/name, properties/{appliedScopeType, archived, displayName, displayProvisioningState, effectiveDateTime, expiryDate, provisioningState, quantity, renew, reservedResourceType, term, userFriendlyAppliedScopeType, userFriendlyRenewState} */
2208
- filter?: string;
2209
- /** May be used to sort order by reservation properties. */
2210
- orderby?: string;
2211
- /** To indicate whether to refresh the roll up counts of the reservations group by provisioning states */
2212
- refreshSummary?: string;
2213
- /** The number of reservations to skip from the list before returning results */
2214
- skiptoken?: number;
2215
- /** The selected provisioning state */
2216
- selectedState?: string;
2217
- /** To number of reservations to return */
2218
- take?: number;
2219
- }
2502
+ extends coreClient.OperationOptions {}
2220
2503
 
2221
2504
  /** Contains response data for the listAllNext operation. */
2222
2505
  export type ReservationListAllNextResponse = ReservationsListResult;
2223
2506
 
2224
2507
  /** Optional parameters. */
2225
2508
  export interface GetCatalogOptionalParams extends coreClient.OperationOptions {
2509
+ /** May be used to filter by Catalog properties. The filter supports 'eq', 'or', and 'and'. */
2510
+ filter?: string;
2226
2511
  /** The type of the resource for which the skus should be provided. */
2227
2512
  reservedResourceType?: string;
2228
- /** Filters the skus based on the location specified in this parameter. This can be an azure region or global */
2513
+ /** Filters the skus based on the location specified in this parameter. This can be an Azure region or global */
2229
2514
  location?: string;
2230
2515
  /** Publisher id used to get the third party products */
2231
2516
  publisherId?: string;
@@ -2233,10 +2518,14 @@ export interface GetCatalogOptionalParams extends coreClient.OperationOptions {
2233
2518
  offerId?: string;
2234
2519
  /** Plan id used to get the third party products */
2235
2520
  planId?: string;
2521
+ /** The number of reservations to skip from the list before returning results */
2522
+ skip?: number;
2523
+ /** To number of reservations to return */
2524
+ take?: number;
2236
2525
  }
2237
2526
 
2238
2527
  /** Contains response data for the getCatalog operation. */
2239
- export type GetCatalogResponse = Catalog[];
2528
+ export type GetCatalogResponse = CatalogsResult;
2240
2529
 
2241
2530
  /** Optional parameters. */
2242
2531
  export interface GetAppliedReservationListOptionalParams
@@ -2245,6 +2534,13 @@ export interface GetAppliedReservationListOptionalParams
2245
2534
  /** Contains response data for the getAppliedReservationList operation. */
2246
2535
  export type GetAppliedReservationListResponse = AppliedReservations;
2247
2536
 
2537
+ /** Optional parameters. */
2538
+ export interface GetCatalogNextOptionalParams
2539
+ extends coreClient.OperationOptions {}
2540
+
2541
+ /** Contains response data for the getCatalogNext operation. */
2542
+ export type GetCatalogNextResponse = CatalogsResult;
2543
+
2248
2544
  /** Optional parameters. */
2249
2545
  export interface ReservationOrderCalculateOptionalParams
2250
2546
  extends coreClient.OperationOptions {}
@@ -2317,7 +2613,12 @@ export interface CalculateRefundPostOptionalParams
2317
2613
  export type CalculateRefundPostResponse = CalculateRefundResponse;
2318
2614
 
2319
2615
  /** Optional parameters. */
2320
- export interface ReturnPostOptionalParams extends coreClient.OperationOptions {}
2616
+ export interface ReturnPostOptionalParams extends coreClient.OperationOptions {
2617
+ /** Delay to wait until next poll, in milliseconds. */
2618
+ updateIntervalInMs?: number;
2619
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
2620
+ resumeFrom?: string;
2621
+ }
2321
2622
 
2322
2623
  /** Contains response data for the post operation. */
2323
2624
  export type ReturnPostResponse = ReturnPostHeaders & RefundResponse;
@@ -2415,18 +2716,7 @@ export type QuotaRequestStatusListResponse = QuotaRequestDetailsList;
2415
2716
 
2416
2717
  /** Optional parameters. */
2417
2718
  export interface QuotaRequestStatusListNextOptionalParams
2418
- extends coreClient.OperationOptions {
2419
- /**
2420
- * | Field | Supported operators |
2421
- * |---------------------|------------------------|
2422
- * |requestSubmitTime | ge, le, eq, gt, lt |
2423
- */
2424
- filter?: string;
2425
- /** Number of records to return. */
2426
- top?: number;
2427
- /** Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element includes a skiptoken parameter that specifies a starting point to use for subsequent calls. */
2428
- skiptoken?: string;
2429
- }
2719
+ extends coreClient.OperationOptions {}
2430
2720
 
2431
2721
  /** Contains response data for the listNext operation. */
2432
2722
  export type QuotaRequestStatusListNextResponse = QuotaRequestDetailsList;