@azure-tools/typespec-azure-resource-manager 0.58.0-dev.3 → 0.58.0-dev.4
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.
- package/README.md +40 -10
- package/dist/generated-defs/Azure.ResourceManager.Legacy.d.ts +14 -1
- package/dist/generated-defs/Azure.ResourceManager.Legacy.d.ts.map +1 -1
- package/dist/generated-defs/Azure.ResourceManager.d.ts +19 -5
- package/dist/generated-defs/Azure.ResourceManager.d.ts.map +1 -1
- package/dist/src/operations.d.ts +3 -0
- package/dist/src/operations.d.ts.map +1 -1
- package/dist/src/operations.js +37 -2
- package/dist/src/operations.js.map +1 -1
- package/dist/src/private.decorators.d.ts.map +1 -1
- package/dist/src/private.decorators.js.map +1 -1
- package/dist/src/resource.d.ts.map +1 -1
- package/dist/src/resource.js +22 -6
- package/dist/src/resource.js.map +1 -1
- package/dist/src/rules/arm-resource-interfaces.d.ts.map +1 -1
- package/dist/src/rules/arm-resource-interfaces.js +2 -1
- package/dist/src/rules/arm-resource-interfaces.js.map +1 -1
- package/dist/src/state.d.ts +1 -0
- package/dist/src/state.d.ts.map +1 -1
- package/dist/src/state.js +1 -0
- package/dist/src/state.js.map +1 -1
- package/dist/src/tsp-index.d.ts.map +1 -1
- package/dist/src/tsp-index.js +2 -1
- package/dist/src/tsp-index.js.map +1 -1
- package/lib/Legacy/decorator.tsp +18 -0
- package/lib/Legacy/extension.tsp +45 -23
- package/lib/Legacy/operations.tsp +92 -33
- package/lib/decorators.tsp +37 -5
- package/package.json +1 -1
package/lib/Legacy/decorator.tsp
CHANGED
|
@@ -2,6 +2,16 @@ using Reflection;
|
|
|
2
2
|
|
|
3
3
|
namespace Azure.ResourceManager.Legacy;
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* Route options for an operation
|
|
7
|
+
*/
|
|
8
|
+
model ArmOperationOptions {
|
|
9
|
+
/** Should a static route be used */
|
|
10
|
+
useStaticRoute?: boolean;
|
|
11
|
+
|
|
12
|
+
/** The status route for operations to use */
|
|
13
|
+
route?: string;
|
|
14
|
+
}
|
|
5
15
|
/**
|
|
6
16
|
* This decorator is used on resources that do not satisfy the definition of a resource
|
|
7
17
|
* but need to be identified as such.
|
|
@@ -13,3 +23,11 @@ extern dec customAzureResource(target: Model);
|
|
|
13
23
|
* @param jsonRef - External reference(e.g. "../../common.json#/definitions/Foo")
|
|
14
24
|
*/
|
|
15
25
|
extern dec externalTypeRef(entity: Model | ModelProperty, jsonRef: valueof string);
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Signifies that an operation is an Azure Resource Manager operation
|
|
29
|
+
* and optionally associates the operation with a route template.
|
|
30
|
+
* @param target The operation to associate the model with
|
|
31
|
+
* @param route Optional route to associate with the operation
|
|
32
|
+
*/
|
|
33
|
+
extern dec armOperationRoute(target: Operation, route?: valueof ArmOperationOptions);
|
package/lib/Legacy/extension.tsp
CHANGED
|
@@ -27,8 +27,9 @@ interface ExtensionOperations<
|
|
|
27
27
|
* @template Response Optional. The success response(s) for the PUT operation
|
|
28
28
|
* @template OptionalRequestBody Optional. Indicates whether the request body is optional
|
|
29
29
|
* @template ErrorType Optional. The error response, if non-standard.
|
|
30
|
+
* @template OperationOptions Optional. The route options for the operation.
|
|
30
31
|
*/
|
|
31
|
-
@
|
|
32
|
+
@armOperationRoute(OperationOptions)
|
|
32
33
|
@doc("Create a {name}", Resource)
|
|
33
34
|
@armResourceCreateOrUpdate(Resource)
|
|
34
35
|
@Azure.Core.Foundations.Private.defaultFinalStateVia(#["location", "azure-async-operation"])
|
|
@@ -43,7 +44,8 @@ interface ExtensionOperations<
|
|
|
43
44
|
LroHeaders
|
|
44
45
|
>,
|
|
45
46
|
OptionalRequestBody extends valueof boolean = false,
|
|
46
|
-
ErrorType extends {} = ErrorResponse
|
|
47
|
+
ErrorType extends {} = ErrorResponse,
|
|
48
|
+
OperationOptions extends valueof ArmOperationOptions = #{ useStaticRoute: false }
|
|
47
49
|
>(
|
|
48
50
|
...TargetParameters,
|
|
49
51
|
...ExtensionInstanceParameters,
|
|
@@ -58,9 +60,10 @@ interface ExtensionOperations<
|
|
|
58
60
|
* @template Response Optional. The success response(s) for the PUT operation
|
|
59
61
|
* @template OptionalRequestBody Optional. Indicates whether the request body is optional
|
|
60
62
|
* @template ErrorType Optional. The error response, if non-standard.
|
|
63
|
+
* @template OperationOptions Optional. The route options for the operation.
|
|
61
64
|
*/
|
|
62
65
|
#suppress "@azure-tools/typespec-azure-core/no-private-usage"
|
|
63
|
-
@
|
|
66
|
+
@armOperationRoute(OperationOptions)
|
|
64
67
|
@doc("Create a {name}", Resource)
|
|
65
68
|
@armResourceCreateOrUpdate(Resource)
|
|
66
69
|
@put
|
|
@@ -69,7 +72,8 @@ interface ExtensionOperations<
|
|
|
69
72
|
Parameters extends {} = {},
|
|
70
73
|
Response extends {} = ArmResourceUpdatedResponse<Resource> | ArmResourceCreatedSyncResponse<Resource>,
|
|
71
74
|
OptionalRequestBody extends valueof boolean = false,
|
|
72
|
-
ErrorType extends {} = ErrorResponse
|
|
75
|
+
ErrorType extends {} = ErrorResponse,
|
|
76
|
+
OperationOptions extends valueof ArmOperationOptions = #{ useStaticRoute: false }
|
|
73
77
|
>(
|
|
74
78
|
...TargetParameters,
|
|
75
79
|
...ExtensionInstanceParameters,
|
|
@@ -86,8 +90,9 @@ interface ExtensionOperations<
|
|
|
86
90
|
* @template Response Optional. The success response(s) for the PATCH operation
|
|
87
91
|
* @template OptionalRequestBody Optional. Indicates whether the request body is optional
|
|
88
92
|
* @template ErrorType Optional. The error response, if non-standard.
|
|
93
|
+
* @template OperationOptions Optional. The route options for the operation.
|
|
89
94
|
*/
|
|
90
|
-
@
|
|
95
|
+
@armOperationRoute(OperationOptions)
|
|
91
96
|
@doc("Update a {name}", Resource)
|
|
92
97
|
@armResourceUpdate(Resource)
|
|
93
98
|
@patch(#{ implicitOptionality: false })
|
|
@@ -106,7 +111,8 @@ interface ExtensionOperations<
|
|
|
106
111
|
LroHeaders
|
|
107
112
|
>,
|
|
108
113
|
OptionalRequestBody extends valueof boolean = false,
|
|
109
|
-
ErrorType extends {} = ErrorResponse
|
|
114
|
+
ErrorType extends {} = ErrorResponse,
|
|
115
|
+
OperationOptions extends valueof ArmOperationOptions = #{ useStaticRoute: false }
|
|
110
116
|
>(
|
|
111
117
|
...TargetParameters,
|
|
112
118
|
...ExtensionInstanceParameters,
|
|
@@ -122,8 +128,9 @@ interface ExtensionOperations<
|
|
|
122
128
|
* @template Response Optional. The success response(s) for the PATCH operation
|
|
123
129
|
* @template OptionalRequestBody Optional. Indicates whether the request body is optional
|
|
124
130
|
* @template ErrorType Optional. The error response, if non-standard.
|
|
131
|
+
* @template OperationOptions Optional. The route options for the operation.
|
|
125
132
|
*/
|
|
126
|
-
@
|
|
133
|
+
@armOperationRoute(OperationOptions)
|
|
127
134
|
@doc("Update a {name}", Resource)
|
|
128
135
|
@armResourceUpdate(Resource)
|
|
129
136
|
@patch(#{ implicitOptionality: false })
|
|
@@ -133,7 +140,8 @@ interface ExtensionOperations<
|
|
|
133
140
|
Parameters extends {} = {},
|
|
134
141
|
Response extends {} = ArmResponse<Resource>,
|
|
135
142
|
OptionalRequestBody extends valueof boolean = false,
|
|
136
|
-
ErrorType extends {} = ErrorResponse
|
|
143
|
+
ErrorType extends {} = ErrorResponse,
|
|
144
|
+
OperationOptions extends valueof ArmOperationOptions = #{ useStaticRoute: false }
|
|
137
145
|
>(
|
|
138
146
|
...TargetParameters,
|
|
139
147
|
...ExtensionInstanceParameters,
|
|
@@ -148,9 +156,10 @@ interface ExtensionOperations<
|
|
|
148
156
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
149
157
|
* @template Response Optional. The success response(s) for the delete operation
|
|
150
158
|
* @template ErrorType Optional. The error response, if non-standard.
|
|
159
|
+
* @template OperationOptions Optional. The route options for the operation.
|
|
151
160
|
*/
|
|
152
161
|
#suppress "@azure-tools/typespec-azure-core/no-response-body" "Valid"
|
|
153
|
-
@
|
|
162
|
+
@armOperationRoute(OperationOptions)
|
|
154
163
|
@doc("Delete a {name}", Resource)
|
|
155
164
|
@delete
|
|
156
165
|
@deletesResource(Resource)
|
|
@@ -161,7 +170,8 @@ interface ExtensionOperations<
|
|
|
161
170
|
Azure.Core.Foundations.RetryAfterHeader,
|
|
162
171
|
Parameters extends {} = {},
|
|
163
172
|
Response extends {} = ArmDeleteAcceptedLroResponse<LroHeaders> | ArmDeletedNoContentResponse,
|
|
164
|
-
ErrorType extends {} = ErrorResponse
|
|
173
|
+
ErrorType extends {} = ErrorResponse,
|
|
174
|
+
OperationOptions extends valueof ArmOperationOptions = #{ useStaticRoute: false }
|
|
165
175
|
>(...TargetParameters, ...ExtensionInstanceParameters, ...Parameters): Response | ErrorType;
|
|
166
176
|
|
|
167
177
|
/**
|
|
@@ -170,9 +180,10 @@ interface ExtensionOperations<
|
|
|
170
180
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
171
181
|
* @template Response Optional. The success response(s) for the delete operation
|
|
172
182
|
* @template ErrorType Optional. The error response, if non-standard.
|
|
183
|
+
* @template OperationOptions Optional. The route options for the operation.
|
|
173
184
|
*/
|
|
174
185
|
#suppress "@azure-tools/typespec-azure-core/no-response-body" "Valid"
|
|
175
|
-
@
|
|
186
|
+
@armOperationRoute(OperationOptions)
|
|
176
187
|
@doc("Delete a {name}", Resource)
|
|
177
188
|
@delete
|
|
178
189
|
@deletesResource(Resource)
|
|
@@ -181,7 +192,8 @@ interface ExtensionOperations<
|
|
|
181
192
|
Resource extends Foundations.SimpleResource,
|
|
182
193
|
Parameters extends {} = {},
|
|
183
194
|
Response extends {} = ArmDeletedResponse | ArmDeletedNoContentResponse,
|
|
184
|
-
ErrorType extends {} = ErrorResponse
|
|
195
|
+
ErrorType extends {} = ErrorResponse,
|
|
196
|
+
OperationOptions extends valueof ArmOperationOptions = #{ useStaticRoute: false }
|
|
185
197
|
>(...TargetParameters, ...ExtensionInstanceParameters, ...Parameters): Response | ErrorType;
|
|
186
198
|
|
|
187
199
|
/**
|
|
@@ -190,8 +202,9 @@ interface ExtensionOperations<
|
|
|
190
202
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
191
203
|
* @template Response Optional. The success response for a get operation.
|
|
192
204
|
* @template ErrorType Optional. The error response, if non-standard.
|
|
205
|
+
* @template OperationOptions Optional. The route options for the operation.
|
|
193
206
|
*/
|
|
194
|
-
@
|
|
207
|
+
@armOperationRoute(OperationOptions)
|
|
195
208
|
@doc("Get a {name}", Resource)
|
|
196
209
|
@get
|
|
197
210
|
@readsResource(Resource)
|
|
@@ -200,24 +213,27 @@ interface ExtensionOperations<
|
|
|
200
213
|
Resource extends Foundations.SimpleResource,
|
|
201
214
|
Parameters extends {} = {},
|
|
202
215
|
Response extends {} = ArmResponse<Resource>,
|
|
203
|
-
ErrorType extends {} = ErrorResponse
|
|
216
|
+
ErrorType extends {} = ErrorResponse,
|
|
217
|
+
OperationOptions extends valueof ArmOperationOptions = #{ useStaticRoute: false }
|
|
204
218
|
>(...TargetParameters, ...ExtensionInstanceParameters, ...Parameters): Response | ErrorType;
|
|
205
219
|
|
|
206
220
|
/**
|
|
207
221
|
* Check a resource's existence via HEAD operation
|
|
208
|
-
*
|
|
222
|
+
* @template Resource The resource being checked
|
|
209
223
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
210
224
|
* @template Response Optional. The success response for a head operation (by default NoContent or NotFound response).
|
|
211
225
|
* @template ErrorType Optional. The error response, if non-standard.
|
|
226
|
+
* @template OperationOptions Optional. The route options for the operation.
|
|
212
227
|
*/
|
|
213
|
-
@
|
|
228
|
+
@armOperationRoute(OperationOptions)
|
|
214
229
|
@doc("Check for the existence of a {name}", Resource)
|
|
215
230
|
@head
|
|
216
231
|
CheckExistence<
|
|
217
232
|
Resource extends Foundations.SimpleResource,
|
|
218
233
|
Parameters extends {} = {},
|
|
219
234
|
Response extends {} = ArmResourceExistsResponse | ArmResourceNotFoundResponse,
|
|
220
|
-
ErrorType extends {} = ErrorResponse
|
|
235
|
+
ErrorType extends {} = ErrorResponse,
|
|
236
|
+
OperationOptions extends valueof ArmOperationOptions = #{ useStaticRoute: false }
|
|
221
237
|
> is Foundations.ArmReadOperation<
|
|
222
238
|
TargetParameters & ExtensionInstanceParameters & Parameters,
|
|
223
239
|
Response,
|
|
@@ -229,8 +245,9 @@ interface ExtensionOperations<
|
|
|
229
245
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
230
246
|
* @template Response Optional. The response returned by the list
|
|
231
247
|
* @template ErrorType Optional. The error response, if non-standard.
|
|
248
|
+
* @template OperationOptions Optional. The route options for the operation.
|
|
232
249
|
*/
|
|
233
|
-
@
|
|
250
|
+
@armOperationRoute(OperationOptions)
|
|
234
251
|
@doc("List a {name}", Resource)
|
|
235
252
|
@get
|
|
236
253
|
@listsResource(Resource)
|
|
@@ -239,7 +256,8 @@ interface ExtensionOperations<
|
|
|
239
256
|
Resource extends Foundations.SimpleResource,
|
|
240
257
|
Parameters extends {} = {},
|
|
241
258
|
Response extends {} = ArmResponse<ResourceListResult<Resource>>,
|
|
242
|
-
ErrorType extends {} = ErrorResponse
|
|
259
|
+
ErrorType extends {} = ErrorResponse,
|
|
260
|
+
OperationOptions extends valueof ArmOperationOptions = #{ useStaticRoute: false }
|
|
243
261
|
>(...TargetParameters, ...ExtensionParentParameters, ...Parameters): Response | ErrorType;
|
|
244
262
|
|
|
245
263
|
/**
|
|
@@ -250,9 +268,10 @@ interface ExtensionOperations<
|
|
|
250
268
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
251
269
|
* @template OptionalRequestBody Optional. Indicates whether the request body is optional
|
|
252
270
|
* @template ErrorType Optional. The error response, if non-standard.
|
|
271
|
+
* @template OperationOptions Optional. The route options for the operation.
|
|
253
272
|
*/
|
|
254
273
|
@doc("")
|
|
255
|
-
@
|
|
274
|
+
@armOperationRoute(OperationOptions)
|
|
256
275
|
@armResourceAction(Resource)
|
|
257
276
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
258
277
|
@post
|
|
@@ -263,7 +282,8 @@ interface ExtensionOperations<
|
|
|
263
282
|
Response extends TypeSpec.Reflection.Model | void,
|
|
264
283
|
Parameters extends {} = {},
|
|
265
284
|
OptionalRequestBody extends valueof boolean = false,
|
|
266
|
-
ErrorType extends {} = ErrorResponse
|
|
285
|
+
ErrorType extends {} = ErrorResponse,
|
|
286
|
+
OperationOptions extends valueof ArmOperationOptions = #{ useStaticRoute: false }
|
|
267
287
|
>(
|
|
268
288
|
...TargetParameters,
|
|
269
289
|
...ExtensionInstanceParameters,
|
|
@@ -284,10 +304,11 @@ interface ExtensionOperations<
|
|
|
284
304
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
285
305
|
* @template OptionalRequestBody Optional. Indicates whether the request body is optional
|
|
286
306
|
* @template ErrorType Optional. The error response, if non-standard.
|
|
307
|
+
* @template OperationOptions Optional. The route options for the operation.
|
|
287
308
|
*/
|
|
288
309
|
#suppress "@azure-tools/typespec-azure-core/no-response-body" "ARM"
|
|
289
310
|
@doc("")
|
|
290
|
-
@
|
|
311
|
+
@armOperationRoute(OperationOptions)
|
|
291
312
|
@armResourceAction(Resource)
|
|
292
313
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
293
314
|
@post
|
|
@@ -308,7 +329,8 @@ interface ExtensionOperations<
|
|
|
308
329
|
LroHeaders
|
|
309
330
|
> | Result,
|
|
310
331
|
OptionalRequestBody extends valueof boolean = false,
|
|
311
|
-
ErrorType extends {} = ErrorResponse
|
|
332
|
+
ErrorType extends {} = ErrorResponse,
|
|
333
|
+
OperationOptions extends valueof ArmOperationOptions = #{ useStaticRoute: false }
|
|
312
334
|
>(
|
|
313
335
|
...TargetParameters,
|
|
314
336
|
...ExtensionInstanceParameters,
|
|
@@ -15,11 +15,26 @@ using Rest;
|
|
|
15
15
|
* @template ResourceTypeParameter The path parameter for the resource name
|
|
16
16
|
* @template ErrorType Optional. The type of error models used in operations created form this template
|
|
17
17
|
*/
|
|
18
|
-
@doc("")
|
|
19
18
|
interface LegacyOperations<
|
|
20
19
|
ParentParameters extends {},
|
|
21
20
|
ResourceTypeParameter extends {},
|
|
22
21
|
ErrorType extends {} = ErrorResponse
|
|
22
|
+
> extends RoutedOperations<ParentParameters, ResourceTypeParameter, ErrorType> {}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* An operation template used to build resource operations in which the same resource type
|
|
26
|
+
* is accessible at multiple, fixed resource paths. Can be used with static routes.
|
|
27
|
+
* @template ParentParameters The path parameters for the resource parent
|
|
28
|
+
* @template ResourceTypeParameter The path parameter for the resource name
|
|
29
|
+
* @template ErrorType Optional. The type of error models used in operations created form this template
|
|
30
|
+
* @template ResourceRoute Optional. The resource route to use for operations in the interface.
|
|
31
|
+
*/
|
|
32
|
+
@doc("")
|
|
33
|
+
interface RoutedOperations<
|
|
34
|
+
ParentParameters extends {},
|
|
35
|
+
ResourceTypeParameter extends {},
|
|
36
|
+
ErrorType extends {} = ErrorResponse,
|
|
37
|
+
ResourceRoute extends valueof ArmOperationOptions = #{ useStaticRoute: false }
|
|
23
38
|
> {
|
|
24
39
|
/**
|
|
25
40
|
* A long-running resource CreateOrUpdate (PUT)
|
|
@@ -28,9 +43,11 @@ interface LegacyOperations<
|
|
|
28
43
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
29
44
|
* @template Response Optional. The success response(s) for the PUT operation
|
|
30
45
|
* @template OptionalRequestBody Optional. Indicates whether the request body is optional
|
|
46
|
+
* @template OverrideErrortype Optional. The error response, if non-standard.
|
|
47
|
+
* @template OverrideRouteOptions Optional. The route options for the operation.
|
|
31
48
|
*/
|
|
32
|
-
@autoRoute
|
|
33
49
|
@doc("Create a {name}", Resource)
|
|
50
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
34
51
|
@armResourceCreateOrUpdate(Resource)
|
|
35
52
|
@Private.armUpdateProviderNamespace
|
|
36
53
|
@Azure.Core.Foundations.Private.defaultFinalStateVia(#["location", "azure-async-operation"])
|
|
@@ -44,13 +61,15 @@ interface LegacyOperations<
|
|
|
44
61
|
Resource,
|
|
45
62
|
LroHeaders
|
|
46
63
|
>,
|
|
47
|
-
OptionalRequestBody extends valueof boolean = false
|
|
64
|
+
OptionalRequestBody extends valueof boolean = false,
|
|
65
|
+
OverrideErrortype extends {} = ErrorType,
|
|
66
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
48
67
|
>(
|
|
49
68
|
...ParentParameters,
|
|
50
69
|
...ResourceTypeParameter,
|
|
51
70
|
...Parameters,
|
|
52
71
|
@doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) resource: Resource,
|
|
53
|
-
): Response |
|
|
72
|
+
): Response | OverrideErrortype;
|
|
54
73
|
|
|
55
74
|
/**
|
|
56
75
|
* A synchronous resource CreateOrUpdate (PUT)
|
|
@@ -58,9 +77,11 @@ interface LegacyOperations<
|
|
|
58
77
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
59
78
|
* @template Response Optional. The success response(s) for the PUT operation
|
|
60
79
|
* @template OptionalRequestBody Optional. Indicates whether the request body is optional
|
|
80
|
+
* @template OverrideErrortype Optional. The error response, if non-standard.
|
|
81
|
+
* @template OverrideRouteOptions Optional. The route options for the operation.
|
|
61
82
|
*/
|
|
62
83
|
#suppress "@azure-tools/typespec-azure-core/no-private-usage"
|
|
63
|
-
@
|
|
84
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
64
85
|
@doc("Create a {name}", Resource)
|
|
65
86
|
@armResourceCreateOrUpdate(Resource)
|
|
66
87
|
@Private.armUpdateProviderNamespace
|
|
@@ -69,13 +90,15 @@ interface LegacyOperations<
|
|
|
69
90
|
Resource extends Foundations.SimpleResource,
|
|
70
91
|
Parameters extends {} = {},
|
|
71
92
|
Response extends {} = ArmResourceUpdatedResponse<Resource> | ArmResourceCreatedSyncResponse<Resource>,
|
|
72
|
-
OptionalRequestBody extends valueof boolean = false
|
|
93
|
+
OptionalRequestBody extends valueof boolean = false,
|
|
94
|
+
OverrideErrortype extends {} = ErrorType,
|
|
95
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
73
96
|
>(
|
|
74
97
|
...ParentParameters,
|
|
75
98
|
...ResourceTypeParameter,
|
|
76
99
|
...Parameters,
|
|
77
100
|
@doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) resource: Resource,
|
|
78
|
-
): Response |
|
|
101
|
+
): Response | OverrideErrortype;
|
|
79
102
|
|
|
80
103
|
/**
|
|
81
104
|
* A long-running resource Update (PATCH)
|
|
@@ -85,9 +108,11 @@ interface LegacyOperations<
|
|
|
85
108
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
86
109
|
* @template Response Optional. The success response(s) for the PATCH operation
|
|
87
110
|
* @template OptionalRequestBody Optional. Indicates whether the request body is optional
|
|
111
|
+
* @template OverrideErrortype Optional. The error response, if non-standard.
|
|
112
|
+
* @template OverrideRouteOptions Optional. The route options for the operation.
|
|
88
113
|
*/
|
|
89
|
-
@autoRoute
|
|
90
114
|
@doc("Update a {name}", Resource)
|
|
115
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
91
116
|
@armResourceUpdate(Resource)
|
|
92
117
|
@Private.armUpdateProviderNamespace
|
|
93
118
|
@patch(#{ implicitOptionality: false })
|
|
@@ -105,13 +130,15 @@ interface LegacyOperations<
|
|
|
105
130
|
"Resource update request accepted.",
|
|
106
131
|
LroHeaders
|
|
107
132
|
>,
|
|
108
|
-
OptionalRequestBody extends valueof boolean = false
|
|
133
|
+
OptionalRequestBody extends valueof boolean = false,
|
|
134
|
+
OverrideErrortype extends {} = ErrorType,
|
|
135
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
109
136
|
>(
|
|
110
137
|
...ParentParameters,
|
|
111
138
|
...ResourceTypeParameter,
|
|
112
139
|
...Parameters,
|
|
113
140
|
@doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) properties: PatchModel,
|
|
114
|
-
): Response |
|
|
141
|
+
): Response | OverrideErrortype;
|
|
115
142
|
|
|
116
143
|
/**
|
|
117
144
|
* A synchronous resource Update (PATCH)
|
|
@@ -120,9 +147,11 @@ interface LegacyOperations<
|
|
|
120
147
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
121
148
|
* @template Response Optional. The success response(s) for the PATCH operation
|
|
122
149
|
* @template OptionalRequestBody Optional. Indicates whether the request body is optional
|
|
150
|
+
* @template OverrideErrortype Optional. The error response, if non-standard.
|
|
151
|
+
* @template OverrideRouteOptions Optional. The route options for the operation.
|
|
123
152
|
*/
|
|
124
|
-
@autoRoute
|
|
125
153
|
@doc("Update a {name}", Resource)
|
|
154
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
126
155
|
@armResourceUpdate(Resource)
|
|
127
156
|
@Private.armUpdateProviderNamespace
|
|
128
157
|
@patch(#{ implicitOptionality: false })
|
|
@@ -131,13 +160,15 @@ interface LegacyOperations<
|
|
|
131
160
|
PatchModel extends {} = Azure.ResourceManager.Foundations.TagsUpdateModel<Resource>,
|
|
132
161
|
Parameters extends {} = {},
|
|
133
162
|
Response extends {} = ArmResponse<Resource>,
|
|
134
|
-
OptionalRequestBody extends valueof boolean = false
|
|
163
|
+
OptionalRequestBody extends valueof boolean = false,
|
|
164
|
+
OverrideErrortype extends {} = ErrorType,
|
|
165
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
135
166
|
>(
|
|
136
167
|
...ParentParameters,
|
|
137
168
|
...ResourceTypeParameter,
|
|
138
169
|
...Parameters,
|
|
139
170
|
@doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) properties: PatchModel,
|
|
140
|
-
): Response |
|
|
171
|
+
): Response | OverrideErrortype;
|
|
141
172
|
|
|
142
173
|
/**
|
|
143
174
|
* Delete a resource asynchronously
|
|
@@ -145,10 +176,12 @@ interface LegacyOperations<
|
|
|
145
176
|
* @template LroHeaders The lro headers for the operation
|
|
146
177
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
147
178
|
* @template Response Optional. The success response(s) for the delete operation
|
|
179
|
+
* @template OverrideErrorType Optional. The error response, if non-standard.
|
|
180
|
+
* @template OverrideRouteOptions Optional. The route options for the operation.
|
|
148
181
|
*/
|
|
149
182
|
#suppress "@azure-tools/typespec-azure-core/no-response-body" "Valid"
|
|
150
|
-
@autoRoute
|
|
151
183
|
@doc("Delete a {name}", Resource)
|
|
184
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
152
185
|
@delete
|
|
153
186
|
@deletesResource(Resource)
|
|
154
187
|
@Private.armUpdateProviderNamespace
|
|
@@ -158,18 +191,22 @@ interface LegacyOperations<
|
|
|
158
191
|
LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader &
|
|
159
192
|
Azure.Core.Foundations.RetryAfterHeader,
|
|
160
193
|
Parameters extends {} = {},
|
|
161
|
-
Response extends {} = ArmDeleteAcceptedLroResponse<LroHeaders> | ArmDeletedNoContentResponse
|
|
162
|
-
|
|
194
|
+
Response extends {} = ArmDeleteAcceptedLroResponse<LroHeaders> | ArmDeletedNoContentResponse,
|
|
195
|
+
OverrideErrorType extends {} = ErrorType,
|
|
196
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
197
|
+
>(...ParentParameters, ...ResourceTypeParameter, ...Parameters): Response | OverrideErrorType;
|
|
163
198
|
|
|
164
199
|
/**
|
|
165
200
|
* Delete a resource synchronously
|
|
166
201
|
* @template Resource The resource being deleted
|
|
167
202
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
168
203
|
* @template Response Optional. The success response(s) for the delete operation
|
|
204
|
+
* @template OverrideErrorType Optional. The error response, if non-standard.
|
|
205
|
+
* @template OverrideRouteOptions Optional. The route options for the operation.
|
|
169
206
|
*/
|
|
170
207
|
#suppress "@azure-tools/typespec-azure-core/no-response-body" "Valid"
|
|
171
|
-
@autoRoute
|
|
172
208
|
@doc("Delete a {name}", Resource)
|
|
209
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
173
210
|
@delete
|
|
174
211
|
@deletesResource(Resource)
|
|
175
212
|
@armResourceDelete(Resource)
|
|
@@ -177,17 +214,21 @@ interface LegacyOperations<
|
|
|
177
214
|
DeleteSync<
|
|
178
215
|
Resource extends Foundations.SimpleResource,
|
|
179
216
|
Parameters extends {} = {},
|
|
180
|
-
Response extends {} = ArmDeletedResponse | ArmDeletedNoContentResponse
|
|
181
|
-
|
|
217
|
+
Response extends {} = ArmDeletedResponse | ArmDeletedNoContentResponse,
|
|
218
|
+
OverrideErrorType extends {} = ErrorType,
|
|
219
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
220
|
+
>(...ParentParameters, ...ResourceTypeParameter, ...Parameters): Response | OverrideErrorType;
|
|
182
221
|
|
|
183
222
|
/**
|
|
184
223
|
* @dev Get a resource
|
|
185
224
|
* @template Resource The resource being read
|
|
186
225
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
187
226
|
* @template Response Optional. The success response for a get operation.
|
|
227
|
+
* @template OverrideErrorType Optional. The error response, if non-standard.
|
|
228
|
+
* @template OverrideRouteOptions Optional. The route options for the operation.
|
|
188
229
|
*/
|
|
189
|
-
@autoRoute
|
|
190
230
|
@doc("Get a {name}", Resource)
|
|
231
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
191
232
|
@get
|
|
192
233
|
@readsResource(Resource)
|
|
193
234
|
@armResourceRead(Resource)
|
|
@@ -195,27 +236,33 @@ interface LegacyOperations<
|
|
|
195
236
|
Read<
|
|
196
237
|
Resource extends Foundations.SimpleResource,
|
|
197
238
|
Parameters extends {} = {},
|
|
198
|
-
Response extends {} = ArmResponse<Resource
|
|
199
|
-
|
|
239
|
+
Response extends {} = ArmResponse<Resource>,
|
|
240
|
+
OverrideErrorType extends {} = ErrorType,
|
|
241
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
242
|
+
>(...ParentParameters, ...ResourceTypeParameter, ...Parameters): Response | OverrideErrorType;
|
|
200
243
|
|
|
201
244
|
/**
|
|
202
245
|
* Check a resource's existence via HEAD operation
|
|
203
246
|
* @template Resource The resource being checked
|
|
204
247
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
205
248
|
* @template Response Optional. The success response for a head operation (by default NoContent or NotFound response).
|
|
249
|
+
* @template OverrideErrorType Optional. The error response, if non-standard.
|
|
250
|
+
* @template OverrideRouteOptions Optional. The route options for the operation.
|
|
206
251
|
*/
|
|
207
|
-
@
|
|
252
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
208
253
|
@doc("Check for the existence of a {name}", Resource)
|
|
209
254
|
@Private.armUpdateProviderNamespace
|
|
210
255
|
@head
|
|
211
256
|
CheckExistence<
|
|
212
257
|
Resource extends Foundations.SimpleResource,
|
|
213
258
|
Parameters extends {} = {},
|
|
214
|
-
Response extends {} = ArmResourceExistsResponse | ArmResourceNotFoundResponse
|
|
259
|
+
Response extends {} = ArmResourceExistsResponse | ArmResourceNotFoundResponse,
|
|
260
|
+
OverrideErrorType extends {} = ErrorType,
|
|
261
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
215
262
|
> is Foundations.ArmReadOperation<
|
|
216
263
|
ParentParameters & ResourceTypeParameter & Parameters,
|
|
217
264
|
Response,
|
|
218
|
-
|
|
265
|
+
OverrideErrorType
|
|
219
266
|
>;
|
|
220
267
|
|
|
221
268
|
/**
|
|
@@ -223,18 +270,22 @@ interface LegacyOperations<
|
|
|
223
270
|
* @template Resource The resource being listed
|
|
224
271
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
225
272
|
* @template Response Optional. The response returned by the list
|
|
273
|
+
* @template OverrideErrorType Optional. The error response, if non-standard.
|
|
274
|
+
* @template OverrideRouteOptions Optional. The route options for the operation.
|
|
226
275
|
*/
|
|
227
|
-
@autoRoute
|
|
228
276
|
@doc("List a {name}", Resource)
|
|
229
277
|
@get
|
|
230
278
|
@listsResource(Resource)
|
|
231
279
|
@segmentOf(Resource)
|
|
280
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
232
281
|
@armResourceList(Resource)
|
|
233
282
|
@Private.armUpdateProviderNamespace
|
|
234
283
|
List<
|
|
235
284
|
Resource extends Foundations.SimpleResource,
|
|
236
285
|
Parameters extends {} = {},
|
|
237
|
-
Response extends {} = ArmResponse<ResourceListResult<Resource
|
|
286
|
+
Response extends {} = ArmResponse<ResourceListResult<Resource>>,
|
|
287
|
+
OverrideErrorType extends {} = ErrorType,
|
|
288
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
238
289
|
>(...ParentParameters, ...Parameters): Response | ErrorType;
|
|
239
290
|
|
|
240
291
|
/**
|
|
@@ -244,10 +295,12 @@ interface LegacyOperations<
|
|
|
244
295
|
* @template Response The response model for the action
|
|
245
296
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
246
297
|
* @template OptionalRequestBody Optional. Indicates whether the request body is optional
|
|
298
|
+
* @template OverrideErrortype Optional. The error response, if non-standard.
|
|
299
|
+
* @template OverrideRouteOptions Optional. The route options for the operation.
|
|
247
300
|
*/
|
|
248
301
|
@doc("")
|
|
249
|
-
@autoRoute
|
|
250
302
|
@armResourceAction(Resource)
|
|
303
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
251
304
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
252
305
|
@post
|
|
253
306
|
@Private.armUpdateProviderNamespace
|
|
@@ -257,7 +310,9 @@ interface LegacyOperations<
|
|
|
257
310
|
Request extends TypeSpec.Reflection.Model | void,
|
|
258
311
|
Response extends TypeSpec.Reflection.Model | void,
|
|
259
312
|
Parameters extends {} = {},
|
|
260
|
-
OptionalRequestBody extends valueof boolean = false
|
|
313
|
+
OptionalRequestBody extends valueof boolean = false,
|
|
314
|
+
OverrideErrortype extends {} = ErrorType,
|
|
315
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
261
316
|
>(
|
|
262
317
|
...ParentParameters,
|
|
263
318
|
...ResourceTypeParameter,
|
|
@@ -266,7 +321,7 @@ interface LegacyOperations<
|
|
|
266
321
|
@doc("The content of the action request")
|
|
267
322
|
@armBodyRoot(OptionalRequestBody)
|
|
268
323
|
body: Request,
|
|
269
|
-
): Response |
|
|
324
|
+
): Response | OverrideErrortype;
|
|
270
325
|
|
|
271
326
|
/**
|
|
272
327
|
* A long-running resource action.
|
|
@@ -277,11 +332,13 @@ interface LegacyOperations<
|
|
|
277
332
|
* @template Response The union of successful responses for the action
|
|
278
333
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
279
334
|
* @template OptionalRequestBody Optional. Indicates whether the request body is optional
|
|
335
|
+
* @template OverrideErrortype Optional. The error response, if non-standard.
|
|
336
|
+
* @template OverrideRouteOptions Optional. The route options for the operation.
|
|
280
337
|
*/
|
|
281
338
|
#suppress "@azure-tools/typespec-azure-core/no-response-body" "ARM"
|
|
282
339
|
@doc("")
|
|
283
|
-
@autoRoute
|
|
284
340
|
@armResourceAction(Resource)
|
|
341
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
285
342
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
286
343
|
@Private.armUpdateProviderNamespace
|
|
287
344
|
@post
|
|
@@ -301,7 +358,9 @@ interface LegacyOperations<
|
|
|
301
358
|
"Resource operation accepted.",
|
|
302
359
|
LroHeaders
|
|
303
360
|
> | Result,
|
|
304
|
-
OptionalRequestBody extends valueof boolean = false
|
|
361
|
+
OptionalRequestBody extends valueof boolean = false,
|
|
362
|
+
OverrideErrortype extends {} = ErrorType,
|
|
363
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
305
364
|
>(
|
|
306
365
|
...ParentParameters,
|
|
307
366
|
...ResourceTypeParameter,
|
|
@@ -310,7 +369,7 @@ interface LegacyOperations<
|
|
|
310
369
|
@doc("The content of the action request")
|
|
311
370
|
@armBodyRoot(OptionalRequestBody)
|
|
312
371
|
body: Request,
|
|
313
|
-
): Response |
|
|
372
|
+
): Response | OverrideErrortype;
|
|
314
373
|
}
|
|
315
374
|
/**
|
|
316
375
|
* @dev DEPRECATED: Use ProviderParameter instead. Get the provider namespace key-value pair
|
package/lib/decorators.tsp
CHANGED
|
@@ -152,16 +152,48 @@ extern dec armResourceList(target: Operation, resourceType: Model);
|
|
|
152
152
|
|
|
153
153
|
/**
|
|
154
154
|
* This decorator is used to identify interfaces containing resource operations.
|
|
155
|
-
*
|
|
155
|
+
* By default, it marks the interface with the `@autoRoute` decorator so that
|
|
156
156
|
* all of its contained operations will have their routes generated
|
|
157
157
|
* automatically.
|
|
158
158
|
*
|
|
159
|
-
*
|
|
159
|
+
* The decorator also adds a `@tag` decorator bearing the name of the interface so that all
|
|
160
160
|
* of the operations will be grouped based on the interface name in generated
|
|
161
161
|
* clients.
|
|
162
|
-
*
|
|
162
|
+
*
|
|
163
|
+
* The optional `resourceOperationOptions` parameter provides additional options.
|
|
164
|
+
* `allowStaticRoutes` turns off autoRout for the interface, so individual operations can
|
|
165
|
+
* choose static (`@route`) or automatic (`@autoRoute`) routing.
|
|
166
|
+
*
|
|
167
|
+
* `resourceType: Model` specifies the resource type for the operations in the interface
|
|
168
|
+
*
|
|
169
|
+
* `omitTags: true`: turns off the default tagging of operations in the interface, so that individual operations must be
|
|
170
|
+
* individually tagged
|
|
171
|
+
*
|
|
172
|
+
*
|
|
173
|
+
* @param resourceOperationOptions Options for routing the operations in the interface and associating them with a specific resource
|
|
163
174
|
*/
|
|
164
|
-
extern dec armResourceOperations(
|
|
175
|
+
extern dec armResourceOperations(
|
|
176
|
+
target: Interface,
|
|
177
|
+
resourceOperationOptions?: (valueof ResourceOperationOptions) | unknown
|
|
178
|
+
);
|
|
179
|
+
|
|
180
|
+
/** Interface-level operation options */
|
|
181
|
+
model ResourceOperationOptions {
|
|
182
|
+
/**
|
|
183
|
+
* The resource type for the operations in the interface
|
|
184
|
+
*/
|
|
185
|
+
resourceType?: Model;
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* If true, turns off autoRoute for the interface, so individual operations can choose static (`@route`) or automatic (`@autoRoute`) routing.
|
|
189
|
+
*/
|
|
190
|
+
allowStaticRoutes?: boolean;
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* If true, turns off the default tagging of operations in the interface, so that individual operations must be individually tagged
|
|
194
|
+
*/
|
|
195
|
+
omitTags?: boolean;
|
|
196
|
+
}
|
|
165
197
|
|
|
166
198
|
/**
|
|
167
199
|
* This decorator is used either on a namespace or a version enum value to indicate
|
|
@@ -189,7 +221,7 @@ extern dec armVirtualResource(target: Model, provider?: valueof string);
|
|
|
189
221
|
*/
|
|
190
222
|
extern dec resourceBaseType(
|
|
191
223
|
target: Model,
|
|
192
|
-
|
|
224
|
+
baseTypeIt: "Tenant" | "Subscription" | "ResourceGroup" | "Location" | "Extension"
|
|
193
225
|
);
|
|
194
226
|
|
|
195
227
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@azure-tools/typespec-azure-resource-manager",
|
|
3
|
-
"version": "0.58.0-dev.
|
|
3
|
+
"version": "0.58.0-dev.4",
|
|
4
4
|
"author": "Microsoft Corporation",
|
|
5
5
|
"description": "TypeSpec Azure Resource Manager library",
|
|
6
6
|
"homepage": "https://azure.github.io/typespec-azure",
|