@azure-tools/typespec-azure-resource-manager 0.62.0-dev.7 → 0.62.0-dev.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated-defs/Azure.ResourceManager.d.ts +15 -15
- package/dist/generated-defs/Azure.ResourceManager.d.ts.map +1 -1
- package/dist/src/rules/arm-resource-provisioning-state-rule.js +1 -1
- package/dist/src/rules/arm-resource-provisioning-state-rule.js.map +1 -1
- package/dist/src/rules/missing-x-ms-identifiers.d.ts.map +1 -1
- package/dist/src/rules/missing-x-ms-identifiers.js +29 -40
- package/dist/src/rules/missing-x-ms-identifiers.js.map +1 -1
- package/dist/src/rules/resource-name.js +1 -1
- package/dist/src/rules/resource-name.js.map +1 -1
- package/dist/src/rules/retry-after.js +3 -2
- package/dist/src/rules/retry-after.js.map +1 -1
- package/dist/src/tsp-index.d.ts +0 -1
- package/dist/src/tsp-index.d.ts.map +1 -1
- package/dist/src/tsp-index.js +0 -4
- package/dist/src/tsp-index.js.map +1 -1
- package/dist/src/utils.d.ts +11 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/src/utils.js +17 -0
- package/dist/src/utils.js.map +1 -0
- package/lib/arm.tsp +3 -7
- package/lib/common-types/network-security-perimeter.tsp +3 -3
- package/lib/common-types/private-links.tsp +4 -5
- package/lib/foundations/arm.foundations.tsp +0 -2
- package/lib/interfaces.tsp +0 -1
- package/lib/models.tsp +0 -1
- package/lib/parameters.tsp +0 -1
- package/lib/responses.tsp +0 -1
- package/package.json +3 -3
|
@@ -15,6 +15,20 @@ export type ArmResourceCollectionActionDecorator = (context: DecoratorContext, t
|
|
|
15
15
|
* @param resource The resource to get the type of
|
|
16
16
|
*/
|
|
17
17
|
export type ArmProviderNameValueDecorator = (context: DecoratorContext, target: Operation) => void;
|
|
18
|
+
/**
|
|
19
|
+
* This decorator is used to indicate the identifying properties of objects in the array, e.g. size
|
|
20
|
+
* The properties that are used as identifiers for the object needs to be provided as a list of strings.
|
|
21
|
+
*
|
|
22
|
+
* @param properties The list of properties that are used as identifiers for the object. This needs to be provided as a list of strings.
|
|
23
|
+
* @example
|
|
24
|
+
* ```typespec
|
|
25
|
+
* model Pet {
|
|
26
|
+
* @identifiers(#["size"])
|
|
27
|
+
* dog: Dog;
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export type IdentifiersDecorator = (context: DecoratorContext, entity: ModelProperty | Type, properties: readonly string[]) => void;
|
|
18
32
|
/**
|
|
19
33
|
* `@armProviderNamespace` sets the Azure Resource Manager provider name. It will default to use the
|
|
20
34
|
* Namespace element value unless an override value is specified.
|
|
@@ -206,23 +220,10 @@ export type ArmVirtualResourceDecorator = (context: DecoratorContext, target: Mo
|
|
|
206
220
|
* @param baseTypeIt The built-in parent of the resource, this can be "Tenant", "Subscription", "ResourceGroup", "Location", or "Extension"
|
|
207
221
|
*/
|
|
208
222
|
export type ResourceBaseTypeDecorator = (context: DecoratorContext, target: Model, baseTypeIt: Type) => void;
|
|
209
|
-
/**
|
|
210
|
-
* This decorator is used to indicate the identifying properties of objects in the array, e.g. size
|
|
211
|
-
* The properties that are used as identifiers for the object needs to be provided as a list of strings.
|
|
212
|
-
*
|
|
213
|
-
* @param properties The list of properties that are used as identifiers for the object. This needs to be provided as a list of strings.
|
|
214
|
-
* @example
|
|
215
|
-
* ```typespec
|
|
216
|
-
* model Pet {
|
|
217
|
-
* @identifiers(#["size"])
|
|
218
|
-
* dog: Dog;
|
|
219
|
-
* }
|
|
220
|
-
* ```
|
|
221
|
-
*/
|
|
222
|
-
export type IdentifiersDecorator = (context: DecoratorContext, entity: ModelProperty | Type, properties: readonly string[]) => void;
|
|
223
223
|
export type AzureResourceManagerDecorators = {
|
|
224
224
|
armResourceCollectionAction: ArmResourceCollectionActionDecorator;
|
|
225
225
|
armProviderNameValue: ArmProviderNameValueDecorator;
|
|
226
|
+
identifiers: IdentifiersDecorator;
|
|
226
227
|
armProviderNamespace: ArmProviderNamespaceDecorator;
|
|
227
228
|
useLibraryNamespace: UseLibraryNamespaceDecorator;
|
|
228
229
|
armLibraryNamespace: ArmLibraryNamespaceDecorator;
|
|
@@ -243,6 +244,5 @@ export type AzureResourceManagerDecorators = {
|
|
|
243
244
|
armCommonTypesVersion: ArmCommonTypesVersionDecorator;
|
|
244
245
|
armVirtualResource: ArmVirtualResourceDecorator;
|
|
245
246
|
resourceBaseType: ResourceBaseTypeDecorator;
|
|
246
|
-
identifiers: IdentifiersDecorator;
|
|
247
247
|
};
|
|
248
248
|
//# 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":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,SAAS,EACT,IAAI,EACL,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,oCAAoC,GAAG,CACjD,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,KACd,IAAI,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;AAEnG;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAC1C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,iBAAiB,CAAC,EAAE,MAAM,KACvB,IAAI,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,4BAA4B,GAAG,CACzC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,GAAG,UAAU,EAAE,SAAS,EAAE,KACvB,IAAI,CAAC;AAEV;;;;;;;;GAQG;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;AAElG;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,KAC1B,IAAI,CAAC;AAEV;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAEzF;;;;;;;GAOG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAE/F;;;;;;;GAOG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAE3F;;;;;;;;GAQG;AACH,MAAM,MAAM,8BAA8B,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAEhG;;;;;;;;GAQG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAE5F;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,KAAK,EACpB,YAAY,CAAC,EAAE,MAAM,KAClB,IAAI,CAAC;AAEV;;;;;;GAMG;AACH,MAAM,MAAM,kCAAkC,GAAG,CAC/C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,KAAK,EACpB,YAAY,CAAC,EAAE,MAAM,KAClB,IAAI,CAAC;AAEV;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,KAAK,EACpB,YAAY,CAAC,EAAE,MAAM,KAClB,IAAI,CAAC;AAEV;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,KAAK,EACpB,YAAY,CAAC,EAAE,MAAM,KAClB,IAAI,CAAC;AAEV;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,KAAK,EACpB,YAAY,CAAC,EAAE,MAAM,KAClB,IAAI,CAAC;AAEV;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,KAAK,EACpB,YAAY,CAAC,EAAE,MAAM,KAClB,IAAI,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,kCAAkC,GAAG,CAC/C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,KAAK,EACpB,YAAY,CAAC,EAAE,MAAM,KAClB,IAAI,CAAC;AAEV;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,8BAA8B,GAAG,CAC3C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,wBAAwB,CAAC,EAAE,IAAI,GAAG,wBAAwB,KACvD,IAAI,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,8BAA8B,GAAG,CAC3C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,GAAG,UAAU,EAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,KACxB,IAAI,CAAC;AAEV;;;;;;GAMG;AACH,MAAM,MAAM,2BAA2B,GAAG,CACxC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,QAAQ,CAAC,EAAE,MAAM,KACd,IAAI,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GAAG,CACtC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,UAAU,EAAE,IAAI,KACb,IAAI,CAAC;AAEV
|
|
1
|
+
{"version":3,"file":"Azure.ResourceManager.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRule, getProperty, paramMessage } from "@typespec/compiler";
|
|
2
2
|
import { getUnionAsEnum } from "@azure-tools/typespec-azure-core";
|
|
3
|
-
import { isReadonlyProperty } from "@typespec/openapi";
|
|
4
3
|
import { getArmResource } from "../resource.js";
|
|
4
|
+
import { isReadonlyProperty } from "../utils.js";
|
|
5
5
|
import { getSourceProperty } from "./utils.js";
|
|
6
6
|
export const armResourceProvisioningStateRule = createRule({
|
|
7
7
|
name: "arm-resource-provisioning-state",
|
|
@@ -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,kCAAkC,CAAC;AAClE,OAAO,EAAE,
|
|
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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"missing-x-ms-identifiers.d.ts","sourceRoot":"","sources":["../../../src/rules/missing-x-ms-identifiers.ts"],"names":[],"mappings":"
|
|
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;;;;EAsFpC,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { createRule, getProperty, isArrayModelType, paramMessage, } from "@typespec/compiler";
|
|
2
|
-
import { getExtensions } from "@typespec/openapi";
|
|
3
2
|
import { isArmCommonType } from "../common-types.js";
|
|
4
3
|
import { getArmIdentifiers, getArmKeyIdentifiers } from "../resource.js";
|
|
5
4
|
export const missingXmsIdentifiersRule = createRule({
|
|
@@ -36,53 +35,43 @@ export const missingXmsIdentifiersRule = createRule({
|
|
|
36
35
|
if (getProperty(elementType, "id") || getProperty(elementType, "name")) {
|
|
37
36
|
return false;
|
|
38
37
|
}
|
|
39
|
-
const xmsIdentifiers = getExtensions(program, property ?? array).get("x-ms-identifiers");
|
|
40
38
|
const armIdentifiers = getArmIdentifiers(program, property);
|
|
41
39
|
const armKeyIdentifiers = getArmKeyIdentifiers(program, array);
|
|
42
|
-
const identifiers = armIdentifiers ?? armKeyIdentifiers
|
|
40
|
+
const identifiers = armIdentifiers ?? armKeyIdentifiers;
|
|
43
41
|
if (identifiers === undefined) {
|
|
44
42
|
return true;
|
|
45
43
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return false;
|
|
59
|
-
}
|
|
60
|
-
const propertyValue = getProperty(element, prop);
|
|
61
|
-
if (propertyValue === undefined) {
|
|
62
|
-
context.reportDiagnostic({
|
|
63
|
-
messageId: "missingProperty",
|
|
64
|
-
format: { propertyName: prop, targetModelName: elementType.name },
|
|
65
|
-
target: property,
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
element = propertyValue?.type;
|
|
44
|
+
for (const propIdentifier of identifiers) {
|
|
45
|
+
if (typeof propIdentifier === "string") {
|
|
46
|
+
const props = propIdentifier.replace(/^\//, "").split("/");
|
|
47
|
+
let element = elementType;
|
|
48
|
+
for (const prop of props) {
|
|
49
|
+
if (element === undefined || element.kind !== "Model") {
|
|
50
|
+
context.reportDiagnostic({
|
|
51
|
+
messageId: "missingProperty",
|
|
52
|
+
format: { propertyName: prop, targetModelName: element?.name },
|
|
53
|
+
target: property,
|
|
54
|
+
});
|
|
55
|
+
return false;
|
|
69
56
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
57
|
+
const propertyValue = getProperty(element, prop);
|
|
58
|
+
if (propertyValue === undefined) {
|
|
59
|
+
context.reportDiagnostic({
|
|
60
|
+
messageId: "missingProperty",
|
|
61
|
+
format: { propertyName: prop, targetModelName: elementType.name },
|
|
62
|
+
target: property,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
element = propertyValue?.type;
|
|
77
66
|
}
|
|
78
67
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
68
|
+
else {
|
|
69
|
+
context.reportDiagnostic({
|
|
70
|
+
messageId: "notArray",
|
|
71
|
+
format: { valueType: typeof propIdentifier },
|
|
72
|
+
target: property,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
86
75
|
}
|
|
87
76
|
return false;
|
|
88
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"missing-x-ms-identifiers.js","sourceRoot":"","sources":["../../../src/rules/missing-x-ms-identifiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"missing-x-ms-identifiers.js","sourceRoot":"","sources":["../../../src/rules/missing-x-ms-identifiers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRule, getProperty, } from "@typespec/compiler";
|
|
2
2
|
import * as http from "@typespec/http";
|
|
3
|
-
import { isReadonlyProperty } from "@typespec/openapi";
|
|
4
3
|
import { getArmResources } from "../resource.js";
|
|
4
|
+
import { isReadonlyProperty } from "../utils.js";
|
|
5
5
|
/**
|
|
6
6
|
* The resource 'name' field should be marked with 'read' visibility and an @path decorator.
|
|
7
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-name.js","sourceRoot":"","sources":["../../../src/rules/resource-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,UAAU,EACV,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"resource-name.js","sourceRoot":"","sources":["../../../src/rules/resource-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,UAAU,EACV,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC;IACzC,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,0BAA0B;IACvC,QAAQ,EAAE;QACR,OAAO,EAAE,2FAA2F;QACpG,WAAW,EAAE,8DAA8D;KAC5E;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;gBAEtE,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxC,OAAO,CAAC,gBAAgB,CAAC;4BACvB,SAAS,EAAE,aAAa;4BACxB,MAAM,EAAE,KAAK;yBACd,CAAC,CAAC;oBACL,CAAC;oBACD,sDAAsD;oBACtD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBACxC,IAAI,IAAI,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;wBACpC,OAAO,CAAC,gBAAgB,CAAC;4BACvB,MAAM,EAAE,IAAI;yBACb,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,SAAS,iBAAiB,CAAC,QAAuB;oBAChD,OAAO,CAAC,CACN,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;wBAC3C,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAC9C,CAAC;gBACJ,CAAC;gBAED,SAAS,sBAAsB,CAAC,IAAY;oBAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;oBAClD,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createRule } from "@typespec/compiler";
|
|
2
2
|
import { getResponsesForOperation } from "@typespec/http";
|
|
3
|
-
import { getExtensions } from "@typespec/openapi";
|
|
3
|
+
// import { getExtensions } from "@typespec/openapi";
|
|
4
|
+
import { getLroMetadata } from "@azure-tools/typespec-azure-core";
|
|
4
5
|
import { isTemplatedInterfaceOperation } from "./utils.js";
|
|
5
6
|
/**
|
|
6
7
|
* verify if retry-after header appears in response body .
|
|
@@ -18,7 +19,7 @@ export const retryAfterRule = createRule({
|
|
|
18
19
|
if (isTemplatedInterfaceOperation(op)) {
|
|
19
20
|
return;
|
|
20
21
|
}
|
|
21
|
-
const isLRO =
|
|
22
|
+
const isLRO = getLroMetadata(context.program, op) !== undefined;
|
|
22
23
|
if (isLRO && !hasRetryAfterHeader(context.program, op)) {
|
|
23
24
|
context.reportDiagnostic({
|
|
24
25
|
target: op,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry-after.js","sourceRoot":"","sources":["../../../src/rules/retry-after.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"retry-after.js","sourceRoot":"","sources":["../../../src/rules/retry-after.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,qDAAqD;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAE3D;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,uDAAuD;IACpE,QAAQ,EAAE;QACR,OAAO,EAAE,0MAA0M;KACpN;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,SAAS,EAAE,CAAC,EAAa,EAAE,EAAE;gBAC3B,IAAI,6BAA6B,CAAC,EAAE,CAAC,EAAE,CAAC;oBACtC,OAAO;gBACT,CAAC;gBACD,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC;gBAChE,IAAI,KAAK,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;oBACvD,OAAO,CAAC,gBAAgB,CAAC;wBACvB,MAAM,EAAE,EAAE;qBACX,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,mBAAmB,CAAC,OAAgB,EAAE,EAAa;IAC1D,OAAO,CAAC,CAAC,wBAAwB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAC5D,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC,CACzD,CAAC;AACJ,CAAC"}
|
package/dist/src/tsp-index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsp-index.d.ts","sourceRoot":"","sources":["../../src/tsp-index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tsp-index.d.ts","sourceRoot":"","sources":["../../src/tsp-index.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/src/tsp-index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { definePackageFlags } from "@typespec/compiler";
|
|
2
1
|
import { $armCommonTypesVersion, $externalTypeRef } from "./common-types.js";
|
|
3
2
|
import { $armLibraryNamespace, $armProviderNamespace, $useLibraryNamespace } from "./namespace.js";
|
|
4
3
|
import { $armOperationRoute, $armResourceAction, $armResourceCheckExistence, $armResourceCollectionAction, $armResourceCreateOrUpdate, $armResourceDelete, $armResourceList, $armResourceRead, $armResourceUpdate, $renamePathParameter, } from "./operations.js";
|
|
@@ -39,7 +38,4 @@ export const $decorators = {
|
|
|
39
38
|
renamePathParameter: $renamePathParameter,
|
|
40
39
|
},
|
|
41
40
|
};
|
|
42
|
-
export const $flags = definePackageFlags({
|
|
43
|
-
decoratorArgMarshalling: "new",
|
|
44
|
-
});
|
|
45
41
|
//# sourceMappingURL=tsp-index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsp-index.js","sourceRoot":"","sources":["../../src/tsp-index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tsp-index.js","sourceRoot":"","sources":["../../src/tsp-index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,UAAU,EACV,qBAAqB,EACrB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,gBAAgB;AAChB,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,uBAAuB,EAAE;QACvB,2BAA2B,EAAE,4BAA4B;QACzD,oBAAoB,EAAE,qBAAqB;QAC3C,oBAAoB,EAAE,qBAAqB;QAC3C,mBAAmB,EAAE,oBAAoB;QACzC,mBAAmB,EAAE,oBAAoB;QACzC,SAAS,EAAE,UAAU;QACrB,cAAc,EAAE,eAAe;QAC/B,oBAAoB,EAAE,qBAAqB;QAC3C,gBAAgB,EAAE,iBAAiB;QACnC,qBAAqB,EAAE,sBAAsB;QAC7C,iBAAiB,EAAE,kBAAkB;QACrC,iBAAiB,EAAE,kBAAkB;QACrC,yBAAyB,EAAE,0BAA0B;QACrD,eAAe,EAAE,gBAAgB;QACjC,iBAAiB,EAAE,kBAAkB;QACrC,iBAAiB,EAAE,kBAAkB;QACrC,eAAe,EAAE,gBAAgB;QACjC,yBAAyB,EAAE,0BAA0B;QACrD,qBAAqB,EAAE,sBAAsB;QAC7C,qBAAqB,EAAE,sBAAsB;QAC7C,kBAAkB,EAAE,mBAAmB;QACvC,gBAAgB,EAAE,iBAAiB;QACnC,WAAW,EAAE,YAAY;KACe;IAC1C,8BAA8B,EAAE;QAC9B,mBAAmB,EAAE,oBAAoB;QACzC,eAAe,EAAE,gBAAgB;QACjC,iBAAiB,EAAE,kBAAkB;QACrC,eAAe,EAAE,gBAAgB;QACjC,mBAAmB,EAAE,oBAAoB;KACK;CACjD,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type ModelProperty, type Program } from "@typespec/compiler";
|
|
2
|
+
/**
|
|
3
|
+
* Determines if a property is read-only, which is defined as having the
|
|
4
|
+
* only the `Lifecycle.Read` modifier.
|
|
5
|
+
*
|
|
6
|
+
* If there is more than one Lifecycle visibility modifier active on the property,
|
|
7
|
+
* then the property is not read-only. For example, `@visibility(Lifecycle.Read, Lifecycle.Update)`
|
|
8
|
+
* does not designate a read-only property.
|
|
9
|
+
*/
|
|
10
|
+
export declare function isReadonlyProperty(program: Program, property: ModelProperty): boolean;
|
|
11
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,OAAO,EACb,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,WAM3E"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { getLifecycleVisibilityEnum, getVisibilityForClass, } from "@typespec/compiler";
|
|
2
|
+
/**
|
|
3
|
+
* Determines if a property is read-only, which is defined as having the
|
|
4
|
+
* only the `Lifecycle.Read` modifier.
|
|
5
|
+
*
|
|
6
|
+
* If there is more than one Lifecycle visibility modifier active on the property,
|
|
7
|
+
* then the property is not read-only. For example, `@visibility(Lifecycle.Read, Lifecycle.Update)`
|
|
8
|
+
* does not designate a read-only property.
|
|
9
|
+
*/
|
|
10
|
+
export function isReadonlyProperty(program, property) {
|
|
11
|
+
const Lifecycle = getLifecycleVisibilityEnum(program);
|
|
12
|
+
const visibility = getVisibilityForClass(program, property, getLifecycleVisibilityEnum(program));
|
|
13
|
+
// note: multiple visibilities that include read are not handled using
|
|
14
|
+
// readonly: true, but using separate schemas.
|
|
15
|
+
return visibility.size === 1 && visibility.has(Lifecycle.members.get("Read"));
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,GAGtB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgB,EAAE,QAAuB;IAC1E,MAAM,SAAS,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;IACjG,sEAAsE;IACtE,8CAA8C;IAC9C,OAAO,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,CAAC;AACjF,CAAC"}
|
package/lib/arm.tsp
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import "../dist/src/tsp-index.js";
|
|
2
|
-
import "@typespec/openapi";
|
|
3
2
|
import "@typespec/http";
|
|
4
3
|
import "@typespec/rest";
|
|
5
4
|
import "@typespec/versioning";
|
|
6
5
|
import "@azure-tools/typespec-azure-core";
|
|
7
6
|
|
|
7
|
+
// Kept for legacy reasons remove when specs are migrated
|
|
8
|
+
import "@typespec/openapi";
|
|
9
|
+
|
|
8
10
|
import "./foundations/arm.foundations.tsp";
|
|
9
11
|
import "./legacy-types/arm.legacy.tsp";
|
|
10
12
|
import "./common-types/common-types.tsp";
|
|
@@ -20,10 +22,4 @@ import "./parameters.tsp";
|
|
|
20
22
|
import "./private-endpoints.tsp";
|
|
21
23
|
import "./private-links.tsp";
|
|
22
24
|
|
|
23
|
-
using Http;
|
|
24
|
-
using Rest;
|
|
25
|
-
using Versioning;
|
|
26
|
-
using OpenAPI;
|
|
27
|
-
using Azure.ResourceManager.Foundations;
|
|
28
|
-
|
|
29
25
|
namespace Azure.ResourceManager;
|
|
@@ -157,7 +157,7 @@ model NetworkSecurityPerimeterConfigurationProperties {
|
|
|
157
157
|
|
|
158
158
|
/** List of provisioning issues, if any */
|
|
159
159
|
@visibility(Lifecycle.Read)
|
|
160
|
-
@
|
|
160
|
+
@Azure.ResourceManager.identifiers(#[])
|
|
161
161
|
provisioningIssues?: ProvisioningIssue[];
|
|
162
162
|
|
|
163
163
|
networkSecurityPerimeter?: NetworkSecurityPerimeter;
|
|
@@ -197,7 +197,7 @@ model ProvisioningIssueProperties {
|
|
|
197
197
|
|
|
198
198
|
/** Access rules that can be added to the network security profile (NSP) to remediate the issue. */
|
|
199
199
|
@visibility(Lifecycle.Read)
|
|
200
|
-
@
|
|
200
|
+
@Azure.ResourceManager.identifiers(#[])
|
|
201
201
|
suggestedAccessRules?: AccessRule[];
|
|
202
202
|
}
|
|
203
203
|
|
|
@@ -220,7 +220,7 @@ model NetworkSecurityProfile {
|
|
|
220
220
|
accessRulesVersion?: int32;
|
|
221
221
|
|
|
222
222
|
/** List of Access Rules */
|
|
223
|
-
@
|
|
223
|
+
@Azure.ResourceManager.identifiers(#["name"])
|
|
224
224
|
accessRules?: AccessRule[];
|
|
225
225
|
|
|
226
226
|
/** Current diagnostic settings version */
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
using Http;
|
|
2
2
|
using Versioning;
|
|
3
|
-
using OpenAPI;
|
|
4
3
|
|
|
5
4
|
using Azure.Core;
|
|
6
5
|
|
|
@@ -38,7 +37,7 @@ model PrivateLinkResourceProperties {
|
|
|
38
37
|
@added(Versions.v6)
|
|
39
38
|
model PrivateLinkResourceListResult {
|
|
40
39
|
/** Array of private link resources */
|
|
41
|
-
@
|
|
40
|
+
@identifiers(#["id"])
|
|
42
41
|
@pageItems
|
|
43
42
|
value?: PrivateLinkResource[];
|
|
44
43
|
|
|
@@ -58,7 +57,7 @@ model PrivateEndpointConnection extends Resource {
|
|
|
58
57
|
@added(Versions.v6)
|
|
59
58
|
model PrivateEndpointConnectionListResult {
|
|
60
59
|
/** Array of private endpoint connections. */
|
|
61
|
-
@
|
|
60
|
+
@identifiers(#["id"])
|
|
62
61
|
@pageItems
|
|
63
62
|
value?: PrivateEndpointConnection[];
|
|
64
63
|
|
|
@@ -183,7 +182,7 @@ model PrivateLinkResourceParameter<Segment extends valueof string = "privateLink
|
|
|
183
182
|
@removed(Versions.v6)
|
|
184
183
|
model PrivateLinkResourceListResultV5 {
|
|
185
184
|
/** Array of private link resources */
|
|
186
|
-
@
|
|
185
|
+
@identifiers(#["id"])
|
|
187
186
|
@pageItems
|
|
188
187
|
value?: CommonTypes.PrivateLinkResource[];
|
|
189
188
|
}
|
|
@@ -227,7 +226,7 @@ model PrivateLinkResourceListResultV5 {
|
|
|
227
226
|
@removed(Versions.v6)
|
|
228
227
|
model PrivateEndpointConnectionListResultV5 {
|
|
229
228
|
/** Array of private endpoint connections. */
|
|
230
|
-
@
|
|
229
|
+
@identifiers(#["id"])
|
|
231
230
|
@pageItems
|
|
232
231
|
value?: CommonTypes.PrivateEndpointConnection[];
|
|
233
232
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import "@typespec/openapi";
|
|
2
1
|
import "@typespec/http";
|
|
3
2
|
import "@typespec/rest";
|
|
4
3
|
|
|
@@ -11,7 +10,6 @@ import "../private.decorators.tsp";
|
|
|
11
10
|
import "../parameters.tsp";
|
|
12
11
|
|
|
13
12
|
using Http;
|
|
14
|
-
using OpenAPI;
|
|
15
13
|
using Azure.ResourceManager.Private;
|
|
16
14
|
|
|
17
15
|
namespace Azure.ResourceManager.Foundations;
|
package/lib/interfaces.tsp
CHANGED
package/lib/models.tsp
CHANGED
package/lib/parameters.tsp
CHANGED
package/lib/responses.tsp
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@azure-tools/typespec-azure-resource-manager",
|
|
3
|
-
"version": "0.62.0-dev.
|
|
3
|
+
"version": "0.62.0-dev.8",
|
|
4
4
|
"author": "Microsoft Corporation",
|
|
5
5
|
"description": "TypeSpec Azure Resource Manager library",
|
|
6
6
|
"homepage": "https://azure.github.io/typespec-azure",
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
"@azure-tools/typespec-azure-core": "^0.61.0 || >=0.62.0-dev <0.62.0",
|
|
51
51
|
"@typespec/compiler": "^1.5.0",
|
|
52
52
|
"@typespec/http": "^1.5.0",
|
|
53
|
-
"@typespec/openapi": "^1.5.0",
|
|
54
53
|
"@typespec/rest": "^0.75.0 || >=0.76.0-dev <0.76.0",
|
|
54
|
+
"@typespec/openapi": "^1.5.0",
|
|
55
55
|
"@typespec/versioning": "^0.75.0 || >=0.76.0-dev <0.76.0"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
@@ -61,10 +61,10 @@
|
|
|
61
61
|
"@typespec/compiler": "^1.5.0",
|
|
62
62
|
"@typespec/http": "^1.5.0",
|
|
63
63
|
"@typespec/library-linter": "^0.75.0 || >=0.76.0-dev <0.76.0",
|
|
64
|
-
"@typespec/openapi": "^1.5.0",
|
|
65
64
|
"@typespec/rest": "^0.75.0 || >=0.76.0-dev <0.76.0",
|
|
66
65
|
"@typespec/tspd": "^0.73.0 || >=0.74.0-dev <0.74.0",
|
|
67
66
|
"@typespec/versioning": "^0.75.0 || >=0.76.0-dev <0.76.0",
|
|
67
|
+
"@typespec/openapi": "^1.5.0",
|
|
68
68
|
"@vitest/coverage-v8": "^4.0.4",
|
|
69
69
|
"@vitest/ui": "^4.0.4",
|
|
70
70
|
"c8": "^10.1.3",
|