@azure-tools/typespec-azure-resource-manager 0.58.0-dev.2 → 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 +45 -12
- package/dist/generated-defs/Azure.ResourceManager.Extension.Private.d.ts +25 -0
- package/dist/generated-defs/Azure.ResourceManager.Extension.Private.d.ts.map +1 -0
- package/dist/generated-defs/Azure.ResourceManager.Extension.Private.js +2 -0
- package/dist/generated-defs/Azure.ResourceManager.Extension.Private.js.map +1 -0
- 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.Private.d.ts +8 -0
- package/dist/generated-defs/Azure.ResourceManager.Private.d.ts.map +1 -1
- package/dist/generated-defs/Azure.ResourceManager.d.ts +20 -6
- package/dist/generated-defs/Azure.ResourceManager.d.ts.map +1 -1
- package/dist/src/lib.d.ts +17 -2
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +6 -0
- package/dist/src/lib.js.map +1 -1
- package/dist/src/linter.d.ts.map +1 -1
- package/dist/src/linter.js +2 -0
- package/dist/src/linter.js.map +1 -1
- package/dist/src/namespace.d.ts.map +1 -1
- package/dist/src/namespace.js +14 -7
- package/dist/src/namespace.js.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 +61 -7
- package/dist/src/private.decorators.js.map +1 -1
- package/dist/src/resource.d.ts +16 -1
- package/dist/src/resource.d.ts.map +1 -1
- package/dist/src/resource.js +68 -14
- package/dist/src/resource.js.map +1 -1
- package/dist/src/rules/arm-custom-resource-no-key.d.ts +4 -0
- package/dist/src/rules/arm-custom-resource-no-key.d.ts.map +1 -0
- package/dist/src/rules/arm-custom-resource-no-key.js +28 -0
- package/dist/src/rules/arm-custom-resource-no-key.js.map +1 -0
- 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/rules/list-operation.js +1 -1
- package/dist/src/rules/list-operation.js.map +1 -1
- package/dist/src/state.d.ts +2 -0
- package/dist/src/state.d.ts.map +1 -1
- package/dist/src/state.js +2 -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/arm.legacy.tsp +4 -0
- package/lib/Legacy/decorator.tsp +18 -0
- package/lib/Legacy/extension.tsp +343 -0
- package/lib/Legacy/interfaces.tsp +38 -0
- package/lib/Legacy/operations.tsp +130 -32
- package/lib/arm.tsp +1 -0
- package/lib/common-types/internal.tsp +9 -0
- package/lib/common-types/types-ref.tsp +12 -3
- package/lib/decorators.tsp +38 -6
- package/lib/extension/extension.tsp +6 -0
- package/lib/extension/operations.tsp +507 -0
- package/lib/extension/parameters.tsp +223 -0
- package/lib/extension/private.decorators.tsp +24 -0
- package/lib/private.decorators.tsp +5 -0
- package/package.json +1 -1
|
@@ -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,10 +43,13 @@ 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)
|
|
52
|
+
@Private.armUpdateProviderNamespace
|
|
35
53
|
@Azure.Core.Foundations.Private.defaultFinalStateVia(#["location", "azure-async-operation"])
|
|
36
54
|
@put
|
|
37
55
|
CreateOrUpdateAsync<
|
|
@@ -43,13 +61,15 @@ interface LegacyOperations<
|
|
|
43
61
|
Resource,
|
|
44
62
|
LroHeaders
|
|
45
63
|
>,
|
|
46
|
-
OptionalRequestBody extends valueof boolean = false
|
|
64
|
+
OptionalRequestBody extends valueof boolean = false,
|
|
65
|
+
OverrideErrortype extends {} = ErrorType,
|
|
66
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
47
67
|
>(
|
|
48
68
|
...ParentParameters,
|
|
49
69
|
...ResourceTypeParameter,
|
|
50
70
|
...Parameters,
|
|
51
71
|
@doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) resource: Resource,
|
|
52
|
-
): Response |
|
|
72
|
+
): Response | OverrideErrortype;
|
|
53
73
|
|
|
54
74
|
/**
|
|
55
75
|
* A synchronous resource CreateOrUpdate (PUT)
|
|
@@ -57,23 +77,28 @@ interface LegacyOperations<
|
|
|
57
77
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
58
78
|
* @template Response Optional. The success response(s) for the PUT operation
|
|
59
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.
|
|
60
82
|
*/
|
|
61
83
|
#suppress "@azure-tools/typespec-azure-core/no-private-usage"
|
|
62
|
-
@
|
|
84
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
63
85
|
@doc("Create a {name}", Resource)
|
|
64
86
|
@armResourceCreateOrUpdate(Resource)
|
|
87
|
+
@Private.armUpdateProviderNamespace
|
|
65
88
|
@put
|
|
66
89
|
CreateOrUpdateSync<
|
|
67
90
|
Resource extends Foundations.SimpleResource,
|
|
68
91
|
Parameters extends {} = {},
|
|
69
92
|
Response extends {} = ArmResourceUpdatedResponse<Resource> | ArmResourceCreatedSyncResponse<Resource>,
|
|
70
|
-
OptionalRequestBody extends valueof boolean = false
|
|
93
|
+
OptionalRequestBody extends valueof boolean = false,
|
|
94
|
+
OverrideErrortype extends {} = ErrorType,
|
|
95
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
71
96
|
>(
|
|
72
97
|
...ParentParameters,
|
|
73
98
|
...ResourceTypeParameter,
|
|
74
99
|
...Parameters,
|
|
75
100
|
@doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) resource: Resource,
|
|
76
|
-
): Response |
|
|
101
|
+
): Response | OverrideErrortype;
|
|
77
102
|
|
|
78
103
|
/**
|
|
79
104
|
* A long-running resource Update (PATCH)
|
|
@@ -83,10 +108,13 @@ interface LegacyOperations<
|
|
|
83
108
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
84
109
|
* @template Response Optional. The success response(s) for the PATCH operation
|
|
85
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.
|
|
86
113
|
*/
|
|
87
|
-
@autoRoute
|
|
88
114
|
@doc("Update a {name}", Resource)
|
|
115
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
89
116
|
@armResourceUpdate(Resource)
|
|
117
|
+
@Private.armUpdateProviderNamespace
|
|
90
118
|
@patch(#{ implicitOptionality: false })
|
|
91
119
|
CustomPatchAsync<
|
|
92
120
|
Resource extends Foundations.SimpleResource,
|
|
@@ -102,13 +130,15 @@ interface LegacyOperations<
|
|
|
102
130
|
"Resource update request accepted.",
|
|
103
131
|
LroHeaders
|
|
104
132
|
>,
|
|
105
|
-
OptionalRequestBody extends valueof boolean = false
|
|
133
|
+
OptionalRequestBody extends valueof boolean = false,
|
|
134
|
+
OverrideErrortype extends {} = ErrorType,
|
|
135
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
106
136
|
>(
|
|
107
137
|
...ParentParameters,
|
|
108
138
|
...ResourceTypeParameter,
|
|
109
139
|
...Parameters,
|
|
110
140
|
@doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) properties: PatchModel,
|
|
111
|
-
): Response |
|
|
141
|
+
): Response | OverrideErrortype;
|
|
112
142
|
|
|
113
143
|
/**
|
|
114
144
|
* A synchronous resource Update (PATCH)
|
|
@@ -117,23 +147,28 @@ interface LegacyOperations<
|
|
|
117
147
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
118
148
|
* @template Response Optional. The success response(s) for the PATCH operation
|
|
119
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.
|
|
120
152
|
*/
|
|
121
|
-
@autoRoute
|
|
122
153
|
@doc("Update a {name}", Resource)
|
|
154
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
123
155
|
@armResourceUpdate(Resource)
|
|
156
|
+
@Private.armUpdateProviderNamespace
|
|
124
157
|
@patch(#{ implicitOptionality: false })
|
|
125
158
|
CustomPatchSync<
|
|
126
159
|
Resource extends Foundations.SimpleResource,
|
|
127
160
|
PatchModel extends {} = Azure.ResourceManager.Foundations.TagsUpdateModel<Resource>,
|
|
128
161
|
Parameters extends {} = {},
|
|
129
162
|
Response extends {} = ArmResponse<Resource>,
|
|
130
|
-
OptionalRequestBody extends valueof boolean = false
|
|
163
|
+
OptionalRequestBody extends valueof boolean = false,
|
|
164
|
+
OverrideErrortype extends {} = ErrorType,
|
|
165
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
131
166
|
>(
|
|
132
167
|
...ParentParameters,
|
|
133
168
|
...ResourceTypeParameter,
|
|
134
169
|
...Parameters,
|
|
135
170
|
@doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) properties: PatchModel,
|
|
136
|
-
): Response |
|
|
171
|
+
): Response | OverrideErrortype;
|
|
137
172
|
|
|
138
173
|
/**
|
|
139
174
|
* Delete a resource asynchronously
|
|
@@ -141,72 +176,116 @@ interface LegacyOperations<
|
|
|
141
176
|
* @template LroHeaders The lro headers for the operation
|
|
142
177
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
143
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.
|
|
144
181
|
*/
|
|
145
182
|
#suppress "@azure-tools/typespec-azure-core/no-response-body" "Valid"
|
|
146
|
-
@autoRoute
|
|
147
183
|
@doc("Delete a {name}", Resource)
|
|
184
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
148
185
|
@delete
|
|
149
186
|
@deletesResource(Resource)
|
|
187
|
+
@Private.armUpdateProviderNamespace
|
|
150
188
|
@armResourceDelete(Resource)
|
|
151
189
|
DeleteWithoutOkAsync<
|
|
152
190
|
Resource extends Foundations.SimpleResource,
|
|
153
191
|
LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader &
|
|
154
192
|
Azure.Core.Foundations.RetryAfterHeader,
|
|
155
193
|
Parameters extends {} = {},
|
|
156
|
-
Response extends {} = ArmDeleteAcceptedLroResponse<LroHeaders> | ArmDeletedNoContentResponse
|
|
157
|
-
|
|
194
|
+
Response extends {} = ArmDeleteAcceptedLroResponse<LroHeaders> | ArmDeletedNoContentResponse,
|
|
195
|
+
OverrideErrorType extends {} = ErrorType,
|
|
196
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
197
|
+
>(...ParentParameters, ...ResourceTypeParameter, ...Parameters): Response | OverrideErrorType;
|
|
158
198
|
|
|
159
199
|
/**
|
|
160
200
|
* Delete a resource synchronously
|
|
161
201
|
* @template Resource The resource being deleted
|
|
162
202
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
163
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.
|
|
164
206
|
*/
|
|
165
207
|
#suppress "@azure-tools/typespec-azure-core/no-response-body" "Valid"
|
|
166
|
-
@autoRoute
|
|
167
208
|
@doc("Delete a {name}", Resource)
|
|
209
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
168
210
|
@delete
|
|
169
211
|
@deletesResource(Resource)
|
|
170
212
|
@armResourceDelete(Resource)
|
|
213
|
+
@Private.armUpdateProviderNamespace
|
|
171
214
|
DeleteSync<
|
|
172
215
|
Resource extends Foundations.SimpleResource,
|
|
173
216
|
Parameters extends {} = {},
|
|
174
|
-
Response extends {} = ArmDeletedResponse | ArmDeletedNoContentResponse
|
|
175
|
-
|
|
217
|
+
Response extends {} = ArmDeletedResponse | ArmDeletedNoContentResponse,
|
|
218
|
+
OverrideErrorType extends {} = ErrorType,
|
|
219
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
220
|
+
>(...ParentParameters, ...ResourceTypeParameter, ...Parameters): Response | OverrideErrorType;
|
|
176
221
|
|
|
177
222
|
/**
|
|
178
223
|
* @dev Get a resource
|
|
179
224
|
* @template Resource The resource being read
|
|
180
225
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
181
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.
|
|
182
229
|
*/
|
|
183
|
-
@autoRoute
|
|
184
230
|
@doc("Get a {name}", Resource)
|
|
231
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
185
232
|
@get
|
|
186
233
|
@readsResource(Resource)
|
|
187
234
|
@armResourceRead(Resource)
|
|
235
|
+
@Private.armUpdateProviderNamespace
|
|
188
236
|
Read<
|
|
189
237
|
Resource extends Foundations.SimpleResource,
|
|
190
238
|
Parameters extends {} = {},
|
|
191
|
-
Response extends {} = ArmResponse<Resource
|
|
192
|
-
|
|
239
|
+
Response extends {} = ArmResponse<Resource>,
|
|
240
|
+
OverrideErrorType extends {} = ErrorType,
|
|
241
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
242
|
+
>(...ParentParameters, ...ResourceTypeParameter, ...Parameters): Response | OverrideErrorType;
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Check a resource's existence via HEAD operation
|
|
246
|
+
* @template Resource The resource being checked
|
|
247
|
+
* @template Parameters Optional. Additional parameters after the path parameters
|
|
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.
|
|
251
|
+
*/
|
|
252
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
253
|
+
@doc("Check for the existence of a {name}", Resource)
|
|
254
|
+
@Private.armUpdateProviderNamespace
|
|
255
|
+
@head
|
|
256
|
+
CheckExistence<
|
|
257
|
+
Resource extends Foundations.SimpleResource,
|
|
258
|
+
Parameters extends {} = {},
|
|
259
|
+
Response extends {} = ArmResourceExistsResponse | ArmResourceNotFoundResponse,
|
|
260
|
+
OverrideErrorType extends {} = ErrorType,
|
|
261
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
262
|
+
> is Foundations.ArmReadOperation<
|
|
263
|
+
ParentParameters & ResourceTypeParameter & Parameters,
|
|
264
|
+
Response,
|
|
265
|
+
OverrideErrorType
|
|
266
|
+
>;
|
|
193
267
|
|
|
194
268
|
/**
|
|
195
269
|
* List a resource
|
|
196
270
|
* @template Resource The resource being listed
|
|
197
271
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
198
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.
|
|
199
275
|
*/
|
|
200
|
-
@autoRoute
|
|
201
276
|
@doc("List a {name}", Resource)
|
|
202
277
|
@get
|
|
203
278
|
@listsResource(Resource)
|
|
204
279
|
@segmentOf(Resource)
|
|
280
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
205
281
|
@armResourceList(Resource)
|
|
282
|
+
@Private.armUpdateProviderNamespace
|
|
206
283
|
List<
|
|
207
284
|
Resource extends Foundations.SimpleResource,
|
|
208
285
|
Parameters extends {} = {},
|
|
209
|
-
Response extends {} = ArmResponse<ResourceListResult<Resource
|
|
286
|
+
Response extends {} = ArmResponse<ResourceListResult<Resource>>,
|
|
287
|
+
OverrideErrorType extends {} = ErrorType,
|
|
288
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
210
289
|
>(...ParentParameters, ...Parameters): Response | ErrorType;
|
|
211
290
|
|
|
212
291
|
/**
|
|
@@ -216,19 +295,24 @@ interface LegacyOperations<
|
|
|
216
295
|
* @template Response The response model for the action
|
|
217
296
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
218
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.
|
|
219
300
|
*/
|
|
220
301
|
@doc("")
|
|
221
|
-
@autoRoute
|
|
222
302
|
@armResourceAction(Resource)
|
|
303
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
223
304
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
224
305
|
@post
|
|
306
|
+
@Private.armUpdateProviderNamespace
|
|
225
307
|
@returnsDoc("Azure operation completed successfully.")
|
|
226
308
|
ActionSync<
|
|
227
309
|
Resource extends Foundations.SimpleResource,
|
|
228
310
|
Request extends TypeSpec.Reflection.Model | void,
|
|
229
311
|
Response extends TypeSpec.Reflection.Model | void,
|
|
230
312
|
Parameters extends {} = {},
|
|
231
|
-
OptionalRequestBody extends valueof boolean = false
|
|
313
|
+
OptionalRequestBody extends valueof boolean = false,
|
|
314
|
+
OverrideErrortype extends {} = ErrorType,
|
|
315
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
232
316
|
>(
|
|
233
317
|
...ParentParameters,
|
|
234
318
|
...ResourceTypeParameter,
|
|
@@ -237,22 +321,26 @@ interface LegacyOperations<
|
|
|
237
321
|
@doc("The content of the action request")
|
|
238
322
|
@armBodyRoot(OptionalRequestBody)
|
|
239
323
|
body: Request,
|
|
240
|
-
): Response |
|
|
324
|
+
): Response | OverrideErrortype;
|
|
241
325
|
|
|
242
326
|
/**
|
|
243
327
|
* A long-running resource action.
|
|
244
328
|
* @template Resource The resource being acted upon
|
|
245
329
|
* @template Request The request model for the action
|
|
330
|
+
* @template Result The result model for the action when the operation is successful
|
|
246
331
|
* @template LroHeaders Optional. Allows overriding the headers returned in the Accepted response
|
|
247
|
-
* @template Response The
|
|
332
|
+
* @template Response The union of successful responses for the action
|
|
248
333
|
* @template Parameters Optional. Additional parameters after the path parameters
|
|
249
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.
|
|
250
337
|
*/
|
|
251
338
|
#suppress "@azure-tools/typespec-azure-core/no-response-body" "ARM"
|
|
252
339
|
@doc("")
|
|
253
|
-
@autoRoute
|
|
254
340
|
@armResourceAction(Resource)
|
|
341
|
+
@armOperationRoute(OverrideRouteOptions)
|
|
255
342
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
343
|
+
@Private.armUpdateProviderNamespace
|
|
256
344
|
@post
|
|
257
345
|
@returnsDoc("Azure operation completed successfully.")
|
|
258
346
|
ActionAsync<
|
|
@@ -270,7 +358,9 @@ interface LegacyOperations<
|
|
|
270
358
|
"Resource operation accepted.",
|
|
271
359
|
LroHeaders
|
|
272
360
|
> | Result,
|
|
273
|
-
OptionalRequestBody extends valueof boolean = false
|
|
361
|
+
OptionalRequestBody extends valueof boolean = false,
|
|
362
|
+
OverrideErrortype extends {} = ErrorType,
|
|
363
|
+
OverrideRouteOptions extends valueof ArmOperationOptions = ResourceRoute
|
|
274
364
|
>(
|
|
275
365
|
...ParentParameters,
|
|
276
366
|
...ResourceTypeParameter,
|
|
@@ -279,16 +369,24 @@ interface LegacyOperations<
|
|
|
279
369
|
@doc("The content of the action request")
|
|
280
370
|
@armBodyRoot(OptionalRequestBody)
|
|
281
371
|
body: Request,
|
|
282
|
-
): Response |
|
|
372
|
+
): Response | OverrideErrortype;
|
|
283
373
|
}
|
|
284
374
|
/**
|
|
285
|
-
* @dev Get the provider namespace key-value pair
|
|
375
|
+
* @dev DEPRECATED: Use ProviderParameter instead. Get the provider namespace key-value pair
|
|
286
376
|
* @template Resource Optional. The resource to get the provider namespace for.
|
|
287
377
|
*/
|
|
288
378
|
model Provider<Resource extends {} = TenantActionScope> {
|
|
289
379
|
...ProviderNamespace<Resource>;
|
|
290
380
|
}
|
|
291
381
|
|
|
382
|
+
/**
|
|
383
|
+
* @dev Get the provider namespace key-value pair
|
|
384
|
+
* @template Resource The resource to get the provider namespace for.
|
|
385
|
+
*/
|
|
386
|
+
model ProviderParameter<Resource extends {}> {
|
|
387
|
+
...ProviderNamespace<Resource>;
|
|
388
|
+
}
|
|
389
|
+
|
|
292
390
|
/**
|
|
293
391
|
* A long-running resource update using a custom PATCH payload (Asynchronous)
|
|
294
392
|
* @template Resource the resource being patched
|
package/lib/arm.tsp
CHANGED
|
@@ -8,6 +8,7 @@ import "@azure-tools/typespec-azure-core";
|
|
|
8
8
|
import "./foundations/arm.foundations.tsp";
|
|
9
9
|
import "./Legacy/arm.legacy.tsp";
|
|
10
10
|
import "./common-types/common-types.tsp";
|
|
11
|
+
import "./extension/extension.tsp";
|
|
11
12
|
import "./backcompat.tsp";
|
|
12
13
|
import "./private.decorators.tsp";
|
|
13
14
|
import "./models.tsp";
|
|
@@ -18,6 +18,15 @@ enum ResourceHome {
|
|
|
18
18
|
|
|
19
19
|
@doc("The resource is bound to an extension")
|
|
20
20
|
Extension,
|
|
21
|
+
|
|
22
|
+
@doc("The resource is a built in tenant resource")
|
|
23
|
+
BuiltIn,
|
|
24
|
+
|
|
25
|
+
@doc("The resource is a built in subscription resource")
|
|
26
|
+
BuiltInSubscription,
|
|
27
|
+
|
|
28
|
+
@doc("The resource is a built in resource group resource")
|
|
29
|
+
BuiltInResourceGroup,
|
|
21
30
|
}
|
|
22
31
|
|
|
23
32
|
/** Alias of keyEncryptionKeyIdentity for back compatibility. Please change to keyEncryptionKeyIdentity. */
|
|
@@ -376,7 +376,10 @@ namespace Azure.ResourceManager.CommonTypes;
|
|
|
376
376
|
ResourceHome.Subscription,
|
|
377
377
|
ResourceHome.Location,
|
|
378
378
|
ResourceHome.Tenant,
|
|
379
|
-
ResourceHome.Extension
|
|
379
|
+
ResourceHome.Extension,
|
|
380
|
+
ResourceHome.BuiltIn,
|
|
381
|
+
ResourceHome.BuiltInSubscription,
|
|
382
|
+
ResourceHome.BuiltInResourceGroup
|
|
380
383
|
]
|
|
381
384
|
);
|
|
382
385
|
|
|
@@ -398,7 +401,13 @@ namespace Azure.ResourceManager.CommonTypes;
|
|
|
398
401
|
Azure.ResourceManager.CommonTypes.Versions.v6
|
|
399
402
|
);
|
|
400
403
|
@@resourceParameterBaseFor(SubscriptionIdParameter.subscriptionId,
|
|
401
|
-
[
|
|
404
|
+
[
|
|
405
|
+
ResourceHome.ResourceGroup,
|
|
406
|
+
ResourceHome.Subscription,
|
|
407
|
+
ResourceHome.Location,
|
|
408
|
+
ResourceHome.BuiltInSubscription,
|
|
409
|
+
ResourceHome.BuiltInResourceGroup
|
|
410
|
+
]
|
|
402
411
|
);
|
|
403
412
|
|
|
404
413
|
/** ResourceGroupNameParameter */
|
|
@@ -419,7 +428,7 @@ namespace Azure.ResourceManager.CommonTypes;
|
|
|
419
428
|
Azure.ResourceManager.CommonTypes.Versions.v6
|
|
420
429
|
);
|
|
421
430
|
@@resourceParameterBaseFor(ResourceGroupNameParameter.resourceGroupName,
|
|
422
|
-
[ResourceHome.ResourceGroup]
|
|
431
|
+
[ResourceHome.ResourceGroup, ResourceHome.BuiltInResourceGroup]
|
|
423
432
|
);
|
|
424
433
|
|
|
425
434
|
/** ManagementGroupNameParameter */
|
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
|
|
@@ -180,7 +212,7 @@ extern dec armCommonTypesVersion(
|
|
|
180
212
|
*
|
|
181
213
|
* @param propertiesType: The type of the resource properties.
|
|
182
214
|
*/
|
|
183
|
-
extern dec armVirtualResource(target: Model);
|
|
215
|
+
extern dec armVirtualResource(target: Model, provider?: valueof string);
|
|
184
216
|
|
|
185
217
|
/**
|
|
186
218
|
* This decorator sets the base type of the given resource.
|
|
@@ -189,7 +221,7 @@ extern dec armVirtualResource(target: Model);
|
|
|
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
|
/**
|