@azure-tools/typespec-azure-resource-manager 0.58.0-dev.2 → 0.58.0-dev.3

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 (50) hide show
  1. package/README.md +5 -2
  2. package/dist/generated-defs/Azure.ResourceManager.Extension.Private.d.ts +25 -0
  3. package/dist/generated-defs/Azure.ResourceManager.Extension.Private.d.ts.map +1 -0
  4. package/dist/generated-defs/Azure.ResourceManager.Extension.Private.js +2 -0
  5. package/dist/generated-defs/Azure.ResourceManager.Extension.Private.js.map +1 -0
  6. package/dist/generated-defs/Azure.ResourceManager.Private.d.ts +8 -0
  7. package/dist/generated-defs/Azure.ResourceManager.Private.d.ts.map +1 -1
  8. package/dist/generated-defs/Azure.ResourceManager.d.ts +1 -1
  9. package/dist/generated-defs/Azure.ResourceManager.d.ts.map +1 -1
  10. package/dist/src/lib.d.ts +17 -2
  11. package/dist/src/lib.d.ts.map +1 -1
  12. package/dist/src/lib.js +6 -0
  13. package/dist/src/lib.js.map +1 -1
  14. package/dist/src/linter.d.ts.map +1 -1
  15. package/dist/src/linter.js +2 -0
  16. package/dist/src/linter.js.map +1 -1
  17. package/dist/src/namespace.d.ts.map +1 -1
  18. package/dist/src/namespace.js +14 -7
  19. package/dist/src/namespace.js.map +1 -1
  20. package/dist/src/private.decorators.d.ts.map +1 -1
  21. package/dist/src/private.decorators.js +61 -7
  22. package/dist/src/private.decorators.js.map +1 -1
  23. package/dist/src/resource.d.ts +16 -1
  24. package/dist/src/resource.d.ts.map +1 -1
  25. package/dist/src/resource.js +46 -8
  26. package/dist/src/resource.js.map +1 -1
  27. package/dist/src/rules/arm-custom-resource-no-key.d.ts +4 -0
  28. package/dist/src/rules/arm-custom-resource-no-key.d.ts.map +1 -0
  29. package/dist/src/rules/arm-custom-resource-no-key.js +28 -0
  30. package/dist/src/rules/arm-custom-resource-no-key.js.map +1 -0
  31. package/dist/src/rules/list-operation.js +1 -1
  32. package/dist/src/rules/list-operation.js.map +1 -1
  33. package/dist/src/state.d.ts +1 -0
  34. package/dist/src/state.d.ts.map +1 -1
  35. package/dist/src/state.js +1 -0
  36. package/dist/src/state.js.map +1 -1
  37. package/lib/Legacy/arm.legacy.tsp +4 -0
  38. package/lib/Legacy/extension.tsp +321 -0
  39. package/lib/Legacy/interfaces.tsp +38 -0
  40. package/lib/Legacy/operations.tsp +41 -2
  41. package/lib/arm.tsp +1 -0
  42. package/lib/common-types/internal.tsp +9 -0
  43. package/lib/common-types/types-ref.tsp +12 -3
  44. package/lib/decorators.tsp +1 -1
  45. package/lib/extension/extension.tsp +6 -0
  46. package/lib/extension/operations.tsp +507 -0
  47. package/lib/extension/parameters.tsp +223 -0
  48. package/lib/extension/private.decorators.tsp +24 -0
  49. package/lib/private.decorators.tsp +5 -0
  50. package/package.json +1 -1
@@ -0,0 +1,507 @@
1
+ namespace Azure.ResourceManager.Extension;
2
+
3
+ using Http;
4
+ using Rest;
5
+ using Azure.ResourceManager.Foundations;
6
+ using Azure.ResourceManager.Private;
7
+
8
+ // OPERATION TEMPLATES
9
+
10
+ /**
11
+ * List an extension resource at the given target scope
12
+ * @template TargetResource The target to list at, e.g. Extension.Subscription or Extension>ManagementGroup or Extension.ResourceGroup
13
+ * @template ExtensionResource the resource being listed
14
+ * @template Parameters Optional. Additional parameters after the path parameters
15
+ * @template Response Optional. The success response for the list operation
16
+ * @template Error Optional. The error response, if non-standard.
17
+ */
18
+ @autoRoute
19
+ @doc("List {name} resources by scope", ExtensionResource)
20
+ @listsResource(ExtensionResource)
21
+ @segmentOf(ExtensionResource)
22
+ @armResourceList(ExtensionResource)
23
+ @get
24
+ @enforceConstraint(TargetResource, Foundations.Resource)
25
+ @enforceConstraint(ExtensionResource, Foundations.Resource)
26
+ op ListByTarget<
27
+ TargetResource extends Foundations.SimpleResource,
28
+ ExtensionResource extends Foundations.SimpleResource,
29
+ Parameters extends {} = {},
30
+ Response extends {} = ArmResponse<ResourceListResult<ExtensionResource>>,
31
+ Error extends {} = ErrorResponse
32
+ > is ArmReadOperation<
33
+ ExtensionParentParameters<TargetResource, ExtensionResource> & Parameters,
34
+ Response,
35
+ Error
36
+ >;
37
+
38
+ /**
39
+ * A resource GET operation
40
+ * @template TargetResource The target resource, e.g. Extension.Subscription or Extension.ManagementGroup or Extension.ResourceGroup
41
+ * @template ExtensionResource the resource being rea
42
+ * @template Parameters Optional. Additional parameters after the path parameters
43
+ * @template Response Optional. The success response for the read operation
44
+ * @template Error Optional. The error response, if non-standard.
45
+ */
46
+ @autoRoute
47
+ @doc("Get a {name}", ExtensionResource)
48
+ @get
49
+ @enforceConstraint(TargetResource, Foundations.Resource)
50
+ @enforceConstraint(ExtensionResource, Foundations.Resource)
51
+ @armResourceRead(ExtensionResource)
52
+ op Read<
53
+ TargetResource extends SimpleResource,
54
+ ExtensionResource extends SimpleResource,
55
+ Parameters extends {} = {},
56
+ Response extends {} = ArmResponse<ExtensionResource>,
57
+ Error extends {} = ErrorResponse
58
+ > is ArmReadOperation<
59
+ ExtensionInstanceParameters<TargetResource, ExtensionResource> & Parameters,
60
+ Response,
61
+ Error
62
+ >;
63
+
64
+ /**
65
+ * Check a resource's existence via HEAD operation
66
+ * @template TargetResource The target resource, e.g. Extension.Subscription or Extension.ManagementGroup or Extension.ResourceGroup
67
+ * @template ExtensionResource the extension resource being checked
68
+ * @template Parameters Optional. Additional parameters after the path parameters
69
+ * @template Response Optional. The success response for the read operation
70
+ * @template Error Optional. The error response, if non-standard.
71
+ */
72
+ @autoRoute
73
+ @doc("Check for the existence of a {name}", ExtensionResource)
74
+ @enforceConstraint(TargetResource, Foundations.Resource)
75
+ @enforceConstraint(ExtensionResource, Foundations.Resource)
76
+ @head
77
+ op CheckExistence<
78
+ TargetResource extends SimpleResource,
79
+ ExtensionResource extends SimpleResource,
80
+ Parameters extends {} = {},
81
+ Response extends {} = ArmResourceExistsResponse | ArmResourceNotFoundResponse,
82
+ Error extends {} = ErrorResponse
83
+ > is ArmReadOperation<
84
+ ExtensionInstanceParameters<TargetResource, ExtensionResource> & Parameters,
85
+ Response,
86
+ Error
87
+ >;
88
+
89
+ /**
90
+ * A long-running resource CreateOrUpdate (PUT)
91
+ * @template TargetResource the target resource, e.g. Extension.Subscription or Extension.ManagementGroup or Extension.ResourceGroup
92
+ * @template ExtensionResource the resource being created or updated
93
+ * @template LroHeaders Optional. Allows overriding the lro headers returned on resource create
94
+ * @template Parameters Optional. Additional parameters after the path parameters
95
+ * @template Response Optional. The success response for the createOrUpdate operation
96
+ * @template Error Optional. The error response, if non-standard.
97
+ */
98
+ @autoRoute
99
+ @doc("Create a {name}", ExtensionResource)
100
+ @armResourceCreateOrUpdate(ExtensionResource)
101
+ @enforceConstraint(TargetResource, Foundations.Resource)
102
+ @enforceConstraint(ExtensionResource, Foundations.Resource)
103
+ @Azure.Core.Foundations.Private.defaultFinalStateVia(#["location", "azure-async-operation"])
104
+ @put
105
+ op CreateOrUpdateAsync<
106
+ TargetResource extends Foundations.SimpleResource,
107
+ ExtensionResource extends Foundations.SimpleResource,
108
+ LroHeaders extends TypeSpec.Reflection.Model = ArmAsyncOperationHeader<FinalResult = ExtensionResource> &
109
+ Azure.Core.Foundations.RetryAfterHeader,
110
+ Parameters extends {} = {},
111
+ Response extends {} = ArmResourceUpdatedResponse<ExtensionResource> | ArmResourceCreatedResponse<
112
+ ExtensionResource,
113
+ LroHeaders
114
+ >,
115
+ Error extends {} = ErrorResponse
116
+ > is ArmCreateOperation<
117
+ ExtensionInstanceParameters<TargetResource, ExtensionResource> & Parameters,
118
+ ExtensionResource,
119
+ Response,
120
+ Error
121
+ >;
122
+
123
+ /**
124
+ * Synchronous PUT operation for Azure Resource Manager resources
125
+ * @template TargetResource the target resource, e.g. Extension.Subscription or Extension.ManagementGroup or Extension.ResourceGroup
126
+ * @template ExtensionResource the resource being created or replaced
127
+ * @template Parameters Optional. Additional parameters after the path parameters
128
+ * @template Response Optional. The success response for the createOrUpdate operation
129
+ * @template Error Optional. The error response, if non-standard.
130
+ */
131
+ @autoRoute
132
+ @doc("Create a {name}", ExtensionResource)
133
+ @armResourceCreateOrUpdate(ExtensionResource)
134
+ @enforceConstraint(TargetResource, Foundations.Resource)
135
+ @enforceConstraint(ExtensionResource, Foundations.Resource)
136
+ @put
137
+ op CreateOrReplaceSync<
138
+ TargetResource extends Foundations.SimpleResource,
139
+ ExtensionResource extends Foundations.SimpleResource,
140
+ Parameters extends {} = {},
141
+ Response extends {} = ArmResourceUpdatedResponse<ExtensionResource> | ArmResourceCreatedSyncResponse<ExtensionResource>,
142
+ Error extends {} = ErrorResponse
143
+ > is ArmCreateOperation<
144
+ ExtensionInstanceParameters<TargetResource, ExtensionResource> & Parameters,
145
+ ExtensionResource,
146
+ Response,
147
+ Error
148
+ >;
149
+
150
+ /**
151
+ * @dev A long-running resource CreateOrUpdate (PUT)
152
+ * @template TargetResource the target resource, e.g. Extension.Subscription or Extension.ManagementGroup or Extension.ResourceGroup
153
+ * @template ExtensionResource the resource being created or replaced
154
+ * @template LroHeaders Optional. Allows overriding the lro headers returned on resource create
155
+ * @template Parameters Optional. Additional parameters after the path parameters
156
+ * @template Response Optional. The success response for the createOrReplace operation
157
+ * @template Error Optional. The error response, if non-standard.
158
+ */
159
+ @enforceConstraint(TargetResource, Foundations.Resource)
160
+ @enforceConstraint(ExtensionResource, Foundations.Resource)
161
+ op CreateOrReplaceAsync<
162
+ TargetResource extends Foundations.SimpleResource,
163
+ ExtensionResource extends Foundations.SimpleResource,
164
+ LroHeaders extends TypeSpec.Reflection.Model = ArmAsyncOperationHeader<FinalResult = ExtensionResource> &
165
+ Azure.Core.Foundations.RetryAfterHeader,
166
+ Parameters extends {} = {},
167
+ Response extends {} = ArmResourceUpdatedResponse<ExtensionResource> | ArmResourceCreatedResponse<
168
+ ExtensionResource,
169
+ LroHeaders
170
+ >,
171
+ Error extends {} = ErrorResponse
172
+ > is CreateOrUpdateAsync<
173
+ TargetResource,
174
+ ExtensionResource,
175
+ LroHeaders,
176
+ Parameters,
177
+ Response,
178
+ Error
179
+ >;
180
+
181
+ /**
182
+ * A long-running resource update using a custom PATCH payload (Asynchronous)
183
+ * @template TargetResource the target resource, e.g. Extension.Subscription or Extension.ManagementGroup or Extension.ResourceGroup
184
+ * @template ExtensionResource the resource being patched
185
+ * @template PatchModel The input model for the PATCH request
186
+ * @template LroHeaders Optional. Allows overriding the lro headers returned in the Accepted response
187
+ * @template Parameters Optional. Additional parameters after the path parameters
188
+ * @template Response Optional. The success response for the patch operation
189
+ * @template Error Optional. The error response, if non-standard.
190
+ */
191
+ @autoRoute
192
+ @doc("Update a {name}", ExtensionResource)
193
+ @armResourceUpdate(ExtensionResource)
194
+ @enforceConstraint(TargetResource, Foundations.Resource)
195
+ @enforceConstraint(ExtensionResource, Foundations.Resource)
196
+ @patch(#{ implicitOptionality: true })
197
+ op CustomPatchAsync<
198
+ TargetResource extends Foundations.SimpleResource,
199
+ ExtensionResource extends Foundations.SimpleResource,
200
+ PatchModel extends TypeSpec.Reflection.Model = TagsUpdateModel<ExtensionResource>,
201
+ LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
202
+ Azure.Core.StatusMonitorPollingOptions<ArmOperationStatus>,
203
+ ExtensionResource,
204
+ string
205
+ > &
206
+ Azure.Core.Foundations.RetryAfterHeader,
207
+ Parameters extends {} = {},
208
+ Response extends {} = ArmResponse<ExtensionResource> | ArmAcceptedLroResponse<
209
+ "Resource update request accepted.",
210
+ LroHeaders
211
+ >,
212
+ Error extends {} = ErrorResponse
213
+ > is ArmUpdateOperation<
214
+ ExtensionInstanceParameters<TargetResource, ExtensionResource> & Parameters,
215
+ PatchModel,
216
+ Response,
217
+ Error
218
+ >;
219
+
220
+ /**
221
+ * A resource update using a custom PATCH payload (synchronous)
222
+ * @template TargetResource the target resource, e.g. Extension.Subscription or Extension.ManagementGroup or Extension.ResourceGroup
223
+ * @template ExtensionResource the resource being patched
224
+ * @template PatchModel The input model for the PATCH request
225
+ * @template Parameters Optional. Additional parameters after the path parameters
226
+ * @template Response Optional. The success response for the patch operation
227
+ * @template Error Optional. The error response, if non-standard.
228
+ */
229
+ @autoRoute
230
+ @doc("Update a {name}", ExtensionResource)
231
+ @armResourceUpdate(ExtensionResource)
232
+ @enforceConstraint(TargetResource, Foundations.Resource)
233
+ @enforceConstraint(ExtensionResource, Foundations.Resource)
234
+ @patch(#{ implicitOptionality: true })
235
+ op CustomPatchSync<
236
+ TargetResource extends Foundations.SimpleResource,
237
+ ExtensionResource extends Foundations.SimpleResource,
238
+ PatchModel extends TypeSpec.Reflection.Model = TagsUpdateModel<ExtensionResource>,
239
+ Parameters extends {} = {},
240
+ Response extends {} = ArmResponse<ExtensionResource>,
241
+ Error extends {} = ErrorResponse
242
+ > is ArmUpdateOperation<
243
+ ExtensionInstanceParameters<TargetResource, ExtensionResource> & Parameters,
244
+ PatchModel,
245
+ Response,
246
+ Error
247
+ >;
248
+
249
+ /**
250
+ * @dev Delete a resource asynchronously
251
+ * @template TargetResource The target resource, e.g. Extension.Subscription or Extension.ManagementGroup or Extension.ResourceGroup
252
+ * @template ExtensionResource The resource being deleted
253
+ * @template Response The response type for the operation
254
+ * @template Parameters Optional. Additional parameters after the path parameters
255
+ * @template Error Optional. The error response, if non-standard.
256
+ */
257
+ @autoRoute
258
+ @doc("Delete a {name}", ExtensionResource)
259
+ @armResourceDelete(ExtensionResource)
260
+ @enforceConstraint(TargetResource, Foundations.Resource)
261
+ @enforceConstraint(ExtensionResource, Foundations.Resource)
262
+ @delete
263
+ op DeleteAsyncBase<
264
+ TargetResource extends Foundations.SimpleResource,
265
+ ExtensionResource extends Foundations.SimpleResource,
266
+ Response,
267
+ Parameters extends {} = {},
268
+ Error extends {} = ErrorResponse
269
+ >(
270
+ ...ExtensionInstanceParameters<TargetResource, ExtensionResource>,
271
+ ...Parameters,
272
+ ): Response | Error;
273
+
274
+ /**
275
+ * @dev Delete a resource asynchronously.
276
+ * @template TargetResource The target resource, e.g. Extension.Subscription or Extension.ManagementGroup or Extension.ResourceGroup
277
+ * @template ExtensionResource The resource being deleted
278
+ * @template LroHeaders Optional. Allows overriding the headers in the Accepted response
279
+ * @template Parameters Optional. Additional parameters after the path parameters
280
+ * @template Response Optional. The success response(s) for the delete operation
281
+ * @template Error Optional. The error response, if non-standard.
282
+ */
283
+ #deprecated "Use 'DeleteWithoutOkAsync' instead"
284
+ @enforceConstraint(TargetResource, Foundations.Resource)
285
+ @enforceConstraint(ExtensionResource, Foundations.Resource)
286
+ op DeleteAsync<
287
+ TargetResource extends Foundations.SimpleResource,
288
+ ExtensionResource extends Foundations.SimpleResource,
289
+ LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader &
290
+ Azure.Core.Foundations.RetryAfterHeader,
291
+ Parameters extends {} = {},
292
+ Response extends {} = ArmDeletedResponse | ArmDeleteAcceptedLroResponse<LroHeaders> | ArmDeletedNoContentResponse,
293
+ Error extends {} = ErrorResponse
294
+ > is DeleteAsyncBase<TargetResource, ExtensionResource, Response, Parameters, Error>;
295
+
296
+ /**
297
+ * @dev Delete a resource asynchronously
298
+ * @template TargetResource The target resource, e.g. Extension.Subscription or Extension.ManagementGroup or Extension.ResourceGroup
299
+ * @template ExtensionResource The resource being deleted
300
+ * @template LroHeaders Optional. Allows overriding the headers returned in the Accepted response
301
+ * @template Parameters Optional. Additional parameters after the path parameters
302
+ * @template Response Optional. The success response(s) for the delete operation
303
+ * @template Error Optional. The error response, if non-standard.
304
+ */
305
+ @enforceConstraint(TargetResource, Foundations.Resource)
306
+ @enforceConstraint(ExtensionResource, Foundations.Resource)
307
+ op DeleteWithoutOkAsync<
308
+ TargetResource extends Foundations.SimpleResource,
309
+ ExtensionResource extends Foundations.SimpleResource,
310
+ LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader &
311
+ Azure.Core.Foundations.RetryAfterHeader,
312
+ Parameters extends {} = {},
313
+ Response extends {} = ArmDeleteAcceptedLroResponse<LroHeaders> | ArmDeletedNoContentResponse,
314
+ Error extends {} = ErrorResponse
315
+ > is DeleteAsyncBase<TargetResource, ExtensionResource, Response, Parameters, Error>;
316
+
317
+ /**
318
+ * Delete a resource synchronously
319
+ * @template TargetResource The target resource, e.g. Extension.Subscription or Extension.ManagementGroup or Extension.ResourceGroup
320
+ * @template ExtensionResource The resource being deleted
321
+ * @template Parameters Optional. Additional parameters after the path parameters
322
+ * @template Response Optional. The success response(s) for the delete operation
323
+ * @template Error Optional. The error response, if non-standard.
324
+ */
325
+ @autoRoute
326
+ @doc("Delete a {name}", ExtensionResource)
327
+ @armResourceDelete(ExtensionResource)
328
+ @enforceConstraint(TargetResource, Foundations.Resource)
329
+ @enforceConstraint(ExtensionResource, Foundations.Resource)
330
+ @delete
331
+ op DeleteSync<
332
+ TargetResource extends Foundations.SimpleResource,
333
+ ExtensionResource extends Foundations.SimpleResource,
334
+ Parameters extends {} = {},
335
+ Response extends {} = ArmDeletedResponse | ArmDeletedNoContentResponse,
336
+ Error = ErrorResponse
337
+ >(
338
+ ...ExtensionInstanceParameters<TargetResource, ExtensionResource>,
339
+ ...Parameters,
340
+ ): Response | Error;
341
+
342
+ /**
343
+ * A long-running resource action.
344
+ * @template TargetResource The target resource, e.g. Extension.Subscription or Extension.ManagementGroup or Extension.ResourceGroup
345
+ * @template ExtensionResource The resource being acted upon
346
+ * @template Request The request model for the action
347
+ * @template Response The response type for the action
348
+ * @template Parameters Optional. Additional parameters after the path parameters
349
+ * @template Error Optional. The error response, if non-standard.
350
+ * @template OptionalRequestBody Optional. Indicates whether the request body is optional.
351
+ */
352
+ @autoRoute
353
+ @armResourceAction(ExtensionResource)
354
+ @enforceConstraint(TargetResource, Foundations.Resource)
355
+ @enforceConstraint(ExtensionResource, Foundations.Resource)
356
+ @post
357
+ op ActionAsyncBase<
358
+ TargetResource extends Foundations.SimpleResource,
359
+ ExtensionResource extends Foundations.SimpleResource,
360
+ Request extends TypeSpec.Reflection.Model | void,
361
+ Response extends TypeSpec.Reflection.Model | void,
362
+ Parameters extends {} = {},
363
+ Error extends {} = ErrorResponse,
364
+ OptionalRequestBody extends valueof boolean = false
365
+ >(
366
+ ...ExtensionInstanceParameters<TargetResource, ExtensionResource>,
367
+ ...Parameters,
368
+
369
+ @doc("The content of the action request")
370
+ @armBodyRoot(OptionalRequestBody)
371
+ body: Request,
372
+ ): Response | Error;
373
+
374
+ /**
375
+ * @dev A long-running resource action.
376
+ * @template TargetResource The target resource, e.g. Extension.Subscription or Extension.ManagementGroup or Extension.ResourceGroup
377
+ * @template ExtensionResource The resource being acted upon
378
+ * @template Request The request model for the action
379
+ * @template Response The response model for the action
380
+ * @template LroHeaders Optional. Allows overriding the headers returned in the Accepted response
381
+ * @template Parameters Optional. Additional parameters after the path parameters
382
+ * @template Error Optional. The error response, if non-standard.
383
+ * @template OptionalRequestBody Optional. Indicates whether the body parameter is optional.
384
+ */
385
+ @returnsDoc("Azure operation completed successfully.")
386
+ @enforceConstraint(ExtensionResource, Foundations.Resource)
387
+ op ActionAsync<
388
+ TargetResource extends Foundations.SimpleResource,
389
+ ExtensionResource extends Foundations.SimpleResource,
390
+ Request extends TypeSpec.Reflection.Model | void,
391
+ Response extends TypeSpec.Reflection.Model | void,
392
+ LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
393
+ Azure.Core.StatusMonitorPollingOptions<ArmOperationStatus>,
394
+ Response,
395
+ string
396
+ > &
397
+ Azure.Core.Foundations.RetryAfterHeader,
398
+ Parameters extends {} = {},
399
+ Error extends {} = ErrorResponse,
400
+ OptionalRequestBody extends valueof boolean = false
401
+ > is ActionAsyncBase<
402
+ TargetResource,
403
+ ExtensionResource,
404
+ Request,
405
+ ArmAcceptedLroResponse<"Resource operation accepted.", LroHeaders> | Response,
406
+ Parameters,
407
+ Error,
408
+ OptionalRequestBody
409
+ >;
410
+
411
+ /**
412
+ * A synchronous resource action.
413
+ * @template TargetResource The target resource, e.g. Extension.Subscription or Extension.ManagementGroup or Extension.ResourceGroup
414
+ * @template ExtensionResource The resource being acted upon
415
+ * @template Request The request model for the action
416
+ * @template Response The response model for the action
417
+ * @template Parameters Optional. Additional parameters after the path parameters
418
+ * @template Error Optional. The error response, if non-standard.
419
+ * @template OptionalRequestBody Optional. Indicates whether the body parameter is optional.
420
+ */
421
+ @autoRoute
422
+ @armResourceAction(ExtensionResource)
423
+ @enforceConstraint(TargetResource, Foundations.Resource)
424
+ @enforceConstraint(ExtensionResource, Foundations.Resource)
425
+ @post
426
+ @returnsDoc("Azure operation completed successfully.")
427
+ op ActionSync<
428
+ TargetResource extends Foundations.SimpleResource,
429
+ ExtensionResource extends Foundations.SimpleResource,
430
+ Request extends TypeSpec.Reflection.Model | void,
431
+ Response extends TypeSpec.Reflection.Model | void,
432
+ Parameters extends {} = {},
433
+ Error extends {} = ErrorResponse,
434
+ OptionalRequestBody extends valueof boolean = false
435
+ >(
436
+ ...ExtensionInstanceParameters<TargetResource, ExtensionResource>,
437
+ ...Parameters,
438
+
439
+ @doc("The content of the action request")
440
+ @armBodyRoot(OptionalRequestBody)
441
+ body: Request,
442
+ ): Response | Error;
443
+
444
+ /**
445
+ * @dev A long-running resource action that returns no content.
446
+ * @template TargetResource The target resource, e.g. Extension.Subscription or Extension.ManagementGroup or Extension.ResourceGroup
447
+ * @template ExtensionResource The resource being acted upon
448
+ * @template Request The request model for the action
449
+ * @template LroHeaders Optional. Allows overriding the headers returned in the Accepted response
450
+ * @template Parameters Optional. Additional parameters after the path parameters
451
+ * @template Error Optional. The error response, if non-standard.
452
+ * @template OptionalRequestBody Optional. Indicates whether the body parameter is optional.
453
+ */
454
+ @enforceConstraint(TargetResource, Foundations.Resource)
455
+ @enforceConstraint(ExtensionResource, Foundations.Resource)
456
+ op ActionNoResponseContentAsync<
457
+ TargetResource extends Foundations.SimpleResource,
458
+ ExtensionResource extends Foundations.SimpleResource,
459
+ Request extends TypeSpec.Reflection.Model | void,
460
+ LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
461
+ Azure.Core.StatusMonitorPollingOptions<ArmOperationStatus>,
462
+ void,
463
+ string
464
+ > &
465
+ Azure.Core.Foundations.RetryAfterHeader,
466
+ Parameters extends {} = {},
467
+ Error extends {} = ErrorResponse,
468
+ OptionalRequestBody extends valueof boolean = false
469
+ > is ActionAsyncBase<
470
+ TargetResource,
471
+ ExtensionResource,
472
+ Request,
473
+ ArmAcceptedLroResponse<"Resource operation accepted.", LroHeaders>,
474
+ Parameters,
475
+ Error,
476
+ OptionalRequestBody
477
+ >;
478
+
479
+ /**
480
+ * A synchronous resource action that returns no content.
481
+ * @template TargetResource The target resource, e.g. Extension.Subscription or Extension.ManagementGroup or Extension.ResourceGroup
482
+ * @template ExtensionResource The resource being acted upon
483
+ * @template Request The request model for the action
484
+ * @template Parameters Optional. Additional parameters after the path parameters
485
+ * @template Error Optional. The error response, if non-standard.
486
+ * @template OptionalRequestBody Optional. Indicates whether the request body is optional.
487
+ */
488
+ @autoRoute
489
+ @armResourceAction(ExtensionResource)
490
+ @enforceConstraint(TargetResource, Foundations.Resource)
491
+ @enforceConstraint(ExtensionResource, Foundations.Resource)
492
+ @post
493
+ op ActionNoContentSync<
494
+ TargetResource extends Foundations.SimpleResource,
495
+ ExtensionResource extends Foundations.SimpleResource,
496
+ Request extends TypeSpec.Reflection.Model | void,
497
+ Parameters extends {} = {},
498
+ Error extends {} = ErrorResponse,
499
+ OptionalRequestBody extends valueof boolean = false
500
+ >(
501
+ ...ExtensionInstanceParameters<TargetResource, ExtensionResource>,
502
+ ...Parameters,
503
+
504
+ @doc("The content of the action request")
505
+ @armBodyRoot(OptionalRequestBody)
506
+ body: Request,
507
+ ): ArmNoContentResponse<"Action completed successfully."> | Error;