@azure-tools/typespec-azure-resource-manager 0.40.0-dev.0 → 0.40.0-dev.11

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 (37) hide show
  1. package/README.md +55 -52
  2. package/dist/src/index.d.ts +1 -0
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +1 -0
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/lib.d.ts.map +1 -1
  7. package/dist/src/lib.js +0 -81
  8. package/dist/src/lib.js.map +1 -1
  9. package/dist/src/linter.d.ts +2 -0
  10. package/dist/src/linter.d.ts.map +1 -0
  11. package/dist/src/linter.js +76 -0
  12. package/dist/src/linter.js.map +1 -0
  13. package/dist/src/private.decorators.d.ts.map +1 -1
  14. package/dist/src/private.decorators.js +3 -1
  15. package/dist/src/private.decorators.js.map +1 -1
  16. package/dist/src/rules/arm-delete-response-codes.d.ts +8 -0
  17. package/dist/src/rules/arm-delete-response-codes.d.ts.map +1 -0
  18. package/dist/src/rules/arm-delete-response-codes.js +41 -0
  19. package/dist/src/rules/arm-delete-response-codes.js.map +1 -0
  20. package/dist/src/rules/arm-no-record.d.ts +6 -0
  21. package/dist/src/rules/arm-no-record.d.ts.map +1 -0
  22. package/dist/src/rules/arm-no-record.js +47 -0
  23. package/dist/src/rules/arm-no-record.js.map +1 -0
  24. package/dist/src/rules/arm-resource-provisioning-state-rule.d.ts +3 -1
  25. package/dist/src/rules/arm-resource-provisioning-state-rule.d.ts.map +1 -1
  26. package/dist/src/rules/arm-resource-provisioning-state-rule.js +49 -3
  27. package/dist/src/rules/arm-resource-provisioning-state-rule.js.map +1 -1
  28. package/dist/src/rules/missing-x-ms-identifiers.d.ts +6 -0
  29. package/dist/src/rules/missing-x-ms-identifiers.d.ts.map +1 -0
  30. package/dist/src/rules/missing-x-ms-identifiers.js +73 -0
  31. package/dist/src/rules/missing-x-ms-identifiers.js.map +1 -0
  32. package/lib/arm.foundations.tsp +1 -1
  33. package/lib/interfaces.tsp +8 -0
  34. package/lib/models.tsp +3 -1
  35. package/lib/operations.tsp +32 -8
  36. package/lib/responses.tsp +16 -0
  37. package/package.json +21 -21
package/README.md CHANGED
@@ -28,31 +28,34 @@ Available ruleSets:
28
28
 
29
29
  ### Rules
30
30
 
31
- | Name | Description |
32
- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
33
- | `@azure-tools/typespec-azure-resource-manager/arm-resource-action-no-segment` | `@armResourceAction` should not be used with `@segment`. |
34
- | `@azure-tools/typespec-azure-resource-manager/arm-resource-duplicate-property` | Warn about duplicate properties in resources. |
35
- | `@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator` | Each resource interface must have an @armResourceOperations decorator. |
36
- | `@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-action-verb` | Actions must be HTTP Post operations. |
37
- | `@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property` | Check for invalid resource envelope properties. |
38
- | `@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-version-format` | Check for valid versions. |
39
- | `@azure-tools/typespec-azure-resource-manager/arm-resource-key-invalid-chars` | Arm resource key must contain only alphanumeric characters. |
40
- | `@azure-tools/typespec-azure-resource-manager/arm-resource-operation-response` | [RPC 008]: PUT, GET, PATCH & LIST must return the same resource schema. |
41
- | `@azure-tools/typespec-azure-resource-manager/arm-resource-patch` | Validate ARM PATCH operations. |
42
- | `@azure-tools/typespec-azure-resource-manager/arm-resource-path-segment-invalid-chars` | Arm resource name must contain only alphanumeric characters. |
43
- | `@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state` | Check for properly configured provisioningState property. |
44
- | `@azure-tools/typespec-azure-resource-manager/arm-common-types-version` | Specify the ARM common-types version using @armCommonTypesVersion. |
45
- | `@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels` | Tracked Resources must use 3 or fewer levels of nesting. |
46
- | `@azure-tools/typespec-azure-resource-manager/arm-resource-operation` | Validate ARM Resource operations. |
47
- | `@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation` | Check for resources that must have a delete operation. |
48
- | `@azure-tools/typespec-azure-resource-manager/empty-updateable-properties` | Should have updateable properties. |
49
- | `@azure-tools/typespec-azure-resource-manager/improper-subscription-list-operation` | Tenant and Extension resources should not define a list by subscription operation. |
50
- | `@azure-tools/typespec-azure-resource-manager/no-response-body` | The body of 202 response should be empty. |
51
- | `@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint` | Check for missing Operations interface. |
52
- | `@azure-tools/typespec-azure-resource-manager/patch-envelope` | Patch envelope properties should match the resource properties. |
53
- | `@azure-tools/typespec-azure-resource-manager/resource-name` | Check the resource name. |
54
- | `@azure-tools/typespec-azure-resource-manager/retry-after` | Check if retry-after header appears in response body. |
55
- | [`@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. |
31
+ | Name | Description |
32
+ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
33
+ | [`@azure-tools/typespec-azure-resource-manager/arm-no-record`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/no-record) | Don't use Record types for ARM resources. |
34
+ | `@azure-tools/typespec-azure-resource-manager/arm-common-types-version` | Specify the ARM common-types version using @armCommonTypesVersion. |
35
+ | [`@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/delete-operation-response-codes) | Ensure delete operations have the appropriate status codes. |
36
+ | `@azure-tools/typespec-azure-resource-manager/arm-resource-action-no-segment` | `@armResourceAction` should not be used with `@segment`. |
37
+ | `@azure-tools/typespec-azure-resource-manager/arm-resource-duplicate-property` | Warn about duplicate properties in resources. |
38
+ | `@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property` | Check for invalid resource envelope properties. |
39
+ | `@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-version-format` | Check for valid versions. |
40
+ | `@azure-tools/typespec-azure-resource-manager/arm-resource-key-invalid-chars` | Arm resource key must contain only alphanumeric characters. |
41
+ | `@azure-tools/typespec-azure-resource-manager/arm-resource-operation-response` | [RPC 008]: PUT, GET, PATCH & LIST must return the same resource schema. |
42
+ | `@azure-tools/typespec-azure-resource-manager/arm-resource-path-segment-invalid-chars` | Arm resource name must contain only alphanumeric characters. |
43
+ | `@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state` | Check for properly configured provisioningState property. |
44
+ | `@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels` | Tracked Resources must use 3 or fewer levels of nesting. |
45
+ | `@azure-tools/typespec-azure-resource-manager/arm-resource-operation` | Validate ARM Resource operations. |
46
+ | `@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation` | Check for resources that must have a delete operation. |
47
+ | `@azure-tools/typespec-azure-resource-manager/empty-updateable-properties` | Should have updateable properties. |
48
+ | `@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator` | Each resource interface must have an @armResourceOperations decorator. |
49
+ | `@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-action-verb` | Actions must be HTTP Post operations. |
50
+ | `@azure-tools/typespec-azure-resource-manager/improper-subscription-list-operation` | Tenant and Extension resources should not define a list by subscription operation. |
51
+ | [`@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/missing-x-ms-identifiers) | Azure services should not use enums. |
52
+ | `@azure-tools/typespec-azure-resource-manager/no-response-body` | The body of 202 response should be empty. |
53
+ | `@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint` | Check for missing Operations interface. |
54
+ | `@azure-tools/typespec-azure-resource-manager/patch-envelope` | Patch envelope properties should match the resource properties. |
55
+ | `@azure-tools/typespec-azure-resource-manager/arm-resource-patch` | Validate ARM PATCH operations. |
56
+ | `@azure-tools/typespec-azure-resource-manager/resource-name` | Check the resource name. |
57
+ | `@azure-tools/typespec-azure-resource-manager/retry-after` | Check if retry-after header appears in response body. |
58
+ | [`@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. |
56
59
 
57
60
  ## Decorators
58
61
 
@@ -92,13 +95,13 @@ the version of the Azure Resource Manager common-types to use for refs in emitte
92
95
 
93
96
  ##### Target
94
97
 
95
- `union Namespace | EnumMember`
98
+ `Namespace | EnumMember`
96
99
 
97
100
  ##### Parameters
98
101
 
99
- | Name | Type | Description |
100
- | ------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
101
- | version | `valueof union string \| EnumMember` | The Azure.ResourceManager.CommonTypes.Versions for the desired common-types version or an equivalent string value. |
102
+ | Name | Type | Description |
103
+ | ------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
104
+ | version | `valueof string \| EnumMember` | The Azure.ResourceManager.CommonTypes.Versions for the desired common-types version or an equivalent string value. |
102
105
 
103
106
  #### `@armLibraryNamespace`
104
107
 
@@ -138,9 +141,9 @@ Namespace element value unless an override value is specified.
138
141
 
139
142
  ##### Parameters
140
143
 
141
- | Name | Type | Description |
142
- | ----------------- | ----------------------- | ------------------ |
143
- | providerNamespace | `valueof scalar string` | Provider namespace |
144
+ | Name | Type | Description |
145
+ | ----------------- | ---------------- | ------------------ |
146
+ | providerNamespace | `valueof string` | Provider namespace |
144
147
 
145
148
  ##### Examples
146
149
 
@@ -165,7 +168,7 @@ property to the type of the Azure Resource Manager resource.
165
168
 
166
169
  ##### Target
167
170
 
168
- `union Operation | Model`
171
+ `Operation | Model`
169
172
 
170
173
  ##### Parameters
171
174
 
@@ -185,11 +188,11 @@ Marks the operation as being a collection action
185
188
 
186
189
  ##### Parameters
187
190
 
188
- | Name | Type | Description |
189
- | ---------------------- | ----------------------- | ------------------------- |
190
- | resourceType | `Model` | Resource |
191
- | parentTypeName | `valueof scalar string` | : Parent type name. |
192
- | parentFriendlyTypeName | `valueof scalar string` | Friendly name for parent. |
191
+ | Name | Type | Description |
192
+ | ---------------------- | ---------------- | ------------------------- |
193
+ | resourceType | `Model` | Resource |
194
+ | parentTypeName | `valueof string` | : Parent type name. |
195
+ | parentFriendlyTypeName | `valueof string` | Friendly name for parent. |
193
196
 
194
197
  #### `@armResourceAction`
195
198
 
@@ -292,9 +295,9 @@ clients.
292
295
 
293
296
  ##### Parameters
294
297
 
295
- | Name | Type | Description |
296
- | ---- | --------------------- | ----------- |
297
- | \_ | `(intrinsic) unknown` | DEPRECATED |
298
+ | Name | Type | Description |
299
+ | ---- | --------- | ----------- |
300
+ | \_ | `unknown` | DEPRECATED |
298
301
 
299
302
  #### `@armResourceRead`
300
303
 
@@ -393,7 +396,7 @@ None
393
396
  This decorator sets the base type of the given resource.
394
397
 
395
398
  ```typespec
396
- @Azure.ResourceManager.resourceBaseType(baseType: Tenant | Subscription | ResourceGroup | Location | Extension)
399
+ @Azure.ResourceManager.resourceBaseType(baseType: "Tenant" | "Subscription" | "ResourceGroup" | "Location" | "Extension")
397
400
  ```
398
401
 
399
402
  ##### Target
@@ -402,9 +405,9 @@ This decorator sets the base type of the given resource.
402
405
 
403
406
  ##### Parameters
404
407
 
405
- | Name | Type | Description |
406
- | -------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------- |
407
- | baseType | `union Tenant \| Subscription \| ResourceGroup \| Location \| Extension` | The built-in parent of the resource, this can be "Tenant", "Subscription", "ResourceGroup", "Location", or "Extension" |
408
+ | Name | Type | Description |
409
+ | -------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
410
+ | baseType | `"Tenant" \| "Subscription" \| "ResourceGroup" \| "Location" \| "Extension"` | The built-in parent of the resource, this can be "Tenant", "Subscription", "ResourceGroup", "Location", or "Extension" |
408
411
 
409
412
  #### `@resourceGroupResource`
410
413
 
@@ -438,7 +441,7 @@ Singleton resources only have a single instance with a fixed key name.
438
441
  See more details on [different Azure Resource Manager resource type here.](https://azure.github.io/typespec-azure/docs/howtos/ARM/resource-type)
439
442
 
440
443
  ```typespec
441
- @Azure.ResourceManager.singleton(keyValue?: valueof string | default)
444
+ @Azure.ResourceManager.singleton(keyValue?: valueof string | "default")
442
445
  ```
443
446
 
444
447
  ##### Target
@@ -447,9 +450,9 @@ See more details on [different Azure Resource Manager resource type here.](https
447
450
 
448
451
  ##### Parameters
449
452
 
450
- | Name | Type | Description |
451
- | -------- | --------------------------------- | -------------------------------------------------------------- |
452
- | keyValue | `valueof union string \| default` | The name of the singleton resource. Default name is "default". |
453
+ | Name | Type | Description |
454
+ | -------- | ----------------------------- | -------------------------------------------------------------- |
455
+ | keyValue | `valueof string \| "default"` | The name of the singleton resource. Default name is "default". |
453
456
 
454
457
  #### `@subscriptionResource`
455
458
 
@@ -508,6 +511,6 @@ This allows sharing Azure Resource Manager resource types across specifications
508
511
 
509
512
  ##### Parameters
510
513
 
511
- | Name | Type | Description |
512
- | ---------- | ------------------- | ------------------------------------------------------------------------ |
513
- | namespaces | `model Namespace[]` | The namespaces of Azure Resource Manager libraries used in this provider |
514
+ | Name | Type | Description |
515
+ | ---------- | ------------- | ------------------------------------------------------------------------ |
516
+ | namespaces | `Namespace[]` | The namespaces of Azure Resource Manager libraries used in this provider |
@@ -4,4 +4,5 @@ export * from "./namespace.js";
4
4
  export * from "./operations.js";
5
5
  export * from "./resource.js";
6
6
  export { $lib } from "./lib.js";
7
+ export { $linter } from "./linter.js";
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,0BAA0B,CAAC;AAEjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAE9B,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,0BAA0B,CAAC;AAEjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAE9B,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
package/dist/src/index.js CHANGED
@@ -4,4 +4,5 @@ export * from "./namespace.js";
4
4
  export * from "./operations.js";
5
5
  export * from "./resource.js";
6
6
  export { $lib } from "./lib.js";
7
+ export { $linter } from "./linter.js";
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAEjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAE9B,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAEjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAE9B,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAkKf,CAAC;AAEH,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oDAAS,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA+Ff,CAAC;AAEH,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oDAAS,CAAC"}
package/dist/src/lib.js CHANGED
@@ -1,27 +1,4 @@
1
1
  import { createTypeSpecLibrary, paramMessage } from "@typespec/compiler";
2
- import { armCommonTypesVersionRule } from "./rules/arm-common-types-version.js";
3
- import { armResourceActionNoSegmentRule } from "./rules/arm-resource-action-no-segment.js";
4
- import { armResourceDuplicatePropertiesRule } from "./rules/arm-resource-duplicate-property.js";
5
- import { interfacesRule } from "./rules/arm-resource-interfaces.js";
6
- import { invalidActionVerbRule } from "./rules/arm-resource-invalid-action-verb.js";
7
- import { armResourceEnvelopeProperties } from "./rules/arm-resource-invalid-envelope-property.js";
8
- import { armResourceInvalidVersionFormatRule } from "./rules/arm-resource-invalid-version-format.js";
9
- import { armResourceKeyInvalidCharsRule } from "./rules/arm-resource-key-invalid-chars.js";
10
- import { armResourceOperationsRule } from "./rules/arm-resource-operation-response.js";
11
- import { patchOperationsRule } from "./rules/arm-resource-patch.js";
12
- import { armResourcePathInvalidCharsRule } from "./rules/arm-resource-path-invalid-chars.js";
13
- import { armResourceProvisioningStateRule } from "./rules/arm-resource-provisioning-state-rule.js";
14
- import { beyondNestingRule } from "./rules/beyond-nesting-levels.js";
15
- import { coreOperationsRule } from "./rules/core-operations.js";
16
- import { deleteOperationMissingRule } from "./rules/delete-operation.js";
17
- import { envelopePropertiesRules } from "./rules/envelope-properties.js";
18
- import { listBySubscriptionRule } from "./rules/list-operation.js";
19
- import { noResponseBodyRule } from "./rules/no-response-body.js";
20
- import { operationsInterfaceMissingRule } from "./rules/operations-interface-missing.js";
21
- import { patchEnvelopePropertiesRules } from "./rules/patch-envelope-properties.js";
22
- import { resourceNameRule } from "./rules/resource-name.js";
23
- import { retryAfterRule } from "./rules/retry-after.js";
24
- import { unsupportedTypeRule } from "./rules/unsupported-type.js";
25
2
  export const $lib = createTypeSpecLibrary({
26
3
  name: "@azure-tools/typespec-azure-resource-manager",
27
4
  diagnostics: {
@@ -110,64 +87,6 @@ export const $lib = createTypeSpecLibrary({
110
87
  },
111
88
  },
112
89
  },
113
- linter: {
114
- rules: [
115
- armResourceActionNoSegmentRule,
116
- armResourceDuplicatePropertiesRule,
117
- interfacesRule,
118
- invalidActionVerbRule,
119
- armResourceEnvelopeProperties,
120
- armResourceInvalidVersionFormatRule,
121
- armResourceKeyInvalidCharsRule,
122
- armResourceOperationsRule,
123
- patchOperationsRule,
124
- armResourcePathInvalidCharsRule,
125
- armResourceProvisioningStateRule,
126
- armCommonTypesVersionRule,
127
- beyondNestingRule,
128
- coreOperationsRule,
129
- deleteOperationMissingRule,
130
- envelopePropertiesRules,
131
- listBySubscriptionRule,
132
- noResponseBodyRule,
133
- operationsInterfaceMissingRule,
134
- patchEnvelopePropertiesRules,
135
- resourceNameRule,
136
- retryAfterRule,
137
- unsupportedTypeRule,
138
- ],
139
- ruleSets: {
140
- all: {
141
- enable: {
142
- [`@azure-tools/typespec-azure-resource-manager/${armResourceActionNoSegmentRule.name}`]: true,
143
- [`@azure-tools/typespec-azure-resource-manager/${armResourceDuplicatePropertiesRule.name}`]: true,
144
- [`@azure-tools/typespec-azure-resource-manager/${interfacesRule.name}`]: true,
145
- [`@azure-tools/typespec-azure-resource-manager/${invalidActionVerbRule.name}`]: true,
146
- [`@azure-tools/typespec-azure-resource-manager/${armResourceEnvelopeProperties.name}`]: true,
147
- [`@azure-tools/typespec-azure-resource-manager/${armResourceInvalidVersionFormatRule.name}`]: true,
148
- [`@azure-tools/typespec-azure-resource-manager/${armResourceKeyInvalidCharsRule.name}`]: true,
149
- [`@azure-tools/typespec-azure-resource-manager/${armResourceOperationsRule.name}`]: true,
150
- [`@azure-tools/typespec-azure-resource-manager/${patchOperationsRule.name}`]: true,
151
- [`@azure-tools/typespec-azure-resource-manager/${armResourcePathInvalidCharsRule.name}`]: true,
152
- [`@azure-tools/typespec-azure-resource-manager/${armResourceProvisioningStateRule.name}`]: true,
153
- // TODO: Enable this rule once azure-rest-api-specs repo is ready (issue #3839)
154
- [`@azure-tools/typespec-azure-resource-manager/${armCommonTypesVersionRule.name}`]: false,
155
- [`@azure-tools/typespec-azure-resource-manager/${beyondNestingRule.name}`]: true,
156
- [`@azure-tools/typespec-azure-resource-manager/${coreOperationsRule.name}`]: true,
157
- [`@azure-tools/typespec-azure-resource-manager/${deleteOperationMissingRule.name}`]: true,
158
- [`@azure-tools/typespec-azure-resource-manager/${envelopePropertiesRules.name}`]: true,
159
- [`@azure-tools/typespec-azure-resource-manager/${listBySubscriptionRule.name}`]: true,
160
- [`@azure-tools/typespec-azure-resource-manager/${noResponseBodyRule.name}`]: true,
161
- [`@azure-tools/typespec-azure-resource-manager/${operationsInterfaceMissingRule.name}`]: true,
162
- [`@azure-tools/typespec-azure-resource-manager/${patchEnvelopePropertiesRules.name}`]: true,
163
- [`@azure-tools/typespec-azure-resource-manager/${resourceNameRule.name}`]: true,
164
- [`@azure-tools/typespec-azure-resource-manager/${retryAfterRule.name}`]: true,
165
- [`@azure-tools/typespec-azure-resource-manager/${unsupportedTypeRule.name}`]: true,
166
- },
167
- extends: ["@azure-tools/typespec-azure-core/all"],
168
- },
169
- },
170
- },
171
90
  });
172
91
  export const { reportDiagnostic, createDiagnostic } = $lib;
173
92
  //# sourceMappingURL=lib.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACxC,IAAI,EAAE,8CAA8C;IACpD,WAAW,EAAE;QACX,qBAAqB,EAAE;YACrB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,4EAA4E;aACtF;SACF;QACD,4BAA4B,EAAE;YAC5B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,0BAA0B,EACxB,gGAAgG;aACnG;SACF;QACD,gCAAgC,EAAE;YAChC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EACL,oLAAoL;aACvL;SACF;QACD,uCAAuC,EAAE;YACvC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EACL,uNAAuN;aAC1N;SACF;QACD,oCAAoC,EAAE;YACpC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,8DAA8D;aACxE;SACF;QACD,yCAAyC,EAAE;YACzC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,sFAAsF;aACzF;SACF;QACD,6CAA6C,EAAE;YAC7C,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,+FAA+F;aAClG;SACF;QACD,oCAAoC,EAAE;YACpC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,iJAAiJ;aACpJ;SACF;QACD,gCAAgC,EAAE;YAChC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,6IAA6I;aAChJ;SACF;QACD,sBAAsB,EAAE;YACtB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,+CAA+C,MAAM,EAAE;aAC7E;SACF;QACD,uCAAuC,EAAE;YACvC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,4EAA4E,iBAAiB,wDAAwD,mBAAmB,EAAE;aAChM;SACF;QACD,wBAAwB,EAAE;YACxB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,QAAQ,eAAe,uFAAuF;aACpI;SACF;QACD,aAAa,EAAE;YACb,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,eAAe,EAAE,YAAY,CAAA,eAAe,QAAQ,OAAO,MAAM,6CAA6C;aAC/G;SACF;QACD,mCAAmC,EAAE;YACnC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,6EAA6E;aACvF;SACF;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const $linter: import("@typespec/compiler").LinterDefinition;
2
+ //# sourceMappingURL=linter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AA6DA,eAAO,MAAM,OAAO,+CAmBlB,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { defineLinter } from "@typespec/compiler";
2
+ import { armCommonTypesVersionRule } from "./rules/arm-common-types-version.js";
3
+ import { armDeleteResponseCodesRule } from "./rules/arm-delete-response-codes.js";
4
+ import { armNoRecordRule } from "./rules/arm-no-record.js";
5
+ import { armResourceActionNoSegmentRule } from "./rules/arm-resource-action-no-segment.js";
6
+ import { armResourceDuplicatePropertiesRule } from "./rules/arm-resource-duplicate-property.js";
7
+ import { interfacesRule } from "./rules/arm-resource-interfaces.js";
8
+ import { invalidActionVerbRule } from "./rules/arm-resource-invalid-action-verb.js";
9
+ import { armResourceEnvelopeProperties } from "./rules/arm-resource-invalid-envelope-property.js";
10
+ import { armResourceInvalidVersionFormatRule } from "./rules/arm-resource-invalid-version-format.js";
11
+ import { armResourceKeyInvalidCharsRule } from "./rules/arm-resource-key-invalid-chars.js";
12
+ import { armResourceOperationsRule } from "./rules/arm-resource-operation-response.js";
13
+ import { patchOperationsRule } from "./rules/arm-resource-patch.js";
14
+ import { armResourcePathInvalidCharsRule } from "./rules/arm-resource-path-invalid-chars.js";
15
+ import { armResourceProvisioningStateRule } from "./rules/arm-resource-provisioning-state-rule.js";
16
+ import { beyondNestingRule } from "./rules/beyond-nesting-levels.js";
17
+ import { coreOperationsRule } from "./rules/core-operations.js";
18
+ import { deleteOperationMissingRule } from "./rules/delete-operation.js";
19
+ import { envelopePropertiesRules } from "./rules/envelope-properties.js";
20
+ import { listBySubscriptionRule } from "./rules/list-operation.js";
21
+ import { missingXmsIdentifiersRule } from "./rules/missing-x-ms-identifiers.js";
22
+ import { noResponseBodyRule } from "./rules/no-response-body.js";
23
+ import { operationsInterfaceMissingRule } from "./rules/operations-interface-missing.js";
24
+ import { patchEnvelopePropertiesRules } from "./rules/patch-envelope-properties.js";
25
+ import { resourceNameRule } from "./rules/resource-name.js";
26
+ import { retryAfterRule } from "./rules/retry-after.js";
27
+ import { unsupportedTypeRule } from "./rules/unsupported-type.js";
28
+ const rules = [
29
+ armNoRecordRule,
30
+ armCommonTypesVersionRule,
31
+ armDeleteResponseCodesRule,
32
+ armResourceActionNoSegmentRule,
33
+ armResourceDuplicatePropertiesRule,
34
+ armResourceEnvelopeProperties,
35
+ armResourceInvalidVersionFormatRule,
36
+ armResourceKeyInvalidCharsRule,
37
+ armResourceOperationsRule,
38
+ armResourcePathInvalidCharsRule,
39
+ armResourceProvisioningStateRule,
40
+ beyondNestingRule,
41
+ coreOperationsRule,
42
+ deleteOperationMissingRule,
43
+ envelopePropertiesRules,
44
+ interfacesRule,
45
+ invalidActionVerbRule,
46
+ listBySubscriptionRule,
47
+ missingXmsIdentifiersRule,
48
+ noResponseBodyRule,
49
+ operationsInterfaceMissingRule,
50
+ patchEnvelopePropertiesRules,
51
+ patchOperationsRule,
52
+ resourceNameRule,
53
+ retryAfterRule,
54
+ unsupportedTypeRule,
55
+ ];
56
+ const allRulesEnabled = Object.fromEntries(rules.map((rule) => [`@azure-tools/typespec-azure-resource-manager/${rule.name}`, true]));
57
+ export const $linter = defineLinter({
58
+ rules,
59
+ ruleSets: {
60
+ all: {
61
+ extends: [
62
+ "@azure-tools/typespec-azure-core/all",
63
+ "@azure-tools/typespec-azure-core/canonical-versioning",
64
+ ],
65
+ enable: {
66
+ ...allRulesEnabled,
67
+ // TODO: Enable this rule once azure-rest-api-specs repo is ready (issue #3839)
68
+ [`@azure-tools/typespec-azure-resource-manager/${armCommonTypesVersionRule.name}`]: false,
69
+ },
70
+ disable: {
71
+ [`@azure-tools/typespec-azure-core/bad-record-type`]: "This clashes with the ARM `no-record` rule.",
72
+ },
73
+ },
74
+ },
75
+ });
76
+ //# sourceMappingURL=linter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linter.js","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"private.decorators.d.ts","sourceRoot":"","sources":["../../src/private.decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAChB,IAAI,EACJ,UAAU,EACV,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,OAAO,EAEP,KAAK,EAGN,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EACL,kBAAkB,EAMnB,MAAM,eAAe,CAAC;AAGvB,eAAO,MAAM,SAAS,kCAAkC,CAAC;AAIzD,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,QAU1F;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,YAAY,EAAE,KAAK,QAepB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,KAAK,QAUd;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,GACtB,MAAM,EAAE,GAAG,SAAS,CAEtB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAMT;AA2KD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,EACrC,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAeN;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,EACrC,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAeN;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,KAAK,GAClB,IAAI,CAON;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,QAwBvF;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAWvF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,KAAK,EACnB,cAAc,EAAE,KAAK,QAmFtB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB,EAAE,CAEvE;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,KAAK,GAClB,kBAAkB,GAAG,SAAS,CAEhC;AAiBD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,QAKhF"}
1
+ {"version":3,"file":"private.decorators.d.ts","sourceRoot":"","sources":["../../src/private.decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAChB,IAAI,EACJ,UAAU,EACV,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,OAAO,EAEP,KAAK,EAGN,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EACL,kBAAkB,EAMnB,MAAM,eAAe,CAAC;AAGvB,eAAO,MAAM,SAAS,kCAAkC,CAAC;AAIzD,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,QAU1F;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,YAAY,EAAE,KAAK,QAepB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,KAAK,QAUd;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,GACtB,MAAM,EAAE,GAAG,SAAS,CAEtB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAMT;AA4KD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,EACrC,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAeN;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,EACrC,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAeN;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,KAAK,GAClB,IAAI,CAON;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,QAwBvF;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAWvF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,KAAK,EACnB,cAAc,EAAE,KAAK,QAmFtB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB,EAAE,CAEvE;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,KAAK,GAClB,kBAAkB,GAAG,SAAS,CAEhC;AAiBD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,QAKhF"}
@@ -63,7 +63,9 @@ function resolveCommonTypesVersion(program, params) {
63
63
  // If the service is versioned, extract the common-types version from the
64
64
  // service version enum
65
65
  if (params.version && versionMap) {
66
- const versionEnumMember = (_b = versionMap.getVersions().find((x) => x.value === params.version)) === null || _b === void 0 ? void 0 : _b.enumMember;
66
+ const versionEnumMember = (_b = versionMap
67
+ .getVersions()
68
+ .find((x) => x.value === params.version)) === null || _b === void 0 ? void 0 : _b.enumMember;
67
69
  if (versionEnumMember) {
68
70
  selectedVersion = getArmCommonTypesVersion(program, versionEnumMember);
69
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"private.decorators.js","sourceRoot":"","sources":["../../src/private.decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"private.decorators.js","sourceRoot":"","sources":["../../src/private.decorators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Verify that a delete operation only
3
+ */
4
+ export declare const armDeleteResponseCodesRule: import("@typespec/compiler").LinterRuleDefinition<"arm-delete-operation-response-codes", {
5
+ readonly sync: "Synchronous delete operations must have 200, 204 and default responses. They must not have any other responses. Consider using the 'ArmResourceDeleteSync' template.";
6
+ readonly async: "Long-running delete operations must have 202, 204 and default responses. They must not have any other responses. Consider using the 'ArmResourceDeleteWithoutOkAsync' template.";
7
+ }>;
8
+ //# sourceMappingURL=arm-delete-response-codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arm-delete-response-codes.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-delete-response-codes.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;EAmCrC,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { createRule } from "@typespec/compiler";
2
+ import { getLroMetadata } from "@azure-tools/typespec-azure-core";
3
+ import { getHttpOperation } from "@typespec/http";
4
+ import { getArmResources } from "../resource.js";
5
+ /**
6
+ * Verify that a delete operation only
7
+ */
8
+ export const armDeleteResponseCodesRule = createRule({
9
+ name: "arm-delete-operation-response-codes",
10
+ severity: "warning",
11
+ url: "https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/delete-operation-response-codes",
12
+ description: "Ensure delete operations have the appropriate status codes.",
13
+ messages: {
14
+ sync: `Synchronous delete operations must have 200, 204 and default responses. They must not have any other responses. Consider using the 'ArmResourceDeleteSync' template.`,
15
+ async: `Long-running delete operations must have 202, 204 and default responses. They must not have any other responses. Consider using the 'ArmResourceDeleteWithoutOkAsync' template.`,
16
+ },
17
+ create(context) {
18
+ return {
19
+ model: (model) => {
20
+ const resources = getArmResources(context.program);
21
+ const armResource = resources.find((re) => re.typespecType === model);
22
+ if (armResource && armResource.operations.lifecycle.delete) {
23
+ const deleteOperation = armResource.operations.lifecycle.delete;
24
+ const isAsync = getLroMetadata(context.program, deleteOperation.operation) !== undefined;
25
+ const [httpOp, _] = getHttpOperation(context.program, deleteOperation.operation);
26
+ const statusCodes = new Set([...httpOp.responses.map((r) => r.statusCodes.toString())]);
27
+ const expected = new Set(["204", "*"]);
28
+ expected.add(isAsync ? "202" : "200");
29
+ if (statusCodes.size !== expected.size ||
30
+ ![...statusCodes].every((v) => expected.has(v))) {
31
+ context.reportDiagnostic({
32
+ target: deleteOperation.operation,
33
+ messageId: isAsync ? "async" : "sync",
34
+ });
35
+ }
36
+ }
37
+ },
38
+ };
39
+ },
40
+ });
41
+ //# sourceMappingURL=arm-delete-response-codes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arm-delete-response-codes.js","sourceRoot":"","sources":["../../../src/rules/arm-delete-response-codes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC;IACnD,IAAI,EAAE,qCAAqC;IAC3C,QAAQ,EAAE,SAAS;IACnB,GAAG,EAAE,oHAAoH;IACzH,WAAW,EAAE,6DAA6D;IAC1E,QAAQ,EAAE;QACR,IAAI,EAAE,sKAAsK;QAC5K,KAAK,EAAE,iLAAiL;KACzL;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE;gBACtB,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnD,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC;gBACtE,IAAI,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC3D,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC;oBAChE,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC;oBACzF,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;oBACjF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;oBACxF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;oBACvC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAEtC,IACE,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;wBAClC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAC/C,CAAC;wBACD,OAAO,CAAC,gBAAgB,CAAC;4BACvB,MAAM,EAAE,eAAe,CAAC,SAAS;4BACjC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;yBACtC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const armNoRecordRule: import("@typespec/compiler").LinterRuleDefinition<"arm-no-record", {
2
+ readonly default: "Model properties or operation parameters should not be of type Record. ARM requires Resource provider teams to define types explicitly.";
3
+ readonly extends: "Models should not extend type Record. ARM requires Resource provider teams to define types explicitly.";
4
+ readonly is: "Models should not equate to type Record. ARM requires Resource provider teams to define types explicitly.";
5
+ }>;
6
+ //# sourceMappingURL=arm-no-record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arm-no-record.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-no-record.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe;;;;EA4C1B,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { createRule } from "@typespec/compiler";
2
+ import { getArmResources } from "../resource.js";
3
+ export const armNoRecordRule = createRule({
4
+ name: "arm-no-record",
5
+ severity: "warning",
6
+ description: "Don't use Record types for ARM resources.",
7
+ url: "https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/no-record",
8
+ messages: {
9
+ default: "Model properties or operation parameters should not be of type Record. ARM requires Resource provider teams to define types explicitly.",
10
+ extends: "Models should not extend type Record. ARM requires Resource provider teams to define types explicitly.",
11
+ is: "Models should not equate to type Record. ARM requires Resource provider teams to define types explicitly.",
12
+ },
13
+ create(context) {
14
+ return {
15
+ root: (_) => {
16
+ function checkModel(model, target, kind) {
17
+ if (model.name === "Record") {
18
+ context.reportDiagnostic({
19
+ code: "arm-no-record",
20
+ target: target,
21
+ messageId: kind || "default",
22
+ });
23
+ }
24
+ else if (model.baseModel !== undefined) {
25
+ checkModel(model.baseModel, model, "extends");
26
+ }
27
+ else if (model.sourceModel !== undefined) {
28
+ checkModel(model.sourceModel, model, "is");
29
+ }
30
+ if ((model === null || model === void 0 ? void 0 : model.properties) !== undefined) {
31
+ for (const prop of model.properties.values()) {
32
+ if (prop.type.kind === "Model") {
33
+ checkModel(prop.type, prop);
34
+ }
35
+ }
36
+ }
37
+ }
38
+ // ensure only ARM resources and models they touch are checked
39
+ const resources = getArmResources(context.program);
40
+ for (const resource of resources) {
41
+ checkModel(resource.typespecType, resource.typespecType);
42
+ }
43
+ },
44
+ };
45
+ },
46
+ });
47
+ //# sourceMappingURL=arm-no-record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arm-no-record.js","sourceRoot":"","sources":["../../../src/rules/arm-no-record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiD,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACxC,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,2CAA2C;IACxD,GAAG,EAAE,8FAA8F;IACnG,QAAQ,EAAE;QACR,OAAO,EACL,yIAAyI;QAC3I,OAAO,EACL,wGAAwG;QAC1G,EAAE,EAAE,2GAA2G;KAChH;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;gBACV,SAAS,UAAU,CAAC,KAAY,EAAE,MAAwB,EAAE,IAAuB;oBACjF,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC5B,OAAO,CAAC,gBAAgB,CAAC;4BACvB,IAAI,EAAE,eAAe;4BACrB,MAAM,EAAE,MAAM;4BACd,SAAS,EAAE,IAAI,IAAI,SAAS;yBAC7B,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;wBACzC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;oBAChD,CAAC;yBAAM,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;wBAC3C,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC7C,CAAC;oBACD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,MAAK,SAAS,EAAE,CAAC;wBACpC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;4BAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gCAC/B,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAC9B,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,8DAA8D;gBAC9D,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export declare const armResourceProvisioningStateRule: import("@typespec/compiler").LinterRuleDefinition<"arm-resource-provisioning-state", {
2
- readonly default: "The RP-specific property model in the 'properties' property of this resource must contain a 'provisioningState property. The property type should be an enum, and it must specify known state values 'Succeeded', 'Failed', and 'Canceled'.";
2
+ readonly default: "The RP-specific property model in the 'properties' property of this resource must contain a 'provisioningState property. The property type should be an enum or a union of string values, and it must specify known state values 'Succeeded', 'Failed', and 'Canceled'.";
3
3
  readonly missingValues: import("@typespec/compiler").CallableMessage<[string]>;
4
+ readonly missingReadOnlyVisibility: "The provisioningState property must have a single read visibility.";
5
+ readonly mustBeOptional: "The provisioningState property must be optional.";
4
6
  }>;
5
7
  //# sourceMappingURL=arm-resource-provisioning-state-rule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arm-resource-provisioning-state-rule.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-resource-provisioning-state-rule.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gCAAgC;;;EA2D3C,CAAC"}
1
+ {"version":3,"file":"arm-resource-provisioning-state-rule.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-resource-provisioning-state-rule.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,gCAAgC;;;;;EA8G3C,CAAC"}
@@ -1,4 +1,5 @@
1
- import { createRule, getProperty, paramMessage } from "@typespec/compiler";
1
+ import { createRule, getProperty, getVisibility, paramMessage, } from "@typespec/compiler";
2
+ import { getUnionAsEnum } from "@azure-tools/typespec-azure-core";
2
3
  import { getArmResource } from "../resource.js";
3
4
  import { getSourceProperty } from "./utils.js";
4
5
  export const armResourceProvisioningStateRule = createRule({
@@ -6,8 +7,10 @@ export const armResourceProvisioningStateRule = createRule({
6
7
  severity: "warning",
7
8
  description: "Check for properly configured provisioningState property.",
8
9
  messages: {
9
- default: "The RP-specific property model in the 'properties' property of this resource must contain a 'provisioningState property. The property type should be an enum, and it must specify known state values 'Succeeded', 'Failed', and 'Canceled'.",
10
+ default: "The RP-specific property model in the 'properties' property of this resource must contain a 'provisioningState property. The property type should be an enum or a union of string values, and it must specify known state values 'Succeeded', 'Failed', and 'Canceled'.",
10
11
  missingValues: paramMessage `The "@knownValues" decorator for provisioningState, must reference an enum with 'Succeeded', 'Failed', 'Canceled' values. The enum is missing the values: [${"missingValues"}].`,
12
+ missingReadOnlyVisibility: "The provisioningState property must have a single read visibility.",
13
+ mustBeOptional: "The provisioningState property must be optional.",
11
14
  },
12
15
  create(context) {
13
16
  return {
@@ -31,7 +34,7 @@ export const armResourceProvisioningStateRule = createRule({
31
34
  provisioning = getSourceProperty(provisioning);
32
35
  const provisioningType = provisioning.type;
33
36
  switch (provisioningType.kind) {
34
- case "Enum":
37
+ case "Enum": {
35
38
  const enumType = provisioningType;
36
39
  const missing = [];
37
40
  if (!enumType.members.get("Succeeded")) {
@@ -51,11 +54,54 @@ export const armResourceProvisioningStateRule = createRule({
51
54
  });
52
55
  }
53
56
  break;
57
+ }
58
+ case "Union": {
59
+ const [unionAsEnum] = getUnionAsEnum(provisioningType);
60
+ if (unionAsEnum === undefined) {
61
+ context.reportDiagnostic({
62
+ target: resourceProperties,
63
+ });
64
+ break;
65
+ }
66
+ const missing = [];
67
+ if (!unionAsEnum.flattenedMembers.get("Succeeded")) {
68
+ missing.push("Succeeded");
69
+ }
70
+ if (!unionAsEnum.flattenedMembers.get("Canceled")) {
71
+ missing.push("Canceled");
72
+ }
73
+ if (!unionAsEnum.flattenedMembers.get("Failed")) {
74
+ missing.push("Failed");
75
+ }
76
+ if (missing.length > 0) {
77
+ context.reportDiagnostic({
78
+ messageId: "missingValues",
79
+ format: { missingValues: missing.join(", ") },
80
+ target: provisioningType,
81
+ });
82
+ }
83
+ break;
84
+ }
54
85
  default:
55
86
  context.reportDiagnostic({
56
87
  target: provisioning,
57
88
  });
58
89
  }
90
+ // validate provisioning state is optional
91
+ if (provisioning.optional !== true) {
92
+ context.reportDiagnostic({
93
+ messageId: "mustBeOptional",
94
+ target: provisioning,
95
+ });
96
+ }
97
+ // validate it must has a read only visibility
98
+ const visibilities = getVisibility(context.program, provisioning);
99
+ if (!(visibilities !== undefined && visibilities.length === 1 && visibilities[0] === "read")) {
100
+ context.reportDiagnostic({
101
+ messageId: "missingReadOnlyVisibility",
102
+ target: provisioning,
103
+ });
104
+ }
59
105
  }
60
106
  },
61
107
  };
@@ -1 +1 @@
1
- {"version":3,"file":"arm-resource-provisioning-state-rule.js","sourceRoot":"","sources":["../../../src/rules/arm-resource-provisioning-state-rule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAExF,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,CAAC,MAAM,gCAAgC,GAAG,UAAU,CAAC;IACzD,IAAI,EAAE,iCAAiC;IACvC,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,2DAA2D;IACxE,QAAQ,EAAE;QACR,OAAO,EACL,8OAA8O;QAChP,aAAa,EAAE,YAAY,CAAA,8JAA8J,eAAe,IAAI;KAC7M;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE;;gBACtB,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC7D,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAChC,OAAO;gBACT,CAAC;gBACD,MAAM,kBAAkB,GAAG,MAAA,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,0CAAE,IAAI,CAAC;gBAClE,IAAI,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC5E,OAAO;gBACT,CAAC;gBAED,IAAI,YAAY,GAAG,WAAW,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;gBACxE,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,OAAO,CAAC,gBAAgB,CAAC;wBACvB,MAAM,EAAE,kBAAkB;qBAC3B,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;oBAC/C,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC;oBAC3C,QAAQ,gBAAgB,CAAC,IAAI,EAAE,CAAC;wBAC9B,KAAK,MAAM;4BACT,MAAM,QAAQ,GAAG,gBAAwB,CAAC;4BAC1C,MAAM,OAAO,GAAa,EAAE,CAAC;4BAC7B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gCACvC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;4BAC5B,CAAC;4BACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gCACtC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;4BAC3B,CAAC;4BACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gCACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACzB,CAAC;4BACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACvB,OAAO,CAAC,gBAAgB,CAAC;oCACvB,SAAS,EAAE,eAAe;oCAC1B,MAAM,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oCAC7C,MAAM,EAAE,QAAQ;iCACjB,CAAC,CAAC;4BACL,CAAC;4BACD,MAAM;wBACR;4BACE,OAAO,CAAC,gBAAgB,CAAC;gCACvB,MAAM,EAAE,YAAY;6BACrB,CAAC,CAAC;oBACP,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"arm-resource-provisioning-state-rule.js","sourceRoot":"","sources":["../../../src/rules/arm-resource-provisioning-state-rule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const missingXmsIdentifiersRule: import("@typespec/compiler").LinterRuleDefinition<"missing-x-ms-identifiers", {
2
+ readonly default: "Missing identifying properties of objects in the array item, please add @extension(\"x-ms-identifiers\", [<prop>]) to specify it. If there are no appropriate identifying properties, please add @extension(\"x-ms-identifiers\",[]).";
3
+ readonly notArray: import("@typespec/compiler").CallableMessage<[string]>;
4
+ readonly missingProperty: import("@typespec/compiler").CallableMessage<[string, string]>;
5
+ }>;
6
+ //# sourceMappingURL=missing-x-ms-identifiers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"missing-x-ms-identifiers.d.ts","sourceRoot":"","sources":["../../../src/rules/missing-x-ms-identifiers.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,yBAAyB;;;;EA4EpC,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { createRule, getProperty, isArrayModelType, paramMessage, } from "@typespec/compiler";
2
+ import { getExtensions } from "@typespec/openapi";
3
+ import { isArmCommonType } from "../common-types.js";
4
+ export const missingXmsIdentifiersRule = createRule({
5
+ name: "missing-x-ms-identifiers",
6
+ description: "Azure services should not use enums.",
7
+ severity: "warning",
8
+ url: "https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/missing-x-ms-identifiers",
9
+ messages: {
10
+ default: `Missing identifying properties of objects in the array item, please add @extension("x-ms-identifiers", [<prop>]) to specify it. If there are no appropriate identifying properties, please add @extension("x-ms-identifiers",[]).`,
11
+ notArray: paramMessage `Value passed to @extension("x-ms-identifiers",...) was a "${"valueType"}". Pass an array of property name.`,
12
+ missingProperty: paramMessage `Property "${"propertyName"}" is not found in "${"targetModelName"}". Make sure value of x-ms-identifiers extension are valid property name of the array element.`,
13
+ },
14
+ create(context) {
15
+ return {
16
+ modelProperty: (property) => {
17
+ const type = property.type;
18
+ if (type.kind === "Model" && isArrayModelType(context.program, type)) {
19
+ if (isArrayMissingIdentifier(context.program, type, property)) {
20
+ context.reportDiagnostic({
21
+ target: property,
22
+ });
23
+ }
24
+ }
25
+ },
26
+ };
27
+ function isArrayMissingIdentifier(program, array, property) {
28
+ const elementType = array.indexer.value;
29
+ if (elementType.kind !== "Model") {
30
+ return false;
31
+ }
32
+ if (isArmCommonType(elementType)) {
33
+ return false;
34
+ }
35
+ if (getProperty(elementType, "id")) {
36
+ return false;
37
+ }
38
+ const xmsIdentifiers = getExtensions(program, property !== null && property !== void 0 ? property : array).get("x-ms-identifiers");
39
+ if (xmsIdentifiers === undefined) {
40
+ return true;
41
+ }
42
+ if (Array.isArray(xmsIdentifiers)) {
43
+ for (const prop of xmsIdentifiers) {
44
+ if (typeof prop === "string") {
45
+ if (!elementType.properties.has(prop)) {
46
+ context.reportDiagnostic({
47
+ messageId: "missingProperty",
48
+ format: { propertyName: prop, targetModelName: elementType.name },
49
+ target: property,
50
+ });
51
+ }
52
+ }
53
+ else {
54
+ context.reportDiagnostic({
55
+ messageId: "notArray",
56
+ format: { valueType: typeof prop },
57
+ target: property,
58
+ });
59
+ }
60
+ }
61
+ }
62
+ else {
63
+ context.reportDiagnostic({
64
+ messageId: "notArray",
65
+ format: { valueType: typeof xmsIdentifiers },
66
+ target: property,
67
+ });
68
+ }
69
+ return false;
70
+ }
71
+ },
72
+ });
73
+ //# sourceMappingURL=missing-x-ms-identifiers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"missing-x-ms-identifiers.js","sourceRoot":"","sources":["../../../src/rules/missing-x-ms-identifiers.ts"],"names":[],"mappings":"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"}
@@ -753,7 +753,7 @@ op checkNameAvailability<
753
753
  ): Response | ErrorResponse;
754
754
 
755
755
  /**
756
- * @dev The base template for Azure Resource Manager GET Operations.
756
+ * @dev The base template for Azure Resource Manager GET and HEAD Operations.
757
757
  * @param Parameters The parameter object for the operation.
758
758
  * @param Response The response or union of responses for success.
759
759
  * @param ErrorResponse The error response.
@@ -77,6 +77,7 @@ interface TrackedResourceOperations<
77
77
  * @template Resource the ArmResource that provides these operations
78
78
  * @template BaseParameters The http parameters that are part of the request
79
79
  */
80
+ #suppress "deprecated" "This should be deprecated in a future release"
80
81
  interface ProxyResourceOperations<
81
82
  Resource extends ArmResource,
82
83
  BaseParameters = DefaultBaseParameters<Resource>
@@ -97,6 +98,7 @@ interface ProxyResourceOperations<
97
98
  * @template Resource the ArmResource that provides these operations
98
99
  * @template Properties RP-specific property bag for the resource
99
100
  */
101
+ #suppress "deprecated" "This should be deprecated in a future release"
100
102
  interface TenantResourceOperations<
101
103
  Resource extends ArmResource,
102
104
  Properties extends TypeSpec.Reflection.Model
@@ -114,6 +116,7 @@ interface TenantResourceOperations<
114
116
  * @template BaseParameters The http parameters that are part of the request
115
117
  * @template PatchModel The model used for PATCH operations
116
118
  */
119
+ #suppress "deprecated" "This should be deprecated in a future release"
117
120
  interface ResourceInstanceOperations<
118
121
  Resource extends ArmResource,
119
122
  Properties extends TypeSpec.Reflection.Model,
@@ -227,6 +230,7 @@ interface ResourceCreateAsync<
227
230
  * @template Resource The ArmResource that provides these operations
228
231
  * @template BaseParameters The http parameters that are part of the request
229
232
  */
233
+ #deprecated "This should be deprecated in a future release"
230
234
  @doc("Delete a resource using the asynchronous call pattern")
231
235
  interface ResourceDeleteAsync<
232
236
  Resource extends ArmResource,
@@ -327,6 +331,7 @@ interface ResourceUpdateSync<
327
331
  * @template Resource The ArmResource that provides these operations
328
332
  * @template Properties RP-specific property bag for the resource
329
333
  */
334
+ #suppress "deprecated" "This should be deprecated in a future release"
330
335
  interface ExtensionResourceInstanceOperations<
331
336
  Resource extends ArmResource,
332
337
  Properties extends TypeSpec.Reflection.Model
@@ -366,6 +371,7 @@ alias ResourceUpdate<
366
371
  BaseParameters = DefaultBaseParameters<Resource>
367
372
  > = ResourceUpdateSync<Resource, Properties, BaseParameters>;
368
373
 
374
+ #suppress "deprecated" "This should be deprecated in a future release"
369
375
  alias ResourceDelete<
370
376
  Resource extends ArmResource,
371
377
  BaseParameters = DefaultBaseParameters<Resource>
@@ -391,6 +397,7 @@ alias ExtensionResourceUpdate<
391
397
  Properties extends TypeSpec.Reflection.Model
392
398
  > = ResourceUpdate<Resource, Properties, ExtensionBaseParameters>;
393
399
 
400
+ #suppress "deprecated" "This should be deprecated in a future release"
394
401
  alias ExtensionResourceDelete<Resource extends ArmResource> = ResourceDelete<
395
402
  Resource,
396
403
  ExtensionBaseParameters
@@ -413,6 +420,7 @@ alias TenantResourceCreate<Resource extends ArmResource> = ResourceCreateAsync<
413
420
  TenantBaseParameters
414
421
  >;
415
422
 
423
+ #suppress "deprecated" "This should be deprecated in a future release"
416
424
  alias TenantResourceDelete<Resource extends ArmResource> = ResourceDelete<
417
425
  Resource,
418
426
  TenantBaseParameters
package/lib/models.tsp CHANGED
@@ -1,6 +1,7 @@
1
1
  using TypeSpec.Http;
2
2
  using TypeSpec.Rest;
3
3
  using TypeSpec.OpenAPI;
4
+ using Azure.Core;
4
5
  using Azure.ResourceManager.Foundations;
5
6
  using Azure.ResourceManager.Private;
6
7
 
@@ -169,7 +170,8 @@ enum ResourceProvisioningState {
169
170
  @doc("Contains a default provisioningState property to be spread into resource property types")
170
171
  model DefaultProvisioningStateProperty {
171
172
  @doc("The provisioning state of the resource.")
172
- provisioningState: ResourceProvisioningState;
173
+ @visibility("read")
174
+ provisioningState?: ResourceProvisioningState;
173
175
  }
174
176
 
175
177
  /**
@@ -55,7 +55,7 @@ op ArmResourceListByParent<
55
55
  > is ArmReadOperation<
56
56
  ResourceParentParameters<Resource, BaseParameters> & Parameters,
57
57
  Response,
58
- ErrorResponse
58
+ Error
59
59
  >;
60
60
 
61
61
  /**
@@ -81,12 +81,12 @@ op ArmResourceListAtScope<
81
81
  > is ArmReadOperation<
82
82
  ResourceParentParameters<Resource, BaseParameters> & Parameters,
83
83
  Response,
84
- ErrorResponse
84
+ Error
85
85
  >;
86
86
 
87
87
  /**
88
88
  * A resource GET operation
89
- * @template Resource the resource being patched
89
+ * @template Resource the resource being read
90
90
  * @template BaseParameters Optional. Allows overriding the operation parameters
91
91
  * @template Parameters Optional. Additional parameters after the path parameters
92
92
  * @template Response Optional. The success response for the read operation
@@ -105,12 +105,35 @@ op ArmResourceRead<
105
105
  > is ArmReadOperation<
106
106
  ResourceInstanceParameters<Resource, BaseParameters> & Parameters,
107
107
  Response,
108
- ErrorResponse
108
+ Error
109
+ >;
110
+
111
+ /**
112
+ * Check a resource's existence via HEAD operation
113
+ * @template Resource the resource being checked
114
+ * @template BaseParameters Optional. Allows overriding the operation parameters
115
+ * @template Parameters Optional. Additional parameters after the path parameters
116
+ * @template Response Optional. The success response for the read operation
117
+ * @template Error Optional. The error response, if non-standard.
118
+ */
119
+ @autoRoute
120
+ @doc("Check for the existence of a {name}", Resource)
121
+ @head
122
+ op ArmResourceCheckExistence<
123
+ Resource extends ArmResourceBase,
124
+ BaseParameters = DefaultBaseParameters<Resource>,
125
+ Parameters extends {} = {},
126
+ Response extends {} = ArmResourceExistsResponse | ArmResourceNotFoundResponse,
127
+ Error extends {} = ErrorResponse
128
+ > is ArmReadOperation<
129
+ ResourceInstanceParameters<Resource, BaseParameters> & Parameters,
130
+ Response,
131
+ Error
109
132
  >;
110
133
 
111
134
  /**
112
135
  * A long-running resource CreateOrUpdate (PUT)
113
- * @template Resource the resource being patched
136
+ * @template Resource the resource being created or updated
114
137
  * @template BaseParameters Optional. Allows overriding the operation parameters
115
138
  * @template LroHeaders Optional. Allows overriding the lro headers returned on resource create
116
139
  * @template Parameters Optional. Additional parameters after the path parameters
@@ -147,7 +170,7 @@ op ArmResourceCreateOrUpdateAsync<
147
170
 
148
171
  /**
149
172
  * DEPRECATED: Please use ArmResourceCreateOrReplaceSync instead
150
- * @template Resource the resource being patched
173
+ * @template Resource the resource being created or updated
151
174
  * @template BaseParameters Optional. Allows overriding the operation parameters
152
175
  * @template Parameters Optional. Additional parameters after the path parameters
153
176
  * @template Response Optional. The success response for the createOrUpdate operation
@@ -173,7 +196,7 @@ op ArmResourceCreateOrUpdateSync<
173
196
 
174
197
  /**
175
198
  * Synchronous PUT operation for Azure Resource Manager resources
176
- * @template Resource the resource being patched
199
+ * @template Resource the resource being created or replaced
177
200
  * @template BaseParameters Optional. Allows overriding the operation parameters
178
201
  * @template Parameters Optional. Additional parameters after the path parameters
179
202
  * @template Response Optional. The success response for the createOrUpdate operation
@@ -198,7 +221,7 @@ op ArmResourceCreateOrReplaceSync<
198
221
 
199
222
  /**
200
223
  * @dev A long-running resource CreateOrUpdate (PUT)
201
- * @template Resource the resource being patched
224
+ * @template Resource the resource being created or replaced
202
225
  * @template BaseParameters Optional. Allows overriding the operation parameters
203
226
  * @template LroHeaders Optional. Allows overriding the lro headers returned on resource create
204
227
  * @template Parameters Optional. Additional parameters after the path parameters
@@ -412,6 +435,7 @@ op ArmResourceDeleteAsyncBase<
412
435
  * @template Response Optional. The success response(s) for the delete operation
413
436
  * @template Error Optional. The error response, if non-standard.
414
437
  */
438
+ #deprecated "Use 'ArmResourceDeleteWithoutOkAsync' instead"
415
439
  op ArmResourceDeleteAsync<
416
440
  Resource extends ArmResource,
417
441
  BaseParameters = DefaultBaseParameters<Resource>,
package/lib/responses.tsp CHANGED
@@ -237,3 +237,19 @@ model ErrorResponse {
237
237
  @doc("The error object.")
238
238
  error?: ErrorDetail;
239
239
  }
240
+
241
+ /**
242
+ * @dev Resource exists response
243
+ */
244
+ @doc("The Azure resource exists")
245
+ model ArmResourceExistsResponse {
246
+ ...NoContentResponse;
247
+ }
248
+
249
+ /**
250
+ * @dev Resource is not found response
251
+ */
252
+ @doc("The Azure resource is not found")
253
+ model ArmResourceNotFoundResponse {
254
+ ...NotFoundResponse;
255
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure-tools/typespec-azure-resource-manager",
3
- "version": "0.40.0-dev.0",
3
+ "version": "0.40.0-dev.11",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec Azure Resource Manager library",
6
6
  "homepage": "https://azure.github.io/typespec-azure",
@@ -39,34 +39,34 @@
39
39
  "!dist/test/**"
40
40
  ],
41
41
  "peerDependencies": {
42
- "@typespec/compiler": "~0.53.0 || >=0.54.0-dev <0.54.0",
43
- "@azure-tools/typespec-azure-core": "~0.39.0 || >=0.40.0-dev <0.40.0",
44
- "@azure-tools/typespec-autorest": "~0.39.0 || >=0.40.0-dev <0.40.0",
42
+ "@azure-tools/typespec-autorest": "~0.39.2 || >=0.40.0-dev <0.40.0",
43
+ "@azure-tools/typespec-azure-core": "~0.39.1 || >=0.40.0-dev <0.40.0",
44
+ "@typespec/compiler": "~0.53.1 || >=0.54.0-dev <0.54.0",
45
+ "@typespec/http": "~0.53.0 || >=0.54.0-dev <0.54.0",
45
46
  "@typespec/openapi": "~0.53.0 || >=0.54.0-dev <0.54.0",
46
47
  "@typespec/rest": "~0.53.0 || >=0.54.0-dev <0.54.0",
47
- "@typespec/http": "~0.53.0 || >=0.54.0-dev <0.54.0",
48
48
  "@typespec/versioning": "~0.53.0 || >=0.54.0-dev <0.54.0"
49
49
  },
50
50
  "devDependencies": {
51
- "@typespec/compiler": "~0.53.0 || >=0.54.0-dev <0.54.0",
51
+ "@azure-tools/typespec-autorest": "~0.39.2 || >=0.40.0-dev <0.40.0",
52
+ "@azure-tools/typespec-azure-core": "~0.39.1 || >=0.40.0-dev <0.40.0",
53
+ "@types/node": "~18.11.19",
54
+ "@typespec/compiler": "~0.53.1 || >=0.54.0-dev <0.54.0",
55
+ "@typespec/eslint-config-typespec": "~0.53.0 || >=0.54.0-dev <0.54.0",
56
+ "@typespec/eslint-plugin": "~0.53.0 || >=0.54.0-dev <0.54.0",
57
+ "@typespec/http": "~0.53.0 || >=0.54.0-dev <0.54.0",
58
+ "@typespec/library-linter": "~0.53.0 || >=0.54.0-dev <0.54.0",
52
59
  "@typespec/openapi": "~0.53.0 || >=0.54.0-dev <0.54.0",
53
- "@azure-tools/typespec-azure-core": "~0.39.0 || >=0.40.0-dev <0.40.0",
54
- "@azure-tools/typespec-autorest": "~0.39.0 || >=0.40.0-dev <0.40.0",
55
60
  "@typespec/rest": "~0.53.0 || >=0.54.0-dev <0.54.0",
56
- "@typespec/http": "~0.53.0 || >=0.54.0-dev <0.54.0",
57
61
  "@typespec/versioning": "~0.53.0 || >=0.54.0-dev <0.54.0",
58
- "@types/node": "~18.11.9",
59
- "@typespec/eslint-config-typespec": "~0.53.0 || >=0.54.0-dev <0.54.0",
60
- "@typespec/library-linter": "~0.53.0 || >=0.54.0-dev <0.54.0",
61
- "@typespec/eslint-plugin": "~0.53.0 || >=0.54.0-dev <0.54.0",
62
- "@typespec/tspd": "~0.46.0",
63
- "eslint": "^8.55.0",
64
- "vitest": "^1.2.0",
65
- "@vitest/coverage-v8": "^1.1.0",
66
- "@vitest/ui": "~1.1.3",
67
- "c8": "~8.0.1",
68
- "rimraf": "~5.0.1",
69
- "typescript": "~5.3.3"
62
+ "@vitest/coverage-v8": "^1.2.2",
63
+ "@vitest/ui": "^1.2.2",
64
+ "c8": "^9.1.0",
65
+ "eslint": "^8.56.0",
66
+ "rimraf": "~5.0.5",
67
+ "typescript": "~5.3.3",
68
+ "vitest": "^1.2.2",
69
+ "@typespec/tspd": "~0.46.0"
70
70
  },
71
71
  "dependencies": {},
72
72
  "scripts": {