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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +5 -2
  2. package/dist/generated-defs/Azure.ResourceManager.Extension.Private.d.ts +25 -0
  3. package/dist/generated-defs/Azure.ResourceManager.Extension.Private.d.ts.map +1 -0
  4. package/dist/generated-defs/Azure.ResourceManager.Extension.Private.js +2 -0
  5. package/dist/generated-defs/Azure.ResourceManager.Extension.Private.js.map +1 -0
  6. package/dist/generated-defs/Azure.ResourceManager.Private.d.ts +8 -0
  7. package/dist/generated-defs/Azure.ResourceManager.Private.d.ts.map +1 -1
  8. package/dist/generated-defs/Azure.ResourceManager.d.ts +1 -1
  9. package/dist/generated-defs/Azure.ResourceManager.d.ts.map +1 -1
  10. package/dist/src/lib.d.ts +17 -2
  11. package/dist/src/lib.d.ts.map +1 -1
  12. package/dist/src/lib.js +6 -0
  13. package/dist/src/lib.js.map +1 -1
  14. package/dist/src/linter.d.ts.map +1 -1
  15. package/dist/src/linter.js +2 -0
  16. package/dist/src/linter.js.map +1 -1
  17. package/dist/src/namespace.d.ts.map +1 -1
  18. package/dist/src/namespace.js +14 -7
  19. package/dist/src/namespace.js.map +1 -1
  20. package/dist/src/private.decorators.d.ts.map +1 -1
  21. package/dist/src/private.decorators.js +61 -7
  22. package/dist/src/private.decorators.js.map +1 -1
  23. package/dist/src/resource.d.ts +16 -1
  24. package/dist/src/resource.d.ts.map +1 -1
  25. package/dist/src/resource.js +46 -8
  26. package/dist/src/resource.js.map +1 -1
  27. package/dist/src/rules/arm-custom-resource-no-key.d.ts +4 -0
  28. package/dist/src/rules/arm-custom-resource-no-key.d.ts.map +1 -0
  29. package/dist/src/rules/arm-custom-resource-no-key.js +28 -0
  30. package/dist/src/rules/arm-custom-resource-no-key.js.map +1 -0
  31. package/dist/src/rules/list-operation.js +1 -1
  32. package/dist/src/rules/list-operation.js.map +1 -1
  33. package/dist/src/state.d.ts +1 -0
  34. package/dist/src/state.d.ts.map +1 -1
  35. package/dist/src/state.js +1 -0
  36. package/dist/src/state.js.map +1 -1
  37. package/lib/Legacy/arm.legacy.tsp +4 -0
  38. package/lib/Legacy/extension.tsp +321 -0
  39. package/lib/Legacy/interfaces.tsp +38 -0
  40. package/lib/Legacy/operations.tsp +41 -2
  41. package/lib/arm.tsp +1 -0
  42. package/lib/common-types/internal.tsp +9 -0
  43. package/lib/common-types/types-ref.tsp +12 -3
  44. package/lib/decorators.tsp +1 -1
  45. package/lib/extension/extension.tsp +6 -0
  46. package/lib/extension/operations.tsp +507 -0
  47. package/lib/extension/parameters.tsp +223 -0
  48. package/lib/extension/private.decorators.tsp +24 -0
  49. package/lib/private.decorators.tsp +5 -0
  50. package/package.json +1 -1
@@ -32,6 +32,7 @@ interface LegacyOperations<
32
32
  @autoRoute
33
33
  @doc("Create a {name}", Resource)
34
34
  @armResourceCreateOrUpdate(Resource)
35
+ @Private.armUpdateProviderNamespace
35
36
  @Azure.Core.Foundations.Private.defaultFinalStateVia(#["location", "azure-async-operation"])
36
37
  @put
37
38
  CreateOrUpdateAsync<
@@ -62,6 +63,7 @@ interface LegacyOperations<
62
63
  @autoRoute
63
64
  @doc("Create a {name}", Resource)
64
65
  @armResourceCreateOrUpdate(Resource)
66
+ @Private.armUpdateProviderNamespace
65
67
  @put
66
68
  CreateOrUpdateSync<
67
69
  Resource extends Foundations.SimpleResource,
@@ -87,6 +89,7 @@ interface LegacyOperations<
87
89
  @autoRoute
88
90
  @doc("Update a {name}", Resource)
89
91
  @armResourceUpdate(Resource)
92
+ @Private.armUpdateProviderNamespace
90
93
  @patch(#{ implicitOptionality: false })
91
94
  CustomPatchAsync<
92
95
  Resource extends Foundations.SimpleResource,
@@ -121,6 +124,7 @@ interface LegacyOperations<
121
124
  @autoRoute
122
125
  @doc("Update a {name}", Resource)
123
126
  @armResourceUpdate(Resource)
127
+ @Private.armUpdateProviderNamespace
124
128
  @patch(#{ implicitOptionality: false })
125
129
  CustomPatchSync<
126
130
  Resource extends Foundations.SimpleResource,
@@ -147,6 +151,7 @@ interface LegacyOperations<
147
151
  @doc("Delete a {name}", Resource)
148
152
  @delete
149
153
  @deletesResource(Resource)
154
+ @Private.armUpdateProviderNamespace
150
155
  @armResourceDelete(Resource)
151
156
  DeleteWithoutOkAsync<
152
157
  Resource extends Foundations.SimpleResource,
@@ -168,6 +173,7 @@ interface LegacyOperations<
168
173
  @delete
169
174
  @deletesResource(Resource)
170
175
  @armResourceDelete(Resource)
176
+ @Private.armUpdateProviderNamespace
171
177
  DeleteSync<
172
178
  Resource extends Foundations.SimpleResource,
173
179
  Parameters extends {} = {},
@@ -185,12 +191,33 @@ interface LegacyOperations<
185
191
  @get
186
192
  @readsResource(Resource)
187
193
  @armResourceRead(Resource)
194
+ @Private.armUpdateProviderNamespace
188
195
  Read<
189
196
  Resource extends Foundations.SimpleResource,
190
197
  Parameters extends {} = {},
191
198
  Response extends {} = ArmResponse<Resource>
192
199
  >(...ParentParameters, ...ResourceTypeParameter, ...Parameters): Response | ErrorType;
193
200
 
201
+ /**
202
+ * Check a resource's existence via HEAD operation
203
+ * @template Resource The resource being checked
204
+ * @template Parameters Optional. Additional parameters after the path parameters
205
+ * @template Response Optional. The success response for a head operation (by default NoContent or NotFound response).
206
+ */
207
+ @autoRoute
208
+ @doc("Check for the existence of a {name}", Resource)
209
+ @Private.armUpdateProviderNamespace
210
+ @head
211
+ CheckExistence<
212
+ Resource extends Foundations.SimpleResource,
213
+ Parameters extends {} = {},
214
+ Response extends {} = ArmResourceExistsResponse | ArmResourceNotFoundResponse
215
+ > is Foundations.ArmReadOperation<
216
+ ParentParameters & ResourceTypeParameter & Parameters,
217
+ Response,
218
+ ErrorType
219
+ >;
220
+
194
221
  /**
195
222
  * List a resource
196
223
  * @template Resource The resource being listed
@@ -203,6 +230,7 @@ interface LegacyOperations<
203
230
  @listsResource(Resource)
204
231
  @segmentOf(Resource)
205
232
  @armResourceList(Resource)
233
+ @Private.armUpdateProviderNamespace
206
234
  List<
207
235
  Resource extends Foundations.SimpleResource,
208
236
  Parameters extends {} = {},
@@ -222,6 +250,7 @@ interface LegacyOperations<
222
250
  @armResourceAction(Resource)
223
251
  @Private.enforceConstraint(Resource, Foundations.Resource)
224
252
  @post
253
+ @Private.armUpdateProviderNamespace
225
254
  @returnsDoc("Azure operation completed successfully.")
226
255
  ActionSync<
227
256
  Resource extends Foundations.SimpleResource,
@@ -243,8 +272,9 @@ interface LegacyOperations<
243
272
  * A long-running resource action.
244
273
  * @template Resource The resource being acted upon
245
274
  * @template Request The request model for the action
275
+ * @template Result The result model for the action when the operation is successful
246
276
  * @template LroHeaders Optional. Allows overriding the headers returned in the Accepted response
247
- * @template Response The response model for the action
277
+ * @template Response The union of successful responses for the action
248
278
  * @template Parameters Optional. Additional parameters after the path parameters
249
279
  * @template OptionalRequestBody Optional. Indicates whether the request body is optional
250
280
  */
@@ -253,6 +283,7 @@ interface LegacyOperations<
253
283
  @autoRoute
254
284
  @armResourceAction(Resource)
255
285
  @Private.enforceConstraint(Resource, Foundations.Resource)
286
+ @Private.armUpdateProviderNamespace
256
287
  @post
257
288
  @returnsDoc("Azure operation completed successfully.")
258
289
  ActionAsync<
@@ -282,13 +313,21 @@ interface LegacyOperations<
282
313
  ): Response | ErrorType;
283
314
  }
284
315
  /**
285
- * @dev Get the provider namespace key-value pair
316
+ * @dev DEPRECATED: Use ProviderParameter instead. Get the provider namespace key-value pair
286
317
  * @template Resource Optional. The resource to get the provider namespace for.
287
318
  */
288
319
  model Provider<Resource extends {} = TenantActionScope> {
289
320
  ...ProviderNamespace<Resource>;
290
321
  }
291
322
 
323
+ /**
324
+ * @dev Get the provider namespace key-value pair
325
+ * @template Resource The resource to get the provider namespace for.
326
+ */
327
+ model ProviderParameter<Resource extends {}> {
328
+ ...ProviderNamespace<Resource>;
329
+ }
330
+
292
331
  /**
293
332
  * A long-running resource update using a custom PATCH payload (Asynchronous)
294
333
  * @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
- [ResourceHome.ResourceGroup, ResourceHome.Subscription, ResourceHome.Location]
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 */
@@ -180,7 +180,7 @@ extern dec armCommonTypesVersion(
180
180
  *
181
181
  * @param propertiesType: The type of the resource properties.
182
182
  */
183
- extern dec armVirtualResource(target: Model);
183
+ extern dec armVirtualResource(target: Model, provider?: valueof string);
184
184
 
185
185
  /**
186
186
  * This decorator sets the base type of the given resource.
@@ -0,0 +1,6 @@
1
+ import "@azure-tools/typespec-azure-core";
2
+ import "./operations.tsp";
3
+ import "./parameters.tsp";
4
+ import "./private.decorators.tsp";
5
+
6
+ namespace Azure.ResourceManager.Extension;