@azure-tools/typespec-azure-resource-manager 0.62.0-dev.6 → 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.
@@ -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":"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"}
1
+ {"version":3,"file":"Azure.ResourceManager.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
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":"AAaA,eAAO,MAAM,yBAAyB;;;;EA+FpC,CAAC"}
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 ?? xmsIdentifiers;
40
+ const identifiers = armIdentifiers ?? armKeyIdentifiers;
43
41
  if (identifiers === undefined) {
44
42
  return true;
45
43
  }
46
- if (Array.isArray(identifiers)) {
47
- for (const propIdentifier of identifiers) {
48
- if (typeof propIdentifier === "string") {
49
- const props = propIdentifier.replace(/^\//, "").split("/");
50
- let element = elementType;
51
- for (const prop of props) {
52
- if (element === undefined || element.kind !== "Model") {
53
- context.reportDiagnostic({
54
- messageId: "missingProperty",
55
- format: { propertyName: prop, targetModelName: element?.name },
56
- target: property,
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
- else {
72
- context.reportDiagnostic({
73
- messageId: "notArray",
74
- format: { valueType: typeof propIdentifier },
75
- target: property,
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
- else {
81
- context.reportDiagnostic({
82
- messageId: "notArray",
83
- format: { valueType: typeof xmsIdentifiers },
84
- target: property,
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":"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"}
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,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,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
+ {"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 = getExtensions(context.program, op).has("x-ms-long-running-operation");
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;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,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,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBACpF,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"}
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"}
@@ -1,3 +1,2 @@
1
1
  export { $lib } from "./lib.js";
2
- export declare const $flags: import("@typespec/compiler").PackageFlags;
3
2
  //# sourceMappingURL=tsp-index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tsp-index.d.ts","sourceRoot":"","sources":["../../src/tsp-index.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAsChC,eAAO,MAAM,MAAM,2CAEjB,CAAC"}
1
+ {"version":3,"file":"tsp-index.d.ts","sourceRoot":"","sources":["../../src/tsp-index.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC"}
@@ -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":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,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;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,kBAAkB,CAAC;IACvC,uBAAuB,EAAE,KAAK;CAC/B,CAAC,CAAC"}
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
- @OpenAPI.extension("x-ms-identifiers", #[])
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
- @OpenAPI.extension("x-ms-identifiers", #[])
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
- @OpenAPI.extension("x-ms-identifiers", #["name"])
223
+ @Azure.ResourceManager.identifiers(#["name"])
224
224
  accessRules?: AccessRule[];
225
225
 
226
226
  /** Current diagnostic settings version */
@@ -4,7 +4,9 @@ using Azure.ResourceManager.CommonTypes.Private;
4
4
 
5
5
  namespace Azure.ResourceManager.CommonTypes;
6
6
 
7
+ #suppress "deprecated" "https://github.com/Azure/typespec-azure/issues/2284"
7
8
  @@Azure.ResourceManager.Private.conditionalClientFlatten(PrivateLinkResource.properties);
9
+ #suppress "deprecated" "https://github.com/Azure/typespec-azure/issues/2284"
8
10
  @@Azure.ResourceManager.Private.conditionalClientFlatten(PrivateEndpointConnection.properties);
9
11
 
10
12
  /** The private endpoint */
@@ -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
- @OpenAPI.extension("x-ms-identifiers", #["id"])
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
- @OpenAPI.extension("x-ms-identifiers", #["id"])
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
- @OpenAPI.extension("x-ms-identifiers", #["id"])
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
- @OpenAPI.extension("x-ms-identifiers", #["id"])
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;
@@ -121,6 +119,7 @@ model ResourceUpdateModel<
121
119
  "Name" | "name" | "properties"
122
120
  >>> {
123
121
  /** The resource-specific properties for this resource. */
122
+ #suppress "deprecated" "https://github.com/Azure/typespec-azure/issues/2284"
124
123
  @conditionalClientFlatten
125
124
  properties?: ResourceUpdateModelProperties<Resource, Properties>;
126
125
  }
@@ -185,6 +184,7 @@ model ProxyResourceUpdateModel<
185
184
  Resource extends Foundations.SimpleResource,
186
185
  Properties extends TypeSpec.Reflection.Model
187
186
  > {
187
+ #suppress "deprecated" "https://github.com/Azure/typespec-azure/issues/2284"
188
188
  @conditionalClientFlatten
189
189
  properties?: ResourceUpdateModelProperties<Resource, Properties>;
190
190
  }
@@ -1,6 +1,5 @@
1
1
  using Http;
2
2
  using Rest;
3
- using OpenAPI;
4
3
  using Azure.ResourceManager.Foundations;
5
4
  using Azure.ResourceManager.Private;
6
5
 
@@ -27,6 +27,7 @@ model TrackedResourceWithOptionalLocation<
27
27
  Properties extends {},
28
28
  PropertiesOptional extends valueof boolean = true
29
29
  > extends CommonTypes.Resource {
30
+ #suppress "deprecated" "https://github.com/Azure/typespec-azure/issues/2284"
30
31
  @doc("The RP-specific properties for this resource.")
31
32
  @conditionalClientFlatten
32
33
  @armResourcePropertiesOptionality(PropertiesOptional)
package/lib/models.tsp CHANGED
@@ -1,6 +1,5 @@
1
1
  using Http;
2
2
  using Rest;
3
- using OpenAPI;
4
3
  using Azure.Core;
5
4
  using Azure.ResourceManager.Foundations;
6
5
  using Azure.ResourceManager.Private;
@@ -66,6 +65,7 @@ model ResourceNameParameter<
66
65
  @Http.Private.includeInapplicableMetadataInPayload(false)
67
66
  model TrackedResource<Properties extends {}, PropertiesOptional extends valueof boolean = true>
68
67
  extends Foundations.TrackedResource {
68
+ #suppress "deprecated" "https://github.com/Azure/typespec-azure/issues/2284"
69
69
  @doc("The resource-specific properties for this resource.")
70
70
  @conditionalClientFlatten
71
71
  @armResourcePropertiesOptionality(PropertiesOptional)
@@ -91,6 +91,7 @@ model TrackedResource<Properties extends {}, PropertiesOptional extends valueof
91
91
  @Http.Private.includeInapplicableMetadataInPayload(false)
92
92
  model ProxyResource<Properties extends {}, PropertiesOptional extends valueof boolean = true>
93
93
  extends Foundations.ProxyResource {
94
+ #suppress "deprecated" "https://github.com/Azure/typespec-azure/issues/2284"
94
95
  @doc("The resource-specific properties for this resource.")
95
96
  @conditionalClientFlatten
96
97
  @armResourcePropertiesOptionality(PropertiesOptional)
@@ -122,6 +123,7 @@ model ProxyResource<Properties extends {}, PropertiesOptional extends valueof bo
122
123
  @Http.Private.includeInapplicableMetadataInPayload(false)
123
124
  model ExtensionResource<Properties extends {}, PropertiesOptional extends valueof boolean = true>
124
125
  extends Foundations.ExtensionResource {
126
+ #suppress "deprecated" "https://github.com/Azure/typespec-azure/issues/2284"
125
127
  @doc("The resource-specific properties for this resource.")
126
128
  @conditionalClientFlatten
127
129
  @armResourcePropertiesOptionality(PropertiesOptional)
@@ -1,6 +1,5 @@
1
1
  using Http;
2
2
  using Rest;
3
- using OpenAPI;
4
3
  using Azure.ResourceManager.Foundations;
5
4
  using Azure.ResourceManager.Private;
6
5
  using Azure.ResourceManager.CommonTypes;
@@ -101,6 +101,7 @@ extern dec azureResourceBase(target: Model);
101
101
  * It will programatically enabled/disable client flattening with @flattenProperty with autorest
102
102
  * emitter flags to maintain compatibility in swagger.
103
103
  */
104
+ #deprecated "Use @Azure.ClientGenerator.Core.Legacy.flattenProperty instead."
104
105
  extern dec conditionalClientFlatten(target: ModelProperty);
105
106
 
106
107
  /**
package/lib/responses.tsp CHANGED
@@ -1,6 +1,5 @@
1
1
  using Http;
2
2
  using Rest;
3
- using OpenAPI;
4
3
  using Azure.ResourceManager.Foundations;
5
4
  using Azure.ResourceManager.Private;
6
5
  using Azure.ResourceManager.CommonTypes.Private;
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.6",
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",