@azure-tools/typespec-azure-resource-manager 0.30.0-dev.1 → 0.30.0-dev.10
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/dist/src/internal.d.ts +2 -2
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +2 -11
- package/dist/src/internal.js.map +1 -1
- package/dist/src/operations.d.ts +10 -5
- package/dist/src/operations.d.ts.map +1 -1
- package/dist/src/operations.js +32 -21
- package/dist/src/operations.js.map +1 -1
- package/dist/src/resource.d.ts +1 -0
- package/dist/src/resource.d.ts.map +1 -1
- package/dist/src/resource.js +31 -1
- package/dist/src/resource.js.map +1 -1
- package/dist/src/rules/arm-resource-operations.js +4 -4
- package/dist/src/rules/arm-resource-operations.js.map +1 -1
- package/dist/src/rules/core-operations.js +5 -5
- package/dist/src/rules/core-operations.js.map +1 -1
- package/dist/src/rules/envelope-properties.js +3 -3
- package/dist/src/rules/envelope-properties.js.map +1 -1
- package/dist/src/rules/unsupported-types.js +2 -2
- package/dist/src/rules/unsupported-types.js.map +1 -1
- package/dist/src/rules/utils.d.ts +1 -1
- package/dist/src/rules/utils.d.ts.map +1 -1
- package/dist/src/rules/utils.js +3 -4
- package/dist/src/rules/utils.js.map +1 -1
- package/lib/arm.foundations.tsp +184 -14
- package/lib/arm.tsp +3 -0
- package/lib/decorators.tsp +12 -0
- package/lib/interfaces.tsp +78 -0
- package/lib/models.tsp +80 -0
- package/lib/operations.tsp +95 -28
- package/lib/parameters.tsp +6 -0
- package/lib/responses.tsp +11 -0
- package/package.json +19 -19
package/lib/models.tsp
CHANGED
|
@@ -10,6 +10,7 @@ namespace Azure.ResourceManager;
|
|
|
10
10
|
* Concrete tracked resource types can be created by aliasing this type using a specific property type.
|
|
11
11
|
*
|
|
12
12
|
* See more details on [different ARM resource type here.](https://azure.github.io/typespec-azure/docs/howtos/ARM/resource-type)
|
|
13
|
+
* @template TProperties A model containing the provider-specific properties for this resource
|
|
13
14
|
*/
|
|
14
15
|
@doc("Concrete tracked resource types can be created by aliasing this type using a specific property type.")
|
|
15
16
|
@armResourceInternal(TProperties)
|
|
@@ -25,6 +26,7 @@ model TrackedResource<TProperties> extends TrackedResourceBase {
|
|
|
25
26
|
* Concrete proxy resource types can be created by aliasing this type using a specific property type.
|
|
26
27
|
*
|
|
27
28
|
* See more details on [different ARM resource type here.](https://azure.github.io/typespec-azure/docs/howtos/ARM/resource-type)
|
|
29
|
+
* @template TProperties A model containing the provider-specific properties for this resource
|
|
28
30
|
*/
|
|
29
31
|
@doc("Concrete proxy resource types can be created by aliasing this type using a specific property type.")
|
|
30
32
|
@armResourceInternal(TProperties)
|
|
@@ -40,6 +42,7 @@ model ProxyResource<TProperties> extends ProxyResourceBase {
|
|
|
40
42
|
* Concrete extension resource types can be created by aliasing this type using a specific property type.
|
|
41
43
|
*
|
|
42
44
|
* See more details on [different ARM resource type here.](https://azure.github.io/typespec-azure/docs/howtos/ARM/resource-type)
|
|
45
|
+
* @template TProperties A model containing the provider-specific properties for this resource
|
|
43
46
|
*/
|
|
44
47
|
@extensionResource
|
|
45
48
|
@doc("Concrete extension resource types can be created by aliasing this type using a specific property type.")
|
|
@@ -54,12 +57,25 @@ model ExtensionResource<TProperties> extends ExtensionResourceBase {
|
|
|
54
57
|
//#region
|
|
55
58
|
|
|
56
59
|
//#region Standard extraction models
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Extracts the key (path) parameters from a resource and its parents
|
|
63
|
+
* @template TResource The resource to extract properties from
|
|
64
|
+
*/
|
|
57
65
|
@copyResourceKeyParameters
|
|
58
66
|
model KeysOf<TResource> {}
|
|
59
67
|
|
|
68
|
+
/**
|
|
69
|
+
* Extracts the key (path) parameters from the parent(s) of the given resource
|
|
70
|
+
* @template TResource The resource to extract properties from
|
|
71
|
+
*/
|
|
60
72
|
@copyResourceKeyParameters("parent")
|
|
61
73
|
model ParentKeysOf<TResource> {}
|
|
62
74
|
|
|
75
|
+
/**
|
|
76
|
+
* Model describing the provider namespace.
|
|
77
|
+
* @template TResource The resource provided by the namespace.
|
|
78
|
+
*/
|
|
63
79
|
model ProviderNamespace<TResource> {
|
|
64
80
|
@path
|
|
65
81
|
@segment("providers")
|
|
@@ -78,6 +94,7 @@ model ProviderNamespace<TResource> {
|
|
|
78
94
|
* otherArmId: ResourceIdentifier;
|
|
79
95
|
* networkId: ResourceIdentifier<[{type:"\\Microsoft.Network\\vnet"}]>
|
|
80
96
|
* vmIds: ResourceIdentifier<[{type:"\\Microsoft.Compute\\vm", scopes["*"]}]>
|
|
97
|
+
* @template T An array of allowed resource types for the resource reference
|
|
81
98
|
*/
|
|
82
99
|
@doc("A type definition that refers the id to an ARM resource.")
|
|
83
100
|
@format("arm-id")
|
|
@@ -157,12 +174,27 @@ model ManagedServiceIdentity {
|
|
|
157
174
|
identity?: ManagedIdentityProperties;
|
|
158
175
|
}
|
|
159
176
|
|
|
177
|
+
/**
|
|
178
|
+
* Standard ARM definition of ManagedServiceIdentity for services
|
|
179
|
+
* that only support system-defined identities
|
|
180
|
+
*/
|
|
160
181
|
@doc("Managed identity for services that are constrained to system-assigned managed identities.")
|
|
161
182
|
model ManagedSystemAssignedIdentity {
|
|
162
183
|
@doc("The managed service identities assigned to this resource.")
|
|
163
184
|
identity?: ManagedSystemIdentityProperties;
|
|
164
185
|
}
|
|
165
186
|
|
|
187
|
+
/**
|
|
188
|
+
* Model used only to spread in the standard `eTag` envelope property for a resource
|
|
189
|
+
* @example
|
|
190
|
+
*
|
|
191
|
+
* ```typespec
|
|
192
|
+
* model Foo is TrackedResource<FooProperties> {
|
|
193
|
+
* // Only have standard Succeeded, Failed, Cancelled states
|
|
194
|
+
* ...EntityTag;
|
|
195
|
+
* }
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
166
198
|
@doc("The eTag property envelope.")
|
|
167
199
|
model EntityTag {
|
|
168
200
|
@doc("If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.")
|
|
@@ -170,6 +202,17 @@ model EntityTag {
|
|
|
170
202
|
eTag?: string;
|
|
171
203
|
}
|
|
172
204
|
|
|
205
|
+
/**
|
|
206
|
+
* Model used only to spread in the standard `kind` envelope property for a resource
|
|
207
|
+
* @example
|
|
208
|
+
*
|
|
209
|
+
* ```typespec
|
|
210
|
+
* model Foo is TrackedResource<FooProperties> {
|
|
211
|
+
* // Only have standard Succeeded, Failed, Cancelled states
|
|
212
|
+
* ...ResourceKind;
|
|
213
|
+
* }
|
|
214
|
+
* ```
|
|
215
|
+
*/
|
|
173
216
|
@doc("The resource kind property envelope.")
|
|
174
217
|
model ResourceKind {
|
|
175
218
|
@doc("Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value.")
|
|
@@ -178,22 +221,59 @@ model ResourceKind {
|
|
|
178
221
|
kind?: string;
|
|
179
222
|
}
|
|
180
223
|
|
|
224
|
+
/**
|
|
225
|
+
* Paged response containing resources
|
|
226
|
+
* @template TResource The type of the values returned in the paged response (must be a resource)
|
|
227
|
+
*/
|
|
181
228
|
@doc("The response of a {name} list operation.", TResource)
|
|
182
229
|
@friendlyName("{name}ListResult", TResource)
|
|
183
230
|
model ResourceListResult<TResource extends ArmResource> is Azure.Core.Page<TResource>;
|
|
184
231
|
|
|
232
|
+
/**
|
|
233
|
+
* Model used only to spread in the standard `plan` envelope property for a resource
|
|
234
|
+
* @example
|
|
235
|
+
*
|
|
236
|
+
* ```typespec
|
|
237
|
+
* model Foo is TrackedResource<FooProperties> {
|
|
238
|
+
* // Only have standard Succeeded, Failed, Cancelled states
|
|
239
|
+
* ...ResourcePlan;
|
|
240
|
+
* }
|
|
241
|
+
* ```
|
|
242
|
+
*/
|
|
185
243
|
@doc("The resource plan property envelope.")
|
|
186
244
|
model ResourcePlan {
|
|
187
245
|
@doc("Details of the resource plan.")
|
|
188
246
|
plan?: ResourcePlanType;
|
|
189
247
|
}
|
|
190
248
|
|
|
249
|
+
/**
|
|
250
|
+
* Model used only to spread in the standard `sku` envelope property for a resource
|
|
251
|
+
* @example
|
|
252
|
+
*
|
|
253
|
+
* ```typespec
|
|
254
|
+
* model Foo is TrackedResource<FooProperties> {
|
|
255
|
+
* // Only have standard Succeeded, Failed, Cancelled states
|
|
256
|
+
* ...ResourceSku;
|
|
257
|
+
* }
|
|
258
|
+
* ```
|
|
259
|
+
*/
|
|
191
260
|
@doc("The SKU (Stock Keeping Unit) assigned to this resource.")
|
|
192
261
|
model ResourceSku {
|
|
193
262
|
@doc("The SKU (Stock Keeping Unit) assigned to this resource.")
|
|
194
263
|
sku?: ResourceSkuType;
|
|
195
264
|
}
|
|
196
265
|
|
|
266
|
+
/**
|
|
267
|
+
* Model used only to spread in the standard `managedBy` envelope property for a resource
|
|
268
|
+
* @example
|
|
269
|
+
*
|
|
270
|
+
* ```typespec
|
|
271
|
+
* model Foo is TrackedResource<FooProperties> {
|
|
272
|
+
* // Only have standard Succeeded, Failed, Cancelled states
|
|
273
|
+
* ...ManagedBy;
|
|
274
|
+
* }
|
|
275
|
+
* ```
|
|
276
|
+
*/
|
|
197
277
|
@doc("The managedBy property envelope.")
|
|
198
278
|
model ManagedBy {
|
|
199
279
|
@doc("The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource.")
|
package/lib/operations.tsp
CHANGED
|
@@ -10,7 +10,7 @@ namespace Azure.ResourceManager;
|
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* A resource list operation, at the subscription scope
|
|
13
|
-
* @
|
|
13
|
+
* @template TResource the resource being patched
|
|
14
14
|
*/
|
|
15
15
|
@autoRoute
|
|
16
16
|
@doc("List {name} resources by subscription ID", TResource)
|
|
@@ -24,7 +24,10 @@ op ArmListBySubscription<TResource extends ArmResource>(
|
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* A resource list operation, at the scope of the resource's parent
|
|
27
|
-
* @
|
|
27
|
+
* @template TResource the resource being patched
|
|
28
|
+
* @template TBaseParameters Optional. Allows overriding the operation parameters
|
|
29
|
+
* @template TParentName Optional. The name of the parent resource
|
|
30
|
+
* @template TParentFriendlyName Optional. The friendly name of the parent resource
|
|
28
31
|
*/
|
|
29
32
|
@get
|
|
30
33
|
@autoRoute
|
|
@@ -43,8 +46,8 @@ op ArmResourceListByParent<
|
|
|
43
46
|
|
|
44
47
|
/**
|
|
45
48
|
* A resource list operation, with scope determined by TBaseParameters
|
|
46
|
-
* @
|
|
47
|
-
* @
|
|
49
|
+
* @template TResource the resource being patched
|
|
50
|
+
* @template TBaseParameters Optional. Allows overriding the operation parameters
|
|
48
51
|
*/
|
|
49
52
|
@get
|
|
50
53
|
@autoRoute
|
|
@@ -61,8 +64,8 @@ op ArmResourceListAtScope<
|
|
|
61
64
|
|
|
62
65
|
/**
|
|
63
66
|
* A resource GET operation
|
|
64
|
-
* @
|
|
65
|
-
* @
|
|
67
|
+
* @template TResource the resource being patched
|
|
68
|
+
* @template TBaseParameters Optional. Allows overriding the operation parameters
|
|
66
69
|
*/
|
|
67
70
|
@autoRoute
|
|
68
71
|
@doc("Get a {name}", TResource)
|
|
@@ -74,8 +77,8 @@ op ArmResourceRead<TResource extends ArmResource, TBaseParameters = BaseParamete
|
|
|
74
77
|
|
|
75
78
|
/**
|
|
76
79
|
* A long-running resource CreateOrUpdate (PUT)
|
|
77
|
-
* @
|
|
78
|
-
* @
|
|
80
|
+
* @template TResource the resource being patched
|
|
81
|
+
* @template TBaseParameters Optional. Allows overriding the operation parameters
|
|
79
82
|
*/
|
|
80
83
|
@autoRoute
|
|
81
84
|
@doc("Create a {name}", TResource)
|
|
@@ -101,8 +104,8 @@ op ArmResourceCreateOrUpdateAsync<
|
|
|
101
104
|
|
|
102
105
|
/**
|
|
103
106
|
* A resource CreateOrUpdate (PUT)
|
|
104
|
-
* @
|
|
105
|
-
* @
|
|
107
|
+
* @template TResource the resource being patched
|
|
108
|
+
* @template TBaseParameters Optional. Allows overriding the operation parameters
|
|
106
109
|
*/
|
|
107
110
|
@autoRoute
|
|
108
111
|
@doc("Create a {name}", TResource)
|
|
@@ -121,8 +124,8 @@ op ArmResourceCreateOrUpdateSync<
|
|
|
121
124
|
|
|
122
125
|
/**
|
|
123
126
|
* A long-running resource update that only allows updating resource tags (the minimum)
|
|
124
|
-
* @
|
|
125
|
-
* @
|
|
127
|
+
* @template TResource the resource being patched
|
|
128
|
+
* @template TBaseParameters Optional. Allows overriding the operation parameters
|
|
126
129
|
*/
|
|
127
130
|
alias ArmTagsPatchAsync<
|
|
128
131
|
TResource extends ArmResource,
|
|
@@ -132,9 +135,9 @@ alias ArmTagsPatchAsync<
|
|
|
132
135
|
|
|
133
136
|
/**
|
|
134
137
|
* A long-running resource update using the items from the resource marked with visibility "update"
|
|
135
|
-
* @
|
|
136
|
-
* @
|
|
137
|
-
* @
|
|
138
|
+
* @template TResource the resource being patched
|
|
139
|
+
* @template TProperties The model type of the resource properties
|
|
140
|
+
* @template TBaseParameters Optional. Allows overriding the operation parameters
|
|
138
141
|
*/
|
|
139
142
|
alias ArmResourcePatchAsync<
|
|
140
143
|
TResource extends ArmResource,
|
|
@@ -144,9 +147,9 @@ alias ArmResourcePatchAsync<
|
|
|
144
147
|
|
|
145
148
|
/**
|
|
146
149
|
* A long-running resource update using a custom PATCH payload (Asynchronous)
|
|
147
|
-
* @
|
|
148
|
-
* @
|
|
149
|
-
* @
|
|
150
|
+
* @template TResource the resource being patched
|
|
151
|
+
* @template TPatchModel The input model for the PATCH request
|
|
152
|
+
* @template TBaseParameters Optional. Allows overriding the operation parameters
|
|
150
153
|
*/
|
|
151
154
|
@autoRoute
|
|
152
155
|
@doc("Update a {name}", TResource)
|
|
@@ -173,8 +176,8 @@ op ArmCustomPatchAsync<
|
|
|
173
176
|
|
|
174
177
|
/**
|
|
175
178
|
* A resource update that only allows updating resource tags (the minimum)
|
|
176
|
-
* @
|
|
177
|
-
* @
|
|
179
|
+
* @template TResource the resource being patched
|
|
180
|
+
* @template TBaseParameters Optional. Allows overriding the operation parameters
|
|
178
181
|
*/
|
|
179
182
|
alias ArmTagsPatchSync<
|
|
180
183
|
TResource extends ArmResource,
|
|
@@ -183,9 +186,9 @@ alias ArmTagsPatchSync<
|
|
|
183
186
|
|
|
184
187
|
/**
|
|
185
188
|
* A resource update using the items from the resource marked with visibility "update"
|
|
186
|
-
* @
|
|
187
|
-
* @
|
|
188
|
-
* @
|
|
189
|
+
* @template TResource the resource being patched
|
|
190
|
+
* @template TProperties The model type of the resource properties
|
|
191
|
+
* @template TBaseParameters Optional. Allows overriding the operation parameters
|
|
189
192
|
*/
|
|
190
193
|
alias ArmResourcePatchSync<
|
|
191
194
|
TResource extends ArmResource,
|
|
@@ -195,9 +198,9 @@ alias ArmResourcePatchSync<
|
|
|
195
198
|
|
|
196
199
|
/**
|
|
197
200
|
* A resource update using a custom PATCH payload (synchronous)
|
|
198
|
-
* @
|
|
199
|
-
* @
|
|
200
|
-
* @
|
|
201
|
+
* @template TResource the resource being patched
|
|
202
|
+
* @template TPatchModel The input model for the PATCH request
|
|
203
|
+
* @template TBaseParameters Optional. Allows overriding the operation parameters
|
|
201
204
|
*/
|
|
202
205
|
@autoRoute
|
|
203
206
|
@doc("Update a {name}", TResource)
|
|
@@ -217,8 +220,8 @@ op ArmCustomPatchSync<
|
|
|
217
220
|
|
|
218
221
|
/**
|
|
219
222
|
* Delete a resource Asynchronously
|
|
220
|
-
* @
|
|
221
|
-
* @
|
|
223
|
+
* @template TResource The resource being deleted
|
|
224
|
+
* @template TBaseParameters Optional. Allows overriding the parameters for the operation
|
|
222
225
|
*/
|
|
223
226
|
@autoRoute
|
|
224
227
|
@doc("Delete a {name}", TResource)
|
|
@@ -240,6 +243,11 @@ op ArmResourceDeleteAsync<
|
|
|
240
243
|
| ArmDeletedNoContentResponse
|
|
241
244
|
| ErrorResponse;
|
|
242
245
|
|
|
246
|
+
/**
|
|
247
|
+
* Delete a resource synchronously
|
|
248
|
+
* @template TResource The resource being deleted
|
|
249
|
+
* @template TBaseParameters Optional. Allows overriding the parameters for the operation
|
|
250
|
+
*/
|
|
243
251
|
@autoRoute
|
|
244
252
|
@doc("Delete a {name}", TResource)
|
|
245
253
|
@armResourceDelete(TResource)
|
|
@@ -251,6 +259,13 @@ op ArmResourceDeleteSync<
|
|
|
251
259
|
...ResourceInstanceParameters<TResource, TBaseParameters>
|
|
252
260
|
): ArmDeletedResponse | ArmDeletedNoContentResponse | ErrorResponse;
|
|
253
261
|
|
|
262
|
+
/**
|
|
263
|
+
* A long-running resource action.
|
|
264
|
+
* @template TResource The resource being acted upon
|
|
265
|
+
* @template TRequest The request model for the action
|
|
266
|
+
* @template TResponse The response model for the action
|
|
267
|
+
* @template TBaseParameters Optional. Allows overriding the parameters for the operation
|
|
268
|
+
*/
|
|
254
269
|
@autoRoute
|
|
255
270
|
@extension("x-ms-long-running-operation", true)
|
|
256
271
|
@extension(
|
|
@@ -274,6 +289,13 @@ op ArmResourceActionAsync<
|
|
|
274
289
|
body: TRequest
|
|
275
290
|
): ArmAcceptedLroResponse | ArmResponse<TResponse> | ErrorResponse;
|
|
276
291
|
|
|
292
|
+
/**
|
|
293
|
+
* A synchronous resource action.
|
|
294
|
+
* @template TResource The resource being acted upon
|
|
295
|
+
* @template TRequest The request model for the action
|
|
296
|
+
* @template TResponse The response model for the action
|
|
297
|
+
* @template TBaseParameters Optional. Allows overriding the parameters for the operation
|
|
298
|
+
*/
|
|
277
299
|
@autoRoute
|
|
278
300
|
@armResourceAction(TResource)
|
|
279
301
|
@post
|
|
@@ -290,6 +312,12 @@ op ArmResourceActionSync<
|
|
|
290
312
|
body: TRequest
|
|
291
313
|
): ArmResponse<TResponse> | ErrorResponse;
|
|
292
314
|
|
|
315
|
+
/**
|
|
316
|
+
* A long-running resource action that returns no content.
|
|
317
|
+
* @template TResource The resource being acted upon
|
|
318
|
+
* @template TRequest The request model for the action
|
|
319
|
+
* @template TBaseParameters Optional. Allows overriding the parameters for the operation
|
|
320
|
+
*/
|
|
293
321
|
@autoRoute
|
|
294
322
|
@extension("x-ms-long-running-operation", true)
|
|
295
323
|
@extension(
|
|
@@ -312,6 +340,12 @@ op ArmResourceActionNoContentAsync<
|
|
|
312
340
|
body: TRequest
|
|
313
341
|
): ArmAcceptedLroResponse | ArmNoContentResponse<"Action completed successfully."> | ErrorResponse;
|
|
314
342
|
|
|
343
|
+
/**
|
|
344
|
+
* A synchronous resource action that returns no content.
|
|
345
|
+
* @template TResource The resource being acted upon
|
|
346
|
+
* @template TRequest The request model for the action
|
|
347
|
+
* @template TBaseParameters Optional. Allows overriding the parameters for the operation
|
|
348
|
+
*/
|
|
315
349
|
@autoRoute
|
|
316
350
|
@armResourceAction(TResource)
|
|
317
351
|
@post
|
|
@@ -326,3 +360,36 @@ op ArmResourceActionNoContentSync<
|
|
|
326
360
|
@body
|
|
327
361
|
body: TRequest
|
|
328
362
|
): ArmNoContentResponse<"Action completed successfully."> | ErrorResponse;
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
* Adds check global name availability operation, normally used if
|
|
366
|
+
* a resource name must be globally unique (for example, if the resource
|
|
367
|
+
* exposes and endpoint that uses the resource name in the url)
|
|
368
|
+
* @template TRequest the availability request, defaults to the standard request, contsining name and tesource type
|
|
369
|
+
* @template TResponse the availability response, default to the standard response
|
|
370
|
+
* @template TAdditionalParams A model specifying additiional non-path parameters to the availability request
|
|
371
|
+
*/
|
|
372
|
+
alias checkGlobalNameAvailability<
|
|
373
|
+
TRequest extends object = Azure.ResourceManager.Foundations.CheckNameAvailabilityRequest,
|
|
374
|
+
TResponse extends object = CheckNameAvailabilityResponse,
|
|
375
|
+
TAdditionalParams extends object = {}
|
|
376
|
+
> = checkNameAvailability<SubscriptionIdParameter, TRequest, TResponse, TAdditionalParams>;
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* Adds check location-specific name availability operation, normally used if
|
|
380
|
+
* a resource name must be globally unique (for example, if the resource
|
|
381
|
+
* exposes and endpoint that uses the resource name in the url)
|
|
382
|
+
* @template TRequest the availability request, defaults to the standard request, contsining name and tesource type
|
|
383
|
+
* @template TResponse the availability response, default to the standard response
|
|
384
|
+
* @template TAdditionalParams A model specifying additiional non-path parameters to the availability request
|
|
385
|
+
*/
|
|
386
|
+
alias checkLocalNameAvailability<
|
|
387
|
+
TRequest extends object = Azure.ResourceManager.Foundations.CheckNameAvailabilityRequest,
|
|
388
|
+
TResponse extends object = CheckNameAvailabilityResponse,
|
|
389
|
+
TAdditionalParams extends object = {}
|
|
390
|
+
> = checkNameAvailability<
|
|
391
|
+
SubscriptionIdParameter & LocationParameter,
|
|
392
|
+
TRequest,
|
|
393
|
+
TResponse,
|
|
394
|
+
TAdditionalParams
|
|
395
|
+
>;
|
package/lib/parameters.tsp
CHANGED
|
@@ -86,6 +86,8 @@ model ResourceUriParameter {
|
|
|
86
86
|
/**
|
|
87
87
|
* The dynamic parameters of a resource instance - pass in the proper base type to indicate
|
|
88
88
|
* where the resource is based. The default is in a resource group
|
|
89
|
+
* @template TResource The resource to get parameters for
|
|
90
|
+
* @template TBaseParameters The parameters representing the base Uri of the resource
|
|
89
91
|
*/
|
|
90
92
|
model ResourceInstanceParameters<
|
|
91
93
|
TResource extends ArmResource,
|
|
@@ -99,6 +101,8 @@ model ResourceInstanceParameters<
|
|
|
99
101
|
/**
|
|
100
102
|
* The dynamic parameters of a list call for a resource instance - pass in the proper base type to indicate
|
|
101
103
|
* where the list should take place. The default is in a resource group
|
|
104
|
+
* @template TResource The resource to get parameters for
|
|
105
|
+
* @template TBaseParameters The parameters representing the base Uri of the resource
|
|
102
106
|
*/
|
|
103
107
|
model ResourceParentParameters<
|
|
104
108
|
TResource extends ArmResource,
|
|
@@ -111,6 +115,7 @@ model ResourceParentParameters<
|
|
|
111
115
|
|
|
112
116
|
/**
|
|
113
117
|
* The dynamic parameters of a list call for an extension resource instance.
|
|
118
|
+
* @template TResource The extension resource
|
|
114
119
|
*/
|
|
115
120
|
alias ExtensionResourceInstanceParameters<TResource extends ArmResource> = ResourceInstanceParameters<
|
|
116
121
|
TResource,
|
|
@@ -119,6 +124,7 @@ alias ExtensionResourceInstanceParameters<TResource extends ArmResource> = Resou
|
|
|
119
124
|
|
|
120
125
|
/**
|
|
121
126
|
* The dynamic parameters of a list call for a tenant resource instance.
|
|
127
|
+
* @template TResource the tenant resource
|
|
122
128
|
*/
|
|
123
129
|
alias TenantInstanceParameters<TResource extends ArmResource> = ResourceInstanceParameters<
|
|
124
130
|
TResource,
|
package/lib/responses.tsp
CHANGED
|
@@ -7,6 +7,7 @@ namespace Azure.ResourceManager;
|
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* The ARM synchronous OK response
|
|
10
|
+
* @template T The contents of the response body
|
|
10
11
|
*/
|
|
11
12
|
@doc("ARM operation completed successfully.")
|
|
12
13
|
model ArmResponse<T> {
|
|
@@ -16,6 +17,7 @@ model ArmResponse<T> {
|
|
|
16
17
|
|
|
17
18
|
/**
|
|
18
19
|
* The ARM 201 response for a resource
|
|
20
|
+
* @template T The contents of the response body
|
|
19
21
|
*/
|
|
20
22
|
@doc("ARM create operation completed successfully.")
|
|
21
23
|
model ArmCreatedResponse<T> {
|
|
@@ -37,8 +39,15 @@ model ArmDeletedResponse {
|
|
|
37
39
|
*/
|
|
38
40
|
model ArmDeleteAcceptedLroResponse is ArmAcceptedLroResponse<"Resource deletion accepted.">;
|
|
39
41
|
|
|
42
|
+
/**
|
|
43
|
+
* The response for synchronous ARM delete ACCEPTED
|
|
44
|
+
*/
|
|
40
45
|
model ArmDeleteAcceptedResponse is ArmAcceptedResponse<"Resource deletion accepted.">;
|
|
41
46
|
|
|
47
|
+
/**
|
|
48
|
+
* The standard ACCEPTED response
|
|
49
|
+
* @template TMessage The description of the response status (defaults to `Resource operation accepted`)
|
|
50
|
+
*/
|
|
42
51
|
@doc(TMessage)
|
|
43
52
|
model ArmAcceptedResponse<TMessage extends string = "Resource operation accepted."> {
|
|
44
53
|
...AcceptedResponse;
|
|
@@ -47,6 +56,7 @@ model ArmAcceptedResponse<TMessage extends string = "Resource operation accepted
|
|
|
47
56
|
|
|
48
57
|
/**
|
|
49
58
|
* The standard ARM response for asynchronous PATCH, POST, and DELETE operations
|
|
59
|
+
* @template TMessage The description of the response status (defaults to `Resource operation accepted`)
|
|
50
60
|
*/
|
|
51
61
|
model ArmAcceptedLroResponse<TMessage extends string = "Resource operation accepted.">
|
|
52
62
|
is ArmAcceptedResponse<TMessage> {
|
|
@@ -62,6 +72,7 @@ model ArmDeletedNoContentResponse is ArmNoContentResponse<"Resource deleted succ
|
|
|
62
72
|
|
|
63
73
|
/**
|
|
64
74
|
* Standard ARM NoContent (204) response
|
|
75
|
+
* @template TMessage The description of the response status (defaults to `Operation completed successfully`)
|
|
65
76
|
*/
|
|
66
77
|
@doc(TMessage)
|
|
67
78
|
model ArmNoContentResponse<TMessage extends string = "Operation completed successfully."> {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@azure-tools/typespec-azure-resource-manager",
|
|
3
|
-
"version": "0.30.0-dev.
|
|
3
|
+
"version": "0.30.0-dev.10",
|
|
4
4
|
"author": "Microsoft Corporation",
|
|
5
5
|
"description": "TypeSpec Azure Resource Manager library",
|
|
6
6
|
"homepage": "https://azure.github.io/typespec-azure",
|
|
@@ -42,30 +42,30 @@
|
|
|
42
42
|
"!dist/test/**"
|
|
43
43
|
],
|
|
44
44
|
"peerDependencies": {
|
|
45
|
-
"@typespec/compiler": "
|
|
46
|
-
"@azure-tools/typespec-azure-core": "
|
|
47
|
-
"@azure-tools/typespec-autorest": "
|
|
48
|
-
"@typespec/openapi": "
|
|
49
|
-
"@typespec/rest": "
|
|
50
|
-
"@typespec/http": "
|
|
51
|
-
"@typespec/versioning": "
|
|
45
|
+
"@typespec/compiler": "~0.43.0 || >=0.44.0-dev <0.44.0",
|
|
46
|
+
"@azure-tools/typespec-azure-core": "~0.29.0 || >=0.30.0-dev <0.30.0",
|
|
47
|
+
"@azure-tools/typespec-autorest": "~0.29.0 || >=0.30.0-dev <0.30.0",
|
|
48
|
+
"@typespec/openapi": "~0.43.0 || >=0.44.0-dev <0.44.0",
|
|
49
|
+
"@typespec/rest": "~0.43.0 || >=0.44.0-dev <0.44.0",
|
|
50
|
+
"@typespec/http": "~0.43.1 || >=0.44.0-dev <0.44.0",
|
|
51
|
+
"@typespec/versioning": "~0.43.0 || >=0.44.0-dev <0.44.0"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@typespec/lint": "
|
|
54
|
+
"@typespec/lint": "~0.43.0 || >=0.44.0-dev <0.44.0"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@typespec/compiler": "
|
|
58
|
-
"@typespec/openapi": "
|
|
59
|
-
"@azure-tools/typespec-azure-core": "
|
|
60
|
-
"@azure-tools/typespec-autorest": "
|
|
61
|
-
"@typespec/rest": "
|
|
62
|
-
"@typespec/http": "
|
|
63
|
-
"@typespec/versioning": "
|
|
57
|
+
"@typespec/compiler": "~0.43.0 || >=0.44.0-dev <0.44.0",
|
|
58
|
+
"@typespec/openapi": "~0.43.0 || >=0.44.0-dev <0.44.0",
|
|
59
|
+
"@azure-tools/typespec-azure-core": "~0.29.0 || >=0.30.0-dev <0.30.0",
|
|
60
|
+
"@azure-tools/typespec-autorest": "~0.29.0 || >=0.30.0-dev <0.30.0",
|
|
61
|
+
"@typespec/rest": "~0.43.0 || >=0.44.0-dev <0.44.0",
|
|
62
|
+
"@typespec/http": "~0.43.1 || >=0.44.0-dev <0.44.0",
|
|
63
|
+
"@typespec/versioning": "~0.43.0 || >=0.44.0-dev <0.44.0",
|
|
64
64
|
"@types/mocha": "~10.0.0",
|
|
65
65
|
"@types/node": "~18.11.9",
|
|
66
|
-
"@typespec/eslint-config-typespec": "
|
|
67
|
-
"@typespec/library-linter": "
|
|
68
|
-
"@typespec/eslint-plugin": "
|
|
66
|
+
"@typespec/eslint-config-typespec": "~0.6.0 || >=0.7.0-dev <0.7.0",
|
|
67
|
+
"@typespec/library-linter": "~0.43.0 || >=0.44.0-dev <0.44.0",
|
|
68
|
+
"@typespec/eslint-plugin": "~0.43.0 || >=0.44.0-dev <0.44.0",
|
|
69
69
|
"eslint": "^8.36.0",
|
|
70
70
|
"mocha": "~10.2.0",
|
|
71
71
|
"mocha-junit-reporter": "~2.2.0",
|