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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +5 -2
  2. package/dist/generated-defs/Azure.ResourceManager.Extension.Private.d.ts +25 -0
  3. package/dist/generated-defs/Azure.ResourceManager.Extension.Private.d.ts.map +1 -0
  4. package/dist/generated-defs/Azure.ResourceManager.Extension.Private.js +2 -0
  5. package/dist/generated-defs/Azure.ResourceManager.Extension.Private.js.map +1 -0
  6. package/dist/generated-defs/Azure.ResourceManager.Private.d.ts +8 -0
  7. package/dist/generated-defs/Azure.ResourceManager.Private.d.ts.map +1 -1
  8. package/dist/generated-defs/Azure.ResourceManager.d.ts +1 -1
  9. package/dist/generated-defs/Azure.ResourceManager.d.ts.map +1 -1
  10. package/dist/src/lib.d.ts +17 -2
  11. package/dist/src/lib.d.ts.map +1 -1
  12. package/dist/src/lib.js +6 -0
  13. package/dist/src/lib.js.map +1 -1
  14. package/dist/src/linter.d.ts.map +1 -1
  15. package/dist/src/linter.js +2 -0
  16. package/dist/src/linter.js.map +1 -1
  17. package/dist/src/namespace.d.ts.map +1 -1
  18. package/dist/src/namespace.js +14 -7
  19. package/dist/src/namespace.js.map +1 -1
  20. package/dist/src/private.decorators.d.ts.map +1 -1
  21. package/dist/src/private.decorators.js +61 -7
  22. package/dist/src/private.decorators.js.map +1 -1
  23. package/dist/src/resource.d.ts +16 -1
  24. package/dist/src/resource.d.ts.map +1 -1
  25. package/dist/src/resource.js +46 -8
  26. package/dist/src/resource.js.map +1 -1
  27. package/dist/src/rules/arm-custom-resource-no-key.d.ts +4 -0
  28. package/dist/src/rules/arm-custom-resource-no-key.d.ts.map +1 -0
  29. package/dist/src/rules/arm-custom-resource-no-key.js +28 -0
  30. package/dist/src/rules/arm-custom-resource-no-key.js.map +1 -0
  31. package/dist/src/rules/list-operation.js +1 -1
  32. package/dist/src/rules/list-operation.js.map +1 -1
  33. package/dist/src/state.d.ts +1 -0
  34. package/dist/src/state.d.ts.map +1 -1
  35. package/dist/src/state.js +1 -0
  36. package/dist/src/state.js.map +1 -1
  37. package/lib/Legacy/arm.legacy.tsp +4 -0
  38. package/lib/Legacy/extension.tsp +321 -0
  39. package/lib/Legacy/interfaces.tsp +38 -0
  40. package/lib/Legacy/operations.tsp +41 -2
  41. package/lib/arm.tsp +1 -0
  42. package/lib/common-types/internal.tsp +9 -0
  43. package/lib/common-types/types-ref.tsp +12 -3
  44. package/lib/decorators.tsp +1 -1
  45. package/lib/extension/extension.tsp +6 -0
  46. package/lib/extension/operations.tsp +507 -0
  47. package/lib/extension/parameters.tsp +223 -0
  48. package/lib/extension/private.decorators.tsp +24 -0
  49. package/lib/private.decorators.tsp +5 -0
  50. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/resource.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,cAAc,EAUd,KAAK,EACL,aAAa,EAEb,OAAO,EAER,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,kBAAkB,EAClB,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AAGjG,OAAO,EAAE,qBAAqB,EAA6B,MAAM,iBAAiB,CAAC;AAInF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEvF;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,KAAK,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAChE,UAAU,EAAE,qBAAqB,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,2BAoCjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,4BAQlC,CAAC;AAYF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAG,OAAO,CAE7E;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,EACb,OAAO,GAAE,GAAG,CAAC,KAAK,CAAoB,GACrC,yBAAyB,GAAG,SAAS,CAkBvC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAG,OAAO,CAI9E;AAyED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB,EAAE,CAmBtE;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,KAAK,GAClB,kBAAkB,GAAG,SAAS,CAgBhC;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,KAAK,GAAG,eAAe,GAAG,SAAS,CAanF;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,8BAapC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,kBAMxB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,GAAG,OAAO,CAElF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAEjG;AAED,oBAAY,gBAAgB;IAC1B,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;CAC9C;AAED,eAAO,MAAM,iBAAiB,EAAE,yBAS/B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,uBAK7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,6BAKnC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,yBAK/B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,8BAKpC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,0BAKhC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,6BAWnC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,oBAsB1B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,GAAG,SAAS,CAE/F;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,cAAc,GACrB,MAAM,EAAE,GAAG,SAAS,CAmBtB;AAkDD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,QASlF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAG,gBAAgB,CAcvF;AAED,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CA+BnF"}
@@ -13,11 +13,15 @@ import { ArmStateKeys } from "./state.js";
13
13
  * @param entity The resource model
14
14
  * @param propertiesType The type of the resource properties
15
15
  */
16
- export const $armVirtualResource = (context, entity) => {
16
+ export const $armVirtualResource = (context, entity, provider = undefined) => {
17
17
  const { program } = context;
18
18
  if (isTemplateDeclaration(entity))
19
19
  return;
20
- program.stateMap(ArmStateKeys.armBuiltInResource).set(entity, "Virtual");
20
+ const result = {
21
+ kind: "Virtual",
22
+ provider,
23
+ };
24
+ program.stateMap(ArmStateKeys.armBuiltInResource).set(entity, result);
21
25
  const pathProperty = getProperty(entity, (p) => isPathParam(program, p) && getSegment(program, p) !== undefined);
22
26
  if (pathProperty === undefined) {
23
27
  reportDiagnostic(program, {
@@ -57,11 +61,33 @@ function getProperty(target, predicate) {
57
61
  * @returns true if the model or any model it extends is marked as a resource, otherwise false.
58
62
  */
59
63
  export function isArmVirtualResource(program, target) {
60
- if (program.stateMap(ArmStateKeys.armBuiltInResource).has(target) === true)
61
- return true;
62
- if (target.baseModel)
63
- return isArmVirtualResource(program, target.baseModel);
64
- return false;
64
+ return getArmVirtualResourceDetails(program, target) !== undefined;
65
+ }
66
+ /**
67
+ *
68
+ * @param program The program to process.
69
+ * @param target The model to get details for
70
+ * @returns The resource details if the model is an external resource, otherwise undefined.
71
+ */
72
+ export function getArmVirtualResourceDetails(program, target, visited = new Set()) {
73
+ if (visited.has(target))
74
+ return undefined;
75
+ visited.add(target);
76
+ if (program.stateMap(ArmStateKeys.armBuiltInResource).has(target)) {
77
+ return program
78
+ .stateMap(ArmStateKeys.armBuiltInResource)
79
+ .get(target);
80
+ }
81
+ if (target.baseModel) {
82
+ const details = getArmVirtualResourceDetails(program, target.baseModel, visited);
83
+ if (details)
84
+ return details;
85
+ }
86
+ const parent = getParentResource(program, target);
87
+ if (parent) {
88
+ return getArmVirtualResourceDetails(program, parent, visited);
89
+ }
90
+ return undefined;
65
91
  }
66
92
  /**
67
93
  * Determine if the given model is a custom resource.
@@ -224,6 +250,9 @@ export var ResourceBaseType;
224
250
  ResourceBaseType["Location"] = "Location";
225
251
  ResourceBaseType["ResourceGroup"] = "ResourceGroup";
226
252
  ResourceBaseType["Extension"] = "Extension";
253
+ ResourceBaseType["BuiltIn"] = "BuiltIn";
254
+ ResourceBaseType["BuiltInSubscription"] = "BuiltInSubscription";
255
+ ResourceBaseType["BuiltInResourceGroup"] = "BuiltInResourceGroup";
227
256
  })(ResourceBaseType || (ResourceBaseType = {}));
228
257
  export const $resourceBaseType = (context, entity, baseType) => {
229
258
  let baseTypeString = "";
@@ -347,7 +376,7 @@ function getServiceNamespace(program, type) {
347
376
  return undefined;
348
377
  }
349
378
  }
350
- function setResourceBaseType(program, resource, type) {
379
+ export function setResourceBaseType(program, resource, type) {
351
380
  if (program.stateMap(ArmStateKeys.resourceBaseType).has(resource)) {
352
381
  reportDiagnostic(program, {
353
382
  code: "arm-resource-duplicate-base-parameter",
@@ -390,6 +419,15 @@ export function resolveResourceBaseType(type) {
390
419
  case "Extension":
391
420
  resolvedType = ResourceBaseType.Extension;
392
421
  break;
422
+ case "BuiltIn":
423
+ resolvedType = ResourceBaseType.BuiltIn;
424
+ break;
425
+ case "BuiltInSubscription":
426
+ resolvedType = ResourceBaseType.BuiltInSubscription;
427
+ break;
428
+ case "BuiltInResourceGroup":
429
+ resolvedType = ResourceBaseType.BuiltInResourceGroup;
430
+ break;
393
431
  }
394
432
  }
395
433
  return resolvedType;
@@ -1 +1 @@
1
- {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/resource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const armCustomResourceNoKey: import("@typespec/compiler").LinterRuleDefinition<"arm-custom-resource-no-key", {
2
+ readonly default: "Custom Azure resource models must define a key property using the @key decorator. Without a key, operation paths could be duplicated.";
3
+ }>;
4
+ //# sourceMappingURL=arm-custom-resource-no-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arm-custom-resource-no-key.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-custom-resource-no-key.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,sBAAsB;;EAyBjC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { createRule, isKey } from "@typespec/compiler";
2
+ import { isCustomAzureResource } from "../resource.js";
3
+ import { getProperties } from "./utils.js";
4
+ export const armCustomResourceNoKey = createRule({
5
+ name: "arm-custom-resource-no-key",
6
+ description: "Validate that custom resource contains a key property.",
7
+ severity: "warning",
8
+ url: "https://azure.github.io/typespec-azure/docs/libraries/azure-core/rules/arm-custom-resource-no-key",
9
+ messages: {
10
+ default: `Custom Azure resource models must define a key property using the @key decorator. Without a key, operation paths could be duplicated.`,
11
+ },
12
+ create(context) {
13
+ return {
14
+ model: (model) => {
15
+ if (isCustomAzureResource(context.program, model)) {
16
+ const hasKeyProperty = getProperties(model).some((property) => isKey(context.program, property));
17
+ if (!hasKeyProperty) {
18
+ context.reportDiagnostic({
19
+ code: "arm-custom-resource-no-key",
20
+ target: model,
21
+ });
22
+ }
23
+ }
24
+ },
25
+ };
26
+ },
27
+ });
28
+ //# sourceMappingURL=arm-custom-resource-no-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arm-custom-resource-no-key.js","sourceRoot":"","sources":["../../../src/rules/arm-custom-resource-no-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAS,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;IAC/C,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,wDAAwD;IACrE,QAAQ,EAAE,SAAS;IACnB,GAAG,EAAE,mGAAmG;IACxG,QAAQ,EAAE;QACR,OAAO,EAAE,uIAAuI;KACjJ;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE;gBACtB,IAAI,qBAAqB,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;oBAClD,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC5D,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CACjC,CAAC;oBACF,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpB,OAAO,CAAC,gBAAgB,CAAC;4BACvB,IAAI,EAAE,4BAA4B;4BAClC,MAAM,EAAE,KAAK;yBACd,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -18,7 +18,7 @@ export const listBySubscriptionRule = createRule({
18
18
  for (const armResource of resources) {
19
19
  if (armResource && armResource.operations.lists) {
20
20
  const baseType = getResourceBaseType(context.program, armResource.typespecType);
21
- if (baseType === ResourceBaseType.Extension || baseType === ResourceBaseType.Tenant) {
21
+ if (baseType === ResourceBaseType.Tenant) {
22
22
  for (const listOperationName of Object.keys(armResource.operations.lists)) {
23
23
  const listOperation = armResource.operations.lists[listOperationName];
24
24
  if (listOperation.path.includes("{subscriptionId}")) {
@@ -1 +1 @@
1
- {"version":3,"file":"list-operation.js","sourceRoot":"","sources":["../../../src/rules/list-operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;IAC/C,IAAI,EAAE,sCAAsC;IAC5C,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,oFAAoF;IACjG,QAAQ,EAAE;QACR,OAAO,EAAE,oFAAoF;KAC9F;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,IAAI,EAAE,CAAC,OAAgB,EAAE,EAAE;gBACzB,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC3C,KAAK,MAAM,WAAW,IAAI,SAAS,EAAE,CAAC;oBACpC,IAAI,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;wBAChD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;wBAChF,IAAI,QAAQ,KAAK,gBAAgB,CAAC,SAAS,IAAI,QAAQ,KAAK,gBAAgB,CAAC,MAAM,EAAE,CAAC;4BACpF,KAAK,MAAM,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gCAC1E,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gCACtE,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;oCACpD,MAAM,iBAAiB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;oCACpD,OAAO,CAAC,gBAAgB,CAAC;wCACvB,MAAM,EAAE,iBAAiB,IAAI,WAAW,CAAC,YAAY;qCACtD,CAAC,CAAC;gCACL,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"list-operation.js","sourceRoot":"","sources":["../../../src/rules/list-operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;IAC/C,IAAI,EAAE,sCAAsC;IAC5C,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,oFAAoF;IACjG,QAAQ,EAAE;QACR,OAAO,EAAE,oFAAoF;KAC9F;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,IAAI,EAAE,CAAC,OAAgB,EAAE,EAAE;gBACzB,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC3C,KAAK,MAAM,WAAW,IAAI,SAAS,EAAE,CAAC;oBACpC,IAAI,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;wBAChD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;wBAChF,IAAI,QAAQ,KAAK,gBAAgB,CAAC,MAAM,EAAE,CAAC;4BACzC,KAAK,MAAM,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gCAC1E,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gCACtE,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;oCACpD,MAAM,iBAAiB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;oCACpD,OAAO,CAAC,gBAAgB,CAAC;wCACvB,MAAM,EAAE,iBAAiB,IAAI,WAAW,CAAC,YAAY;qCACtD,CAAC,CAAC;gCACL,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export declare const ArmStateKeys: {
2
+ armProviderCache: symbol;
2
3
  armProviderNamespaces: symbol;
3
4
  armResourceOperations: symbol;
4
5
  armResourceCollectionAction: symbol;
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;CA2BxB,CAAC"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;CA4BxB,CAAC"}
package/dist/src/state.js CHANGED
@@ -5,6 +5,7 @@ function azureResourceManagerCreateStateSymbol(name) {
5
5
  return Symbol.for(`@azure-tools/typespec-azure-resource-manager.${name}`);
6
6
  }
7
7
  export const ArmStateKeys = {
8
+ armProviderCache: azureResourceManagerCreateStateSymbol("armProviderCache"),
8
9
  armProviderNamespaces: azureResourceManagerCreateStateSymbol("armProviderNamespaces"),
9
10
  armResourceOperations: azureResourceManagerCreateStateSymbol("armResourceOperations"),
10
11
  armResourceCollectionAction: azureResourceManagerCreateStateSymbol("armResourceCollectionAction"),
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,qBAAqB;AACrB,2DAA2D;AAC3D,SAAS,qCAAqC,CAAC,IAAY;IACzD,OAAO,MAAM,CAAC,GAAG,CAAC,gDAAgD,IAAI,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,2BAA2B,EAAE,qCAAqC,CAAC,6BAA6B,CAAC;IACjG,qBAAqB,EAAE,qCAAqC,CAAC,oBAAoB,CAAC;IAClF,YAAY,EAAE,qCAAqC,CAAC,cAAc,CAAC;IACnE,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IACnF,wBAAwB,EAAE,qCAAqC,CAAC,0BAA0B,CAAC;IAC3F,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,cAAc,EAAE,qCAAqC,CAAC,gBAAgB,CAAC;IACvE,eAAe,EAAE,qCAAqC,CAAC,iBAAiB,CAAC;IAEzE,cAAc;IACd,kBAAkB,EAAE,qCAAqC,CAAC,oBAAoB,CAAC;IAC/E,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,gBAAgB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IAC9E,kBAAkB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IAChF,mBAAmB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IAEjF,uBAAuB;IACvB,iBAAiB,EAAE,qCAAqC,CAAC,mBAAmB,CAAC;IAC7E,2BAA2B,EAAE,qCAAqC,CAAC,6BAA6B,CAAC;IAEjG,oCAAoC;IACpC,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IACnF,mBAAmB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IACjF,sBAAsB,EAAE,qCAAqC,CAAC,wBAAwB,CAAC;CACxF,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,qBAAqB;AACrB,2DAA2D;AAC3D,SAAS,qCAAqC,CAAC,IAAY;IACzD,OAAO,MAAM,CAAC,GAAG,CAAC,gDAAgD,IAAI,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,gBAAgB,EAAE,qCAAqC,CAAC,kBAAkB,CAAC;IAC3E,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,2BAA2B,EAAE,qCAAqC,CAAC,6BAA6B,CAAC;IACjG,qBAAqB,EAAE,qCAAqC,CAAC,oBAAoB,CAAC;IAClF,YAAY,EAAE,qCAAqC,CAAC,cAAc,CAAC;IACnE,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IACnF,wBAAwB,EAAE,qCAAqC,CAAC,0BAA0B,CAAC;IAC3F,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,cAAc,EAAE,qCAAqC,CAAC,gBAAgB,CAAC;IACvE,eAAe,EAAE,qCAAqC,CAAC,iBAAiB,CAAC;IAEzE,cAAc;IACd,kBAAkB,EAAE,qCAAqC,CAAC,oBAAoB,CAAC;IAC/E,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,gBAAgB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IAC9E,kBAAkB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IAChF,mBAAmB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IAEjF,uBAAuB;IACvB,iBAAiB,EAAE,qCAAqC,CAAC,mBAAmB,CAAC;IAC7E,2BAA2B,EAAE,qCAAqC,CAAC,6BAA6B,CAAC;IAEjG,oCAAoC;IACpC,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IACnF,mBAAmB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IACjF,sBAAsB,EAAE,qCAAqC,CAAC,wBAAwB,CAAC;CACxF,CAAC"}
@@ -1,3 +1,7 @@
1
1
  import "./managed-identity.tsp";
2
2
  import "./decorator.tsp";
3
3
  import "./operations.tsp";
4
+ import "./interfaces.tsp";
5
+ import "./extension.tsp";
6
+
7
+ namespace Azure.ResourceManager.Legacy;
@@ -0,0 +1,321 @@
1
+ import "@typespec/rest";
2
+ import "@typespec/http";
3
+
4
+ namespace Azure.ResourceManager.Legacy;
5
+
6
+ using Http;
7
+ using Azure.ResourceManager.Private;
8
+ using Rest;
9
+
10
+ /**
11
+ * An operation template used to build extension resource operations using non-standard paths.
12
+ * @template TargetParameters The path parameters for the target resource
13
+ * @template ExtensionParentParameters Parent parameters of the extension resource
14
+ * @template ExtensionInstanceParameters The instance parameters of the extension resource
15
+ */
16
+ @doc("")
17
+ interface ExtensionOperations<
18
+ TargetParameters extends {},
19
+ ExtensionParentParameters extends {},
20
+ ExtensionInstanceParameters extends {}
21
+ > {
22
+ /**
23
+ * A long-running resource CreateOrUpdate (PUT)
24
+ * @template Resource the resource being created or updated
25
+ * @template LroHeaders Optional. Allows overriding the lro headers returned on resource create
26
+ * @template Parameters Optional. Additional parameters after the path parameters
27
+ * @template Response Optional. The success response(s) for the PUT operation
28
+ * @template OptionalRequestBody Optional. Indicates whether the request body is optional
29
+ * @template ErrorType Optional. The error response, if non-standard.
30
+ */
31
+ @autoRoute
32
+ @doc("Create a {name}", Resource)
33
+ @armResourceCreateOrUpdate(Resource)
34
+ @Azure.Core.Foundations.Private.defaultFinalStateVia(#["location", "azure-async-operation"])
35
+ @put
36
+ CreateOrUpdateAsync<
37
+ Resource extends Foundations.SimpleResource,
38
+ LroHeaders extends TypeSpec.Reflection.Model = ArmAsyncOperationHeader<FinalResult = Resource> &
39
+ Azure.Core.Foundations.RetryAfterHeader,
40
+ Parameters extends {} = {},
41
+ Response extends {} = ArmResourceUpdatedResponse<Resource> | ArmResourceCreatedResponse<
42
+ Resource,
43
+ LroHeaders
44
+ >,
45
+ OptionalRequestBody extends valueof boolean = false,
46
+ ErrorType extends {} = ErrorResponse
47
+ >(
48
+ ...TargetParameters,
49
+ ...ExtensionInstanceParameters,
50
+ ...Parameters,
51
+ @doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) resource: Resource,
52
+ ): Response | ErrorType;
53
+
54
+ /**
55
+ * A synchronous resource CreateOrUpdate (PUT)
56
+ * @template Resource the resource being created or updated
57
+ * @template Parameters Optional. Additional parameters after the path parameters
58
+ * @template Response Optional. The success response(s) for the PUT operation
59
+ * @template OptionalRequestBody Optional. Indicates whether the request body is optional
60
+ * @template ErrorType Optional. The error response, if non-standard.
61
+ */
62
+ #suppress "@azure-tools/typespec-azure-core/no-private-usage"
63
+ @autoRoute
64
+ @doc("Create a {name}", Resource)
65
+ @armResourceCreateOrUpdate(Resource)
66
+ @put
67
+ CreateOrUpdateSync<
68
+ Resource extends Foundations.SimpleResource,
69
+ Parameters extends {} = {},
70
+ Response extends {} = ArmResourceUpdatedResponse<Resource> | ArmResourceCreatedSyncResponse<Resource>,
71
+ OptionalRequestBody extends valueof boolean = false,
72
+ ErrorType extends {} = ErrorResponse
73
+ >(
74
+ ...TargetParameters,
75
+ ...ExtensionInstanceParameters,
76
+ ...Parameters,
77
+ @doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) resource: Resource,
78
+ ): Response | ErrorType;
79
+
80
+ /**
81
+ * A long-running resource Update (PATCH)
82
+ * @template Resource the resource being created or updated
83
+ * @template PatchModel the PATCH request model
84
+ * @template LroHeaders Optional. Allows overriding the lro headers returned on resource create
85
+ * @template Parameters Optional. Additional parameters after the path parameters
86
+ * @template Response Optional. The success response(s) for the PATCH operation
87
+ * @template OptionalRequestBody Optional. Indicates whether the request body is optional
88
+ * @template ErrorType Optional. The error response, if non-standard.
89
+ */
90
+ @autoRoute
91
+ @doc("Update a {name}", Resource)
92
+ @armResourceUpdate(Resource)
93
+ @patch(#{ implicitOptionality: false })
94
+ CustomPatchAsync<
95
+ Resource extends Foundations.SimpleResource,
96
+ PatchModel extends {} = Azure.ResourceManager.Foundations.TagsUpdateModel<Resource>,
97
+ LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
98
+ Azure.Core.StatusMonitorPollingOptions<ArmOperationStatus>,
99
+ Resource,
100
+ string
101
+ > &
102
+ Azure.Core.Foundations.RetryAfterHeader,
103
+ Parameters extends {} = {},
104
+ Response extends {} = ArmResponse<Resource> | ArmAcceptedLroResponse<
105
+ "Resource update request accepted.",
106
+ LroHeaders
107
+ >,
108
+ OptionalRequestBody extends valueof boolean = false,
109
+ ErrorType extends {} = ErrorResponse
110
+ >(
111
+ ...TargetParameters,
112
+ ...ExtensionInstanceParameters,
113
+ ...Parameters,
114
+ @doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) properties: PatchModel,
115
+ ): Response | ErrorType;
116
+
117
+ /**
118
+ * A synchronous resource Update (PATCH)
119
+ * @template Resource the resource being created or updated
120
+ * @template PatchModel the PATCH request model
121
+ * @template Parameters Optional. Additional parameters after the path parameters
122
+ * @template Response Optional. The success response(s) for the PATCH operation
123
+ * @template OptionalRequestBody Optional. Indicates whether the request body is optional
124
+ * @template ErrorType Optional. The error response, if non-standard.
125
+ */
126
+ @autoRoute
127
+ @doc("Update a {name}", Resource)
128
+ @armResourceUpdate(Resource)
129
+ @patch(#{ implicitOptionality: false })
130
+ CustomPatchSync<
131
+ Resource extends Foundations.SimpleResource,
132
+ PatchModel extends {} = Azure.ResourceManager.Foundations.TagsUpdateModel<Resource>,
133
+ Parameters extends {} = {},
134
+ Response extends {} = ArmResponse<Resource>,
135
+ OptionalRequestBody extends valueof boolean = false,
136
+ ErrorType extends {} = ErrorResponse
137
+ >(
138
+ ...TargetParameters,
139
+ ...ExtensionInstanceParameters,
140
+ ...Parameters,
141
+ @doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) properties: PatchModel,
142
+ ): Response | ErrorType;
143
+
144
+ /**
145
+ * Delete a resource asynchronously
146
+ * @template Resource The resource being deleted
147
+ * @template LroHeaders The lro headers for the operation
148
+ * @template Parameters Optional. Additional parameters after the path parameters
149
+ * @template Response Optional. The success response(s) for the delete operation
150
+ * @template ErrorType Optional. The error response, if non-standard.
151
+ */
152
+ #suppress "@azure-tools/typespec-azure-core/no-response-body" "Valid"
153
+ @autoRoute
154
+ @doc("Delete a {name}", Resource)
155
+ @delete
156
+ @deletesResource(Resource)
157
+ @armResourceDelete(Resource)
158
+ DeleteWithoutOkAsync<
159
+ Resource extends Foundations.SimpleResource,
160
+ LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader &
161
+ Azure.Core.Foundations.RetryAfterHeader,
162
+ Parameters extends {} = {},
163
+ Response extends {} = ArmDeleteAcceptedLroResponse<LroHeaders> | ArmDeletedNoContentResponse,
164
+ ErrorType extends {} = ErrorResponse
165
+ >(...TargetParameters, ...ExtensionInstanceParameters, ...Parameters): Response | ErrorType;
166
+
167
+ /**
168
+ * Delete a resource synchronously
169
+ * @template Resource The resource being deleted
170
+ * @template Parameters Optional. Additional parameters after the path parameters
171
+ * @template Response Optional. The success response(s) for the delete operation
172
+ * @template ErrorType Optional. The error response, if non-standard.
173
+ */
174
+ #suppress "@azure-tools/typespec-azure-core/no-response-body" "Valid"
175
+ @autoRoute
176
+ @doc("Delete a {name}", Resource)
177
+ @delete
178
+ @deletesResource(Resource)
179
+ @armResourceDelete(Resource)
180
+ DeleteSync<
181
+ Resource extends Foundations.SimpleResource,
182
+ Parameters extends {} = {},
183
+ Response extends {} = ArmDeletedResponse | ArmDeletedNoContentResponse,
184
+ ErrorType extends {} = ErrorResponse
185
+ >(...TargetParameters, ...ExtensionInstanceParameters, ...Parameters): Response | ErrorType;
186
+
187
+ /**
188
+ * @dev Get a resource
189
+ * @template Resource The resource being read
190
+ * @template Parameters Optional. Additional parameters after the path parameters
191
+ * @template Response Optional. The success response for a get operation.
192
+ * @template ErrorType Optional. The error response, if non-standard.
193
+ */
194
+ @autoRoute
195
+ @doc("Get a {name}", Resource)
196
+ @get
197
+ @readsResource(Resource)
198
+ @armResourceRead(Resource)
199
+ Read<
200
+ Resource extends Foundations.SimpleResource,
201
+ Parameters extends {} = {},
202
+ Response extends {} = ArmResponse<Resource>,
203
+ ErrorType extends {} = ErrorResponse
204
+ >(...TargetParameters, ...ExtensionInstanceParameters, ...Parameters): Response | ErrorType;
205
+
206
+ /**
207
+ * Check a resource's existence via HEAD operation
208
+ * * @template Resource The resource being checked
209
+ * @template Parameters Optional. Additional parameters after the path parameters
210
+ * @template Response Optional. The success response for a head operation (by default NoContent or NotFound response).
211
+ * @template ErrorType Optional. The error response, if non-standard.
212
+ */
213
+ @autoRoute
214
+ @doc("Check for the existence of a {name}", Resource)
215
+ @head
216
+ CheckExistence<
217
+ Resource extends Foundations.SimpleResource,
218
+ Parameters extends {} = {},
219
+ Response extends {} = ArmResourceExistsResponse | ArmResourceNotFoundResponse,
220
+ ErrorType extends {} = ErrorResponse
221
+ > is Foundations.ArmReadOperation<
222
+ TargetParameters & ExtensionInstanceParameters & Parameters,
223
+ Response,
224
+ ErrorType
225
+ >;
226
+ /**
227
+ * List a resource
228
+ * @template Resource The resource being listed
229
+ * @template Parameters Optional. Additional parameters after the path parameters
230
+ * @template Response Optional. The response returned by the list
231
+ * @template ErrorType Optional. The error response, if non-standard.
232
+ */
233
+ @autoRoute
234
+ @doc("List a {name}", Resource)
235
+ @get
236
+ @listsResource(Resource)
237
+ @armResourceList(Resource)
238
+ List<
239
+ Resource extends Foundations.SimpleResource,
240
+ Parameters extends {} = {},
241
+ Response extends {} = ArmResponse<ResourceListResult<Resource>>,
242
+ ErrorType extends {} = ErrorResponse
243
+ >(...TargetParameters, ...ExtensionParentParameters, ...Parameters): Response | ErrorType;
244
+
245
+ /**
246
+ * A synchronous resource action.
247
+ * @template Resource The resource being acted upon
248
+ * @template Request The request model for the action
249
+ * @template Response The response model for the action
250
+ * @template Parameters Optional. Additional parameters after the path parameters
251
+ * @template OptionalRequestBody Optional. Indicates whether the request body is optional
252
+ * @template ErrorType Optional. The error response, if non-standard.
253
+ */
254
+ @doc("")
255
+ @autoRoute
256
+ @armResourceAction(Resource)
257
+ @Private.enforceConstraint(Resource, Foundations.Resource)
258
+ @post
259
+ @returnsDoc("Azure operation completed successfully.")
260
+ ActionSync<
261
+ Resource extends Foundations.SimpleResource,
262
+ Request extends TypeSpec.Reflection.Model | void,
263
+ Response extends TypeSpec.Reflection.Model | void,
264
+ Parameters extends {} = {},
265
+ OptionalRequestBody extends valueof boolean = false,
266
+ ErrorType extends {} = ErrorResponse
267
+ >(
268
+ ...TargetParameters,
269
+ ...ExtensionInstanceParameters,
270
+ ...Parameters,
271
+
272
+ @doc("The content of the action request")
273
+ @armBodyRoot(OptionalRequestBody)
274
+ body: Request,
275
+ ): Response | ErrorType;
276
+
277
+ /**
278
+ * A long-running resource action.
279
+ * @template Resource The resource being acted upon
280
+ * @template Request The request model for the action
281
+ * @template Result The result model for the action
282
+ * @template LroHeaders Optional. Allows overriding the headers returned in the Accepted response
283
+ * @template Response The full response union of the action
284
+ * @template Parameters Optional. Additional parameters after the path parameters
285
+ * @template OptionalRequestBody Optional. Indicates whether the request body is optional
286
+ * @template ErrorType Optional. The error response, if non-standard.
287
+ */
288
+ #suppress "@azure-tools/typespec-azure-core/no-response-body" "ARM"
289
+ @doc("")
290
+ @autoRoute
291
+ @armResourceAction(Resource)
292
+ @Private.enforceConstraint(Resource, Foundations.Resource)
293
+ @post
294
+ @returnsDoc("Azure operation completed successfully.")
295
+ ActionAsync<
296
+ Resource extends Foundations.SimpleResource,
297
+ Request extends TypeSpec.Reflection.Model | void,
298
+ Result extends TypeSpec.Reflection.Model | void,
299
+ LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
300
+ Azure.Core.StatusMonitorPollingOptions<ArmOperationStatus>,
301
+ Result,
302
+ string
303
+ > &
304
+ Azure.Core.Foundations.RetryAfterHeader,
305
+ Parameters extends {} = {},
306
+ Response extends {} | void = ArmAcceptedLroResponse<
307
+ "Resource operation accepted.",
308
+ LroHeaders
309
+ > | Result,
310
+ OptionalRequestBody extends valueof boolean = false,
311
+ ErrorType extends {} = ErrorResponse
312
+ >(
313
+ ...TargetParameters,
314
+ ...ExtensionInstanceParameters,
315
+ ...Parameters,
316
+
317
+ @doc("The content of the action request")
318
+ @armBodyRoot(OptionalRequestBody)
319
+ body: Request,
320
+ ): Response | ErrorType;
321
+ }
@@ -0,0 +1,38 @@
1
+ import "@typespec/rest";
2
+ import "@typespec/http";
3
+
4
+ namespace Azure.ResourceManager.Legacy;
5
+
6
+ using Http;
7
+ using Azure.ResourceManager.Foundations;
8
+ using Azure.ResourceManager.Private;
9
+ using Rest;
10
+
11
+ /**
12
+ * This is the interface that implements the standard Azure Resource Manager operation that returns
13
+ * all supported RP operations. You should have exactly one declaration for each
14
+ * Azure Resource Manager service. It implements
15
+ * GET "/providers/{provider-namespace}/operations"
16
+ *
17
+ * @template Response The response returned by the operation list.
18
+ * @template Error the error response returned by the operation list.
19
+ */
20
+ interface Operations<
21
+ Response extends {} = ArmResponse<OperationListResult>,
22
+ Error extends {} = ErrorResponse
23
+ > {
24
+ @tag("Operations")
25
+ @autoRoute
26
+ @armUpdateProviderNamespace
27
+ @doc("List the operations for the provider")
28
+ @segment("operations")
29
+ @get
30
+ list(
31
+ ...ApiVersionParameter,
32
+
33
+ @path
34
+ @segment("providers")
35
+ @doc("The provider namespace (this parameter will not show up in operations).")
36
+ provider: "Microsoft.ThisWillBeReplaced",
37
+ ): Response | Error;
38
+ }