@azure-tools/typespec-azure-resource-manager 0.70.0-dev.0 → 0.70.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.
Files changed (83) hide show
  1. package/README.md +150 -10
  2. package/dist/generated-defs/Azure.ResourceManager.BaseTypes.d.ts +35 -0
  3. package/dist/generated-defs/Azure.ResourceManager.BaseTypes.d.ts.map +1 -0
  4. package/dist/generated-defs/Azure.ResourceManager.BaseTypes.js +2 -0
  5. package/dist/generated-defs/Azure.ResourceManager.BaseTypes.js.map +1 -0
  6. package/dist/generated-defs/Azure.ResourceManager.BaseTypes.ts-test.d.ts +2 -0
  7. package/dist/generated-defs/Azure.ResourceManager.BaseTypes.ts-test.d.ts.map +1 -0
  8. package/dist/generated-defs/Azure.ResourceManager.BaseTypes.ts-test.js +8 -0
  9. package/dist/generated-defs/Azure.ResourceManager.BaseTypes.ts-test.js.map +1 -0
  10. package/dist/generated-defs/Azure.ResourceManager.Private.d.ts +12 -0
  11. package/dist/generated-defs/Azure.ResourceManager.Private.d.ts.map +1 -1
  12. package/dist/generated-defs/Azure.ResourceManager.d.ts +66 -25
  13. package/dist/generated-defs/Azure.ResourceManager.d.ts.map +1 -1
  14. package/dist/src/base-types.d.ts +16 -0
  15. package/dist/src/base-types.d.ts.map +1 -0
  16. package/dist/src/base-types.js +30 -0
  17. package/dist/src/base-types.js.map +1 -0
  18. package/dist/src/index.d.ts +1 -0
  19. package/dist/src/index.d.ts.map +1 -1
  20. package/dist/src/index.js +1 -0
  21. package/dist/src/index.js.map +1 -1
  22. package/dist/src/lib.d.ts +17 -2
  23. package/dist/src/lib.d.ts.map +1 -1
  24. package/dist/src/lib.js +6 -0
  25. package/dist/src/lib.js.map +1 -1
  26. package/dist/src/linter.d.ts.map +1 -1
  27. package/dist/src/linter.js +8 -0
  28. package/dist/src/linter.js.map +1 -1
  29. package/dist/src/private.decorators.d.ts.map +1 -1
  30. package/dist/src/private.decorators.js +20 -2
  31. package/dist/src/private.decorators.js.map +1 -1
  32. package/dist/src/resource.d.ts +6 -2
  33. package/dist/src/resource.d.ts.map +1 -1
  34. package/dist/src/resource.js +8 -0
  35. package/dist/src/resource.js.map +1 -1
  36. package/dist/src/rules/arm-agent-base-type-child-resources.d.ts +4 -0
  37. package/dist/src/rules/arm-agent-base-type-child-resources.d.ts.map +1 -0
  38. package/dist/src/rules/arm-agent-base-type-child-resources.js +94 -0
  39. package/dist/src/rules/arm-agent-base-type-child-resources.js.map +1 -0
  40. package/dist/src/rules/arm-agent-base-type-lifecycle-operations.d.ts +4 -0
  41. package/dist/src/rules/arm-agent-base-type-lifecycle-operations.d.ts.map +1 -0
  42. package/dist/src/rules/arm-agent-base-type-lifecycle-operations.js +99 -0
  43. package/dist/src/rules/arm-agent-base-type-lifecycle-operations.js.map +1 -0
  44. package/dist/src/rules/arm-custom-resource-usage-discourage.d.ts.map +1 -1
  45. package/dist/src/rules/arm-custom-resource-usage-discourage.js +44 -2
  46. package/dist/src/rules/arm-custom-resource-usage-discourage.js.map +1 -1
  47. package/dist/src/rules/arm-feature-file-usage-discourage.d.ts +4 -0
  48. package/dist/src/rules/arm-feature-file-usage-discourage.d.ts.map +1 -0
  49. package/dist/src/rules/arm-feature-file-usage-discourage.js +24 -0
  50. package/dist/src/rules/arm-feature-file-usage-discourage.js.map +1 -0
  51. package/dist/src/rules/no-reserved-resource-property.d.ts +4 -0
  52. package/dist/src/rules/no-reserved-resource-property.d.ts.map +1 -0
  53. package/dist/src/rules/no-reserved-resource-property.js +50 -0
  54. package/dist/src/rules/no-reserved-resource-property.js.map +1 -0
  55. package/dist/src/state.d.ts +2 -0
  56. package/dist/src/state.d.ts.map +1 -1
  57. package/dist/src/state.js +3 -0
  58. package/dist/src/state.js.map +1 -1
  59. package/dist/src/tsp-index.d.ts.map +1 -1
  60. package/dist/src/tsp-index.js +8 -1
  61. package/dist/src/tsp-index.js.map +1 -1
  62. package/lib/arm.tsp +2 -0
  63. package/lib/base-types/agent.tsp +425 -0
  64. package/lib/base-types/base-types.tsp +45 -0
  65. package/lib/common-types/common-types.tsp +1 -1
  66. package/lib/common-types/nsp-operations.tsp +5 -5
  67. package/lib/common-types/types.tsp +2 -3
  68. package/lib/decorators.tsp +81 -11
  69. package/lib/extension/operations.tsp +8 -6
  70. package/lib/foundations/arm.foundations.tsp +22 -11
  71. package/lib/interfaces.tsp +24 -14
  72. package/lib/legacy-types/extension.tsp +1 -1
  73. package/lib/legacy-types/operations.tsp +9 -5
  74. package/lib/legacy-types/private-endpoints.tsp +4 -4
  75. package/lib/models.tsp +1 -1
  76. package/lib/operations.tsp +31 -19
  77. package/lib/parameters.tsp +3 -3
  78. package/lib/private-endpoints.tsp +9 -9
  79. package/lib/private-links.tsp +3 -3
  80. package/lib/private.decorators.tsp +16 -0
  81. package/lib/responses.tsp +17 -12
  82. package/package.json +4 -4
  83. package/lib/common-types/customer-managed-keys-ref.tsp +0 -43
package/README.md CHANGED
@@ -28,6 +28,8 @@ Available ruleSets:
28
28
 
29
29
  | Name | Description |
30
30
  | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
31
+ | [`@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-child-resources`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/arm-agent-base-type-child-resources) | Resources decorated with @azureBaseType for the Agent base type must have both a Conversation and a Response child resource. |
32
+ | [`@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-lifecycle-operations`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/arm-agent-base-type-lifecycle-operations) | Conversation and Response child resources of an Agent must define create, read, update, and delete lifecycle operations. |
31
33
  | [`@azure-tools/typespec-azure-resource-manager/arm-no-record`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/arm-no-record) | Don't use Record types for ARM resources. |
32
34
  | [`@azure-tools/typespec-azure-resource-manager/arm-no-path-casing-conflicts`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/arm-no-path-casing-conflicts) | Operation paths must be unique when compared case-insensitively. |
33
35
  | [`@azure-tools/typespec-azure-resource-manager/no-override-props`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/no-override-props) | Disallow redefining properties already defined in a base type. |
@@ -47,6 +49,7 @@ Available ruleSets:
47
49
  | [`@azure-tools/typespec-azure-resource-manager/version-progression`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/version-progression) | Validate that ARM service versions all use unique dates and are declared in strictly increasing chronological order. |
48
50
  | [`@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/arm-custom-resource-no-key) | Validate that custom resource contains a key property. |
49
51
  | [`@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/arm-custom-resource-usage-discourage) | Verify the usage of @customAzureResource decorator. |
52
+ | [`@azure-tools/typespec-azure-resource-manager/arm-feature-file-usage-discourage`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/arm-feature-file-usage-discourage) | Verify the usage of @featureFiles decorator. |
50
53
  | [`@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/beyond-nesting-levels) | Tracked Resources must use 3 or fewer levels of nesting. |
51
54
  | [`@azure-tools/typespec-azure-resource-manager/arm-resource-operation`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/arm-resource-operation) | Validate ARM Resource operations. |
52
55
  | [`@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/no-resource-delete-operation) | Check for resources that must have a delete operation. |
@@ -65,6 +68,7 @@ Available ruleSets:
65
68
  | [`@azure-tools/typespec-azure-resource-manager/unsupported-type`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/unsupported-type) | Check for unsupported ARM types. |
66
69
  | [`@azure-tools/typespec-azure-resource-manager/secret-prop`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/secret-prop) | RPC-v1-13: Check that property with names indicating sensitive information(e.g. contains auth, password, token, secret, etc.) are marked with @secret decorator. |
67
70
  | [`@azure-tools/typespec-azure-resource-manager/no-empty-model`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/no-empty-model) | ARM Properties with type:object that don't reference a model definition are not allowed. ARM doesn't allow generic type definitions as this leads to bad customer experience. |
71
+ | [`@azure-tools/typespec-azure-resource-manager/no-reserved-resource-property`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/no-reserved-resource-property) | Reserved property names (for example 'billingData') must not be present in a resource's property bag. The property name is matched case-insensitively. |
68
72
 
69
73
  ## Decorators
70
74
 
@@ -85,6 +89,9 @@ Available ruleSets:
85
89
  - [`@armResourceUpdate`](#@armresourceupdate)
86
90
  - [`@armVirtualResource`](#@armvirtualresource)
87
91
  - [`@extensionResource`](#@extensionresource)
92
+ - [`@featureFile`](#@featurefile)
93
+ - [`@featureFileOptions`](#@featurefileoptions)
94
+ - [`@featureFiles`](#@featurefiles)
88
95
  - [`@identifiers`](#@identifiers)
89
96
  - [`@locationResource`](#@locationresource)
90
97
  - [`@resourceBaseType`](#@resourcebasetype)
@@ -115,7 +122,9 @@ the version of the Azure Resource Manager common-types to use for refs in emitte
115
122
 
116
123
  #### `@armLibraryNamespace`
117
124
 
118
- `@armLibraryNamespace` designates a namespace as containign Azure Resource Manager Provider information.
125
+ `@armLibraryNamespace` designates a namespace as containing Azure Resource Manager Provider information.
126
+ This is used for library namespaces that define reusable ARM resource types that can be shared
127
+ across multiple provider specifications.
119
128
 
120
129
  ```typespec
121
130
  @Azure.ResourceManager.armLibraryNamespace
@@ -169,8 +178,9 @@ namespace Microsoft.ContosoService;
169
178
 
170
179
  #### `@armProviderNameValue`
171
180
 
172
- `@armResourceType` sets the value fo the decorated string
173
- property to the type of the Azure Resource Manager resource.
181
+ `@armProviderNameValue` sets the provider namespace value on operations.
182
+ It is used internally to inject the correct provider namespace path segment
183
+ for resource operations in auto-generated routes.
174
184
 
175
185
  ```typespec
176
186
  @Azure.ResourceManager.armProviderNameValue
@@ -186,6 +196,11 @@ None
186
196
 
187
197
  #### `@armResourceAction`
188
198
 
199
+ Marks the operation as a custom action on a specific Azure Resource Manager resource type.
200
+ This decorator associates a POST action operation with its resource,
201
+ identifying the semantics of the operation as a resource action over a specific resource for documentation,
202
+ resource validation, and use by downstream emitters.
203
+
189
204
  ```typespec
190
205
  @Azure.ResourceManager.armResourceAction(resourceModel: Model, resourceName?: valueof string)
191
206
  ```
@@ -222,7 +237,9 @@ Marks the operation as being a check existence (HEAD) operation
222
237
 
223
238
  #### `@armResourceCollectionAction`
224
239
 
225
- Marks the operation as being a collection action
240
+ Marks the operation as being a collection action that is not associated with a specific resource instance.
241
+ Collection actions are operations that act on a resource collection rather than a single resource,
242
+ such as `checkNameAvailability` or provider-level actions.
226
243
 
227
244
  ```typespec
228
245
  @Azure.ResourceManager.armResourceCollectionAction
@@ -238,6 +255,10 @@ None
238
255
 
239
256
  #### `@armResourceCreateOrUpdate`
240
257
 
258
+ Marks the operation as a create or update (PUT) operation for a specific Azure Resource Manager resource type.
259
+ This decorator identifies the semantics of the operation as a CreateOrReplace lifecycle operation over a particular resource,
260
+ for use in documentation, resource validation, and downstream emitters.
261
+
241
262
  ```typespec
242
263
  @Azure.ResourceManager.armResourceCreateOrUpdate(resourceModel: Model, resourceName?: valueof string)
243
264
  ```
@@ -255,6 +276,10 @@ None
255
276
 
256
277
  #### `@armResourceDelete`
257
278
 
279
+ Marks the operation as a delete (DELETE) operation for a specific Azure Resource Manager resource type.
280
+ This decorator identifies the operation as a Delete lifecycle operation over the resource for us in documentation,
281
+ resource validation, and downstream emitters.
282
+
258
283
  ```typespec
259
284
  @Azure.ResourceManager.armResourceDelete(resourceModel: Model, resourceName?: valueof string)
260
285
  ```
@@ -272,6 +297,10 @@ None
272
297
 
273
298
  #### `@armResourceList`
274
299
 
300
+ Marks the operation as a list (GET collection) operation for a specific Azure Resource Manager resource type.
301
+ This decorator identifies the semantics of the operation as a collection list operation over a resource type and a particular scope for documentation,
302
+ resource validation, and downstream emitters.
303
+
275
304
  ```typespec
276
305
  @Azure.ResourceManager.armResourceList(resourceModel: Model, resourceName?: valueof string)
277
306
  ```
@@ -323,6 +352,10 @@ individually tagged
323
352
 
324
353
  #### `@armResourceRead`
325
354
 
355
+ Marks the operation as a read (GET) operation for a specific Azure Resource Manager resource type.
356
+ This decorator identifies the semantics of the operation as a Read lifecycle operation over a particular resource,
357
+ for use in documentation, resource validation, and downstream emitters.
358
+
326
359
  ```typespec
327
360
  @Azure.ResourceManager.armResourceRead(resourceModel: Model, resourceName?: valueof string)
328
361
  ```
@@ -340,6 +373,10 @@ individually tagged
340
373
 
341
374
  #### `@armResourceUpdate`
342
375
 
376
+ Marks the operation as an update (PATCH) operation for a specific Azure Resource Manager resource type.
377
+ This decorator identifies the operation as an Update lifecycle operation over the resource for use in documentation,
378
+ resource validation, and downstream emitters.
379
+
343
380
  ```typespec
344
381
  @Azure.ResourceManager.armResourceUpdate(resourceModel: Model, resourceName?: valueof string)
345
382
  ```
@@ -358,7 +395,8 @@ individually tagged
358
395
  #### `@armVirtualResource`
359
396
 
360
397
  This decorator is used on Azure Resource Manager resources that are not based on
361
- Azure.ResourceManager common types.
398
+ Azure.ResourceManager common types. It marks a model as an ARM virtual resource,
399
+ which is useful for defining the scope of resources used only as parents for child resources, or scopes for extension resources.
362
400
 
363
401
  ```typespec
364
402
  @Azure.ResourceManager.armVirtualResource(provider?: valueof string)
@@ -396,6 +434,63 @@ See more details on [different Azure Resource Manager resource type here.](https
396
434
 
397
435
  None
398
436
 
437
+ #### `@featureFile`
438
+
439
+ Decorator to associate a feature file with a model, interface, or namespace
440
+
441
+ ```typespec
442
+ @Azure.ResourceManager.featureFile(featureName: EnumMember)
443
+ ```
444
+
445
+ ##### Target
446
+
447
+ The target to associate the feature file with
448
+ `Model | Operation | Interface | Namespace`
449
+
450
+ ##### Parameters
451
+
452
+ | Name | Type | Description |
453
+ | ----------- | ------------ | ---------------------------------------- |
454
+ | featureName | `EnumMember` | The feature to associate with the target |
455
+
456
+ #### `@featureFileOptions`
457
+
458
+ Decorator to define options for a specific feature file
459
+
460
+ ```typespec
461
+ @Azure.ResourceManager.featureFileOptions(options: valueof Azure.ResourceManager.ArmFeatureFileOptions)
462
+ ```
463
+
464
+ ##### Target
465
+
466
+ The enum member that represents the feature
467
+ `EnumMember`
468
+
469
+ ##### Parameters
470
+
471
+ | Name | Type | Description |
472
+ | ------- | --------------------------------------------------------- | -------------------------------- |
473
+ | options | [valueof `ArmFeatureFileOptions`](#armfeaturefileoptions) | The options for the feature file |
474
+
475
+ #### `@featureFiles`
476
+
477
+ Decorator to define a set of feature files for splitting output
478
+
479
+ ```typespec
480
+ @Azure.ResourceManager.featureFiles(features: Enum)
481
+ ```
482
+
483
+ ##### Target
484
+
485
+ The service namespace
486
+ `Namespace`
487
+
488
+ ##### Parameters
489
+
490
+ | Name | Type | Description |
491
+ | -------- | ------ | ----------------------------------- |
492
+ | features | `Enum` | The enum that contains the features |
493
+
399
494
  #### `@identifiers`
400
495
 
401
496
  This decorator is used to indicate the identifying properties of objects in the array, e.g. size
@@ -448,10 +543,11 @@ None
448
543
 
449
544
  #### `@resourceBaseType`
450
545
 
451
- This decorator sets the base type of the given resource.
546
+ This decorator sets the base type of the given resource, indicating where in the
547
+ Azure Resource Manager hierarchy the resource is located.
452
548
 
453
549
  ```typespec
454
- @Azure.ResourceManager.resourceBaseType(baseTypeIt: "Tenant" | "Subscription" | "ResourceGroup" | "Location" | "Extension")
550
+ @Azure.ResourceManager.resourceBaseType(baseType: "Tenant" | "Subscription" | "ResourceGroup" | "Location" | "Extension")
455
551
  ```
456
552
 
457
553
  ##### Target
@@ -460,9 +556,9 @@ This decorator sets the base type of the given resource.
460
556
 
461
557
  ##### Parameters
462
558
 
463
- | Name | Type | Description |
464
- | ---------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
465
- | baseTypeIt | `"Tenant" \| "Subscription" \| "ResourceGroup" \| "Location" \| "Extension"` | The built-in parent of the resource, this can be "Tenant", "Subscription", "ResourceGroup", "Location", or "Extension" |
559
+ | Name | Type | Description |
560
+ | -------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
561
+ | baseType | `"Tenant" \| "Subscription" \| "ResourceGroup" \| "Location" \| "Extension"` | The built-in parent of the resource, this can be "Tenant", "Subscription", "ResourceGroup", "Location", or "Extension" |
466
562
 
467
563
  #### `@resourceGroupResource`
468
564
 
@@ -570,6 +666,50 @@ This allows sharing Azure Resource Manager resource types across specifications
570
666
  | ---------- | ------------- | ------------------------------------------------------------------------ |
571
667
  | namespaces | `Namespace[]` | The namespaces of Azure Resource Manager libraries used in this provider |
572
668
 
669
+ ### Azure.ResourceManager.BaseTypes
670
+
671
+ - [`@azureBaseType`](#@azurebasetype)
672
+
673
+ #### `@azureBaseType`
674
+
675
+ `@azureBaseType` marks an Azure Resource Manager resource properties model as implementing
676
+ a base type. Base types define structured constraints including required and
677
+ optional properties that conforming resources must implement.
678
+
679
+ This decorator may be applied multiple times to indicate conformance to
680
+ multiple base types. Duplicate entries are ignored.
681
+
682
+ ```typespec
683
+ @Azure.ResourceManager.BaseTypes.azureBaseType(baseType: valueof Azure.ResourceManager.BaseTypes.BaseTypeInfo)
684
+ ```
685
+
686
+ ##### Target
687
+
688
+ `Model`
689
+
690
+ ##### Parameters
691
+
692
+ | Name | Type | Description |
693
+ | -------- | --------------------------------------- | ----------------------------------------------------- |
694
+ | baseType | [valueof `BaseTypeInfo`](#basetypeinfo) | The base type specification this resource implements. |
695
+
696
+ ##### Examples
697
+
698
+ ```typespec
699
+ // Agent definition and properties using the Appliance deployment model
700
+ model ContosoApplianceDefinition is AgentDefinitionAppliance<true, true>;
701
+ model ContosoApplianceProperties is AgentPropertiesAppliance<ContosoApplianceDefinition> {
702
+ ...DefaultProvisioningStateProperty;
703
+ }
704
+
705
+ // The @azureBaseType decorator marks the resource as conforming to the Agent base type.
706
+ // (The Agent template applies this automatically, but it can also be applied directly.)
707
+ @azureBaseType(#{ baseType: "Agent", version: "2024-06-01" })
708
+ model ContosoApplianceAgent is TrackedResource<ContosoApplianceProperties> {
709
+ ...ResourceNameParameter<ContosoApplianceAgent>;
710
+ }
711
+ ```
712
+
573
713
  ### Azure.ResourceManager.Legacy
574
714
 
575
715
  - [`@armExternalType`](#@armexternaltype)
@@ -0,0 +1,35 @@
1
+ import type { DecoratorContext, DecoratorValidatorCallbacks, Model } from "@typespec/compiler";
2
+ export interface BaseTypeInfo {
3
+ readonly baseType: string;
4
+ readonly version: string;
5
+ }
6
+ /**
7
+ * `@azureBaseType` marks an Azure Resource Manager resource properties model as implementing
8
+ * a base type. Base types define structured constraints including required and
9
+ * optional properties that conforming resources must implement.
10
+ *
11
+ * This decorator may be applied multiple times to indicate conformance to
12
+ * multiple base types. Duplicate entries are ignored.
13
+ *
14
+ * @param baseType The base type specification this resource implements.
15
+ * @example
16
+ * ```typespec
17
+ * // Agent definition and properties using the Appliance deployment model
18
+ * model ContosoApplianceDefinition is AgentDefinitionAppliance<true, true>;
19
+ * model ContosoApplianceProperties is AgentPropertiesAppliance<ContosoApplianceDefinition> {
20
+ * ...DefaultProvisioningStateProperty;
21
+ * }
22
+ *
23
+ * // The @azureBaseType decorator marks the resource as conforming to the Agent base type.
24
+ * // (The Agent template applies this automatically, but it can also be applied directly.)
25
+ * @azureBaseType(#{ baseType: "Agent", version: "2024-06-01" })
26
+ * model ContosoApplianceAgent is TrackedResource<ContosoApplianceProperties> {
27
+ * ...ResourceNameParameter<ContosoApplianceAgent>;
28
+ * }
29
+ * ```
30
+ */
31
+ export type AzureBaseTypeDecorator = (context: DecoratorContext, target: Model, baseType: BaseTypeInfo) => DecoratorValidatorCallbacks | void;
32
+ export type AzureResourceManagerBaseTypesDecorators = {
33
+ azureBaseType: AzureBaseTypeDecorator;
34
+ };
35
+ //# sourceMappingURL=Azure.ResourceManager.BaseTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Azure.ResourceManager.BaseTypes.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.BaseTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE/F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,sBAAsB,GAAG,CACnC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,YAAY,KACnB,2BAA2B,GAAG,IAAI,CAAC;AAExC,MAAM,MAAM,uCAAuC,GAAG;IACpD,aAAa,EAAE,sBAAsB,CAAC;CACvC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Azure.ResourceManager.BaseTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Azure.ResourceManager.BaseTypes.js","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.BaseTypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Azure.ResourceManager.BaseTypes.ts-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Azure.ResourceManager.BaseTypes.ts-test.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.BaseTypes.ts-test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ // An error in the imports would mean that the decorator is not exported or
2
+ // doesn't have the right name.
3
+ import { $decorators } from "@azure-tools/typespec-azure-resource-manager";
4
+ /**
5
+ * An error here would mean that the exported decorator is not using the same signature. Make sure to have export const $decName: DecNameDecorator = (...) => ...
6
+ */
7
+ const _decs = $decorators["Azure.ResourceManager.BaseTypes"];
8
+ //# sourceMappingURL=Azure.ResourceManager.BaseTypes.ts-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Azure.ResourceManager.BaseTypes.ts-test.js","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.BaseTypes.ts-test.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,+BAA+B;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAG3E;;GAEG;AACH,MAAM,KAAK,GACT,WAAW,CAAC,iCAAiC,CAAC,CAAC"}
@@ -95,6 +95,17 @@ export type ArmResourcePropertiesOptionalityDecorator = (context: DecoratorConte
95
95
  * designates a parameter as an explicit bodyRoot and sets the optionality of the parameter
96
96
  */
97
97
  export type ArmBodyRootDecorator = (context: DecoratorContext, target: ModelProperty, isOptional: boolean) => DecoratorValidatorCallbacks | void;
98
+ /**
99
+ * Controls visibility of a base type property based on whether the property is present
100
+ * and whether the deployment model is Appliance or Platform.
101
+ *
102
+ * If `isPresent` is false, the property is made invisible (removed from all lifecycle visibility).
103
+ * If `isAppliance` is true, the property is made read-only.
104
+ *
105
+ * @param isPresent Whether this property is present in the current template instantiation.
106
+ * @param isAppliance Whether the current deployment model is Appliance (true) or Platform (false).
107
+ */
108
+ export type BaseTypeOptionalDecorator = (context: DecoratorContext, target: ModelProperty, isPresent: boolean, isAppliance: boolean) => DecoratorValidatorCallbacks | void;
98
109
  /**
99
110
  * designates a type as a legacy type and emits a warning diagnostic when used
100
111
  */
@@ -177,6 +188,7 @@ export type AzureResourceManagerPrivateDecorators = {
177
188
  armRenameListByOperation: ArmRenameListByOperationDecorator;
178
189
  armResourcePropertiesOptionality: ArmResourcePropertiesOptionalityDecorator;
179
190
  armBodyRoot: ArmBodyRootDecorator;
191
+ baseTypeOptional: BaseTypeOptionalDecorator;
180
192
  legacyType: LegacyTypeDecorator;
181
193
  resourceParentType: ResourceParentTypeDecorator;
182
194
  legacyResourceOperation: LegacyResourceOperationDecorator;
@@ -1 +1 @@
1
- {"version":3,"file":"Azure.ResourceManager.Private.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.Private.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Azure.ResourceManager.Private.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.Private.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,MAAM,EACN,IAAI,EACL,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAC9C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,IAAI,KACT,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;GAKG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAC9C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,YAAY,EAAE,KAAK,KAChB,2BAA2B,GAAG,IAAI,CAAC;AAgBxC;;;;;GAKG;AACH,MAAM,MAAM,gCAAgC,GAAG,CAC7C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,KAAK,KACZ,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,KACV,2BAA2B,GAAG,IAAI,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,mCAAmC,GAAG,CAChD,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,KACd,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;GAKG;AACH,MAAM,MAAM,sCAAsC,GAAG,CACnD,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,KAAK,KACZ,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,4BAA4B,GAAG,CACzC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,UAAU,EAAE,KAAK,KACd,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;;;;GAQG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAC9C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,UAAU,EAAE,KAAK,EACjB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,KAClB,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;GAGG;AACH,MAAM,MAAM,sCAAsC,GAAG,CACnD,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,KAAK,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,KACZ,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;;;;GAQG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,GAAG,KAAK,EACzB,UAAU,EAAE,KAAK,EACjB,cAAc,EAAE,KAAK,KAClB,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;;;GAOG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAC9C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,KAAK,EACnB,cAAc,CAAC,EAAE,MAAM,EACvB,sBAAsB,CAAC,EAAE,MAAM,EAC/B,oBAAoB,CAAC,EAAE,OAAO,KAC3B,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;GAGG;AACH,MAAM,MAAM,yCAAyC,GAAG,CACtD,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,OAAO,KAChB,2BAA2B,GAAG,IAAI,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,OAAO,KAChB,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;;;;;GASG;AACH,MAAM,MAAM,yBAAyB,GAAG,CACtC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,OAAO,EAClB,WAAW,EAAE,OAAO,KACjB,2BAA2B,GAAG,IAAI,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,KAC3C,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG,CACxC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,UAAU,EAAE,cAAc,GAAG,eAAe,GAAG,QAAQ,GAAG,WAAW,KAClE,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;;;GAOG;AACH,MAAM,MAAM,gCAAgC,GAAG,CAC7C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,KAAK,EACnB,aAAa,EACT,MAAM,GACN,gBAAgB,GAChB,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,gBAAgB,EACpB,YAAY,CAAC,EAAE,MAAM,KAClB,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;;;;GAQG;AACH,MAAM,MAAM,mCAAmC,GAAG,CAChD,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,kBAAkB,EAAE,KAAK,EACzB,qBAAqB,EAAE,KAAK,EAC5B,aAAa,EACT,MAAM,GACN,gBAAgB,GAChB,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,gBAAgB,EACpB,YAAY,CAAC,EAAE,MAAM,KAClB,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;;;;GAQG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAC9C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,kBAAkB,EAAE,KAAK,EACzB,mBAAmB,EAAE,KAAK,EAC1B,aAAa,EACT,MAAM,GACN,gBAAgB,GAChB,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,gBAAgB,EACpB,YAAY,CAAC,EAAE,MAAM,KAClB,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;;;GAOG;AACH,MAAM,MAAM,yCAAyC,GAAG,CACtD,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,KAAK,EACnB,aAAa,EACT,MAAM,GACN,gBAAgB,GAChB,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,gBAAgB,EACpB,YAAY,CAAC,EAAE,MAAM,KAClB,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,MAAM,8CAA8C,GAAG,CAC3D,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,KACjB,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;;;;;GASG;AACH,MAAM,MAAM,gCAAgC,GAAG,CAC7C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,KACV,2BAA2B,GAAG,IAAI,CAAC;AAExC,MAAM,MAAM,qCAAqC,GAAG;IAClD,wBAAwB,EAAE,iCAAiC,CAAC;IAC5D,wBAAwB,EAAE,iCAAiC,CAAC;IAC5D,WAAW,EAAE,oBAAoB,CAAC;IAClC,uBAAuB,EAAE,gCAAgC,CAAC;IAC1D,iBAAiB,EAAE,0BAA0B,CAAC;IAC9C,0BAA0B,EAAE,mCAAmC,CAAC;IAChE,6BAA6B,EAAE,sCAAsC,CAAC;IACtE,mBAAmB,EAAE,4BAA4B,CAAC;IAClD,wBAAwB,EAAE,iCAAiC,CAAC;IAC5D,6BAA6B,EAAE,sCAAsC,CAAC;IACtE,iBAAiB,EAAE,0BAA0B,CAAC;IAC9C,wBAAwB,EAAE,iCAAiC,CAAC;IAC5D,gCAAgC,EAAE,yCAAyC,CAAC;IAC5E,WAAW,EAAE,oBAAoB,CAAC;IAClC,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,UAAU,EAAE,mBAAmB,CAAC;IAChC,kBAAkB,EAAE,2BAA2B,CAAC;IAChD,uBAAuB,EAAE,gCAAgC,CAAC;IAC1D,0BAA0B,EAAE,mCAAmC,CAAC;IAChE,wBAAwB,EAAE,iCAAiC,CAAC;IAC5D,gCAAgC,EAAE,yCAAyC,CAAC;IAC5E,qCAAqC,EAAE,8CAA8C,CAAC;IACtF,uBAAuB,EAAE,gCAAgC,CAAC;CAC3D,CAAC"}
@@ -1,18 +1,26 @@
1
- import type { DecoratorContext, DecoratorValidatorCallbacks, EnumMember, EnumValue, Interface, Model, ModelProperty, Namespace, Operation, Type } from "@typespec/compiler";
1
+ import type { DecoratorContext, DecoratorValidatorCallbacks, Enum, EnumMember, EnumValue, Interface, Model, ModelProperty, Namespace, Operation, Type } from "@typespec/compiler";
2
2
  export interface ResourceOperationOptions {
3
3
  readonly resourceType?: Record<string, unknown>;
4
4
  readonly allowStaticRoutes?: boolean;
5
5
  readonly omitTags?: boolean;
6
6
  }
7
+ export interface ArmFeatureFileOptions {
8
+ readonly featureName: string;
9
+ readonly fileName: string;
10
+ readonly description: string;
11
+ readonly title?: string;
12
+ readonly termsOfService?: string;
13
+ }
7
14
  /**
8
- * Marks the operation as being a collection action
15
+ * Marks the operation as being a collection action that is not associated with a specific resource instance.
16
+ * Collection actions are operations that act on a resource collection rather than a single resource,
17
+ * such as `checkNameAvailability` or provider-level actions.
9
18
  */
10
19
  export type ArmResourceCollectionActionDecorator = (context: DecoratorContext, target: Operation) => DecoratorValidatorCallbacks | void;
11
20
  /**
12
- * `@armResourceType` sets the value fo the decorated string
13
- * property to the type of the Azure Resource Manager resource.
14
- *
15
- * @param resource The resource to get the type of
21
+ * `@armProviderNameValue` sets the provider namespace value on operations.
22
+ * It is used internally to inject the correct provider namespace path segment
23
+ * for resource operations in auto-generated routes.
16
24
  */
17
25
  export type ArmProviderNameValueDecorator = (context: DecoratorContext, target: Operation) => DecoratorValidatorCallbacks | void;
18
26
  /**
@@ -44,7 +52,6 @@ export type IdentifiersDecorator = (context: DecoratorContext, entity: ModelProp
44
52
  * namespace Microsoft.ContosoService;
45
53
  * ```
46
54
  * @param providerNamespace Provider namespace
47
- * @param libraryNamespaces a library namespace containing types for this namespace
48
55
  */
49
56
  export type ArmProviderNamespaceDecorator = (context: DecoratorContext, target: Namespace, providerNamespace?: string) => DecoratorValidatorCallbacks | void;
50
57
  /**
@@ -55,7 +62,9 @@ export type ArmProviderNamespaceDecorator = (context: DecoratorContext, target:
55
62
  */
56
63
  export type UseLibraryNamespaceDecorator = (context: DecoratorContext, target: Namespace, ...namespaces: Namespace[]) => DecoratorValidatorCallbacks | void;
57
64
  /**
58
- * `@armLibraryNamespace` designates a namespace as containign Azure Resource Manager Provider information.
65
+ * `@armLibraryNamespace` designates a namespace as containing Azure Resource Manager Provider information.
66
+ * This is used for library namespaces that define reusable ARM resource types that can be shared
67
+ * across multiple provider specifications.
59
68
  *
60
69
  * @example
61
70
  * ```typespec
@@ -124,48 +133,55 @@ export type ResourceGroupResourceDecorator = (context: DecoratorContext, target:
124
133
  */
125
134
  export type ExtensionResourceDecorator = (context: DecoratorContext, target: Model) => DecoratorValidatorCallbacks | void;
126
135
  /**
127
- *
128
- *
136
+ * Marks the operation as a custom action on a specific Azure Resource Manager resource type.
137
+ * This decorator associates a POST action operation with its resource,
138
+ * identifying the semantics of the operation as a resource action over a specific resource for documentation,
139
+ * resource validation, and use by downstream emitters.
129
140
  *
130
141
  * @param resourceModel Resource model
131
142
  * @param resourceName Optional. The name of the resource. If not provided, the name of the resource model will be used.
132
143
  */
133
144
  export type ArmResourceActionDecorator = (context: DecoratorContext, target: Operation, resourceModel: Model, resourceName?: string) => DecoratorValidatorCallbacks | void;
134
145
  /**
135
- *
136
- *
146
+ * Marks the operation as a create or update (PUT) operation for a specific Azure Resource Manager resource type.
147
+ * This decorator identifies the semantics of the operation as a CreateOrReplace lifecycle operation over a particular resource,
148
+ * for use in documentation, resource validation, and downstream emitters.
137
149
  *
138
150
  * @param resourceModel Resource model
139
151
  * @param resourceName Optional. The name of the resource. If not provided, the name of the resource model will be used.
140
152
  */
141
153
  export type ArmResourceCreateOrUpdateDecorator = (context: DecoratorContext, target: Operation, resourceModel: Model, resourceName?: string) => DecoratorValidatorCallbacks | void;
142
154
  /**
143
- *
144
- *
155
+ * Marks the operation as a read (GET) operation for a specific Azure Resource Manager resource type.
156
+ * This decorator identifies the semantics of the operation as a Read lifecycle operation over a particular resource,
157
+ * for use in documentation, resource validation, and downstream emitters.
145
158
  *
146
159
  * @param resourceModel Resource model
147
160
  * @param resourceName Optional. The name of the resource. If not provided, the name of the resource model will be used.
148
161
  */
149
162
  export type ArmResourceReadDecorator = (context: DecoratorContext, target: Operation, resourceModel: Model, resourceName?: string) => DecoratorValidatorCallbacks | void;
150
163
  /**
151
- *
152
- *
164
+ * Marks the operation as an update (PATCH) operation for a specific Azure Resource Manager resource type.
165
+ * This decorator identifies the operation as an Update lifecycle operation over the resource for use in documentation,
166
+ * resource validation, and downstream emitters.
153
167
  *
154
168
  * @param resourceModel Resource model
155
169
  * @param resourceName Optional. The name of the resource. If not provided, the name of the resource model will be used.
156
170
  */
157
171
  export type ArmResourceUpdateDecorator = (context: DecoratorContext, target: Operation, resourceModel: Model, resourceName?: string) => DecoratorValidatorCallbacks | void;
158
172
  /**
159
- *
160
- *
173
+ * Marks the operation as a delete (DELETE) operation for a specific Azure Resource Manager resource type.
174
+ * This decorator identifies the operation as a Delete lifecycle operation over the resource for us in documentation,
175
+ * resource validation, and downstream emitters.
161
176
  *
162
177
  * @param resourceModel Resource model
163
178
  * @param resourceName Optional. The name of the resource. If not provided, the name of the resource model will be used.
164
179
  */
165
180
  export type ArmResourceDeleteDecorator = (context: DecoratorContext, target: Operation, resourceModel: Model, resourceName?: string) => DecoratorValidatorCallbacks | void;
166
181
  /**
167
- *
168
- *
182
+ * Marks the operation as a list (GET collection) operation for a specific Azure Resource Manager resource type.
183
+ * This decorator identifies the semantics of the operation as a collection list operation over a resource type and a particular scope for documentation,
184
+ * resource validation, and downstream emitters.
169
185
  *
170
186
  * @param resourceModel Resource model
171
187
  * @param resourceName Optional. The name of the resource. If not provided, the name of the resource model will be used.
@@ -209,18 +225,40 @@ export type ArmResourceOperationsDecorator = (context: DecoratorContext, target:
209
225
  export type ArmCommonTypesVersionDecorator = (context: DecoratorContext, target: Namespace | EnumMember, version: string | EnumValue) => DecoratorValidatorCallbacks | void;
210
226
  /**
211
227
  * This decorator is used on Azure Resource Manager resources that are not based on
212
- * Azure.ResourceManager common types.
228
+ * Azure.ResourceManager common types. It marks a model as an ARM virtual resource,
229
+ * which is useful for defining the scope of resources used only as parents for child resources, or scopes for extension resources.
213
230
  *
214
- * @param propertiesType : The type of the resource properties.
215
231
  * @param provider Optional. The resource provider namespace for the virtual resource.
216
232
  */
217
233
  export type ArmVirtualResourceDecorator = (context: DecoratorContext, target: Model, provider?: string) => DecoratorValidatorCallbacks | void;
218
234
  /**
219
- * This decorator sets the base type of the given resource.
235
+ * This decorator sets the base type of the given resource, indicating where in the
236
+ * Azure Resource Manager hierarchy the resource is located.
237
+ *
238
+ * @param baseType The built-in parent of the resource, this can be "Tenant", "Subscription", "ResourceGroup", "Location", or "Extension"
239
+ */
240
+ export type ResourceBaseTypeDecorator = (context: DecoratorContext, target: Model, baseType: Type) => DecoratorValidatorCallbacks | void;
241
+ /**
242
+ * Decorator to define a set of feature files for splitting output
243
+ *
244
+ * @param target The service namespace
245
+ * @param features The enum that contains the features
246
+ */
247
+ export type FeatureFilesDecorator = (context: DecoratorContext, target: Namespace, features: Enum) => DecoratorValidatorCallbacks | void;
248
+ /**
249
+ * Decorator to define options for a specific feature file
250
+ *
251
+ * @param target The enum member that represents the feature
252
+ * @param options The options for the feature file
253
+ */
254
+ export type FeatureFileOptionsDecorator = (context: DecoratorContext, target: EnumMember, options: ArmFeatureFileOptions) => DecoratorValidatorCallbacks | void;
255
+ /**
256
+ * Decorator to associate a feature file with a model, interface, or namespace
220
257
  *
221
- * @param baseTypeIt The built-in parent of the resource, this can be "Tenant", "Subscription", "ResourceGroup", "Location", or "Extension"
258
+ * @param target The target to associate the feature file with
259
+ * @param featureName The feature to associate with the target
222
260
  */
223
- export type ResourceBaseTypeDecorator = (context: DecoratorContext, target: Model, baseTypeIt: Type) => DecoratorValidatorCallbacks | void;
261
+ export type FeatureFileDecorator = (context: DecoratorContext, target: Model | Operation | Interface | Namespace, featureName: EnumMember) => DecoratorValidatorCallbacks | void;
224
262
  export type AzureResourceManagerDecorators = {
225
263
  armResourceCollectionAction: ArmResourceCollectionActionDecorator;
226
264
  armProviderNameValue: ArmProviderNameValueDecorator;
@@ -245,5 +283,8 @@ export type AzureResourceManagerDecorators = {
245
283
  armCommonTypesVersion: ArmCommonTypesVersionDecorator;
246
284
  armVirtualResource: ArmVirtualResourceDecorator;
247
285
  resourceBaseType: ResourceBaseTypeDecorator;
286
+ featureFiles: FeatureFilesDecorator;
287
+ featureFileOptions: FeatureFileOptionsDecorator;
288
+ featureFile: FeatureFileDecorator;
248
289
  };
249
290
  //# sourceMappingURL=Azure.ResourceManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Azure.ResourceManager.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Azure.ResourceManager.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { Model } from "@typespec/compiler";
2
+ import type { AzureBaseTypeDecorator } from "../generated-defs/Azure.ResourceManager.BaseTypes.js";
3
+ export interface AzureBaseTypeInfo {
4
+ /** The registered name of the base type */
5
+ baseType: string;
6
+ /** The version of the base type definition */
7
+ version: string;
8
+ }
9
+ export declare const getAzureBaseTypes: (program: import("@typespec/compiler").Program, type: Model) => AzureBaseTypeInfo[] | undefined, setAzureBaseTypes: (program: import("@typespec/compiler").Program, type: Model, value: AzureBaseTypeInfo[]) => void;
10
+ /**
11
+ * Implementation for the `@azureBaseType` decorator.
12
+ * Adds a single base type entry to the target model. Multiple applications
13
+ * accumulate entries; duplicates (same baseType + version) are ignored.
14
+ */
15
+ export declare const $azureBaseType: AzureBaseTypeDecorator;
16
+ //# sourceMappingURL=base-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-types.d.ts","sourceRoot":"","sources":["../../src/base-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAGN,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAInG,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAO,iBAAiB,mGAAE,iBAAiB,kGAEjD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,sBA2B5B,CAAC"}