@azure-tools/typespec-azure-resource-manager 0.60.0-dev.0 → 0.60.0-dev.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 (57) hide show
  1. package/README.md +28 -8
  2. package/dist/generated-defs/Azure.ResourceManager.CommonTypes.Private.d.ts +5 -0
  3. package/dist/generated-defs/Azure.ResourceManager.CommonTypes.Private.d.ts.map +1 -1
  4. package/dist/generated-defs/Azure.ResourceManager.Legacy.d.ts +13 -1
  5. package/dist/generated-defs/Azure.ResourceManager.Legacy.d.ts.map +1 -1
  6. package/dist/generated-defs/Azure.ResourceManager.Private.d.ts +11 -0
  7. package/dist/generated-defs/Azure.ResourceManager.Private.d.ts.map +1 -1
  8. package/dist/generated-defs/Azure.ResourceManager.d.ts +2 -1
  9. package/dist/generated-defs/Azure.ResourceManager.d.ts.map +1 -1
  10. package/dist/src/common-types.d.ts +1 -1
  11. package/dist/src/common-types.js +1 -1
  12. package/dist/src/commontypes.private.decorators.d.ts +3 -1
  13. package/dist/src/commontypes.private.decorators.d.ts.map +1 -1
  14. package/dist/src/commontypes.private.decorators.js +5 -0
  15. package/dist/src/commontypes.private.decorators.js.map +1 -1
  16. package/dist/src/index.d.ts +1 -0
  17. package/dist/src/index.d.ts.map +1 -1
  18. package/dist/src/index.js +1 -0
  19. package/dist/src/index.js.map +1 -1
  20. package/dist/src/namespace.d.ts.map +1 -1
  21. package/dist/src/namespace.js +3 -3
  22. package/dist/src/namespace.js.map +1 -1
  23. package/dist/src/private.decorators.d.ts +1 -1
  24. package/dist/src/private.decorators.d.ts.map +1 -1
  25. package/dist/src/private.decorators.js +54 -34
  26. package/dist/src/private.decorators.js.map +1 -1
  27. package/dist/src/resource.d.ts +7 -3
  28. package/dist/src/resource.d.ts.map +1 -1
  29. package/dist/src/resource.js +18 -6
  30. package/dist/src/resource.js.map +1 -1
  31. package/dist/src/rules/arm-resource-operation-response.js +14 -14
  32. package/dist/src/rules/arm-resource-operation-response.js.map +1 -1
  33. package/dist/src/state.d.ts +2 -0
  34. package/dist/src/state.d.ts.map +1 -1
  35. package/dist/src/state.js +2 -0
  36. package/dist/src/state.js.map +1 -1
  37. package/dist/src/tsp-index.d.ts.map +1 -1
  38. package/dist/src/tsp-index.js +2 -1
  39. package/dist/src/tsp-index.js.map +1 -1
  40. package/lib/arm.tsp +2 -1
  41. package/lib/common-types/commontypes.private.decorators.tsp +5 -0
  42. package/lib/common-types/types.tsp +6 -2
  43. package/lib/decorators.tsp +2 -1
  44. package/lib/interfaces.tsp +3 -0
  45. package/lib/{Legacy → legacy-types}/arm.legacy.tsp +3 -1
  46. package/lib/{Legacy → legacy-types}/extension-operations.tsp +37 -1
  47. package/lib/{Legacy → legacy-types}/extension.tsp +33 -8
  48. package/lib/{Legacy/decorator.tsp → legacy-types/legacy.decorators.tsp} +15 -1
  49. package/lib/{Legacy → legacy-types}/operations.tsp +156 -11
  50. package/lib/legacy-types/private-endpoints.tsp +196 -0
  51. package/lib/legacy-types/resource.tsp +92 -0
  52. package/lib/operations.tsp +8 -8
  53. package/lib/private-endpoints.tsp +379 -0
  54. package/lib/private.decorators.tsp +15 -0
  55. package/package.json +1 -1
  56. /package/lib/{Legacy → legacy-types}/interfaces.tsp +0 -0
  57. /package/lib/{Legacy → legacy-types}/managed-identity.tsp +0 -0
@@ -28,6 +28,7 @@ interface ExtensionOperations<
28
28
  * @template OptionalRequestBody Optional. Indicates whether the request body is optional
29
29
  * @template ErrorType Optional. The error response, if non-standard.
30
30
  * @template OperationOptions Optional. The route options for the operation.
31
+ * @template Request Optional. The request body for the createOrUpdate operation.
31
32
  */
32
33
  @armOperationRoute(OperationOptions)
33
34
  @doc("Create a {name}", Resource)
@@ -45,12 +46,13 @@ interface ExtensionOperations<
45
46
  >,
46
47
  OptionalRequestBody extends valueof boolean = false,
47
48
  ErrorType extends {} = ErrorResponse,
48
- OperationOptions extends valueof ArmOperationOptions = #{ useStaticRoute: false }
49
+ OperationOptions extends valueof ArmOperationOptions = #{ useStaticRoute: false },
50
+ Request extends {} | void = Resource
49
51
  >(
50
52
  ...TargetParameters,
51
53
  ...ExtensionInstanceParameters,
52
54
  ...Parameters,
53
- @doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) resource: Resource,
55
+ @doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) resource: Request,
54
56
  ): Response | ErrorType;
55
57
 
56
58
  /**
@@ -61,6 +63,7 @@ interface ExtensionOperations<
61
63
  * @template OptionalRequestBody Optional. Indicates whether the request body is optional
62
64
  * @template ErrorType Optional. The error response, if non-standard.
63
65
  * @template OperationOptions Optional. The route options for the operation.
66
+ * @template Request Optional. The request body for the createOrUpdate operation.
64
67
  */
65
68
  #suppress "@azure-tools/typespec-azure-core/no-private-usage"
66
69
  @armOperationRoute(OperationOptions)
@@ -73,12 +76,13 @@ interface ExtensionOperations<
73
76
  Response extends {} = ArmResourceUpdatedResponse<Resource> | ArmResourceCreatedSyncResponse<Resource>,
74
77
  OptionalRequestBody extends valueof boolean = false,
75
78
  ErrorType extends {} = ErrorResponse,
76
- OperationOptions extends valueof ArmOperationOptions = #{ useStaticRoute: false }
79
+ OperationOptions extends valueof ArmOperationOptions = #{ useStaticRoute: false },
80
+ Request extends {} | void = Resource
77
81
  >(
78
82
  ...TargetParameters,
79
83
  ...ExtensionInstanceParameters,
80
84
  ...Parameters,
81
- @doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) resource: Resource,
85
+ @doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) resource: Request,
82
86
  ): Response | ErrorType;
83
87
 
84
88
  /**
@@ -98,7 +102,7 @@ interface ExtensionOperations<
98
102
  @patch(#{ implicitOptionality: false })
99
103
  CustomPatchAsync<
100
104
  Resource extends Foundations.SimpleResource,
101
- PatchModel extends {} = Azure.ResourceManager.Foundations.TagsUpdateModel<Resource>,
105
+ PatchModel extends {} | void = Azure.ResourceManager.Foundations.TagsUpdateModel<Resource>,
102
106
  LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
103
107
  Azure.Core.StatusMonitorPollingOptions<ArmOperationStatus>,
104
108
  Resource,
@@ -136,7 +140,7 @@ interface ExtensionOperations<
136
140
  @patch(#{ implicitOptionality: false })
137
141
  CustomPatchSync<
138
142
  Resource extends Foundations.SimpleResource,
139
- PatchModel extends {} = Azure.ResourceManager.Foundations.TagsUpdateModel<Resource>,
143
+ PatchModel extends {} | void = Azure.ResourceManager.Foundations.TagsUpdateModel<Resource>,
140
144
  Parameters extends {} = {},
141
145
  Response extends {} = ArmResponse<Resource>,
142
146
  OptionalRequestBody extends valueof boolean = false,
@@ -261,6 +265,27 @@ interface ExtensionOperations<
261
265
  OperationOptions extends valueof ArmOperationOptions = #{ useStaticRoute: false }
262
266
  >(...TargetParameters, ...ExtensionParentParameters, ...Parameters): Response | ErrorType;
263
267
 
268
+ /**
269
+ * List a resource, without pagination
270
+ * @template Resource The resource being listed
271
+ * @template Parameters Optional. Additional parameters after the path parameters
272
+ * @template Response Optional. The response returned by the list
273
+ * @template ErrorType Optional. The error response, if non-standard.
274
+ * @template OperationOptions Optional. The route options for the operation.
275
+ */
276
+ @armOperationRoute(OperationOptions)
277
+ @doc("List a {name}", Resource)
278
+ @get
279
+ @listsResource(Resource)
280
+ @armResourceList(Resource)
281
+ ListSinglePage<
282
+ Resource extends Foundations.SimpleResource,
283
+ Parameters extends {} = {},
284
+ Response extends {} = ArmResponse<ResourceListResult<Resource>>,
285
+ ErrorType extends {} = ErrorResponse,
286
+ OperationOptions extends valueof ArmOperationOptions = #{ useStaticRoute: false }
287
+ >(...TargetParameters, ...ExtensionParentParameters, ...Parameters): Response | ErrorType;
288
+
264
289
  /**
265
290
  * A synchronous resource action.
266
291
  * @template Resource The resource being acted upon
@@ -279,7 +304,7 @@ interface ExtensionOperations<
279
304
  @returnsDoc("Azure operation completed successfully.")
280
305
  ActionSync<
281
306
  Resource extends Foundations.SimpleResource,
282
- Request extends TypeSpec.Reflection.Model | void,
307
+ Request,
283
308
  Response extends TypeSpec.Reflection.Model | void,
284
309
  Parameters extends {} = {},
285
310
  OptionalRequestBody extends valueof boolean = false,
@@ -316,7 +341,7 @@ interface ExtensionOperations<
316
341
  @returnsDoc("Azure operation completed successfully.")
317
342
  ActionAsync<
318
343
  Resource extends Foundations.SimpleResource,
319
- Request extends TypeSpec.Reflection.Model | void,
344
+ Request,
320
345
  Result extends TypeSpec.Reflection.Model | void,
321
346
  LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
322
347
  Azure.Core.StatusMonitorPollingOptions<ArmOperationStatus>,
@@ -12,11 +12,19 @@ model ArmOperationOptions {
12
12
  /** The status route for operations to use */
13
13
  route?: string;
14
14
  }
15
+
16
+ /** Options for customizing the behavior of a custom azure resource */
17
+ model CustomResourceOptions {
18
+ /** Should the resource be marked as an Azure resource */
19
+ isAzureResource?: boolean;
20
+ }
21
+
15
22
  /**
16
23
  * This decorator is used on resources that do not satisfy the definition of a resource
17
24
  * but need to be identified as such.
25
+ * @param options Options for customizing the behavior of the resource
18
26
  */
19
- extern dec customAzureResource(target: Model);
27
+ extern dec customAzureResource(target: Model, options?: valueof CustomResourceOptions);
20
28
 
21
29
  /**
22
30
  * Specify an external reference that should be used when emitting this type.
@@ -31,3 +39,9 @@ extern dec externalTypeRef(entity: Model | ModelProperty, jsonRef: valueof strin
31
39
  * @param route Optional route to associate with the operation
32
40
  */
33
41
  extern dec armOperationRoute(target: Operation, route?: valueof ArmOperationOptions);
42
+
43
+ /**
44
+ * Signifies that a Resource is represented using a library type in generated SDKs.
45
+ * @param target The model to that is an external resource
46
+ */
47
+ extern dec armExternalType(target: Model);
@@ -45,6 +45,7 @@ interface RoutedOperations<
45
45
  * @template OptionalRequestBody Optional. Indicates whether the request body is optional
46
46
  * @template OverrideErrorType Optional. The error response, if non-standard.
47
47
  * @template OverrideRouteOptions Optional. The route options for the operation.
48
+ * @template Request Optional. The request body for the createOrUpdate operation.
48
49
  */
49
50
  @doc("Create a {name}", Resource)
50
51
  @armOperationRoute(OverrideRouteOptions)
@@ -63,12 +64,13 @@ interface RoutedOperations<
63
64
  >,
64
65
  OptionalRequestBody extends valueof boolean = false,
65
66
  OverrideErrorType extends {} = ErrorType,
66
- OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
67
+ OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute,
68
+ Request extends {} | void = Resource
67
69
  >(
68
70
  ...ParentParameters,
69
71
  ...ResourceTypeParameter,
70
72
  ...Parameters,
71
- @doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) resource: Resource,
73
+ @doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) resource: Request,
72
74
  ): Response | OverrideErrorType;
73
75
 
74
76
  /**
@@ -79,6 +81,7 @@ interface RoutedOperations<
79
81
  * @template OptionalRequestBody Optional. Indicates whether the request body is optional
80
82
  * @template OverrideErrorType Optional. The error response, if non-standard.
81
83
  * @template OverrideRouteOptions Optional. The route options for the operation.
84
+ * @template Request Optional. The request body for the createOrUpdate operation.
82
85
  */
83
86
  #suppress "@azure-tools/typespec-azure-core/no-private-usage"
84
87
  @armOperationRoute(OverrideRouteOptions)
@@ -92,12 +95,13 @@ interface RoutedOperations<
92
95
  Response extends {} = ArmResourceUpdatedResponse<Resource> | ArmResourceCreatedSyncResponse<Resource>,
93
96
  OptionalRequestBody extends valueof boolean = false,
94
97
  OverrideErrorType extends {} = ErrorType,
95
- OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
98
+ OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute,
99
+ Request extends {} | void = Resource
96
100
  >(
97
101
  ...ParentParameters,
98
102
  ...ResourceTypeParameter,
99
103
  ...Parameters,
100
- @doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) resource: Resource,
104
+ @doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) resource: Request,
101
105
  ): Response | OverrideErrorType;
102
106
 
103
107
  /**
@@ -118,7 +122,7 @@ interface RoutedOperations<
118
122
  @patch(#{ implicitOptionality: false })
119
123
  CustomPatchAsync<
120
124
  Resource extends Foundations.SimpleResource,
121
- PatchModel extends {} = Azure.ResourceManager.Foundations.TagsUpdateModel<Resource>,
125
+ PatchModel extends {} | void = Azure.ResourceManager.Foundations.TagsUpdateModel<Resource>,
122
126
  LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
123
127
  Azure.Core.StatusMonitorPollingOptions<ArmOperationStatus>,
124
128
  Resource,
@@ -157,7 +161,7 @@ interface RoutedOperations<
157
161
  @patch(#{ implicitOptionality: false })
158
162
  CustomPatchSync<
159
163
  Resource extends Foundations.SimpleResource,
160
- PatchModel extends {} = Azure.ResourceManager.Foundations.TagsUpdateModel<Resource>,
164
+ PatchModel extends {} | void = Azure.ResourceManager.Foundations.TagsUpdateModel<Resource>,
161
165
  Parameters extends {} = {},
162
166
  Response extends {} = ArmResponse<Resource>,
163
167
  OptionalRequestBody extends valueof boolean = false,
@@ -289,6 +293,29 @@ interface RoutedOperations<
289
293
  OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
290
294
  >(...ParentParameters, ...Parameters): Response | OverrideErrorType;
291
295
 
296
+ /**
297
+ * List a single page of the resource
298
+ * @template Resource The resource being listed
299
+ * @template Parameters Optional. Additional parameters after the path parameters
300
+ * @template Response Optional. The response returned by the list
301
+ * @template OverrideErrorType Optional. The error response, if non-standard.
302
+ * @template OverrideRouteOptions Optional. The route options for the operation.
303
+ */
304
+ @segmentOf(ResourceTypeParameter)
305
+ @doc("List a {name}", Resource)
306
+ @get
307
+ @listsResource(Resource)
308
+ @armOperationRoute(OverrideRouteOptions)
309
+ @armResourceList(Resource)
310
+ @Private.armUpdateProviderNamespace
311
+ ListSinglePage<
312
+ Resource extends Foundations.SimpleResource,
313
+ Parameters extends {} = {},
314
+ Response extends {} = ArmResponse<ResourceListResult<Resource>>,
315
+ OverrideErrorType extends {} = ErrorType,
316
+ OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
317
+ >(...ParentParameters, ...Parameters): Response | OverrideErrorType;
318
+
292
319
  /**
293
320
  * A synchronous resource action.
294
321
  * @template Resource The resource being acted upon
@@ -308,8 +335,8 @@ interface RoutedOperations<
308
335
  @returnsDoc("Azure operation completed successfully.")
309
336
  ActionSync<
310
337
  Resource extends Foundations.SimpleResource,
311
- Request extends TypeSpec.Reflection.Model | void,
312
- Response extends TypeSpec.Reflection.Model | void,
338
+ Request,
339
+ Response,
313
340
  Parameters extends {} = {},
314
341
  OptionalRequestBody extends valueof boolean = false,
315
342
  OverrideErrorType extends {} = ErrorType,
@@ -346,7 +373,7 @@ interface RoutedOperations<
346
373
  @returnsDoc("Azure operation completed successfully.")
347
374
  ActionAsync<
348
375
  Resource extends Foundations.SimpleResource,
349
- Request extends TypeSpec.Reflection.Model | void,
376
+ Request,
350
377
  Result extends TypeSpec.Reflection.Model | void,
351
378
  LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
352
379
  Azure.Core.StatusMonitorPollingOptions<ArmOperationStatus>,
@@ -460,6 +487,42 @@ op CustomPatchSync<
460
487
  OptionalRequestBody
461
488
  >;
462
489
 
490
+ /**
491
+ * DEPRECATED: use CreateOrReplaceAsync instead.
492
+ * A long-running resource CreateOrUpdate (PUT)
493
+ * @template Resource the resource being created or updated
494
+ * @template Request The request body for the operation
495
+ * @template BaseParameters Optional. Allows overriding the operation parameters
496
+ * @template LroHeaders Optional. Allows overriding the lro headers returned on resource create
497
+ * @template Parameters Optional. Additional parameters after the path parameters
498
+ * @template Response Optional. The success response for the createOrUpdate operation
499
+ * @template Error Optional. The error response, if non-standard.
500
+ * @template OptionalRequestBody Optional. Indicates whether the request body is optional
501
+ */
502
+ alias CreateOrUpdateAsync<
503
+ Resource extends Foundations.SimpleResource,
504
+ Request extends {} | void = Resource,
505
+ BaseParameters = DefaultBaseParameters<Resource>,
506
+ LroHeaders extends TypeSpec.Reflection.Model = ArmAsyncOperationHeader<FinalResult = Resource> &
507
+ Azure.Core.Foundations.RetryAfterHeader,
508
+ Parameters extends {} = {},
509
+ Response extends {} = ArmResourceUpdatedResponse<Resource> | ArmResourceCreatedResponse<
510
+ Resource,
511
+ LroHeaders
512
+ >,
513
+ Error extends {} = ErrorResponse,
514
+ OptionalRequestBody extends valueof boolean = false
515
+ > = CreateOrReplaceAsync<
516
+ Resource,
517
+ Request,
518
+ BaseParameters,
519
+ LroHeaders,
520
+ Parameters,
521
+ Response,
522
+ Error,
523
+ OptionalRequestBody
524
+ >;
525
+
463
526
  /**
464
527
  * A long-running resource CreateOrUpdate (PUT)
465
528
  * @template Resource the resource being created or updated
@@ -477,7 +540,7 @@ op CustomPatchSync<
477
540
  @Private.enforceConstraint(Resource, Foundations.Resource)
478
541
  @Azure.Core.Foundations.Private.defaultFinalStateVia(#["location", "azure-async-operation"])
479
542
  @put
480
- op CreateOrUpdateAsync<
543
+ op CreateOrReplaceAsync<
481
544
  Resource extends Foundations.SimpleResource,
482
545
  Request extends {} | void = Resource,
483
546
  BaseParameters = DefaultBaseParameters<Resource>,
@@ -498,6 +561,35 @@ op CreateOrUpdateAsync<
498
561
  OptionalRequestBody
499
562
  >;
500
563
 
564
+ /**
565
+ * DEPRECATED: use CreateOrReplaceSync instead.
566
+ * Synchronous PUT operation for Azure Resource Manager resources
567
+ * @template Resource the resource being created or replaced
568
+ * @template Request The request body for the operation
569
+ * @template BaseParameters Optional. Allows overriding the operation parameters
570
+ * @template Parameters Optional. Additional parameters after the path parameters
571
+ * @template Response Optional. The success response for the createOrUpdate operation
572
+ * @template Error Optional. The error response, if non-standard.
573
+ * @template OptionalRequestBody Optional. Indicates whether the request body is optional
574
+ */
575
+ alias CreateOrUpdateSync<
576
+ Resource extends Foundations.SimpleResource,
577
+ Request extends {} | void = Resource,
578
+ BaseParameters = DefaultBaseParameters<Resource>,
579
+ Parameters extends {} = {},
580
+ Response extends {} = ArmResourceUpdatedResponse<Resource> | ArmResourceCreatedSyncResponse<Resource>,
581
+ Error extends {} = ErrorResponse,
582
+ OptionalRequestBody extends valueof boolean = false
583
+ > = CreateOrReplaceSync<
584
+ Resource,
585
+ Request,
586
+ BaseParameters,
587
+ Parameters,
588
+ Response,
589
+ Error,
590
+ OptionalRequestBody
591
+ >;
592
+
501
593
  /**
502
594
  * Synchronous PUT operation for Azure Resource Manager resources
503
595
  * @template Resource the resource being created or replaced
@@ -513,7 +605,7 @@ op CreateOrUpdateAsync<
513
605
  @armResourceCreateOrUpdate(Resource)
514
606
  @Private.enforceConstraint(Resource, Foundations.Resource)
515
607
  @put
516
- op CreateOrUpdateSync<
608
+ op CreateOrReplaceSync<
517
609
  Resource extends Foundations.SimpleResource,
518
610
  Request extends {} | void = Resource,
519
611
  BaseParameters = DefaultBaseParameters<Resource>,
@@ -529,12 +621,65 @@ op CreateOrUpdateSync<
529
621
  OptionalRequestBody
530
622
  >;
531
623
 
624
+ /**
625
+ * A resource list operation, at the subscription scope, that lists only a single page
626
+ * @template Resource the resource being patched
627
+ * @template Parameters Optional. Additional parameters after the path parameters
628
+ * @template Response Optional. The success response for the list operation
629
+ * @template Error Optional. The error response, if non-standard.
630
+ */
631
+ @autoRoute
632
+ @doc("List {name} resources by subscription ID", Resource)
633
+ @listsResource(Resource)
634
+ @segmentOf(Resource)
635
+ @armResourceList(Resource)
636
+ @get
637
+ @Private.enforceConstraint(Resource, Foundations.Resource)
638
+ op ArmListSinglePageBySubscription<
639
+ Resource extends Foundations.SimpleResource,
640
+ Parameters extends {} = {},
641
+ Response extends {} = ArmResponse<ResourceListResult<Resource>>,
642
+ Error extends {} = ErrorResponse
643
+ > is ArmReadOperation<SubscriptionScope<Resource> & Parameters, Response, Error>;
644
+
645
+ /**
646
+ * A resource list operation, at the scope of the resource's parent that lists only a single page.
647
+ * @template Resource the resource being patched
648
+ * @template BaseParameters Optional. Allows overriding the operation parameters
649
+ * @template ParentName Optional. The name of the parent resource
650
+ * @template ParentFriendlyName Optional. The friendly name of the parent resource
651
+ * @template Parameters Optional. Additional parameters after the path parameters
652
+ * @template Response Optional. The success response for the list operation
653
+ * @template Error Optional. The error response, if non-standard.
654
+ */
655
+ @get
656
+ @autoRoute
657
+ @listsResource(Resource)
658
+ @segmentOf(Resource)
659
+ @Private.armRenameListByOperation(Resource, ParentName, ParentFriendlyName, false) // This must come before @armResourceList!
660
+ @armResourceList(Resource)
661
+ @Private.enforceConstraint(Resource, Foundations.Resource)
662
+ op ArmListSinglePageByParent<
663
+ Resource extends Foundations.SimpleResource,
664
+ BaseParameters = DefaultBaseParameters<Resource>,
665
+ ParentName extends valueof string = "",
666
+ ParentFriendlyName extends valueof string = "",
667
+ Parameters extends {} = {},
668
+ Response extends {} = ArmResponse<ResourceListResult<Resource>>,
669
+ Error extends {} = ErrorResponse
670
+ > is ArmReadOperation<
671
+ ResourceParentParameters<Resource, BaseParameters> & Parameters,
672
+ Response,
673
+ Error
674
+ >;
675
+
532
676
  /**
533
677
  * @dev The base template for Azure Resource Manager PUT Operations.
534
678
  * @template HttpParameters The parameter object for the operation.
535
679
  * @template BodyParameter The body parameter
536
680
  * @template Response The response or union of responses for success.
537
681
  * @template ErrorResponse The error response.
682
+ * @template OptionalRequestBody Optional. Indicates whether the request body is optional
538
683
  */
539
684
  op CreateOperation<
540
685
  HttpParameters extends {},
@@ -0,0 +1,196 @@
1
+ import "@typespec/rest";
2
+ import "@typespec/http";
3
+
4
+ namespace Azure.ResourceManager.Legacy.PrivateEndpoints;
5
+
6
+ using Http;
7
+ using Azure.ResourceManager.Foundations;
8
+ using Rest;
9
+
10
+ /**
11
+ * @dev List the private endpoint connections over a resource
12
+ * @template ParentResource the parent resource of the PrivateEndpointConnection
13
+ * @template Resource Optional. The PrivateEndpointConnection resource being listed
14
+ * @template BaseParameters Optional. Allows overriding the operation parameters
15
+ * @template ParentName Optional. The name of the parent resource
16
+ * @template ParentFriendlyName Optional. The friendly name of the parent resource
17
+ * @template Parameters Optional. Additional parameters after the path parameters
18
+ * @template Response Optional. The success response for the list operation
19
+ * @template Error Optional. The error response, if non-standard.
20
+ */
21
+ @doc("List {name} PrivateEndpointConnections", ParentResource)
22
+ @get
23
+ @autoRoute
24
+ @listsResource(Resource)
25
+ @segmentOf(PrivateEndpointConnectionParameter)
26
+ @armResourceList(Resource)
27
+ @Private.enforceConstraint(ParentResource, Foundations.Resource)
28
+ op ListSinglePageByParent<
29
+ ParentResource extends Foundations.SimpleResource,
30
+ Resource extends PrivateEndpointConnectionResource,
31
+ BaseParameters = DefaultBaseParameters<ParentResource>,
32
+ Parameters extends {} = {},
33
+ Response extends {} = ArmResponse<ResourceListResult<Resource>>,
34
+ Error extends {} = ErrorResponse
35
+ > is ArmReadOperation<
36
+ ResourceInstanceParameters<ParentResource, BaseParameters> & Parameters,
37
+ Response,
38
+ Error
39
+ >;
40
+
41
+ /**
42
+ * @dev Synchronous PUT operation for a Private endpoint connection to a resource
43
+ * @template ParentResource the parent resource of the PrivateEndpointConnection
44
+ * @template Resource the PrivateEndpointConnection resource being created or updated
45
+ * @template BaseParameters Optional. Allows overriding the operation parameters
46
+ * @template Parameters Optional. Additional parameters after the path parameters
47
+ * @template Response Optional. The success response for the createOrUpdate operation
48
+ * @template Error Optional. The error response, if non-standard.
49
+ * @template OptionalRequestBody Optional. Indicates whether the request body is optional.
50
+ * @template Request Optional. The request body for the operation.
51
+ */
52
+ @autoRoute
53
+ @doc("Create a {name} PrivateEndpointConnection", ParentResource)
54
+ @armResourceCreateOrUpdate(Resource)
55
+ @Private.enforceConstraint(ParentResource, Foundations.Resource)
56
+ @put
57
+ op CreateOrReplaceSync<
58
+ ParentResource extends Foundations.SimpleResource,
59
+ Resource extends PrivateEndpointConnectionResource,
60
+ BaseParameters = DefaultBaseParameters<ParentResource>,
61
+ Parameters extends {} = {},
62
+ Response extends {} = ArmResourceUpdatedResponse<Resource> | ArmResourceCreatedSyncResponse<Resource>,
63
+ Error extends {} = ErrorResponse,
64
+ OptionalRequestBody extends valueof boolean = false,
65
+ Request extends {} | void = Resource
66
+ > is Azure.ResourceManager.Legacy.CreateOperation<
67
+ ResourceInstanceParameters<ParentResource, BaseParameters> &
68
+ KeysOf<PrivateEndpointConnectionParameter> &
69
+ Parameters,
70
+ Request,
71
+ Response,
72
+ Error,
73
+ OptionalRequestBody
74
+ >;
75
+
76
+ /**
77
+ * @dev A long-running resource CreateOrUpdate (PUT) for a PrivateEndpointConnection to a resource
78
+ * @template ParentResource the parent resource of the PrivateEndpointConnection
79
+ * @template Resource the PrivateEndpointConnection resource being created or updated
80
+ * @template BaseParameters Optional. Allows overriding the operation parameters
81
+ * @template LroHeaders Optional. Allows overriding the lro headers returned on resource create
82
+ * @template Parameters Optional. Additional parameters after the path parameters
83
+ * @template Response Optional. The success response for the createOrReplace operation
84
+ * @template Error Optional. The error response, if non-standard.
85
+ * @template OptionalRequestBody Optional. Indicates whether the request body is optional.
86
+ * @template Request Optional. The request body for the operation.
87
+ */
88
+ @autoRoute
89
+ @doc("Create a {name} PrivateEndpointConnection", ParentResource)
90
+ @armResourceCreateOrUpdate(Resource)
91
+ @Private.enforceConstraint(ParentResource, Foundations.Resource)
92
+ @Azure.Core.Foundations.Private.defaultFinalStateVia(#["location", "azure-async-operation"])
93
+ @put
94
+ op CreateOrReplaceAsync<
95
+ ParentResource extends Foundations.SimpleResource,
96
+ Resource extends PrivateEndpointConnectionResource,
97
+ BaseParameters = DefaultBaseParameters<ParentResource>,
98
+ LroHeaders extends TypeSpec.Reflection.Model = ArmAsyncOperationHeader<FinalResult = Resource> &
99
+ Azure.Core.Foundations.RetryAfterHeader,
100
+ Parameters extends {} = {},
101
+ Response extends {} = ArmResourceUpdatedResponse<Resource> | ArmResourceCreatedResponse<
102
+ Resource,
103
+ LroHeaders
104
+ >,
105
+ Error extends {} = ErrorResponse,
106
+ OptionalRequestBody extends valueof boolean = false,
107
+ Request extends {} | void = Resource
108
+ > is Azure.ResourceManager.Legacy.CreateOperation<
109
+ ResourceInstanceParameters<ParentResource, BaseParameters> &
110
+ KeysOf<PrivateEndpointConnectionParameter> &
111
+ Parameters,
112
+ Request,
113
+ Response,
114
+ Error,
115
+ OptionalRequestBody
116
+ >;
117
+
118
+ /**
119
+ * A long-running resource update using a custom PATCH payload (Asynchronous) to update a PrivateEndpointConnection to a resource.
120
+ * @template ParentResource the parent resource of the PrivateEndpointConnection
121
+ * @template Resource the PrivateEndpointConnection resource being updated
122
+ * @template PatchModel The input model for the PATCH request
123
+ * @template BaseParameters Optional. Allows overriding the operation parameters
124
+ * @template LroHeaders Optional. Allows overriding the lro headers returned in the Accepted response
125
+ * @template Parameters Optional. Additional parameters after the path parameters
126
+ * @template Response Optional. The success response for the patch operation
127
+ * @template Error Optional. The error response, if non-standard.
128
+ * @template OptionalRequestBody Optional. Indicates whether the request body is optional.
129
+ */
130
+ @autoRoute
131
+ @doc("Update a {name} PrivateEndpointConnection", ParentResource)
132
+ @armResourceUpdate(Resource)
133
+ @Private.enforceConstraint(ParentResource, Foundations.Resource)
134
+ @patch(#{ implicitOptionality: false })
135
+ op CustomPatchAsync<
136
+ ParentResource extends Foundations.SimpleResource,
137
+ Resource extends PrivateEndpointConnectionResource,
138
+ PatchModel extends {} | void = PrivateEndpointConnectionUpdate,
139
+ BaseParameters = DefaultBaseParameters<ParentResource>,
140
+ LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
141
+ Azure.Core.StatusMonitorPollingOptions<ArmOperationStatus>,
142
+ Resource,
143
+ string
144
+ > &
145
+ Azure.Core.Foundations.RetryAfterHeader,
146
+ Parameters extends {} = {},
147
+ Response extends {} = ArmResponse<Resource> | ArmAcceptedLroResponse<
148
+ "Resource update request accepted.",
149
+ LroHeaders
150
+ >,
151
+ Error extends {} = ErrorResponse,
152
+ OptionalRequestBody extends valueof boolean = false
153
+ > is Azure.ResourceManager.Legacy.UpdateOperation<
154
+ ResourceInstanceParameters<ParentResource, BaseParameters> &
155
+ KeysOf<PrivateEndpointConnectionParameter> &
156
+ Parameters,
157
+ PatchModel,
158
+ Response,
159
+ Error,
160
+ OptionalRequestBody
161
+ >;
162
+
163
+ /**
164
+ * @dev A resource update using a custom PATCH payload (synchronous) to update a PrivateEndpointConnection to a resource
165
+ * @template ParentResource The parent resource of the PrivateEndpointConnection
166
+ * @template Resource Optional. The PrivateEndpointConnection resource being patched
167
+ * @template PatchModel The input model for the PATCH request
168
+ * @template BaseParameters Optional. Allows overriding the operation parameters
169
+ * @template Parameters Optional. Additional parameters after the path parameters
170
+ * @template Response Optional. The success response for the patch operation
171
+ * @template Error Optional. The error response, if non-standard.
172
+ * @template OptionalRequestBody Optional. Indicates whether the request body is optional.
173
+ */
174
+ @autoRoute
175
+ @doc("Update a {name PrivateEndpointConnection}", ParentResource)
176
+ @armResourceUpdate(Resource)
177
+ @Private.enforceConstraint(ParentResource, Foundations.Resource)
178
+ @patch(#{ implicitOptionality: false })
179
+ op CustomPatchSync<
180
+ ParentResource extends Foundations.SimpleResource,
181
+ Resource extends PrivateEndpointConnectionResource,
182
+ PatchModel extends {} | void = PrivateEndpointConnectionUpdate,
183
+ BaseParameters = DefaultBaseParameters<ParentResource>,
184
+ Parameters extends {} = {},
185
+ Response extends {} = ArmResponse<Resource>,
186
+ Error extends {} = ErrorResponse,
187
+ OptionalRequestBody extends valueof boolean = false
188
+ > is Azure.ResourceManager.Legacy.UpdateOperation<
189
+ ResourceInstanceParameters<ParentResource, BaseParameters> &
190
+ KeysOf<PrivateEndpointConnectionParameter> &
191
+ Parameters,
192
+ PatchModel,
193
+ Response,
194
+ Error,
195
+ OptionalRequestBody
196
+ >;